module.exports = /******/ (function(modules) { // webpackBootstrap /******/ // install a JSONP callback for chunk loading /******/ function webpackJsonpCallback(data) { /******/ var chunkIds = data[0]; /******/ var moreModules = data[1]; /******/ /******/ /******/ // add "moreModules" to the modules object, /******/ // then flag all "chunkIds" as loaded and fire callback /******/ var moduleId, chunkId, i = 0, resolves = []; /******/ for(;i < chunkIds.length; i++) { /******/ chunkId = chunkIds[i]; /******/ if(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) { /******/ resolves.push(installedChunks[chunkId][0]); /******/ } /******/ installedChunks[chunkId] = 0; /******/ } /******/ for(moduleId in moreModules) { /******/ if(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) { /******/ modules[moduleId] = moreModules[moduleId]; /******/ } /******/ } /******/ if(parentJsonpFunction) parentJsonpFunction(data); /******/ /******/ while(resolves.length) { /******/ resolves.shift()(); /******/ } /******/ /******/ }; /******/ /******/ /******/ // The module cache /******/ var installedModules = {}; /******/ /******/ // object to store loaded and loading chunks /******/ // undefined = chunk not loaded, null = chunk preloaded/prefetched /******/ // Promise = chunk loading, 0 = chunk loaded /******/ var installedChunks = { /******/ "main": 0 /******/ }; /******/ /******/ /******/ /******/ // script path function /******/ function jsonpScriptSrc(chunkId) { /******/ return __webpack_require__.p + "js/" + ({}[chunkId]||chunkId) + ".js" /******/ } /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ /******/ // Check if module is in cache /******/ if(installedModules[moduleId]) { /******/ return installedModules[moduleId].exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = installedModules[moduleId] = { /******/ i: moduleId, /******/ l: false, /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__); /******/ /******/ // Flag the module as loaded /******/ module.l = true; /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /******/ // This file contains only the entry chunk. /******/ // The chunk loading function for additional chunks /******/ __webpack_require__.e = function requireEnsure(chunkId) { /******/ var promises = []; /******/ /******/ /******/ // JSONP chunk loading for javascript /******/ /******/ var installedChunkData = installedChunks[chunkId]; /******/ if(installedChunkData !== 0) { // 0 means "already installed". /******/ /******/ // a Promise means "currently loading". /******/ if(installedChunkData) { /******/ promises.push(installedChunkData[2]); /******/ } else { /******/ // setup Promise in chunk cache /******/ var promise = new Promise(function(resolve, reject) { /******/ installedChunkData = installedChunks[chunkId] = [resolve, reject]; /******/ }); /******/ promises.push(installedChunkData[2] = promise); /******/ /******/ // start chunk loading /******/ var script = document.createElement('script'); /******/ var onScriptComplete; /******/ /******/ script.charset = 'utf-8'; /******/ script.timeout = 120; /******/ if (__webpack_require__.nc) { /******/ script.setAttribute("nonce", __webpack_require__.nc); /******/ } /******/ script.src = jsonpScriptSrc(chunkId); /******/ /******/ // create error before stack unwound to get useful stacktrace later /******/ var error = new Error(); /******/ onScriptComplete = function (event) { /******/ // avoid mem leaks in IE. /******/ script.onerror = script.onload = null; /******/ clearTimeout(timeout); /******/ var chunk = installedChunks[chunkId]; /******/ if(chunk !== 0) { /******/ if(chunk) { /******/ var errorType = event && (event.type === 'load' ? 'missing' : event.type); /******/ var realSrc = event && event.target && event.target.src; /******/ error.message = 'Loading chunk ' + chunkId + ' failed.\n(' + errorType + ': ' + realSrc + ')'; /******/ error.name = 'ChunkLoadError'; /******/ error.type = errorType; /******/ error.request = realSrc; /******/ chunk[1](error); /******/ } /******/ installedChunks[chunkId] = undefined; /******/ } /******/ }; /******/ var timeout = setTimeout(function(){ /******/ onScriptComplete({ type: 'timeout', target: script }); /******/ }, 120000); /******/ script.onerror = script.onload = onScriptComplete; /******/ document.head.appendChild(script); /******/ } /******/ } /******/ return Promise.all(promises); /******/ }; /******/ /******/ // expose the modules object (__webpack_modules__) /******/ __webpack_require__.m = modules; /******/ /******/ // expose the module cache /******/ __webpack_require__.c = installedModules; /******/ /******/ // define getter function for harmony exports /******/ __webpack_require__.d = function(exports, name, getter) { /******/ if(!__webpack_require__.o(exports, name)) { /******/ Object.defineProperty(exports, name, { enumerable: true, get: getter }); /******/ } /******/ }; /******/ /******/ // define __esModule on exports /******/ __webpack_require__.r = function(exports) { /******/ if(typeof Symbol !== 'undefined' && Symbol.toStringTag) { /******/ Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' }); /******/ } /******/ Object.defineProperty(exports, '__esModule', { value: true }); /******/ }; /******/ /******/ // create a fake namespace object /******/ // mode & 1: value is a module id, require it /******/ // mode & 2: merge all properties of value into the ns /******/ // mode & 4: return value when already ns object /******/ // mode & 8|1: behave like require /******/ __webpack_require__.t = function(value, mode) { /******/ if(mode & 1) value = __webpack_require__(value); /******/ if(mode & 8) return value; /******/ if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value; /******/ var ns = Object.create(null); /******/ __webpack_require__.r(ns); /******/ Object.defineProperty(ns, 'default', { enumerable: true, value: value }); /******/ if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key)); /******/ return ns; /******/ }; /******/ /******/ // getDefaultExport function for compatibility with non-harmony modules /******/ __webpack_require__.n = function(module) { /******/ var getter = module && module.__esModule ? /******/ function getDefault() { return module['default']; } : /******/ function getModuleExports() { return module; }; /******/ __webpack_require__.d(getter, 'a', getter); /******/ return getter; /******/ }; /******/ /******/ // Object.prototype.hasOwnProperty.call /******/ __webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); }; /******/ /******/ // __webpack_public_path__ /******/ __webpack_require__.p = "/plugins/kmind-plugin/"; /******/ /******/ // on error function for async loading /******/ __webpack_require__.oe = function(err) { console.error(err); throw err; }; /******/ /******/ var jsonpArray = window["webpackJsonpkmind_plugin"] = window["webpackJsonpkmind_plugin"] || []; /******/ var oldJsonpFunction = jsonpArray.push.bind(jsonpArray); /******/ jsonpArray.push = webpackJsonpCallback; /******/ jsonpArray = jsonpArray.slice(); /******/ for(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]); /******/ var parentJsonpFunction = oldJsonpFunction; /******/ /******/ /******/ // Load entry module and return exports /******/ return __webpack_require__(__webpack_require__.s = "./siyuan-plugin-src/src/index.ts"); /******/ }) /************************************************************************/ /******/ ({ /***/ "../simple-mind-map-plugin-checkbox/icons.js": /*!***************************************************!*\ !*** ../simple-mind-map-plugin-checkbox/icons.js ***! \***************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\nconst checked = ``;\nconst unChecked = ``;\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n checked,\n unChecked\n});\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map-plugin-checkbox/icons.js?"); /***/ }), /***/ "../simple-mind-map-plugin-checkbox/index.js": /*!***************************************************!*\ !*** ../simple-mind-map-plugin-checkbox/index.js ***! \***************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./utils */ \"../simple-mind-map-plugin-checkbox/utils.js\");\n/* harmony import */ var _icons__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./icons */ \"../simple-mind-map-plugin-checkbox/icons.js\");\n\n\n\n// 待办插件\nclass Checkbox {\n // 构造函数\n constructor(opt) {\n this.mindMap = opt.mindMap;\n this.pluginOpt = {\n width: 20,\n // 图标大小\n height: 20,\n checkedIcon: _icons__WEBPACK_IMPORTED_MODULE_1__[\"default\"].checked,\n // 待办已完成的图标,svg字符串\n unCheckedIcon: _icons__WEBPACK_IMPORTED_MODULE_1__[\"default\"].unChecked,\n // 待办未完成的图标,svg字符串,需要注意去除svg字符串中的fill属性,否则颜色可能不生效\n colorIsFollowNode: true,\n // 图标颜色是否跟随节点文本的颜色\n color: '#3f9cfc',\n // 如果colorIsFollowNode设置为false时会使用该颜色\n ...(opt.pluginOpt || {})\n };\n this.name = 'checkbox'; // 库前置内容类型名称\n this.nodeKeyName = 'checkbox'; // 保存到节点实例选项中的字段名称\n this.nodeDataName = 'checkbox'; // 保存到节点数据中的字段名称\n this.bindEvent();\n }\n bindEvent() {\n this.mindMap.nodeInnerPrefixList.unshift({\n name: this.name,\n // 创建节点的显示内容:节点元素、宽高\n createContent: node => {\n return this.createCheckboxContent(node);\n }\n });\n this.setCheckbox = this.setCheckbox.bind(this);\n this.mindMap.command.add('SET_CHECKBOX', this.setCheckbox);\n }\n unBindEvent() {\n const index = this.mindMap.nodeInnerPrefixList.findIndex(item => {\n return item.name === this.name;\n });\n if (index !== -1) {\n this.mindMap.nodeInnerPrefixList.splice(index, 1);\n }\n this.mindMap.command.remove('SET_CHECKBOX', this.setCheckbox);\n }\n\n // 给节点设置待办数据\n /*\n checkboxData: {\n done: true\n }\n */\n setCheckbox(appointNodes, checkboxData) {\n appointNodes = Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"formatDataToArray\"])(appointNodes);\n const activeNodeList = this.mindMap.renderer.activeNodeList;\n if (activeNodeList.length <= 0 && appointNodes.length <= 0) {\n return;\n }\n let nodeList = appointNodes.length > 0 ? appointNodes : activeNodeList;\n nodeList = nodeList.filter(node => {\n return !node.isGeneralization;\n });\n nodeList.forEach(node => {\n this.updateNodeData(node, checkboxData);\n });\n this.mindMap.render();\n }\n\n // 更新节点的待办数据\n updateNodeData(node, checkboxData) {\n let newCheckbox = null;\n if (checkboxData) {\n const oldCheckbox = node.getData(this.nodeDataName) || {};\n newCheckbox = {\n ...oldCheckbox,\n ...checkboxData\n };\n }\n this.mindMap.execCommand('SET_NODE_DATA', node, {\n [this.nodeDataName]: newCheckbox\n });\n }\n\n // 创建待办图标元素\n createIconNode({\n node,\n done,\n iconSize\n }) {\n const {\n checkedIcon,\n unCheckedIcon,\n colorIsFollowNode,\n color\n } = this.pluginOpt;\n const {\n SVG\n } = node.getSvgObjects();\n const iconNode = SVG(done ? checkedIcon : unCheckedIcon).size(...iconSize);\n if (colorIsFollowNode) {\n node.style.iconNode(iconNode);\n } else {\n iconNode.attr({\n fill: color\n });\n }\n return iconNode;\n }\n\n // 创建节点待办内容\n createCheckboxContent(node) {\n const checkboxData = node.getData(this.nodeDataName);\n if (!checkboxData) return null;\n const {\n width,\n height\n } = this.pluginOpt;\n const {\n SVG,\n Rect\n } = node.getSvgObjects();\n const checkboxNode = new SVG().attr('cursor', 'pointer').size(width, height);\n // 透明的层,用来作为鼠标区域\n checkboxNode.add(new Rect().size(width, height).fill({\n color: 'transparent'\n }));\n let iconNode = this.createIconNode({\n node,\n done: checkboxData.done,\n iconSize: [width, height]\n });\n checkboxNode.add(iconNode);\n checkboxNode.on('click', () => {\n const oldCheckbox = node.getData(this.nodeDataName) || {};\n const newDone = !oldCheckbox.done;\n this.updateNodeData(node, {\n done: newDone\n });\n iconNode.remove();\n iconNode = this.createIconNode({\n node,\n done: newDone,\n iconSize: [width, height]\n });\n checkboxNode.add(iconNode);\n });\n return {\n node: checkboxNode,\n width,\n height\n };\n }\n\n // 插件被移除前做的事情\n beforePluginRemove() {\n this.unBindEvent();\n }\n\n // 插件被卸载前做的事情\n beforePluginDestroy() {\n this.unBindEvent();\n }\n}\nCheckbox.instanceName = 'checkbox';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Checkbox);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map-plugin-checkbox/index.js?"); /***/ }), /***/ "../simple-mind-map-plugin-checkbox/utils.js": /*!***************************************************!*\ !*** ../simple-mind-map-plugin-checkbox/utils.js ***! \***************************************************/ /*! exports provided: formatDataToArray */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"formatDataToArray\", function() { return formatDataToArray; });\n// 传入一个数据,如果该数据是数组,那么返回该数组,否则返回一个以该数据为成员的数组\nconst formatDataToArray = data => {\n if (!data) return [];\n return Array.isArray(data) ? data : [data];\n};\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map-plugin-checkbox/utils.js?"); /***/ }), /***/ "../simple-mind-map-plugin-freemind/freemindTo.js": /*!********************************************************!*\ !*** ../simple-mind-map-plugin-freemind/freemindTo.js ***! \********************************************************/ /*! exports provided: freemindToSmm */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"freemindToSmm\", function() { return freemindToSmm; });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var xml_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! xml-js */ \"../simple-mind-map-plugin-freemind/node_modules/xml-js/lib/index.js\");\n/* harmony import */ var xml_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(xml_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ \"../simple-mind-map-plugin-freemind/utils.js\");\n\n\n\n\n// mm转换为smm格式\n// 转换时只支持保留节点文本、备注、超链接和一定的样式。\n// 关于图片:mm数据保存的是图片在电脑本地的路径,所以js是无法读取的。考虑到客户端场景可以读取,所以提供了transformImg选项来自定义图片加载的方法,如果没提供,那么默认是忽略图片的。\n// 关于图标:图标是各个思维导图的私有协议,所以无法保留。\nconst freemindToSmm = async (mm, opt) => {\n const {\n transformImg,\n withStyle\n } = opt || {};\n const jsonStr = xml_js__WEBPACK_IMPORTED_MODULE_1___default.a.xml2json(mm);\n const json = JSON.parse(jsonStr);\n const res = {\n children: []\n };\n const waitLoadImageList = [];\n const walk = (mm, smm) => {\n const {\n elements,\n attributes,\n name\n } = mm;\n let node = null;\n // 节点类型\n if (name === 'node') {\n const richcontent = getElementByName(elements, 'richcontent');\n const {\n LINK,\n TEXT\n } = attributes;\n node = {\n data: {\n text: TEXT || ''\n },\n children: []\n };\n // 样式\n if (withStyle) {\n addMmStyle({\n node,\n attributes,\n elements\n });\n }\n // 超链接\n if (LINK) {\n node.data.hyperlink = LINK;\n }\n if (richcontent) {\n const content = getElementByName(richcontent.elements, 'html');\n const body = getElementByName(content.elements, 'body');\n const {\n html,\n imgUrl\n } = richContentToHtml(body);\n // 图片\n if (imgUrl && transformImg) {\n // 处理异步逻辑\n let resolve = null;\n const promise = new Promise(_resolve => {\n resolve = _resolve;\n });\n waitLoadImageList.push(promise);\n transformImg(imgUrl).then(async res => {\n if (res && res.url) {\n let {\n url,\n width,\n height\n } = res;\n node.data.image = url;\n if (width === undefined || height === undefined) {\n try {\n const size = await Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"getImageSize\"])(url);\n width = size.width;\n height = size.height;\n } catch (err) {\n console.log(err);\n }\n }\n node.data.imageSize = {\n width,\n height\n };\n }\n resolve();\n }).catch(err => {\n console.log(err);\n resolve();\n });\n }\n if (richcontent.attributes.TYPE === 'NODE') {\n // 富文本\n node.data.richText = true;\n node.data.text = html;\n } else if (richcontent.attributes.TYPE === 'NOTE') {\n // 备注\n node.data.note = Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"nodeRichTextToTextWithWrap\"])(html);\n }\n }\n smm.children.push(node);\n }\n // 子节点\n if (elements && elements.length > 0) {\n elements.forEach(item => {\n walk(item, node || smm);\n });\n }\n };\n walk(json, res);\n if (waitLoadImageList.length > 0) {\n await Promise.all(waitLoadImageList);\n }\n return res.children[0];\n};\n\n// 应用mm的样式\nconst addMmStyle = ({\n node,\n attributes,\n elements\n}) => {\n if (!elements) return;\n const {\n COLOR,\n BACKGROUND_COLOR\n } = attributes;\n const edge = getElementByName(elements, 'edge');\n const font = getElementByName(elements, 'font');\n if (COLOR) {\n node.data.color = COLOR;\n }\n if (BACKGROUND_COLOR) {\n node.data.fillColor = BACKGROUND_COLOR;\n }\n if (edge) {\n const {\n COLOR,\n WIDTH\n } = edge.attributes || {};\n if (COLOR) {\n node.data.lineColor = COLOR;\n }\n if (WIDTH) {\n node.data.lineWidth = Number(WIDTH);\n }\n }\n if (font) {\n const {\n BOLD,\n NAME,\n SIZE,\n ITALIC\n } = font.attributes || {};\n if (BOLD && BOLD === 'true') {\n node.data.fontWeight = 'bold';\n }\n if (NAME) {\n node.data.fontFamily = NAME;\n }\n if (SIZE) {\n node.data.fontSize = Number(SIZE);\n }\n if (ITALIC) {\n node.data.fontStyle = 'italic';\n }\n }\n};\n\n// 根据名称获取指定元素数据\nconst getElementByName = (elements, name) => {\n return (elements || []).find(item => {\n return item.name === name;\n });\n};\n\n// 富文本树节点转html字符串\nconst richContentToHtml = body => {\n let imgUrl = '';\n const walk = node => {\n const {\n type,\n name,\n elements,\n text,\n attributes\n } = node;\n let str = '';\n let tagName = '';\n if (type === 'element') {\n if (name === 'img') {\n imgUrl = attributes.src;\n } else {\n tagName = name === 'body' ? 'div' : name;\n let props = '';\n if (attributes) {\n Object.keys(attributes).forEach(key => {\n props += `${key}=\"${attributes[key]}\"`;\n });\n }\n str += `<${tagName} ${props}>`;\n }\n } else if (type === 'text') {\n str += text;\n }\n if (elements && elements.length > 0) {\n elements.forEach(item => {\n str += walk(item);\n });\n }\n if (tagName) {\n str += `${tagName}>`;\n }\n return str;\n };\n const html = walk(body);\n return {\n html,\n imgUrl\n };\n};\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map-plugin-freemind/freemindTo.js?"); /***/ }), /***/ "../simple-mind-map-plugin-freemind/index.js": /*!***************************************************!*\ !*** ../simple-mind-map-plugin-freemind/index.js ***! \***************************************************/ /*! exports provided: default */ /***/ (function(module, __webpack_exports__, __webpack_require__) { "use strict"; eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _toFreemind__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toFreemind */ \"../simple-mind-map-plugin-freemind/toFreemind.js\");\n/* harmony import */ var _freemindTo__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./freemindTo */ \"../simple-mind-map-plugin-freemind/freemindTo.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./utils */ \"../simple-mind-map-plugin-freemind/utils.js\");\n\n\n\nasync function mm(name, opt) {\n const data = this.mindMap.getData();\n const content = Object(_toFreemind__WEBPACK_IMPORTED_MODULE_0__[\"smmToFreemind\"])(data, opt);\n const blob = new Blob([content]);\n const res = await Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"readBlob\"])(blob);\n return res;\n}\n\n// Freemind软件格式导入导出插件\nclass Freemind {\n constructor(opt) {\n this.opt = opt;\n this.mindMap = opt.mindMap;\n if (this.mindMap.doExport) {\n Object.getPrototypeOf(this.mindMap.doExport).mm = mm.bind(this.mindMap.doExport);\n }\n }\n onRemove() {\n if (this.mindMap.doExport) {\n Object.getPrototypeOf(this.mindMap.doExport).mm = null;\n }\n }\n\n // 插件被移除前做的事情\n beforePluginRemove() {\n this.onRemove();\n }\n\n // 插件被卸载前做的事情\n beforePluginDestroy() {\n this.onRemove();\n }\n}\nFreemind.smmToFreemind = _toFreemind__WEBPACK_IMPORTED_MODULE_0__[\"smmToFreemind\"];\nFreemind.freemindToSmm = _freemindTo__WEBPACK_IMPORTED_MODULE_1__[\"freemindToSmm\"];\nFreemind.instanceName = 'freemind';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Freemind);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map-plugin-freemind/index.js?"); /***/ }), /***/ "../simple-mind-map-plugin-freemind/node_modules/sax/lib/sax.js": /*!**********************************************************************!*\ !*** ../simple-mind-map-plugin-freemind/node_modules/sax/lib/sax.js ***! \**********************************************************************/ /*! no static exports found */ /***/ (function(module, exports, __webpack_require__) { eval("/* WEBPACK VAR INJECTION */(function(Buffer) {;(function (sax) { // wrapper for non-node envs\n sax.parser = function (strict, opt) { return new SAXParser(strict, opt) }\n sax.SAXParser = SAXParser\n sax.SAXStream = SAXStream\n sax.createStream = createStream\n\n // When we pass the MAX_BUFFER_LENGTH position, start checking for buffer overruns.\n // When we check, schedule the next check for MAX_BUFFER_LENGTH - (max(buffer lengths)),\n // since that's the earliest that a buffer overrun could occur. This way, checks are\n // as rare as required, but as often as necessary to ensure never crossing this bound.\n // Furthermore, buffers are only tested at most once per write(), so passing a very\n // large string into write() might have undesirable effects, but this is manageable by\n // the caller, so it is assumed to be safe. Thus, a call to write() may, in the extreme\n // edge case, result in creating at most one complete copy of the string passed in.\n // Set to Infinity to have unlimited buffers.\n sax.MAX_BUFFER_LENGTH = 64 * 1024\n\n var buffers = [\n 'comment', 'sgmlDecl', 'textNode', 'tagName', 'doctype',\n 'procInstName', 'procInstBody', 'entity', 'attribName',\n 'attribValue', 'cdata', 'script'\n ]\n\n sax.EVENTS = [\n 'text',\n 'processinginstruction',\n 'sgmldeclaration',\n 'doctype',\n 'comment',\n 'opentagstart',\n 'attribute',\n 'opentag',\n 'closetag',\n 'opencdata',\n 'cdata',\n 'closecdata',\n 'error',\n 'end',\n 'ready',\n 'script',\n 'opennamespace',\n 'closenamespace'\n ]\n\n function SAXParser (strict, opt) {\n if (!(this instanceof SAXParser)) {\n return new SAXParser(strict, opt)\n }\n\n var parser = this\n clearBuffers(parser)\n parser.q = parser.c = ''\n parser.bufferCheckPosition = sax.MAX_BUFFER_LENGTH\n parser.opt = opt || {}\n parser.opt.lowercase = parser.opt.lowercase || parser.opt.lowercasetags\n parser.looseCase = parser.opt.lowercase ? 'toLowerCase' : 'toUpperCase'\n parser.tags = []\n parser.closed = parser.closedRoot = parser.sawRoot = false\n parser.tag = parser.error = null\n parser.strict = !!strict\n parser.noscript = !!(strict || parser.opt.noscript)\n parser.state = S.BEGIN\n parser.strictEntities = parser.opt.strictEntities\n parser.ENTITIES = parser.strictEntities ? Object.create(sax.XML_ENTITIES) : Object.create(sax.ENTITIES)\n parser.attribList = []\n\n // namespaces form a prototype chain.\n // it always points at the current tag,\n // which protos to its parent tag.\n if (parser.opt.xmlns) {\n parser.ns = Object.create(rootNS)\n }\n\n // disallow unquoted attribute values if not otherwise configured\n // and strict mode is true\n if (parser.opt.unquotedAttributeValues === undefined) {\n parser.opt.unquotedAttributeValues = !strict;\n }\n\n // mostly just for error reporting\n parser.trackPosition = parser.opt.position !== false\n if (parser.trackPosition) {\n parser.position = parser.line = parser.column = 0\n }\n emit(parser, 'onready')\n }\n\n if (!Object.create) {\n Object.create = function (o) {\n function F () {}\n F.prototype = o\n var newf = new F()\n return newf\n }\n }\n\n if (!Object.keys) {\n Object.keys = function (o) {\n var a = []\n for (var i in o) if (o.hasOwnProperty(i)) a.push(i)\n return a\n }\n }\n\n function checkBufferLength (parser) {\n var maxAllowed = Math.max(sax.MAX_BUFFER_LENGTH, 10)\n var maxActual = 0\n for (var i = 0, l = buffers.length; i < l; i++) {\n var len = parser[buffers[i]].length\n if (len > maxAllowed) {\n // Text/cdata nodes can get big, and since they're buffered,\n // we can get here under normal conditions.\n // Avoid issues by emitting the text node now,\n // so at least it won't get any bigger.\n switch (buffers[i]) {\n case 'textNode':\n closeText(parser)\n break\n\n case 'cdata':\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n break\n\n case 'script':\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n break\n\n default:\n error(parser, 'Max buffer length exceeded: ' + buffers[i])\n }\n }\n maxActual = Math.max(maxActual, len)\n }\n // schedule the next check for the earliest possible buffer overrun.\n var m = sax.MAX_BUFFER_LENGTH - maxActual\n parser.bufferCheckPosition = m + parser.position\n }\n\n function clearBuffers (parser) {\n for (var i = 0, l = buffers.length; i < l; i++) {\n parser[buffers[i]] = ''\n }\n }\n\n function flushBuffers (parser) {\n closeText(parser)\n if (parser.cdata !== '') {\n emitNode(parser, 'oncdata', parser.cdata)\n parser.cdata = ''\n }\n if (parser.script !== '') {\n emitNode(parser, 'onscript', parser.script)\n parser.script = ''\n }\n }\n\n SAXParser.prototype = {\n end: function () { end(this) },\n write: write,\n resume: function () { this.error = null; return this },\n close: function () { return this.write(null) },\n flush: function () { flushBuffers(this) }\n }\n\n var Stream\n try {\n Stream = __webpack_require__(/*! stream */ \"./node_modules/stream-browserify/index.js\").Stream\n } catch (ex) {\n Stream = function () {}\n }\n if (!Stream) Stream = function () {}\n\n var streamWraps = sax.EVENTS.filter(function (ev) {\n return ev !== 'error' && ev !== 'end'\n })\n\n function createStream (strict, opt) {\n return new SAXStream(strict, opt)\n }\n\n function SAXStream (strict, opt) {\n if (!(this instanceof SAXStream)) {\n return new SAXStream(strict, opt)\n }\n\n Stream.apply(this)\n\n this._parser = new SAXParser(strict, opt)\n this.writable = true\n this.readable = true\n\n var me = this\n\n this._parser.onend = function () {\n me.emit('end')\n }\n\n this._parser.onerror = function (er) {\n me.emit('error', er)\n\n // if didn't throw, then means error was handled.\n // go ahead and clear error, so we can write again.\n me._parser.error = null\n }\n\n this._decoder = null\n\n streamWraps.forEach(function (ev) {\n Object.defineProperty(me, 'on' + ev, {\n get: function () {\n return me._parser['on' + ev]\n },\n set: function (h) {\n if (!h) {\n me.removeAllListeners(ev)\n me._parser['on' + ev] = h\n return h\n }\n me.on(ev, h)\n },\n enumerable: true,\n configurable: false\n })\n })\n }\n\n SAXStream.prototype = Object.create(Stream.prototype, {\n constructor: {\n value: SAXStream\n }\n })\n\n SAXStream.prototype.write = function (data) {\n if (typeof Buffer === 'function' &&\n typeof Buffer.isBuffer === 'function' &&\n Buffer.isBuffer(data)) {\n if (!this._decoder) {\n var SD = __webpack_require__(/*! string_decoder */ \"./node_modules/string_decoder/lib/string_decoder.js\").StringDecoder\n this._decoder = new SD('utf8')\n }\n data = this._decoder.write(data)\n }\n\n this._parser.write(data.toString())\n this.emit('data', data)\n return true\n }\n\n SAXStream.prototype.end = function (chunk) {\n if (chunk && chunk.length) {\n this.write(chunk)\n }\n this._parser.end()\n return true\n }\n\n SAXStream.prototype.on = function (ev, handler) {\n var me = this\n if (!me._parser['on' + ev] && streamWraps.indexOf(ev) !== -1) {\n me._parser['on' + ev] = function () {\n var args = arguments.length === 1 ? [arguments[0]] : Array.apply(null, arguments)\n args.splice(0, 0, ev)\n me.emit.apply(me, args)\n }\n }\n\n return Stream.prototype.on.call(me, ev, handler)\n }\n\n // this really needs to be replaced with character classes.\n // XML allows all manner of ridiculous numbers and digits.\n var CDATA = '[CDATA['\n var DOCTYPE = 'DOCTYPE'\n var XML_NAMESPACE = 'http://www.w3.org/XML/1998/namespace'\n var XMLNS_NAMESPACE = 'http://www.w3.org/2000/xmlns/'\n var rootNS = { xml: XML_NAMESPACE, xmlns: XMLNS_NAMESPACE }\n\n // http://www.w3.org/TR/REC-xml/#NT-NameStartChar\n // This implementation works on strings, a single character at a time\n // as such, it cannot ever support astral-plane characters (10000-EFFFF)\n // without a significant breaking change to either this parser, or the\n // JavaScript language. Implementation of an emoji-capable xml parser\n // is left as an exercise for the reader.\n var nameStart = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n\n var nameBody = /[:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n var entityStart = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD]/\n var entityBody = /[#:_A-Za-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\u00B7\\u0300-\\u036F\\u203F-\\u2040.\\d-]/\n\n function isWhitespace (c) {\n return c === ' ' || c === '\\n' || c === '\\r' || c === '\\t'\n }\n\n function isQuote (c) {\n return c === '\"' || c === '\\''\n }\n\n function isAttribEnd (c) {\n return c === '>' || isWhitespace(c)\n }\n\n function isMatch (regex, c) {\n return regex.test(c)\n }\n\n function notMatch (regex, c) {\n return !isMatch(regex, c)\n }\n\n var S = 0\n sax.STATE = {\n BEGIN: S++, // leading byte order mark or whitespace\n BEGIN_WHITESPACE: S++, // leading whitespace\n TEXT: S++, // general stuff\n TEXT_ENTITY: S++, // & and such.\n OPEN_WAKA: S++, // <\n SGML_DECL: S++, // \n SCRIPT: S++, // \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationRawTagOpen(code) {\n if (code === 47) {\n effects.consume(code)\n buffer = ''\n return continuationRawEndTag\n }\n return continuation(code)\n }\n\n /**\n * In raw continuation, after ``, in a raw tag name.\n *\n * ```markdown\n * > | \n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function continuationRawEndTag(code) {\n if (code === 62) {\n const name = buffer.toLowerCase()\n if (micromark_util_html_tag_name__WEBPACK_IMPORTED_MODULE_1__[\"htmlRawNames\"].includes(name)) {\n effects.consume(code)\n return continuationClose\n }\n return continuation(code)\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"asciiAlpha\"])(code) && buffer.length < 8) {\n effects.consume(code)\n // @ts-expect-error: not null.\n buffer += String.fromCharCode(code)\n return continuationRawEndTag\n }\n return continuation(code)\n }\n\n /**\n * In cdata continuation, after `]`, expecting `]>`.\n *\n * ```markdown\n * > | &<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationCdataInside(code) {\n if (code === 93) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n return continuation(code)\n }\n\n /**\n * In declaration or instruction continuation, at `>`.\n *\n * ```markdown\n * > | \n * ^\n * > | >\n * ^\n * > | \n * ^\n * > | \n * ^\n * > | &<]]>\n * ^\n * ```\n *\n * @type {State}\n */\n function continuationDeclarationInside(code) {\n if (code === 62) {\n effects.consume(code)\n return continuationClose\n }\n\n // More dashes.\n if (code === 45 && marker === 2) {\n effects.consume(code)\n return continuationDeclarationInside\n }\n return continuation(code)\n }\n\n /**\n * In closed continuation: everything we get until the eol/eof is part of it.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationClose(code) {\n if (code === null || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownLineEnding\"])(code)) {\n effects.exit('htmlFlowData')\n return continuationAfter(code)\n }\n effects.consume(code)\n return continuationClose\n }\n\n /**\n * Done.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function continuationAfter(code) {\n effects.exit('htmlFlow')\n // // Feel free to interrupt.\n // tokenizer.interrupt = false\n // // No longer concrete.\n // tokenizer.concrete = false\n return ok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeNonLazyContinuationStart(effects, ok, nok) {\n const self = this\n return start\n\n /**\n * At eol, before continuation.\n *\n * ```markdown\n * > | * ```js\n * ^\n * | b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownLineEnding\"])(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return after\n }\n return nok(code)\n }\n\n /**\n * A continuation.\n *\n * ```markdown\n * | * ```js\n * > | b\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n return self.parser.lazy[self.now().line] ? nok(code) : ok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeBlankLineBefore(effects, ok, nok) {\n return start\n\n /**\n * Before eol, expecting blank line.\n *\n * ```markdown\n * > |
| undefined} */\n let marker\n /** @type {number} */\n let index\n /** @type {State} */\n let returnState\n return start\n\n /**\n * Start of HTML (text).\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('htmlText')\n effects.enter('htmlTextData')\n effects.consume(code)\n return open\n }\n\n /**\n * After `<`, at tag name or other stuff.\n *\n * ```markdown\n * > | a c\n * ^\n * > | a c\n * ^\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 33) {\n effects.consume(code)\n return declarationOpen\n }\n if (code === 47) {\n effects.consume(code)\n return tagCloseStart\n }\n if (code === 63) {\n effects.consume(code)\n return instruction\n }\n\n // ASCII alphabetical.\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"asciiAlpha\"])(code)) {\n effects.consume(code)\n return tagOpen\n }\n return nok(code)\n }\n\n /**\n * After ` | a c\n * ^\n * > | a c\n * ^\n * > | a &<]]> c\n * ^\n * ```\n *\n * @type {State}\n */\n function declarationOpen(code) {\n if (code === 45) {\n effects.consume(code)\n return commentOpenInside\n }\n if (code === 91) {\n effects.consume(code)\n index = 0\n return cdataOpenInside\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"asciiAlpha\"])(code)) {\n effects.consume(code)\n return declaration\n }\n return nok(code)\n }\n\n /**\n * In a comment, after ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentOpenInside(code) {\n if (code === 45) {\n effects.consume(code)\n return commentEnd\n }\n return nok(code)\n }\n\n /**\n * In comment.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function comment(code) {\n if (code === null) {\n return nok(code)\n }\n if (code === 45) {\n effects.consume(code)\n return commentClose\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n returnState = comment\n return lineEndingBefore(code)\n }\n effects.consume(code)\n return comment\n }\n\n /**\n * In comment, after `-`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentClose(code) {\n if (code === 45) {\n effects.consume(code)\n return commentEnd\n }\n return comment(code)\n }\n\n /**\n * In comment, after `--`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function commentEnd(code) {\n return code === 62\n ? end(code)\n : code === 45\n ? commentClose(code)\n : comment(code)\n }\n\n /**\n * After ` | a &<]]> b\n * ^^^^^^\n * ```\n *\n * @type {State}\n */\n function cdataOpenInside(code) {\n const value = 'CDATA['\n if (code === value.charCodeAt(index++)) {\n effects.consume(code)\n return index === value.length ? cdata : cdataOpenInside\n }\n return nok(code)\n }\n\n /**\n * In CDATA.\n *\n * ```markdown\n * > | a &<]]> b\n * ^^^\n * ```\n *\n * @type {State}\n */\n function cdata(code) {\n if (code === null) {\n return nok(code)\n }\n if (code === 93) {\n effects.consume(code)\n return cdataClose\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n returnState = cdata\n return lineEndingBefore(code)\n }\n effects.consume(code)\n return cdata\n }\n\n /**\n * In CDATA, after `]`, at another `]`.\n *\n * ```markdown\n * > | a &<]]> b\n * ^\n * ```\n *\n * @type {State}\n */\n function cdataClose(code) {\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n return cdata(code)\n }\n\n /**\n * In CDATA, after `]]`, at `>`.\n *\n * ```markdown\n * > | a &<]]> b\n * ^\n * ```\n *\n * @type {State}\n */\n function cdataEnd(code) {\n if (code === 62) {\n return end(code)\n }\n if (code === 93) {\n effects.consume(code)\n return cdataEnd\n }\n return cdata(code)\n }\n\n /**\n * In declaration.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function declaration(code) {\n if (code === null || code === 62) {\n return end(code)\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n returnState = declaration\n return lineEndingBefore(code)\n }\n effects.consume(code)\n return declaration\n }\n\n /**\n * In instruction.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function instruction(code) {\n if (code === null) {\n return nok(code)\n }\n if (code === 63) {\n effects.consume(code)\n return instructionClose\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n returnState = instruction\n return lineEndingBefore(code)\n }\n effects.consume(code)\n return instruction\n }\n\n /**\n * In instruction, after `?`, at `>`.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function instructionClose(code) {\n return code === 62 ? end(code) : instruction(code)\n }\n\n /**\n * After ``, in closing tag, at tag name.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseStart(code) {\n // ASCII alphabetical.\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"asciiAlpha\"])(code)) {\n effects.consume(code)\n return tagClose\n }\n return nok(code)\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagClose(code) {\n // ASCII alphanumerical and `-`.\n if (code === 45 || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"asciiAlphanumeric\"])(code)) {\n effects.consume(code)\n return tagClose\n }\n return tagCloseBetween(code)\n }\n\n /**\n * In closing tag, after tag name.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagCloseBetween(code) {\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n returnState = tagCloseBetween\n return lineEndingBefore(code)\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code)) {\n effects.consume(code)\n return tagCloseBetween\n }\n return end(code)\n }\n\n /**\n * After ` | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpen(code) {\n // ASCII alphanumerical and `-`.\n if (code === 45 || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"asciiAlphanumeric\"])(code)) {\n effects.consume(code)\n return tagOpen\n }\n if (code === 47 || code === 62 || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEndingOrSpace\"])(code)) {\n return tagOpenBetween(code)\n }\n return nok(code)\n }\n\n /**\n * In opening tag, after tag name.\n *\n * ```markdown\n * > | a c\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenBetween(code) {\n if (code === 47) {\n effects.consume(code)\n return end\n }\n\n // ASCII alphabetical and `:` and `_`.\n if (code === 58 || code === 95 || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"asciiAlpha\"])(code)) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n returnState = tagOpenBetween\n return lineEndingBefore(code)\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code)) {\n effects.consume(code)\n return tagOpenBetween\n }\n return end(code)\n }\n\n /**\n * In attribute name.\n *\n * ```markdown\n * > | a d\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeName(code) {\n // ASCII alphabetical and `-`, `.`, `:`, and `_`.\n if (\n code === 45 ||\n code === 46 ||\n code === 58 ||\n code === 95 ||\n Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"asciiAlphanumeric\"])(code)\n ) {\n effects.consume(code)\n return tagOpenAttributeName\n }\n return tagOpenAttributeNameAfter(code)\n }\n\n /**\n * After attribute name, before initializer, the end of the tag, or\n * whitespace.\n *\n * ```markdown\n * > | a d\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeNameAfter(code) {\n if (code === 61) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n returnState = tagOpenAttributeNameAfter\n return lineEndingBefore(code)\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code)) {\n effects.consume(code)\n return tagOpenAttributeNameAfter\n }\n return tagOpenBetween(code)\n }\n\n /**\n * Before unquoted, double quoted, or single quoted attribute value, allowing\n * whitespace.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueBefore(code) {\n if (\n code === null ||\n code === 60 ||\n code === 61 ||\n code === 62 ||\n code === 96\n ) {\n return nok(code)\n }\n if (code === 34 || code === 39) {\n effects.consume(code)\n marker = code\n return tagOpenAttributeValueQuoted\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n returnState = tagOpenAttributeValueBefore\n return lineEndingBefore(code)\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code)) {\n effects.consume(code)\n return tagOpenAttributeValueBefore\n }\n effects.consume(code)\n return tagOpenAttributeValueUnquoted\n }\n\n /**\n * In double or single quoted attribute value.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueQuoted(code) {\n if (code === marker) {\n effects.consume(code)\n marker = undefined\n return tagOpenAttributeValueQuotedAfter\n }\n if (code === null) {\n return nok(code)\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n returnState = tagOpenAttributeValueQuoted\n return lineEndingBefore(code)\n }\n effects.consume(code)\n return tagOpenAttributeValueQuoted\n }\n\n /**\n * In unquoted attribute value.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueUnquoted(code) {\n if (\n code === null ||\n code === 34 ||\n code === 39 ||\n code === 60 ||\n code === 61 ||\n code === 96\n ) {\n return nok(code)\n }\n if (code === 47 || code === 62 || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEndingOrSpace\"])(code)) {\n return tagOpenBetween(code)\n }\n effects.consume(code)\n return tagOpenAttributeValueUnquoted\n }\n\n /**\n * After double or single quoted attribute value, before whitespace or the end\n * of the tag.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function tagOpenAttributeValueQuotedAfter(code) {\n if (code === 47 || code === 62 || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEndingOrSpace\"])(code)) {\n return tagOpenBetween(code)\n }\n return nok(code)\n }\n\n /**\n * In certain circumstances of a tag where only an `>` is allowed.\n *\n * ```markdown\n * > | a e\n * ^\n * ```\n *\n * @type {State}\n */\n function end(code) {\n if (code === 62) {\n effects.consume(code)\n effects.exit('htmlTextData')\n effects.exit('htmlText')\n return ok\n }\n return nok(code)\n }\n\n /**\n * At eol.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * > | a \n * ```\n *\n * @type {State}\n */\n function lineEndingBefore(code) {\n effects.exit('htmlTextData')\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return lineEndingAfter\n }\n\n /**\n * After eol, at optional whitespace.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * | a \n * ^\n * ```\n *\n * @type {State}\n */\n function lineEndingAfter(code) {\n // Always populated by defaults.\n\n return Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code)\n ? Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(\n effects,\n lineEndingAfterPrefix,\n 'linePrefix',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )(code)\n : lineEndingAfterPrefix(code)\n }\n\n /**\n * After eol, after optional whitespace.\n *\n * > 👉 **Note**: we can’t have blank lines in text, so no need to worry about\n * > empty tokens.\n *\n * ```markdown\n * | a \n * ^\n * ```\n *\n * @type {State}\n */\n function lineEndingAfterPrefix(code) {\n effects.enter('htmlTextData')\n return returnState(code)\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-core-commonmark/lib/html-text.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-end.js":
/*!**********************************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-end.js ***!
\**********************************************************************************/
/*! exports provided: labelEnd */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"labelEnd\", function() { return labelEnd; });\n/* harmony import */ var micromark_factory_destination__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-factory-destination */ \"../simple-mind-map/node_modules/micromark-factory-destination/index.js\");\n/* harmony import */ var micromark_factory_label__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-factory-label */ \"../simple-mind-map/node_modules/micromark-factory-label/index.js\");\n/* harmony import */ var micromark_factory_title__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-factory-title */ \"../simple-mind-map/node_modules/micromark-factory-title/index.js\");\n/* harmony import */ var micromark_factory_whitespace__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! micromark-factory-whitespace */ \"../simple-mind-map/node_modules/micromark-factory-whitespace/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/* harmony import */ var micromark_util_chunked__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! micromark-util-chunked */ \"../simple-mind-map/node_modules/micromark-util-chunked/index.js\");\n/* harmony import */ var micromark_util_normalize_identifier__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! micromark-util-normalize-identifier */ \"../simple-mind-map/node_modules/micromark-util-normalize-identifier/index.js\");\n/* harmony import */ var micromark_util_resolve_all__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! micromark-util-resolve-all */ \"../simple-mind-map/node_modules/micromark-util-resolve-all/index.js\");\n/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\n\n\n\n\n\n\n\n\n/** @type {Construct} */\nconst labelEnd = {\n name: 'labelEnd',\n tokenize: tokenizeLabelEnd,\n resolveTo: resolveToLabelEnd,\n resolveAll: resolveAllLabelEnd\n}\n\n/** @type {Construct} */\nconst resourceConstruct = {\n tokenize: tokenizeResource\n}\n/** @type {Construct} */\nconst referenceFullConstruct = {\n tokenize: tokenizeReferenceFull\n}\n/** @type {Construct} */\nconst referenceCollapsedConstruct = {\n tokenize: tokenizeReferenceCollapsed\n}\n\n/** @type {Resolver} */\nfunction resolveAllLabelEnd(events) {\n let index = -1\n while (++index < events.length) {\n const token = events[index][1]\n if (\n token.type === 'labelImage' ||\n token.type === 'labelLink' ||\n token.type === 'labelEnd'\n ) {\n // Remove the marker.\n events.splice(index + 1, token.type === 'labelImage' ? 4 : 2)\n token.type = 'data'\n index++\n }\n }\n return events\n}\n\n/** @type {Resolver} */\nfunction resolveToLabelEnd(events, context) {\n let index = events.length\n let offset = 0\n /** @type {Token} */\n let token\n /** @type {number | undefined} */\n let open\n /** @type {number | undefined} */\n let close\n /** @type {Array} */\n let media\n\n // Find an opening.\n while (index--) {\n token = events[index][1]\n if (open) {\n // If we see another link, or inactive link label, we’ve been here before.\n if (\n token.type === 'link' ||\n (token.type === 'labelLink' && token._inactive)\n ) {\n break\n }\n\n // Mark other link openings as inactive, as we can’t have links in\n // links.\n if (events[index][0] === 'enter' && token.type === 'labelLink') {\n token._inactive = true\n }\n } else if (close) {\n if (\n events[index][0] === 'enter' &&\n (token.type === 'labelImage' || token.type === 'labelLink') &&\n !token._balanced\n ) {\n open = index\n if (token.type !== 'labelLink') {\n offset = 2\n break\n }\n }\n } else if (token.type === 'labelEnd') {\n close = index\n }\n }\n const group = {\n type: events[open][1].type === 'labelLink' ? 'link' : 'image',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n }\n const label = {\n type: 'label',\n start: Object.assign({}, events[open][1].start),\n end: Object.assign({}, events[close][1].end)\n }\n const text = {\n type: 'labelText',\n start: Object.assign({}, events[open + offset + 2][1].end),\n end: Object.assign({}, events[close - 2][1].start)\n }\n media = [\n ['enter', group, context],\n ['enter', label, context]\n ]\n\n // Opening marker.\n media = Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_5__[\"push\"])(media, events.slice(open + 1, open + offset + 3))\n\n // Text open.\n media = Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_5__[\"push\"])(media, [['enter', text, context]])\n\n // Always populated by defaults.\n\n // Between.\n media = Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_5__[\"push\"])(\n media,\n Object(micromark_util_resolve_all__WEBPACK_IMPORTED_MODULE_7__[\"resolveAll\"])(\n context.parser.constructs.insideSpan.null,\n events.slice(open + offset + 4, close - 3),\n context\n )\n )\n\n // Text close, marker close, label close.\n media = Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_5__[\"push\"])(media, [\n ['exit', text, context],\n events[close - 2],\n events[close - 1],\n ['exit', label, context]\n ])\n\n // Reference, resource, or so.\n media = Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_5__[\"push\"])(media, events.slice(close + 1))\n\n // Media close.\n media = Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_5__[\"push\"])(media, [['exit', group, context]])\n Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_5__[\"splice\"])(events, open, events.length, media)\n return events\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLabelEnd(effects, ok, nok) {\n const self = this\n let index = self.events.length\n /** @type {Token} */\n let labelStart\n /** @type {boolean} */\n let defined\n\n // Find an opening.\n while (index--) {\n if (\n (self.events[index][1].type === 'labelImage' ||\n self.events[index][1].type === 'labelLink') &&\n !self.events[index][1]._balanced\n ) {\n labelStart = self.events[index][1]\n break\n }\n }\n return start\n\n /**\n * Start of label end.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ```\n *\n * @type {State}\n */\n function start(code) {\n // If there is not an okay opening.\n if (!labelStart) {\n return nok(code)\n }\n\n // If the corresponding label (link) start is marked as inactive,\n // it means we’d be wrapping a link, like this:\n //\n // ```markdown\n // > | a [b [c](d) e](f) g.\n // ^\n // ```\n //\n // We can’t have that, so it’s just balanced brackets.\n if (labelStart._inactive) {\n return labelEndNok(code)\n }\n defined = self.parser.defined.includes(\n Object(micromark_util_normalize_identifier__WEBPACK_IMPORTED_MODULE_6__[\"normalizeIdentifier\"])(\n self.sliceSerialize({\n start: labelStart.end,\n end: self.now()\n })\n )\n )\n effects.enter('labelEnd')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelEnd')\n return after\n }\n\n /**\n * After `]`.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // Note: `markdown-rs` also parses GFM footnotes here, which for us is in\n // an extension.\n\n // Resource (`[asd](fgh)`)?\n if (code === 40) {\n return effects.attempt(\n resourceConstruct,\n labelEndOk,\n defined ? labelEndOk : labelEndNok\n )(code)\n }\n\n // Full (`[asd][fgh]`) or collapsed (`[asd][]`) reference?\n if (code === 91) {\n return effects.attempt(\n referenceFullConstruct,\n labelEndOk,\n defined ? referenceNotFull : labelEndNok\n )(code)\n }\n\n // Shortcut (`[asd]`) reference?\n return defined ? labelEndOk(code) : labelEndNok(code)\n }\n\n /**\n * After `]`, at `[`, but not at a full reference.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceNotFull(code) {\n return effects.attempt(\n referenceCollapsedConstruct,\n labelEndOk,\n labelEndNok\n )(code)\n }\n\n /**\n * Done, we found something.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * > | [a][b] c\n * ^\n * > | [a][] b\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEndOk(code) {\n // Note: `markdown-rs` does a bunch of stuff here.\n return ok(code)\n }\n\n /**\n * Done, it’s nothing.\n *\n * There was an okay opening, but we didn’t match anything.\n *\n * ```markdown\n * > | [a](b c\n * ^\n * > | [a][b c\n * ^\n * > | [a] b\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEndNok(code) {\n labelStart._balanced = true\n return nok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeResource(effects, ok, nok) {\n return resourceStart\n\n /**\n * At a resource.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceStart(code) {\n effects.enter('resource')\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n return resourceBefore\n }\n\n /**\n * In resource, after `(`, at optional whitespace.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceBefore(code) {\n return Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_4__[\"markdownLineEndingOrSpace\"])(code)\n ? Object(micromark_factory_whitespace__WEBPACK_IMPORTED_MODULE_3__[\"factoryWhitespace\"])(effects, resourceOpen)(code)\n : resourceOpen(code)\n }\n\n /**\n * In resource, after optional whitespace, at `)` or a destination.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceOpen(code) {\n if (code === 41) {\n return resourceEnd(code)\n }\n return Object(micromark_factory_destination__WEBPACK_IMPORTED_MODULE_0__[\"factoryDestination\"])(\n effects,\n resourceDestinationAfter,\n resourceDestinationMissing,\n 'resourceDestination',\n 'resourceDestinationLiteral',\n 'resourceDestinationLiteralMarker',\n 'resourceDestinationRaw',\n 'resourceDestinationString',\n 32\n )(code)\n }\n\n /**\n * In resource, after destination, at optional whitespace.\n *\n * ```markdown\n * > | [a](b) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceDestinationAfter(code) {\n return Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_4__[\"markdownLineEndingOrSpace\"])(code)\n ? Object(micromark_factory_whitespace__WEBPACK_IMPORTED_MODULE_3__[\"factoryWhitespace\"])(effects, resourceBetween)(code)\n : resourceEnd(code)\n }\n\n /**\n * At invalid destination.\n *\n * ```markdown\n * > | [a](<<) b\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceDestinationMissing(code) {\n return nok(code)\n }\n\n /**\n * In resource, after destination and whitespace, at `(` or title.\n *\n * ```markdown\n * > | [a](b ) c\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceBetween(code) {\n if (code === 34 || code === 39 || code === 40) {\n return Object(micromark_factory_title__WEBPACK_IMPORTED_MODULE_2__[\"factoryTitle\"])(\n effects,\n resourceTitleAfter,\n nok,\n 'resourceTitle',\n 'resourceTitleMarker',\n 'resourceTitleString'\n )(code)\n }\n return resourceEnd(code)\n }\n\n /**\n * In resource, after title, at optional whitespace.\n *\n * ```markdown\n * > | [a](b \"c\") d\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceTitleAfter(code) {\n return Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_4__[\"markdownLineEndingOrSpace\"])(code)\n ? Object(micromark_factory_whitespace__WEBPACK_IMPORTED_MODULE_3__[\"factoryWhitespace\"])(effects, resourceEnd)(code)\n : resourceEnd(code)\n }\n\n /**\n * In resource, at `)`.\n *\n * ```markdown\n * > | [a](b) d\n * ^\n * ```\n *\n * @type {State}\n */\n function resourceEnd(code) {\n if (code === 41) {\n effects.enter('resourceMarker')\n effects.consume(code)\n effects.exit('resourceMarker')\n effects.exit('resource')\n return ok\n }\n return nok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeReferenceFull(effects, ok, nok) {\n const self = this\n return referenceFull\n\n /**\n * In a reference (full), at the `[`.\n *\n * ```markdown\n * > | [a][b] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFull(code) {\n return micromark_factory_label__WEBPACK_IMPORTED_MODULE_1__[\"factoryLabel\"].call(\n self,\n effects,\n referenceFullAfter,\n referenceFullMissing,\n 'reference',\n 'referenceMarker',\n 'referenceString'\n )(code)\n }\n\n /**\n * In a reference (full), after `]`.\n *\n * ```markdown\n * > | [a][b] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFullAfter(code) {\n return self.parser.defined.includes(\n Object(micromark_util_normalize_identifier__WEBPACK_IMPORTED_MODULE_6__[\"normalizeIdentifier\"])(\n self.sliceSerialize(self.events[self.events.length - 1][1]).slice(1, -1)\n )\n )\n ? ok(code)\n : nok(code)\n }\n\n /**\n * In reference (full) that was missing.\n *\n * ```markdown\n * > | [a][b d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceFullMissing(code) {\n return nok(code)\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeReferenceCollapsed(effects, ok, nok) {\n return referenceCollapsedStart\n\n /**\n * In reference (collapsed), at `[`.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceCollapsedStart(code) {\n // We only attempt a collapsed label if there’s a `[`.\n\n effects.enter('reference')\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n return referenceCollapsedOpen\n }\n\n /**\n * In reference (collapsed), at `]`.\n *\n * > 👉 **Note**: we only get here if the label is defined.\n *\n * ```markdown\n * > | [a][] d\n * ^\n * ```\n *\n * @type {State}\n */\n function referenceCollapsedOpen(code) {\n if (code === 93) {\n effects.enter('referenceMarker')\n effects.consume(code)\n effects.exit('referenceMarker')\n effects.exit('reference')\n return ok\n }\n return nok(code)\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-end.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-start-image.js":
/*!******************************************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-start-image.js ***!
\******************************************************************************************/
/*! exports provided: labelStartImage */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"labelStartImage\", function() { return labelStartImage; });\n/* harmony import */ var _label_end_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./label-end.js */ \"../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-end.js\");\n/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\n\n\n/** @type {Construct} */\nconst labelStartImage = {\n name: 'labelStartImage',\n tokenize: tokenizeLabelStartImage,\n resolveAll: _label_end_js__WEBPACK_IMPORTED_MODULE_0__[\"labelEnd\"].resolveAll\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLabelStartImage(effects, ok, nok) {\n const self = this\n return start\n\n /**\n * Start of label (image) start.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('labelImage')\n effects.enter('labelImageMarker')\n effects.consume(code)\n effects.exit('labelImageMarker')\n return open\n }\n\n /**\n * After `!`, at `[`.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function open(code) {\n if (code === 91) {\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelImage')\n return after\n }\n return nok(code)\n }\n\n /**\n * After `![`.\n *\n * ```markdown\n * > | a ![b] c\n * ^\n * ```\n *\n * This is needed in because, when GFM footnotes are enabled, images never\n * form when started with a `^`.\n * Instead, links form:\n *\n * ```markdown\n * \n *\n * ![^a][b]\n *\n * [b]: c\n * ```\n *\n * ```html\n * !^a
\n * !^a
\n * ```\n *\n * @type {State}\n */\n function after(code) {\n // To do: use a new field to do this, this is still needed for\n // `micromark-extension-gfm-footnote`, but the `label-start-link`\n // behavior isn’t.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs\n ? nok(code)\n : ok(code)\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-start-image.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-start-link.js":
/*!*****************************************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-start-link.js ***!
\*****************************************************************************************/
/*! exports provided: labelStartLink */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"labelStartLink\", function() { return labelStartLink; });\n/* harmony import */ var _label_end_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./label-end.js */ \"../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-end.js\");\n/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\n\n\n/** @type {Construct} */\nconst labelStartLink = {\n name: 'labelStartLink',\n tokenize: tokenizeLabelStartLink,\n resolveAll: _label_end_js__WEBPACK_IMPORTED_MODULE_0__[\"labelEnd\"].resolveAll\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLabelStartLink(effects, ok, nok) {\n const self = this\n return start\n\n /**\n * Start of label (link) start.\n *\n * ```markdown\n * > | a [b] c\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('labelLink')\n effects.enter('labelMarker')\n effects.consume(code)\n effects.exit('labelMarker')\n effects.exit('labelLink')\n return after\n }\n\n /** @type {State} */\n function after(code) {\n // To do: this isn’t needed in `micromark-extension-gfm-footnote`,\n // remove.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n return code === 94 && '_hiddenFootnoteSupport' in self.parser.constructs\n ? nok(code)\n : ok(code)\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-core-commonmark/lib/label-start-link.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark-core-commonmark/lib/line-ending.js":
/*!************************************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark-core-commonmark/lib/line-ending.js ***!
\************************************************************************************/
/*! exports provided: lineEnding */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lineEnding\", function() { return lineEnding; });\n/* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-factory-space */ \"../simple-mind-map/node_modules/micromark-factory-space/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\n\n\n/** @type {Construct} */\nconst lineEnding = {\n name: 'lineEnding',\n tokenize: tokenizeLineEnding\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeLineEnding(effects, ok) {\n return start\n\n /** @type {State} */\n function start(code) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(effects, ok, 'linePrefix')\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-core-commonmark/lib/line-ending.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark-core-commonmark/lib/list.js":
/*!*****************************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark-core-commonmark/lib/list.js ***!
\*****************************************************************************/
/*! exports provided: list */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"list\", function() { return list; });\n/* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-factory-space */ \"../simple-mind-map/node_modules/micromark-factory-space/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/* harmony import */ var _blank_line_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./blank-line.js */ \"../simple-mind-map/node_modules/micromark-core-commonmark/lib/blank-line.js\");\n/* harmony import */ var _thematic_break_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./thematic-break.js */ \"../simple-mind-map/node_modules/micromark-core-commonmark/lib/thematic-break.js\");\n/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').ContainerState} ContainerState\n * @typedef {import('micromark-util-types').Exiter} Exiter\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\n\n\n\n\n\n/** @type {Construct} */\nconst list = {\n name: 'list',\n tokenize: tokenizeListStart,\n continuation: {\n tokenize: tokenizeListContinuation\n },\n exit: tokenizeListEnd\n}\n\n/** @type {Construct} */\nconst listItemPrefixWhitespaceConstruct = {\n tokenize: tokenizeListItemPrefixWhitespace,\n partial: true\n}\n\n/** @type {Construct} */\nconst indentConstruct = {\n tokenize: tokenizeIndent,\n partial: true\n}\n\n// To do: `markdown-rs` parses list items on their own and later stitches them\n// together.\n\n/**\n * @type {Tokenizer}\n * @this {TokenizeContext}\n */\nfunction tokenizeListStart(effects, ok, nok) {\n const self = this\n const tail = self.events[self.events.length - 1]\n let initialSize =\n tail && tail[1].type === 'linePrefix'\n ? tail[2].sliceSerialize(tail[1], true).length\n : 0\n let size = 0\n return start\n\n /** @type {State} */\n function start(code) {\n const kind =\n self.containerState.type ||\n (code === 42 || code === 43 || code === 45\n ? 'listUnordered'\n : 'listOrdered')\n if (\n kind === 'listUnordered'\n ? !self.containerState.marker || code === self.containerState.marker\n : Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"asciiDigit\"])(code)\n ) {\n if (!self.containerState.type) {\n self.containerState.type = kind\n effects.enter(kind, {\n _container: true\n })\n }\n if (kind === 'listUnordered') {\n effects.enter('listItemPrefix')\n return code === 42 || code === 45\n ? effects.check(_thematic_break_js__WEBPACK_IMPORTED_MODULE_3__[\"thematicBreak\"], nok, atMarker)(code)\n : atMarker(code)\n }\n if (!self.interrupt || code === 49) {\n effects.enter('listItemPrefix')\n effects.enter('listItemValue')\n return inside(code)\n }\n }\n return nok(code)\n }\n\n /** @type {State} */\n function inside(code) {\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"asciiDigit\"])(code) && ++size < 10) {\n effects.consume(code)\n return inside\n }\n if (\n (!self.interrupt || size < 2) &&\n (self.containerState.marker\n ? code === self.containerState.marker\n : code === 41 || code === 46)\n ) {\n effects.exit('listItemValue')\n return atMarker(code)\n }\n return nok(code)\n }\n\n /**\n * @type {State}\n **/\n function atMarker(code) {\n effects.enter('listItemMarker')\n effects.consume(code)\n effects.exit('listItemMarker')\n self.containerState.marker = self.containerState.marker || code\n return effects.check(\n _blank_line_js__WEBPACK_IMPORTED_MODULE_2__[\"blankLine\"],\n // Can’t be empty when interrupting.\n self.interrupt ? nok : onBlank,\n effects.attempt(\n listItemPrefixWhitespaceConstruct,\n endOfPrefix,\n otherPrefix\n )\n )\n }\n\n /** @type {State} */\n function onBlank(code) {\n self.containerState.initialBlankLine = true\n initialSize++\n return endOfPrefix(code)\n }\n\n /** @type {State} */\n function otherPrefix(code) {\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code)) {\n effects.enter('listItemPrefixWhitespace')\n effects.consume(code)\n effects.exit('listItemPrefixWhitespace')\n return endOfPrefix\n }\n return nok(code)\n }\n\n /** @type {State} */\n function endOfPrefix(code) {\n self.containerState.size =\n initialSize +\n self.sliceSerialize(effects.exit('listItemPrefix'), true).length\n return ok(code)\n }\n}\n\n/**\n * @type {Tokenizer}\n * @this {TokenizeContext}\n */\nfunction tokenizeListContinuation(effects, ok, nok) {\n const self = this\n self.containerState._closeFlow = undefined\n return effects.check(_blank_line_js__WEBPACK_IMPORTED_MODULE_2__[\"blankLine\"], onBlank, notBlank)\n\n /** @type {State} */\n function onBlank(code) {\n self.containerState.furtherBlankLines =\n self.containerState.furtherBlankLines ||\n self.containerState.initialBlankLine\n\n // We have a blank line.\n // Still, try to consume at most the items size.\n return Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(\n effects,\n ok,\n 'listItemIndent',\n self.containerState.size + 1\n )(code)\n }\n\n /** @type {State} */\n function notBlank(code) {\n if (self.containerState.furtherBlankLines || !Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code)) {\n self.containerState.furtherBlankLines = undefined\n self.containerState.initialBlankLine = undefined\n return notInCurrentItem(code)\n }\n self.containerState.furtherBlankLines = undefined\n self.containerState.initialBlankLine = undefined\n return effects.attempt(indentConstruct, ok, notInCurrentItem)(code)\n }\n\n /** @type {State} */\n function notInCurrentItem(code) {\n // While we do continue, we signal that the flow should be closed.\n self.containerState._closeFlow = true\n // As we’re closing flow, we’re no longer interrupting.\n self.interrupt = undefined\n // Always populated by defaults.\n\n return Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(\n effects,\n effects.attempt(list, ok, nok),\n 'linePrefix',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4\n )(code)\n }\n}\n\n/**\n * @type {Tokenizer}\n * @this {TokenizeContext}\n */\nfunction tokenizeIndent(effects, ok, nok) {\n const self = this\n return Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(\n effects,\n afterPrefix,\n 'listItemIndent',\n self.containerState.size + 1\n )\n\n /** @type {State} */\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return tail &&\n tail[1].type === 'listItemIndent' &&\n tail[2].sliceSerialize(tail[1], true).length === self.containerState.size\n ? ok(code)\n : nok(code)\n }\n}\n\n/**\n * @type {Exiter}\n * @this {TokenizeContext}\n */\nfunction tokenizeListEnd(effects) {\n effects.exit(this.containerState.type)\n}\n\n/**\n * @type {Tokenizer}\n * @this {TokenizeContext}\n */\nfunction tokenizeListItemPrefixWhitespace(effects, ok, nok) {\n const self = this\n\n // Always populated by defaults.\n\n return Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(\n effects,\n afterPrefix,\n 'listItemPrefixWhitespace',\n self.parser.constructs.disable.null.includes('codeIndented')\n ? undefined\n : 4 + 1\n )\n\n /** @type {State} */\n function afterPrefix(code) {\n const tail = self.events[self.events.length - 1]\n return !Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code) &&\n tail &&\n tail[1].type === 'listItemPrefixWhitespace'\n ? ok(code)\n : nok(code)\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-core-commonmark/lib/list.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark-core-commonmark/lib/setext-underline.js":
/*!*****************************************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark-core-commonmark/lib/setext-underline.js ***!
\*****************************************************************************************/
/*! exports provided: setextUnderline */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setextUnderline\", function() { return setextUnderline; });\n/* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-factory-space */ \"../simple-mind-map/node_modules/micromark-factory-space/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\n\n\n/** @type {Construct} */\nconst setextUnderline = {\n name: 'setextUnderline',\n tokenize: tokenizeSetextUnderline,\n resolveTo: resolveToSetextUnderline\n}\n\n/** @type {Resolver} */\nfunction resolveToSetextUnderline(events, context) {\n // To do: resolve like `markdown-rs`.\n let index = events.length\n /** @type {number | undefined} */\n let content\n /** @type {number | undefined} */\n let text\n /** @type {number | undefined} */\n let definition\n\n // Find the opening of the content.\n // It’ll always exist: we don’t tokenize if it isn’t there.\n while (index--) {\n if (events[index][0] === 'enter') {\n if (events[index][1].type === 'content') {\n content = index\n break\n }\n if (events[index][1].type === 'paragraph') {\n text = index\n }\n }\n // Exit\n else {\n if (events[index][1].type === 'content') {\n // Remove the content end (if needed we’ll add it later)\n events.splice(index, 1)\n }\n if (!definition && events[index][1].type === 'definition') {\n definition = index\n }\n }\n }\n const heading = {\n type: 'setextHeading',\n start: Object.assign({}, events[text][1].start),\n end: Object.assign({}, events[events.length - 1][1].end)\n }\n\n // Change the paragraph to setext heading text.\n events[text][1].type = 'setextHeadingText'\n\n // If we have definitions in the content, we’ll keep on having content,\n // but we need move it.\n if (definition) {\n events.splice(text, 0, ['enter', heading, context])\n events.splice(definition + 1, 0, ['exit', events[content][1], context])\n events[content][1].end = Object.assign({}, events[definition][1].end)\n } else {\n events[content][1] = heading\n }\n\n // Add the heading exit at the end.\n events.push(['exit', heading, context])\n return events\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeSetextUnderline(effects, ok, nok) {\n const self = this\n /** @type {NonNullable} */\n let marker\n return start\n\n /**\n * At start of heading (setext) underline.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n let index = self.events.length\n /** @type {boolean | undefined} */\n let paragraph\n // Find an opening.\n while (index--) {\n // Skip enter/exit of line ending, line prefix, and content.\n // We can now either have a definition or a paragraph.\n if (\n self.events[index][1].type !== 'lineEnding' &&\n self.events[index][1].type !== 'linePrefix' &&\n self.events[index][1].type !== 'content'\n ) {\n paragraph = self.events[index][1].type === 'paragraph'\n break\n }\n }\n\n // To do: handle lazy/pierce like `markdown-rs`.\n // To do: parse indent like `markdown-rs`.\n if (!self.parser.lazy[self.now().line] && (self.interrupt || paragraph)) {\n effects.enter('setextHeadingLine')\n marker = code\n return before(code)\n }\n return nok(code)\n }\n\n /**\n * After optional whitespace, at `-` or `=`.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function before(code) {\n effects.enter('setextHeadingLineSequence')\n return inside(code)\n }\n\n /**\n * In sequence.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function inside(code) {\n if (code === marker) {\n effects.consume(code)\n return inside\n }\n effects.exit('setextHeadingLineSequence')\n return Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code)\n ? Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(effects, after, 'lineSuffix')(code)\n : after(code)\n }\n\n /**\n * After sequence, after optional whitespace.\n *\n * ```markdown\n * | aa\n * > | ==\n * ^\n * ```\n *\n * @type {State}\n */\n function after(code) {\n if (code === null || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n effects.exit('setextHeadingLine')\n return ok(code)\n }\n return nok(code)\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-core-commonmark/lib/setext-underline.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark-core-commonmark/lib/thematic-break.js":
/*!***************************************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark-core-commonmark/lib/thematic-break.js ***!
\***************************************************************************************/
/*! exports provided: thematicBreak */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"thematicBreak\", function() { return thematicBreak; });\n/* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-factory-space */ \"../simple-mind-map/node_modules/micromark-factory-space/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\n\n\n/** @type {Construct} */\nconst thematicBreak = {\n name: 'thematicBreak',\n tokenize: tokenizeThematicBreak\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeThematicBreak(effects, ok, nok) {\n let size = 0\n /** @type {NonNullable} */\n let marker\n return start\n\n /**\n * Start of thematic break.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter('thematicBreak')\n // To do: parse indent like `markdown-rs`.\n return before(code)\n }\n\n /**\n * After optional whitespace, at marker.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function before(code) {\n marker = code\n return atBreak(code)\n }\n\n /**\n * After something, before something else.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (code === marker) {\n effects.enter('thematicBreakSequence')\n return sequence(code)\n }\n if (size >= 3 && (code === null || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code))) {\n effects.exit('thematicBreak')\n return ok(code)\n }\n return nok(code)\n }\n\n /**\n * In sequence.\n *\n * ```markdown\n * > | ***\n * ^\n * ```\n *\n * @type {State}\n */\n function sequence(code) {\n if (code === marker) {\n effects.consume(code)\n size++\n return sequence\n }\n effects.exit('thematicBreakSequence')\n return Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code)\n ? Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(effects, atBreak, 'whitespace')(code)\n : atBreak(code)\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-core-commonmark/lib/thematic-break.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark-factory-destination/index.js":
/*!******************************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark-factory-destination/index.js ***!
\******************************************************************************/
/*! exports provided: factoryDestination */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"factoryDestination\", function() { return factoryDestination; });\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenType} TokenType\n */\n\n\n/**\n * Parse destinations.\n *\n * ###### Examples\n *\n * ```markdown\n * \n * b>\n * \n * \n * a\n * a\\)b\n * a(b)c\n * a(b)\n * ```\n *\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @param {State} nok\n * State switched to when unsuccessful.\n * @param {TokenType} type\n * Type for whole (`` or `b`).\n * @param {TokenType} literalType\n * Type when enclosed (``).\n * @param {TokenType} literalMarkerType\n * Type for enclosing (`<` and `>`).\n * @param {TokenType} rawType\n * Type when not enclosed (`b`).\n * @param {TokenType} stringType\n * Type for the value (`a` or `b`).\n * @param {number | undefined} [max=Infinity]\n * Depth of nested parens (inclusive).\n * @returns {State}\n * Start state.\n */ // eslint-disable-next-line max-params\nfunction factoryDestination(\n effects,\n ok,\n nok,\n type,\n literalType,\n literalMarkerType,\n rawType,\n stringType,\n max\n) {\n const limit = max || Number.POSITIVE_INFINITY\n let balance = 0\n return start\n\n /**\n * Start of destination.\n *\n * ```markdown\n * > | \n * ^\n * > | aa\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (code === 60) {\n effects.enter(type)\n effects.enter(literalType)\n effects.enter(literalMarkerType)\n effects.consume(code)\n effects.exit(literalMarkerType)\n return enclosedBefore\n }\n\n // ASCII control, space, closing paren.\n if (code === null || code === 32 || code === 41 || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"asciiControl\"])(code)) {\n return nok(code)\n }\n effects.enter(type)\n effects.enter(rawType)\n effects.enter(stringType)\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return raw(code)\n }\n\n /**\n * After `<`, at an enclosed destination.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function enclosedBefore(code) {\n if (code === 62) {\n effects.enter(literalMarkerType)\n effects.consume(code)\n effects.exit(literalMarkerType)\n effects.exit(literalType)\n effects.exit(type)\n return ok\n }\n effects.enter(stringType)\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return enclosed(code)\n }\n\n /**\n * In enclosed destination.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function enclosed(code) {\n if (code === 62) {\n effects.exit('chunkString')\n effects.exit(stringType)\n return enclosedBefore(code)\n }\n if (code === null || code === 60 || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownLineEnding\"])(code)) {\n return nok(code)\n }\n effects.consume(code)\n return code === 92 ? enclosedEscape : enclosed\n }\n\n /**\n * After `\\`, at a special character.\n *\n * ```markdown\n * > | \n * ^\n * ```\n *\n * @type {State}\n */\n function enclosedEscape(code) {\n if (code === 60 || code === 62 || code === 92) {\n effects.consume(code)\n return enclosed\n }\n return enclosed(code)\n }\n\n /**\n * In raw destination.\n *\n * ```markdown\n * > | aa\n * ^\n * ```\n *\n * @type {State}\n */\n function raw(code) {\n if (\n !balance &&\n (code === null || code === 41 || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownLineEndingOrSpace\"])(code))\n ) {\n effects.exit('chunkString')\n effects.exit(stringType)\n effects.exit(rawType)\n effects.exit(type)\n return ok(code)\n }\n if (balance < limit && code === 40) {\n effects.consume(code)\n balance++\n return raw\n }\n if (code === 41) {\n effects.consume(code)\n balance--\n return raw\n }\n\n // ASCII control (but *not* `\\0`) and space and `(`.\n // Note: in `markdown-rs`, `\\0` exists in codes, in `micromark-js` it\n // doesn’t.\n if (code === null || code === 32 || code === 40 || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"asciiControl\"])(code)) {\n return nok(code)\n }\n effects.consume(code)\n return code === 92 ? rawEscape : raw\n }\n\n /**\n * After `\\`, at special character.\n *\n * ```markdown\n * > | a\\*a\n * ^\n * ```\n *\n * @type {State}\n */\n function rawEscape(code) {\n if (code === 40 || code === 41 || code === 92) {\n effects.consume(code)\n return raw\n }\n return raw(code)\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-factory-destination/index.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark-factory-label/index.js":
/*!************************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark-factory-label/index.js ***!
\************************************************************************/
/*! exports provided: factoryLabel */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"factoryLabel\", function() { return factoryLabel; });\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').TokenType} TokenType\n */\n\n\n/**\n * Parse labels.\n *\n * > 👉 **Note**: labels in markdown are capped at 999 characters in the string.\n *\n * ###### Examples\n *\n * ```markdown\n * [a]\n * [a\n * b]\n * [a\\]b]\n * ```\n *\n * @this {TokenizeContext}\n * Tokenize context.\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @param {State} nok\n * State switched to when unsuccessful.\n * @param {TokenType} type\n * Type of the whole label (`[a]`).\n * @param {TokenType} markerType\n * Type for the markers (`[` and `]`).\n * @param {TokenType} stringType\n * Type for the identifier (`a`).\n * @returns {State}\n * Start state.\n */ // eslint-disable-next-line max-params\nfunction factoryLabel(effects, ok, nok, type, markerType, stringType) {\n const self = this\n let size = 0\n /** @type {boolean} */\n let seen\n return start\n\n /**\n * Start of label.\n *\n * ```markdown\n * > | [a]\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n effects.enter(type)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.enter(stringType)\n return atBreak\n }\n\n /**\n * In label, at something, before something else.\n *\n * ```markdown\n * > | [a]\n * ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (\n size > 999 ||\n code === null ||\n code === 91 ||\n (code === 93 && !seen) ||\n // To do: remove in the future once we’ve switched from\n // `micromark-extension-footnote` to `micromark-extension-gfm-footnote`,\n // which doesn’t need this.\n // Hidden footnotes hook.\n /* c8 ignore next 3 */\n (code === 94 &&\n !size &&\n '_hiddenFootnoteSupport' in self.parser.constructs)\n ) {\n return nok(code)\n }\n if (code === 93) {\n effects.exit(stringType)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.exit(type)\n return ok\n }\n\n // To do: indent? Link chunks and EOLs together?\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownLineEnding\"])(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return atBreak\n }\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return labelInside(code)\n }\n\n /**\n * In label, in text.\n *\n * ```markdown\n * > | [a]\n * ^\n * ```\n *\n * @type {State}\n */\n function labelInside(code) {\n if (\n code === null ||\n code === 91 ||\n code === 93 ||\n Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownLineEnding\"])(code) ||\n size++ > 999\n ) {\n effects.exit('chunkString')\n return atBreak(code)\n }\n effects.consume(code)\n if (!seen) seen = !Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownSpace\"])(code)\n return code === 92 ? labelEscape : labelInside\n }\n\n /**\n * After `\\`, at a special character.\n *\n * ```markdown\n * > | [a\\*a]\n * ^\n * ```\n *\n * @type {State}\n */\n function labelEscape(code) {\n if (code === 91 || code === 92 || code === 93) {\n effects.consume(code)\n size++\n return labelInside\n }\n return labelInside(code)\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-factory-label/index.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark-factory-space/index.js":
/*!************************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark-factory-space/index.js ***!
\************************************************************************/
/*! exports provided: factorySpace */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"factorySpace\", function() { return factorySpace; });\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenType} TokenType\n */\n\n\n\n// To do: implement `spaceOrTab`, `spaceOrTabMinMax`, `spaceOrTabWithOptions`.\n\n/**\n * Parse spaces and tabs.\n *\n * There is no `nok` parameter:\n *\n * * spaces in markdown are often optional, in which case this factory can be\n * used and `ok` will be switched to whether spaces were found or not\n * * one line ending or space can be detected with `markdownSpace(code)` right\n * before using `factorySpace`\n *\n * ###### Examples\n *\n * Where `␉` represents a tab (plus how much it expands) and `␠` represents a\n * single space.\n *\n * ```markdown\n * ␉\n * ␠␠␠␠\n * ␉␠\n * ```\n *\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @param {TokenType} type\n * Type (`' \\t'`).\n * @param {number | undefined} [max=Infinity]\n * Max (exclusive).\n * @returns\n * Start state.\n */\nfunction factorySpace(effects, ok, type, max) {\n const limit = max ? max - 1 : Number.POSITIVE_INFINITY\n let size = 0\n return start\n\n /** @type {State} */\n function start(code) {\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownSpace\"])(code)) {\n effects.enter(type)\n return prefix(code)\n }\n return ok(code)\n }\n\n /** @type {State} */\n function prefix(code) {\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownSpace\"])(code) && size++ < limit) {\n effects.consume(code)\n return prefix\n }\n effects.exit(type)\n return ok(code)\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-factory-space/index.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark-factory-title/index.js":
/*!************************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark-factory-title/index.js ***!
\************************************************************************/
/*! exports provided: factoryTitle */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"factoryTitle\", function() { return factoryTitle; });\n/* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-factory-space */ \"../simple-mind-map/node_modules/micromark-factory-space/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenType} TokenType\n */\n\n\n\n/**\n * Parse titles.\n *\n * ###### Examples\n *\n * ```markdown\n * \"a\"\n * 'b'\n * (c)\n * \"a\n * b\"\n * 'a\n * b'\n * (a\\)b)\n * ```\n *\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @param {State} nok\n * State switched to when unsuccessful.\n * @param {TokenType} type\n * Type of the whole title (`\"a\"`, `'b'`, `(c)`).\n * @param {TokenType} markerType\n * Type for the markers (`\"`, `'`, `(`, and `)`).\n * @param {TokenType} stringType\n * Type for the value (`a`).\n * @returns {State}\n * Start state.\n */ // eslint-disable-next-line max-params\nfunction factoryTitle(effects, ok, nok, type, markerType, stringType) {\n /** @type {NonNullable} */\n let marker\n return start\n\n /**\n * Start of title.\n *\n * ```markdown\n * > | \"a\"\n * ^\n * ```\n *\n * @type {State}\n */\n function start(code) {\n if (code === 34 || code === 39 || code === 40) {\n effects.enter(type)\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n marker = code === 40 ? 41 : code\n return begin\n }\n return nok(code)\n }\n\n /**\n * After opening marker.\n *\n * This is also used at the closing marker.\n *\n * ```markdown\n * > | \"a\"\n * ^\n * ```\n *\n * @type {State}\n */\n function begin(code) {\n if (code === marker) {\n effects.enter(markerType)\n effects.consume(code)\n effects.exit(markerType)\n effects.exit(type)\n return ok\n }\n effects.enter(stringType)\n return atBreak(code)\n }\n\n /**\n * At something, before something else.\n *\n * ```markdown\n * > | \"a\"\n * ^\n * ```\n *\n * @type {State}\n */\n function atBreak(code) {\n if (code === marker) {\n effects.exit(stringType)\n return begin(marker)\n }\n if (code === null) {\n return nok(code)\n }\n\n // Note: blank lines can’t exist in content.\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n // To do: use `space_or_tab_eol_with_options`, connect.\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(effects, atBreak, 'linePrefix')\n }\n effects.enter('chunkString', {\n contentType: 'string'\n })\n return inside(code)\n }\n\n /**\n *\n *\n * @type {State}\n */\n function inside(code) {\n if (code === marker || code === null || Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n effects.exit('chunkString')\n return atBreak(code)\n }\n effects.consume(code)\n return code === 92 ? escape : inside\n }\n\n /**\n * After `\\`, at a special character.\n *\n * ```markdown\n * > | \"a\\*b\"\n * ^\n * ```\n *\n * @type {State}\n */\n function escape(code) {\n if (code === marker || code === 92) {\n effects.consume(code)\n return inside\n }\n return inside(code)\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-factory-title/index.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark-factory-whitespace/index.js":
/*!*****************************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark-factory-whitespace/index.js ***!
\*****************************************************************************/
/*! exports provided: factoryWhitespace */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"factoryWhitespace\", function() { return factoryWhitespace; });\n/* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-factory-space */ \"../simple-mind-map/node_modules/micromark-factory-space/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').State} State\n */\n\n\n\n/**\n * Parse spaces and tabs.\n *\n * There is no `nok` parameter:\n *\n * * line endings or spaces in markdown are often optional, in which case this\n * factory can be used and `ok` will be switched to whether spaces were found\n * or not\n * * one line ending or space can be detected with\n * `markdownLineEndingOrSpace(code)` right before using `factoryWhitespace`\n *\n * @param {Effects} effects\n * Context.\n * @param {State} ok\n * State switched to when successful.\n * @returns\n * Start state.\n */\nfunction factoryWhitespace(effects, ok) {\n /** @type {boolean} */\n let seen\n return start\n\n /** @type {State} */\n function start(code) {\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n seen = true\n return start\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownSpace\"])(code)) {\n return Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(\n effects,\n start,\n seen ? 'linePrefix' : 'lineSuffix'\n )(code)\n }\n return ok(code)\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-factory-whitespace/index.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark-util-character/index.js":
/*!*************************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark-util-character/index.js ***!
\*************************************************************************/
/*! exports provided: asciiAlpha, asciiAlphanumeric, asciiAtext, asciiControl, asciiDigit, asciiHexDigit, asciiPunctuation, markdownLineEnding, markdownLineEndingOrSpace, markdownSpace, unicodePunctuation, unicodeWhitespace */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asciiAlpha\", function() { return asciiAlpha; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asciiAlphanumeric\", function() { return asciiAlphanumeric; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asciiAtext\", function() { return asciiAtext; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asciiControl\", function() { return asciiControl; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asciiDigit\", function() { return asciiDigit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asciiHexDigit\", function() { return asciiHexDigit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asciiPunctuation\", function() { return asciiPunctuation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"markdownLineEnding\", function() { return markdownLineEnding; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"markdownLineEndingOrSpace\", function() { return markdownLineEndingOrSpace; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"markdownSpace\", function() { return markdownSpace; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"unicodePunctuation\", function() { return unicodePunctuation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"unicodeWhitespace\", function() { return unicodeWhitespace; });\n/* harmony import */ var _lib_unicode_punctuation_regex_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./lib/unicode-punctuation-regex.js */ \"../simple-mind-map/node_modules/micromark-util-character/lib/unicode-punctuation-regex.js\");\n/**\n * @typedef {import('micromark-util-types').Code} Code\n */\n\n\n\n/**\n * Check whether the character code represents an ASCII alpha (`a` through `z`,\n * case insensitive).\n *\n * An **ASCII alpha** is an ASCII upper alpha or ASCII lower alpha.\n *\n * An **ASCII upper alpha** is a character in the inclusive range U+0041 (`A`)\n * to U+005A (`Z`).\n *\n * An **ASCII lower alpha** is a character in the inclusive range U+0061 (`a`)\n * to U+007A (`z`).\n *\n * @param code\n * Code.\n * @returns\n * Whether it matches.\n */\nconst asciiAlpha = regexCheck(/[A-Za-z]/)\n\n/**\n * Check whether the character code represents an ASCII alphanumeric (`a`\n * through `z`, case insensitive, or `0` through `9`).\n *\n * An **ASCII alphanumeric** is an ASCII digit (see `asciiDigit`) or ASCII alpha\n * (see `asciiAlpha`).\n *\n * @param code\n * Code.\n * @returns\n * Whether it matches.\n */\nconst asciiAlphanumeric = regexCheck(/[\\dA-Za-z]/)\n\n/**\n * Check whether the character code represents an ASCII atext.\n *\n * atext is an ASCII alphanumeric (see `asciiAlphanumeric`), or a character in\n * the inclusive ranges U+0023 NUMBER SIGN (`#`) to U+0027 APOSTROPHE (`'`),\n * U+002A ASTERISK (`*`), U+002B PLUS SIGN (`+`), U+002D DASH (`-`), U+002F\n * SLASH (`/`), U+003D EQUALS TO (`=`), U+003F QUESTION MARK (`?`), U+005E\n * CARET (`^`) to U+0060 GRAVE ACCENT (`` ` ``), or U+007B LEFT CURLY BRACE\n * (`{`) to U+007E TILDE (`~`).\n *\n * See:\n * **\\[RFC5322]**:\n * [Internet Message Format](https://tools.ietf.org/html/rfc5322).\n * P. Resnick.\n * IETF.\n *\n * @param code\n * Code.\n * @returns\n * Whether it matches.\n */\nconst asciiAtext = regexCheck(/[#-'*+\\--9=?A-Z^-~]/)\n\n/**\n * Check whether a character code is an ASCII control character.\n *\n * An **ASCII control** is a character in the inclusive range U+0000 NULL (NUL)\n * to U+001F (US), or U+007F (DEL).\n *\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nfunction asciiControl(code) {\n return (\n // Special whitespace codes (which have negative values), C0 and Control\n // character DEL\n code !== null && (code < 32 || code === 127)\n )\n}\n\n/**\n * Check whether the character code represents an ASCII digit (`0` through `9`).\n *\n * An **ASCII digit** is a character in the inclusive range U+0030 (`0`) to\n * U+0039 (`9`).\n *\n * @param code\n * Code.\n * @returns\n * Whether it matches.\n */\nconst asciiDigit = regexCheck(/\\d/)\n\n/**\n * Check whether the character code represents an ASCII hex digit (`a` through\n * `f`, case insensitive, or `0` through `9`).\n *\n * An **ASCII hex digit** is an ASCII digit (see `asciiDigit`), ASCII upper hex\n * digit, or an ASCII lower hex digit.\n *\n * An **ASCII upper hex digit** is a character in the inclusive range U+0041\n * (`A`) to U+0046 (`F`).\n *\n * An **ASCII lower hex digit** is a character in the inclusive range U+0061\n * (`a`) to U+0066 (`f`).\n *\n * @param code\n * Code.\n * @returns\n * Whether it matches.\n */\nconst asciiHexDigit = regexCheck(/[\\dA-Fa-f]/)\n\n/**\n * Check whether the character code represents ASCII punctuation.\n *\n * An **ASCII punctuation** is a character in the inclusive ranges U+0021\n * EXCLAMATION MARK (`!`) to U+002F SLASH (`/`), U+003A COLON (`:`) to U+0040 AT\n * SIGN (`@`), U+005B LEFT SQUARE BRACKET (`[`) to U+0060 GRAVE ACCENT\n * (`` ` ``), or U+007B LEFT CURLY BRACE (`{`) to U+007E TILDE (`~`).\n *\n * @param code\n * Code.\n * @returns\n * Whether it matches.\n */\nconst asciiPunctuation = regexCheck(/[!-/:-@[-`{-~]/)\n\n/**\n * Check whether a character code is a markdown line ending.\n *\n * A **markdown line ending** is the virtual characters M-0003 CARRIAGE RETURN\n * LINE FEED (CRLF), M-0004 LINE FEED (LF) and M-0005 CARRIAGE RETURN (CR).\n *\n * In micromark, the actual character U+000A LINE FEED (LF) and U+000D CARRIAGE\n * RETURN (CR) are replaced by these virtual characters depending on whether\n * they occurred together.\n *\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nfunction markdownLineEnding(code) {\n return code !== null && code < -2\n}\n\n/**\n * Check whether a character code is a markdown line ending (see\n * `markdownLineEnding`) or markdown space (see `markdownSpace`).\n *\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nfunction markdownLineEndingOrSpace(code) {\n return code !== null && (code < 0 || code === 32)\n}\n\n/**\n * Check whether a character code is a markdown space.\n *\n * A **markdown space** is the concrete character U+0020 SPACE (SP) and the\n * virtual characters M-0001 VIRTUAL SPACE (VS) and M-0002 HORIZONTAL TAB (HT).\n *\n * In micromark, the actual character U+0009 CHARACTER TABULATION (HT) is\n * replaced by one M-0002 HORIZONTAL TAB (HT) and between 0 and 3 M-0001 VIRTUAL\n * SPACE (VS) characters, depending on the column at which the tab occurred.\n *\n * @param {Code} code\n * Code.\n * @returns {boolean}\n * Whether it matches.\n */\nfunction markdownSpace(code) {\n return code === -2 || code === -1 || code === 32\n}\n\n// Size note: removing ASCII from the regex and using `asciiPunctuation` here\n// In fact adds to the bundle size.\n/**\n * Check whether the character code represents Unicode punctuation.\n *\n * A **Unicode punctuation** is a character in the Unicode `Pc` (Punctuation,\n * Connector), `Pd` (Punctuation, Dash), `Pe` (Punctuation, Close), `Pf`\n * (Punctuation, Final quote), `Pi` (Punctuation, Initial quote), `Po`\n * (Punctuation, Other), or `Ps` (Punctuation, Open) categories, or an ASCII\n * punctuation (see `asciiPunctuation`).\n *\n * See:\n * **\\[UNICODE]**:\n * [The Unicode Standard](https://www.unicode.org/versions/).\n * Unicode Consortium.\n *\n * @param code\n * Code.\n * @returns\n * Whether it matches.\n */\nconst unicodePunctuation = regexCheck(_lib_unicode_punctuation_regex_js__WEBPACK_IMPORTED_MODULE_0__[\"unicodePunctuationRegex\"])\n\n/**\n * Check whether the character code represents Unicode whitespace.\n *\n * Note that this does handle micromark specific markdown whitespace characters.\n * See `markdownLineEndingOrSpace` to check that.\n *\n * A **Unicode whitespace** is a character in the Unicode `Zs` (Separator,\n * Space) category, or U+0009 CHARACTER TABULATION (HT), U+000A LINE FEED (LF),\n * U+000C (FF), or U+000D CARRIAGE RETURN (CR) (**\\[UNICODE]**).\n *\n * See:\n * **\\[UNICODE]**:\n * [The Unicode Standard](https://www.unicode.org/versions/).\n * Unicode Consortium.\n *\n * @param code\n * Code.\n * @returns\n * Whether it matches.\n */\nconst unicodeWhitespace = regexCheck(/\\s/)\n\n/**\n * Create a code check from a regex.\n *\n * @param {RegExp} regex\n * @returns {(code: Code) => boolean}\n */\nfunction regexCheck(regex) {\n return check\n\n /**\n * Check whether a code matches the bound regex.\n *\n * @param {Code} code\n * Character code.\n * @returns {boolean}\n * Whether the character code matches the bound regex.\n */\n function check(code) {\n return code !== null && regex.test(String.fromCharCode(code))\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-util-character/index.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark-util-character/lib/unicode-punctuation-regex.js":
/*!*************************************************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark-util-character/lib/unicode-punctuation-regex.js ***!
\*************************************************************************************************/
/*! exports provided: unicodePunctuationRegex */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"unicodePunctuationRegex\", function() { return unicodePunctuationRegex; });\n// This module is generated by `script/`.\n//\n// CommonMark handles attention (emphasis, strong) markers based on what comes\n// before or after them.\n// One such difference is if those characters are Unicode punctuation.\n// This script is generated from the Unicode data.\n\n/**\n * Regular expression that matches a unicode punctuation character.\n */\nconst unicodePunctuationRegex =\n /[!-\\/:-@\\[-`\\{-~\\xA1\\xA7\\xAB\\xB6\\xB7\\xBB\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061D-\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u09FD\\u0A76\\u0AF0\\u0C77\\u0C84\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1B7D\\u1B7E\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E4F\\u2E52-\\u2E5D\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]/\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-util-character/lib/unicode-punctuation-regex.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark-util-chunked/index.js":
/*!***********************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark-util-chunked/index.js ***!
\***********************************************************************/
/*! exports provided: splice, push */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"splice\", function() { return splice; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"push\", function() { return push; });\n/**\n * Like `Array#splice`, but smarter for giant arrays.\n *\n * `Array#splice` takes all items to be inserted as individual argument which\n * causes a stack overflow in V8 when trying to insert 100k items for instance.\n *\n * Otherwise, this does not return the removed items, and takes `items` as an\n * array instead of rest parameters.\n *\n * @template {unknown} T\n * Item type.\n * @param {Array} list\n * List to operate on.\n * @param {number} start\n * Index to remove/insert at (can be negative).\n * @param {number} remove\n * Number of items to remove.\n * @param {Array} items\n * Items to inject into `list`.\n * @returns {void}\n * Nothing.\n */\nfunction splice(list, start, remove, items) {\n const end = list.length\n let chunkStart = 0\n /** @type {Array} */\n let parameters\n\n // Make start between zero and `end` (included).\n if (start < 0) {\n start = -start > end ? 0 : end + start\n } else {\n start = start > end ? end : start\n }\n remove = remove > 0 ? remove : 0\n\n // No need to chunk the items if there’s only a couple (10k) items.\n if (items.length < 10000) {\n parameters = Array.from(items)\n parameters.unshift(start, remove)\n // @ts-expect-error Hush, it’s fine.\n list.splice(...parameters)\n } else {\n // Delete `remove` items starting from `start`\n if (remove) list.splice(start, remove)\n\n // Insert the items in chunks to not cause stack overflows.\n while (chunkStart < items.length) {\n parameters = items.slice(chunkStart, chunkStart + 10000)\n parameters.unshift(start, 0)\n // @ts-expect-error Hush, it’s fine.\n list.splice(...parameters)\n chunkStart += 10000\n start += 10000\n }\n }\n}\n\n/**\n * Append `items` (an array) at the end of `list` (another array).\n * When `list` was empty, returns `items` instead.\n *\n * This prevents a potentially expensive operation when `list` is empty,\n * and adds items in batches to prevent V8 from hanging.\n *\n * @template {unknown} T\n * Item type.\n * @param {Array} list\n * List to operate on.\n * @param {Array} items\n * Items to add to `list`.\n * @returns {Array}\n * Either `list` or `items`.\n */\nfunction push(list, items) {\n if (list.length > 0) {\n splice(list, list.length, 0, items)\n return list\n }\n return items\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-util-chunked/index.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark-util-classify-character/index.js":
/*!**********************************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark-util-classify-character/index.js ***!
\**********************************************************************************/
/*! exports provided: classifyCharacter */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"classifyCharacter\", function() { return classifyCharacter; });\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').Code} Code\n */\n\n\n/**\n * Classify whether a code represents whitespace, punctuation, or something\n * else.\n *\n * Used for attention (emphasis, strong), whose sequences can open or close\n * based on the class of surrounding characters.\n *\n * > 👉 **Note**: eof (`null`) is seen as whitespace.\n *\n * @param {Code} code\n * Code.\n * @returns {typeof constants.characterGroupWhitespace | typeof constants.characterGroupPunctuation | undefined}\n * Group.\n */\nfunction classifyCharacter(code) {\n if (\n code === null ||\n Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownLineEndingOrSpace\"])(code) ||\n Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"unicodeWhitespace\"])(code)\n ) {\n return 1\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"unicodePunctuation\"])(code)) {\n return 2\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-util-classify-character/index.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark-util-combine-extensions/index.js":
/*!**********************************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark-util-combine-extensions/index.js ***!
\**********************************************************************************/
/*! exports provided: combineExtensions, combineHtmlExtensions */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"combineExtensions\", function() { return combineExtensions; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"combineHtmlExtensions\", function() { return combineHtmlExtensions; });\n/* harmony import */ var micromark_util_chunked__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-chunked */ \"../simple-mind-map/node_modules/micromark-util-chunked/index.js\");\n/**\n * @typedef {import('micromark-util-types').Extension} Extension\n * @typedef {import('micromark-util-types').Handles} Handles\n * @typedef {import('micromark-util-types').HtmlExtension} HtmlExtension\n * @typedef {import('micromark-util-types').NormalizedExtension} NormalizedExtension\n */\n\n\n\nconst hasOwnProperty = {}.hasOwnProperty\n\n/**\n * Combine multiple syntax extensions into one.\n *\n * @param {Array} extensions\n * List of syntax extensions.\n * @returns {NormalizedExtension}\n * A single combined extension.\n */\nfunction combineExtensions(extensions) {\n /** @type {NormalizedExtension} */\n const all = {}\n let index = -1\n\n while (++index < extensions.length) {\n syntaxExtension(all, extensions[index])\n }\n\n return all\n}\n\n/**\n * Merge `extension` into `all`.\n *\n * @param {NormalizedExtension} all\n * Extension to merge into.\n * @param {Extension} extension\n * Extension to merge.\n * @returns {void}\n */\nfunction syntaxExtension(all, extension) {\n /** @type {keyof Extension} */\n let hook\n\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined\n /** @type {Record} */\n const left = maybe || (all[hook] = {})\n /** @type {Record | undefined} */\n const right = extension[hook]\n /** @type {string} */\n let code\n\n if (right) {\n for (code in right) {\n if (!hasOwnProperty.call(left, code)) left[code] = []\n const value = right[code]\n constructs(\n // @ts-expect-error Looks like a list.\n left[code],\n Array.isArray(value) ? value : value ? [value] : []\n )\n }\n }\n }\n}\n\n/**\n * Merge `list` into `existing` (both lists of constructs).\n * Mutates `existing`.\n *\n * @param {Array} existing\n * @param {Array} list\n * @returns {void}\n */\nfunction constructs(existing, list) {\n let index = -1\n /** @type {Array} */\n const before = []\n\n while (++index < list.length) {\n // @ts-expect-error Looks like an object.\n ;(list[index].add === 'after' ? existing : before).push(list[index])\n }\n\n Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_0__[\"splice\"])(existing, 0, 0, before)\n}\n\n/**\n * Combine multiple HTML extensions into one.\n *\n * @param {Array} htmlExtensions\n * List of HTML extensions.\n * @returns {HtmlExtension}\n * A single combined HTML extension.\n */\nfunction combineHtmlExtensions(htmlExtensions) {\n /** @type {HtmlExtension} */\n const handlers = {}\n let index = -1\n\n while (++index < htmlExtensions.length) {\n htmlExtension(handlers, htmlExtensions[index])\n }\n\n return handlers\n}\n\n/**\n * Merge `extension` into `all`.\n *\n * @param {HtmlExtension} all\n * Extension to merge into.\n * @param {HtmlExtension} extension\n * Extension to merge.\n * @returns {void}\n */\nfunction htmlExtension(all, extension) {\n /** @type {keyof HtmlExtension} */\n let hook\n\n for (hook in extension) {\n const maybe = hasOwnProperty.call(all, hook) ? all[hook] : undefined\n const left = maybe || (all[hook] = {})\n const right = extension[hook]\n /** @type {keyof Handles} */\n let type\n\n if (right) {\n for (type in right) {\n // @ts-expect-error assume document vs regular handler are managed correctly.\n left[type] = right[type]\n }\n }\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-util-combine-extensions/index.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark-util-decode-numeric-character-reference/index.js":
/*!**************************************************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark-util-decode-numeric-character-reference/index.js ***!
\**************************************************************************************************/
/*! exports provided: decodeNumericCharacterReference */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"decodeNumericCharacterReference\", function() { return decodeNumericCharacterReference; });\n/**\n * Turn the number (in string form as either hexa- or plain decimal) coming from\n * a numeric character reference into a character.\n *\n * Sort of like `String.fromCharCode(Number.parseInt(value, base))`, but makes\n * non-characters and control characters safe.\n *\n * @param {string} value\n * Value to decode.\n * @param {number} base\n * Numeric base.\n * @returns {string}\n * Character.\n */\nfunction decodeNumericCharacterReference(value, base) {\n const code = Number.parseInt(value, base)\n if (\n // C0 except for HT, LF, FF, CR, space.\n code < 9 ||\n code === 11 ||\n (code > 13 && code < 32) ||\n // Control character (DEL) of C0, and C1 controls.\n (code > 126 && code < 160) ||\n // Lone high surrogates and low surrogates.\n (code > 55295 && code < 57344) ||\n // Noncharacters.\n (code > 64975 && code < 65008) /* eslint-disable no-bitwise */ ||\n (code & 65535) === 65535 ||\n (code & 65535) === 65534 /* eslint-enable no-bitwise */ ||\n // Out of range\n code > 1114111\n ) {\n return '\\uFFFD'\n }\n return String.fromCharCode(code)\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-util-decode-numeric-character-reference/index.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark-util-decode-string/index.js":
/*!*****************************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark-util-decode-string/index.js ***!
\*****************************************************************************/
/*! exports provided: decodeString */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"decodeString\", function() { return decodeString; });\n/* harmony import */ var decode_named_character_reference__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! decode-named-character-reference */ \"../simple-mind-map/node_modules/decode-named-character-reference/index.js\");\n/* harmony import */ var micromark_util_decode_numeric_character_reference__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-decode-numeric-character-reference */ \"../simple-mind-map/node_modules/micromark-util-decode-numeric-character-reference/index.js\");\n\n\nconst characterEscapeOrReference =\n /\\\\([!-/:-@[-`{-~])|&(#(?:\\d{1,7}|x[\\da-f]{1,6})|[\\da-z]{1,31});/gi\n\n/**\n * Decode markdown strings (which occur in places such as fenced code info\n * strings, destinations, labels, and titles).\n *\n * The “string” content type allows character escapes and -references.\n * This decodes those.\n *\n * @param {string} value\n * Value to decode.\n * @returns {string}\n * Decoded value.\n */\nfunction decodeString(value) {\n return value.replace(characterEscapeOrReference, decode)\n}\n\n/**\n * @param {string} $0\n * @param {string} $1\n * @param {string} $2\n * @returns {string}\n */\nfunction decode($0, $1, $2) {\n if ($1) {\n // Escape.\n return $1\n }\n\n // Reference.\n const head = $2.charCodeAt(0)\n if (head === 35) {\n const head = $2.charCodeAt(1)\n const hex = head === 120 || head === 88\n return Object(micromark_util_decode_numeric_character_reference__WEBPACK_IMPORTED_MODULE_1__[\"decodeNumericCharacterReference\"])($2.slice(hex ? 2 : 1), hex ? 16 : 10)\n }\n return Object(decode_named_character_reference__WEBPACK_IMPORTED_MODULE_0__[\"decodeNamedCharacterReference\"])($2) || $0\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-util-decode-string/index.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark-util-html-tag-name/index.js":
/*!*****************************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark-util-html-tag-name/index.js ***!
\*****************************************************************************/
/*! exports provided: htmlBlockNames, htmlRawNames */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"htmlBlockNames\", function() { return htmlBlockNames; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"htmlRawNames\", function() { return htmlRawNames; });\n/**\n * List of lowercase HTML “block” tag names.\n *\n * The list, when parsing HTML (flow), results in more relaxed rules (condition\n * 6).\n * Because they are known blocks, the HTML-like syntax doesn’t have to be\n * strictly parsed.\n * For tag names not in this list, a more strict algorithm (condition 7) is used\n * to detect whether the HTML-like syntax is seen as HTML (flow) or not.\n *\n * This is copied from:\n * .\n *\n * > 👉 **Note**: `search` was added in `CommonMark@0.31`.\n */\nconst htmlBlockNames = [\n 'address',\n 'article',\n 'aside',\n 'base',\n 'basefont',\n 'blockquote',\n 'body',\n 'caption',\n 'center',\n 'col',\n 'colgroup',\n 'dd',\n 'details',\n 'dialog',\n 'dir',\n 'div',\n 'dl',\n 'dt',\n 'fieldset',\n 'figcaption',\n 'figure',\n 'footer',\n 'form',\n 'frame',\n 'frameset',\n 'h1',\n 'h2',\n 'h3',\n 'h4',\n 'h5',\n 'h6',\n 'head',\n 'header',\n 'hr',\n 'html',\n 'iframe',\n 'legend',\n 'li',\n 'link',\n 'main',\n 'menu',\n 'menuitem',\n 'nav',\n 'noframes',\n 'ol',\n 'optgroup',\n 'option',\n 'p',\n 'param',\n 'search',\n 'section',\n 'summary',\n 'table',\n 'tbody',\n 'td',\n 'tfoot',\n 'th',\n 'thead',\n 'title',\n 'tr',\n 'track',\n 'ul'\n]\n\n/**\n * List of lowercase HTML “raw” tag names.\n *\n * The list, when parsing HTML (flow), results in HTML that can include lines\n * without exiting, until a closing tag also in this list is found (condition\n * 1).\n *\n * This module is copied from:\n * .\n *\n * > 👉 **Note**: `textarea` was added in `CommonMark@0.30`.\n */\nconst htmlRawNames = ['pre', 'script', 'style', 'textarea']\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-util-html-tag-name/index.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark-util-normalize-identifier/index.js":
/*!************************************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark-util-normalize-identifier/index.js ***!
\************************************************************************************/
/*! exports provided: normalizeIdentifier */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"normalizeIdentifier\", function() { return normalizeIdentifier; });\n/**\n * Normalize an identifier (as found in references, definitions).\n *\n * Collapses markdown whitespace, trim, and then lower- and uppercase.\n *\n * Some characters are considered “uppercase”, such as U+03F4 (`ϴ`), but if their\n * lowercase counterpart (U+03B8 (`θ`)) is uppercased will result in a different\n * uppercase character (U+0398 (`Θ`)).\n * So, to get a canonical form, we perform both lower- and uppercase.\n *\n * Using uppercase last makes sure keys will never interact with default\n * prototypal values (such as `constructor`): nothing in the prototype of\n * `Object` is uppercase.\n *\n * @param {string} value\n * Identifier to normalize.\n * @returns {string}\n * Normalized identifier.\n */\nfunction normalizeIdentifier(value) {\n return (\n value\n // Collapse markdown whitespace.\n .replace(/[\\t\\n\\r ]+/g, ' ')\n // Trim.\n .replace(/^ | $/g, '')\n // Some characters are considered “uppercase”, but if their lowercase\n // counterpart is uppercased will result in a different uppercase\n // character.\n // Hence, to get that form, we perform both lower- and uppercase.\n // Upper case makes sure keys will not interact with default prototypal\n // methods: no method is uppercase.\n .toLowerCase()\n .toUpperCase()\n )\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-util-normalize-identifier/index.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark-util-resolve-all/index.js":
/*!***************************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark-util-resolve-all/index.js ***!
\***************************************************************************/
/*! exports provided: resolveAll */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"resolveAll\", function() { return resolveAll; });\n/**\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n */\n\n/**\n * Call all `resolveAll`s.\n *\n * @param {Array<{resolveAll?: Resolver | undefined}>} constructs\n * List of constructs, optionally with `resolveAll`s.\n * @param {Array} events\n * List of events.\n * @param {TokenizeContext} context\n * Context used by `tokenize`.\n * @returns {Array}\n * Changed events.\n */\nfunction resolveAll(constructs, events, context) {\n /** @type {Array} */\n const called = []\n let index = -1\n\n while (++index < constructs.length) {\n const resolve = constructs[index].resolveAll\n\n if (resolve && !called.includes(resolve)) {\n events = resolve(events, context)\n called.push(resolve)\n }\n }\n\n return events\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-util-resolve-all/index.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark-util-subtokenize/index.js":
/*!***************************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark-util-subtokenize/index.js ***!
\***************************************************************************/
/*! exports provided: subtokenize */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"subtokenize\", function() { return subtokenize; });\n/* harmony import */ var micromark_util_chunked__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-chunked */ \"../simple-mind-map/node_modules/micromark-util-chunked/index.js\");\n/**\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Event} Event\n * @typedef {import('micromark-util-types').Token} Token\n */\n\n\n/**\n * Tokenize subcontent.\n *\n * @param {Array} events\n * List of events.\n * @returns {boolean}\n * Whether subtokens were found.\n */\nfunction subtokenize(events) {\n /** @type {Record} */\n const jumps = {}\n let index = -1\n /** @type {Event} */\n let event\n /** @type {number | undefined} */\n let lineIndex\n /** @type {number} */\n let otherIndex\n /** @type {Event} */\n let otherEvent\n /** @type {Array} */\n let parameters\n /** @type {Array} */\n let subevents\n /** @type {boolean | undefined} */\n let more\n while (++index < events.length) {\n while (index in jumps) {\n index = jumps[index]\n }\n event = events[index]\n\n // Add a hook for the GFM tasklist extension, which needs to know if text\n // is in the first content of a list item.\n if (\n index &&\n event[1].type === 'chunkFlow' &&\n events[index - 1][1].type === 'listItemPrefix'\n ) {\n subevents = event[1]._tokenizer.events\n otherIndex = 0\n if (\n otherIndex < subevents.length &&\n subevents[otherIndex][1].type === 'lineEndingBlank'\n ) {\n otherIndex += 2\n }\n if (\n otherIndex < subevents.length &&\n subevents[otherIndex][1].type === 'content'\n ) {\n while (++otherIndex < subevents.length) {\n if (subevents[otherIndex][1].type === 'content') {\n break\n }\n if (subevents[otherIndex][1].type === 'chunkText') {\n subevents[otherIndex][1]._isInFirstContentOfListItem = true\n otherIndex++\n }\n }\n }\n }\n\n // Enter.\n if (event[0] === 'enter') {\n if (event[1].contentType) {\n Object.assign(jumps, subcontent(events, index))\n index = jumps[index]\n more = true\n }\n }\n // Exit.\n else if (event[1]._container) {\n otherIndex = index\n lineIndex = undefined\n while (otherIndex--) {\n otherEvent = events[otherIndex]\n if (\n otherEvent[1].type === 'lineEnding' ||\n otherEvent[1].type === 'lineEndingBlank'\n ) {\n if (otherEvent[0] === 'enter') {\n if (lineIndex) {\n events[lineIndex][1].type = 'lineEndingBlank'\n }\n otherEvent[1].type = 'lineEnding'\n lineIndex = otherIndex\n }\n } else {\n break\n }\n }\n if (lineIndex) {\n // Fix position.\n event[1].end = Object.assign({}, events[lineIndex][1].start)\n\n // Switch container exit w/ line endings.\n parameters = events.slice(lineIndex, index)\n parameters.unshift(event)\n Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_0__[\"splice\"])(events, lineIndex, index - lineIndex + 1, parameters)\n }\n }\n }\n return !more\n}\n\n/**\n * Tokenize embedded tokens.\n *\n * @param {Array} events\n * @param {number} eventIndex\n * @returns {Record}\n */\nfunction subcontent(events, eventIndex) {\n const token = events[eventIndex][1]\n const context = events[eventIndex][2]\n let startPosition = eventIndex - 1\n /** @type {Array} */\n const startPositions = []\n const tokenizer =\n token._tokenizer || context.parser[token.contentType](token.start)\n const childEvents = tokenizer.events\n /** @type {Array<[number, number]>} */\n const jumps = []\n /** @type {Record} */\n const gaps = {}\n /** @type {Array} */\n let stream\n /** @type {Token | undefined} */\n let previous\n let index = -1\n /** @type {Token | undefined} */\n let current = token\n let adjust = 0\n let start = 0\n const breaks = [start]\n\n // Loop forward through the linked tokens to pass them in order to the\n // subtokenizer.\n while (current) {\n // Find the position of the event for this token.\n while (events[++startPosition][1] !== current) {\n // Empty.\n }\n startPositions.push(startPosition)\n if (!current._tokenizer) {\n stream = context.sliceStream(current)\n if (!current.next) {\n stream.push(null)\n }\n if (previous) {\n tokenizer.defineSkip(current.start)\n }\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = true\n }\n tokenizer.write(stream)\n if (current._isInFirstContentOfListItem) {\n tokenizer._gfmTasklistFirstContentOfListItem = undefined\n }\n }\n\n // Unravel the next token.\n previous = current\n current = current.next\n }\n\n // Now, loop back through all events (and linked tokens), to figure out which\n // parts belong where.\n current = token\n while (++index < childEvents.length) {\n if (\n // Find a void token that includes a break.\n childEvents[index][0] === 'exit' &&\n childEvents[index - 1][0] === 'enter' &&\n childEvents[index][1].type === childEvents[index - 1][1].type &&\n childEvents[index][1].start.line !== childEvents[index][1].end.line\n ) {\n start = index + 1\n breaks.push(start)\n // Help GC.\n current._tokenizer = undefined\n current.previous = undefined\n current = current.next\n }\n }\n\n // Help GC.\n tokenizer.events = []\n\n // If there’s one more token (which is the cases for lines that end in an\n // EOF), that’s perfect: the last point we found starts it.\n // If there isn’t then make sure any remaining content is added to it.\n if (current) {\n // Help GC.\n current._tokenizer = undefined\n current.previous = undefined\n } else {\n breaks.pop()\n }\n\n // Now splice the events from the subtokenizer into the current events,\n // moving back to front so that splice indices aren’t affected.\n index = breaks.length\n while (index--) {\n const slice = childEvents.slice(breaks[index], breaks[index + 1])\n const start = startPositions.pop()\n jumps.unshift([start, start + slice.length - 1])\n Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_0__[\"splice\"])(events, start, 2, slice)\n }\n index = -1\n while (++index < jumps.length) {\n gaps[adjust + jumps[index][0]] = adjust + jumps[index][1]\n adjust += jumps[index][1] - jumps[index][0] - 1\n }\n return gaps\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark-util-subtokenize/index.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark/lib/constructs.js":
/*!*******************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark/lib/constructs.js ***!
\*******************************************************************/
/*! exports provided: document, contentInitial, flowInitial, flow, string, text, insideSpan, attentionMarkers, disable */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"document\", function() { return document; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"contentInitial\", function() { return contentInitial; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"flowInitial\", function() { return flowInitial; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"flow\", function() { return flow; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"string\", function() { return string; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"text\", function() { return text; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"insideSpan\", function() { return insideSpan; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"attentionMarkers\", function() { return attentionMarkers; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"disable\", function() { return disable; });\n/* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-core-commonmark */ \"../simple-mind-map/node_modules/micromark-core-commonmark/index.js\");\n/* harmony import */ var _initialize_text_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./initialize/text.js */ \"../simple-mind-map/node_modules/micromark/lib/initialize/text.js\");\n/**\n * @typedef {import('micromark-util-types').Extension} Extension\n */\n\n\n\n\n/** @satisfies {Extension['document']} */\nconst document = {\n [42]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [43]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [45]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [48]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [49]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [50]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [51]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [52]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [53]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [54]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [55]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [56]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [57]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"list\"],\n [62]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"blockQuote\"]\n}\n\n/** @satisfies {Extension['contentInitial']} */\nconst contentInitial = {\n [91]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"definition\"]\n}\n\n/** @satisfies {Extension['flowInitial']} */\nconst flowInitial = {\n [-2]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"codeIndented\"],\n [-1]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"codeIndented\"],\n [32]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"codeIndented\"]\n}\n\n/** @satisfies {Extension['flow']} */\nconst flow = {\n [35]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"headingAtx\"],\n [42]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"thematicBreak\"],\n [45]: [micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"setextUnderline\"], micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"thematicBreak\"]],\n [60]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"htmlFlow\"],\n [61]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"setextUnderline\"],\n [95]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"thematicBreak\"],\n [96]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"codeFenced\"],\n [126]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"codeFenced\"]\n}\n\n/** @satisfies {Extension['string']} */\nconst string = {\n [38]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"characterReference\"],\n [92]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"characterEscape\"]\n}\n\n/** @satisfies {Extension['text']} */\nconst text = {\n [-5]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"lineEnding\"],\n [-4]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"lineEnding\"],\n [-3]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"lineEnding\"],\n [33]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"labelStartImage\"],\n [38]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"characterReference\"],\n [42]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"attention\"],\n [60]: [micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"autolink\"], micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"htmlText\"]],\n [91]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"labelStartLink\"],\n [92]: [micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"hardBreakEscape\"], micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"characterEscape\"]],\n [93]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"labelEnd\"],\n [95]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"attention\"],\n [96]: micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"codeText\"]\n}\n\n/** @satisfies {Extension['insideSpan']} */\nconst insideSpan = {\n null: [micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"attention\"], _initialize_text_js__WEBPACK_IMPORTED_MODULE_1__[\"resolver\"]]\n}\n\n/** @satisfies {Extension['attentionMarkers']} */\nconst attentionMarkers = {\n null: [42, 95]\n}\n\n/** @satisfies {Extension['disable']} */\nconst disable = {\n null: []\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark/lib/constructs.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark/lib/create-tokenizer.js":
/*!*************************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark/lib/create-tokenizer.js ***!
\*************************************************************************/
/*! exports provided: createTokenizer */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createTokenizer\", function() { return createTokenizer; });\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/* harmony import */ var micromark_util_chunked__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-chunked */ \"../simple-mind-map/node_modules/micromark-util-chunked/index.js\");\n/* harmony import */ var micromark_util_resolve_all__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-resolve-all */ \"../simple-mind-map/node_modules/micromark-util-resolve-all/index.js\");\n/**\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').ConstructRecord} ConstructRecord\n * @typedef {import('micromark-util-types').Effects} Effects\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').ParseContext} ParseContext\n * @typedef {import('micromark-util-types').Point} Point\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenType} TokenType\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n */\n\n/**\n * @callback Restore\n * @returns {void}\n *\n * @typedef Info\n * @property {Restore} restore\n * @property {number} from\n *\n * @callback ReturnHandle\n * Handle a successful run.\n * @param {Construct} construct\n * @param {Info} info\n * @returns {void}\n */\n\n\n\n\n/**\n * Create a tokenizer.\n * Tokenizers deal with one type of data (e.g., containers, flow, text).\n * The parser is the object dealing with it all.\n * `initialize` works like other constructs, except that only its `tokenize`\n * function is used, in which case it doesn’t receive an `ok` or `nok`.\n * `from` can be given to set the point before the first character, although\n * when further lines are indented, they must be set with `defineSkip`.\n *\n * @param {ParseContext} parser\n * @param {InitialConstruct} initialize\n * @param {Omit | undefined} [from]\n * @returns {TokenizeContext}\n */\nfunction createTokenizer(parser, initialize, from) {\n /** @type {Point} */\n let point = Object.assign(\n from\n ? Object.assign({}, from)\n : {\n line: 1,\n column: 1,\n offset: 0\n },\n {\n _index: 0,\n _bufferIndex: -1\n }\n )\n /** @type {Record} */\n const columnStart = {}\n /** @type {Array} */\n const resolveAllConstructs = []\n /** @type {Array} */\n let chunks = []\n /** @type {Array} */\n let stack = []\n /** @type {boolean | undefined} */\n let consumed = true\n\n /**\n * Tools used for tokenizing.\n *\n * @type {Effects}\n */\n const effects = {\n consume,\n enter,\n exit,\n attempt: constructFactory(onsuccessfulconstruct),\n check: constructFactory(onsuccessfulcheck),\n interrupt: constructFactory(onsuccessfulcheck, {\n interrupt: true\n })\n }\n\n /**\n * State and tools for resolving and serializing.\n *\n * @type {TokenizeContext}\n */\n const context = {\n previous: null,\n code: null,\n containerState: {},\n events: [],\n parser,\n sliceStream,\n sliceSerialize,\n now,\n defineSkip,\n write\n }\n\n /**\n * The state function.\n *\n * @type {State | void}\n */\n let state = initialize.tokenize.call(context, effects)\n\n /**\n * Track which character we expect to be consumed, to catch bugs.\n *\n * @type {Code}\n */\n let expectedCode\n if (initialize.resolveAll) {\n resolveAllConstructs.push(initialize)\n }\n return context\n\n /** @type {TokenizeContext['write']} */\n function write(slice) {\n chunks = Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_1__[\"push\"])(chunks, slice)\n main()\n\n // Exit if we’re not done, resolve might change stuff.\n if (chunks[chunks.length - 1] !== null) {\n return []\n }\n addResult(initialize, 0)\n\n // Otherwise, resolve, and exit.\n context.events = Object(micromark_util_resolve_all__WEBPACK_IMPORTED_MODULE_2__[\"resolveAll\"])(resolveAllConstructs, context.events, context)\n return context.events\n }\n\n //\n // Tools.\n //\n\n /** @type {TokenizeContext['sliceSerialize']} */\n function sliceSerialize(token, expandTabs) {\n return serializeChunks(sliceStream(token), expandTabs)\n }\n\n /** @type {TokenizeContext['sliceStream']} */\n function sliceStream(token) {\n return sliceChunks(chunks, token)\n }\n\n /** @type {TokenizeContext['now']} */\n function now() {\n // This is a hot path, so we clone manually instead of `Object.assign({}, point)`\n const {line, column, offset, _index, _bufferIndex} = point\n return {\n line,\n column,\n offset,\n _index,\n _bufferIndex\n }\n }\n\n /** @type {TokenizeContext['defineSkip']} */\n function defineSkip(value) {\n columnStart[value.line] = value.column\n accountForPotentialSkip()\n }\n\n //\n // State management.\n //\n\n /**\n * Main loop (note that `_index` and `_bufferIndex` in `point` are modified by\n * `consume`).\n * Here is where we walk through the chunks, which either include strings of\n * several characters, or numerical character codes.\n * The reason to do this in a loop instead of a call is so the stack can\n * drain.\n *\n * @returns {void}\n */\n function main() {\n /** @type {number} */\n let chunkIndex\n while (point._index < chunks.length) {\n const chunk = chunks[point._index]\n\n // If we’re in a buffer chunk, loop through it.\n if (typeof chunk === 'string') {\n chunkIndex = point._index\n if (point._bufferIndex < 0) {\n point._bufferIndex = 0\n }\n while (\n point._index === chunkIndex &&\n point._bufferIndex < chunk.length\n ) {\n go(chunk.charCodeAt(point._bufferIndex))\n }\n } else {\n go(chunk)\n }\n }\n }\n\n /**\n * Deal with one code.\n *\n * @param {Code} code\n * @returns {void}\n */\n function go(code) {\n consumed = undefined\n expectedCode = code\n state = state(code)\n }\n\n /** @type {Effects['consume']} */\n function consume(code) {\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_0__[\"markdownLineEnding\"])(code)) {\n point.line++\n point.column = 1\n point.offset += code === -3 ? 2 : 1\n accountForPotentialSkip()\n } else if (code !== -1) {\n point.column++\n point.offset++\n }\n\n // Not in a string chunk.\n if (point._bufferIndex < 0) {\n point._index++\n } else {\n point._bufferIndex++\n\n // At end of string chunk.\n // @ts-expect-error Points w/ non-negative `_bufferIndex` reference\n // strings.\n if (point._bufferIndex === chunks[point._index].length) {\n point._bufferIndex = -1\n point._index++\n }\n }\n\n // Expose the previous character.\n context.previous = code\n\n // Mark as consumed.\n consumed = true\n }\n\n /** @type {Effects['enter']} */\n function enter(type, fields) {\n /** @type {Token} */\n // @ts-expect-error Patch instead of assign required fields to help GC.\n const token = fields || {}\n token.type = type\n token.start = now()\n context.events.push(['enter', token, context])\n stack.push(token)\n return token\n }\n\n /** @type {Effects['exit']} */\n function exit(type) {\n const token = stack.pop()\n token.end = now()\n context.events.push(['exit', token, context])\n return token\n }\n\n /**\n * Use results.\n *\n * @type {ReturnHandle}\n */\n function onsuccessfulconstruct(construct, info) {\n addResult(construct, info.from)\n }\n\n /**\n * Discard results.\n *\n * @type {ReturnHandle}\n */\n function onsuccessfulcheck(_, info) {\n info.restore()\n }\n\n /**\n * Factory to attempt/check/interrupt.\n *\n * @param {ReturnHandle} onreturn\n * @param {{interrupt?: boolean | undefined} | undefined} [fields]\n */\n function constructFactory(onreturn, fields) {\n return hook\n\n /**\n * Handle either an object mapping codes to constructs, a list of\n * constructs, or a single construct.\n *\n * @param {Array | Construct | ConstructRecord} constructs\n * @param {State} returnState\n * @param {State | undefined} [bogusState]\n * @returns {State}\n */\n function hook(constructs, returnState, bogusState) {\n /** @type {Array} */\n let listOfConstructs\n /** @type {number} */\n let constructIndex\n /** @type {Construct} */\n let currentConstruct\n /** @type {Info} */\n let info\n return Array.isArray(constructs) /* c8 ignore next 1 */\n ? handleListOfConstructs(constructs)\n : 'tokenize' in constructs\n ? // @ts-expect-error Looks like a construct.\n handleListOfConstructs([constructs])\n : handleMapOfConstructs(constructs)\n\n /**\n * Handle a list of construct.\n *\n * @param {ConstructRecord} map\n * @returns {State}\n */\n function handleMapOfConstructs(map) {\n return start\n\n /** @type {State} */\n function start(code) {\n const def = code !== null && map[code]\n const all = code !== null && map.null\n const list = [\n // To do: add more extension tests.\n /* c8 ignore next 2 */\n ...(Array.isArray(def) ? def : def ? [def] : []),\n ...(Array.isArray(all) ? all : all ? [all] : [])\n ]\n return handleListOfConstructs(list)(code)\n }\n }\n\n /**\n * Handle a list of construct.\n *\n * @param {Array} list\n * @returns {State}\n */\n function handleListOfConstructs(list) {\n listOfConstructs = list\n constructIndex = 0\n if (list.length === 0) {\n return bogusState\n }\n return handleConstruct(list[constructIndex])\n }\n\n /**\n * Handle a single construct.\n *\n * @param {Construct} construct\n * @returns {State}\n */\n function handleConstruct(construct) {\n return start\n\n /** @type {State} */\n function start(code) {\n // To do: not needed to store if there is no bogus state, probably?\n // Currently doesn’t work because `inspect` in document does a check\n // w/o a bogus, which doesn’t make sense. But it does seem to help perf\n // by not storing.\n info = store()\n currentConstruct = construct\n if (!construct.partial) {\n context.currentConstruct = construct\n }\n\n // Always populated by defaults.\n\n if (\n construct.name &&\n context.parser.constructs.disable.null.includes(construct.name)\n ) {\n return nok(code)\n }\n return construct.tokenize.call(\n // If we do have fields, create an object w/ `context` as its\n // prototype.\n // This allows a “live binding”, which is needed for `interrupt`.\n fields ? Object.assign(Object.create(context), fields) : context,\n effects,\n ok,\n nok\n )(code)\n }\n }\n\n /** @type {State} */\n function ok(code) {\n consumed = true\n onreturn(currentConstruct, info)\n return returnState\n }\n\n /** @type {State} */\n function nok(code) {\n consumed = true\n info.restore()\n if (++constructIndex < listOfConstructs.length) {\n return handleConstruct(listOfConstructs[constructIndex])\n }\n return bogusState\n }\n }\n }\n\n /**\n * @param {Construct} construct\n * @param {number} from\n * @returns {void}\n */\n function addResult(construct, from) {\n if (construct.resolveAll && !resolveAllConstructs.includes(construct)) {\n resolveAllConstructs.push(construct)\n }\n if (construct.resolve) {\n Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_1__[\"splice\"])(\n context.events,\n from,\n context.events.length - from,\n construct.resolve(context.events.slice(from), context)\n )\n }\n if (construct.resolveTo) {\n context.events = construct.resolveTo(context.events, context)\n }\n }\n\n /**\n * Store state.\n *\n * @returns {Info}\n */\n function store() {\n const startPoint = now()\n const startPrevious = context.previous\n const startCurrentConstruct = context.currentConstruct\n const startEventsIndex = context.events.length\n const startStack = Array.from(stack)\n return {\n restore,\n from: startEventsIndex\n }\n\n /**\n * Restore state.\n *\n * @returns {void}\n */\n function restore() {\n point = startPoint\n context.previous = startPrevious\n context.currentConstruct = startCurrentConstruct\n context.events.length = startEventsIndex\n stack = startStack\n accountForPotentialSkip()\n }\n }\n\n /**\n * Move the current point a bit forward in the line when it’s on a column\n * skip.\n *\n * @returns {void}\n */\n function accountForPotentialSkip() {\n if (point.line in columnStart && point.column < 2) {\n point.column = columnStart[point.line]\n point.offset += columnStart[point.line] - 1\n }\n }\n}\n\n/**\n * Get the chunks from a slice of chunks in the range of a token.\n *\n * @param {Array} chunks\n * @param {Pick} token\n * @returns {Array}\n */\nfunction sliceChunks(chunks, token) {\n const startIndex = token.start._index\n const startBufferIndex = token.start._bufferIndex\n const endIndex = token.end._index\n const endBufferIndex = token.end._bufferIndex\n /** @type {Array} */\n let view\n if (startIndex === endIndex) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view = [chunks[startIndex].slice(startBufferIndex, endBufferIndex)]\n } else {\n view = chunks.slice(startIndex, endIndex)\n if (startBufferIndex > -1) {\n const head = view[0]\n if (typeof head === 'string') {\n view[0] = head.slice(startBufferIndex)\n } else {\n view.shift()\n }\n }\n if (endBufferIndex > 0) {\n // @ts-expect-error `_bufferIndex` is used on string chunks.\n view.push(chunks[endIndex].slice(0, endBufferIndex))\n }\n }\n return view\n}\n\n/**\n * Get the string value of a slice of chunks.\n *\n * @param {Array} chunks\n * @param {boolean | undefined} [expandTabs=false]\n * @returns {string}\n */\nfunction serializeChunks(chunks, expandTabs) {\n let index = -1\n /** @type {Array} */\n const result = []\n /** @type {boolean | undefined} */\n let atTab\n while (++index < chunks.length) {\n const chunk = chunks[index]\n /** @type {string} */\n let value\n if (typeof chunk === 'string') {\n value = chunk\n } else\n switch (chunk) {\n case -5: {\n value = '\\r'\n break\n }\n case -4: {\n value = '\\n'\n break\n }\n case -3: {\n value = '\\r' + '\\n'\n break\n }\n case -2: {\n value = expandTabs ? ' ' : '\\t'\n break\n }\n case -1: {\n if (!expandTabs && atTab) continue\n value = ' '\n break\n }\n default: {\n // Currently only replacement character.\n value = String.fromCharCode(chunk)\n }\n }\n atTab = chunk === -2\n result.push(value)\n }\n return result.join('')\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark/lib/create-tokenizer.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark/lib/initialize/content.js":
/*!***************************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark/lib/initialize/content.js ***!
\***************************************************************************/
/*! exports provided: content */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"content\", function() { return content; });\n/* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-factory-space */ \"../simple-mind-map/node_modules/micromark-factory-space/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n */\n\n\n\n/** @type {InitialConstruct} */\nconst content = {\n tokenize: initializeContent\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Initializer}\n */\nfunction initializeContent(effects) {\n const contentStart = effects.attempt(\n this.parser.constructs.contentInitial,\n afterContentStartConstruct,\n paragraphInitial\n )\n /** @type {Token} */\n let previous\n return contentStart\n\n /** @type {State} */\n function afterContentStartConstruct(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n return Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(effects, contentStart, 'linePrefix')\n }\n\n /** @type {State} */\n function paragraphInitial(code) {\n effects.enter('paragraph')\n return lineStart(code)\n }\n\n /** @type {State} */\n function lineStart(code) {\n const token = effects.enter('chunkText', {\n contentType: 'text',\n previous\n })\n if (previous) {\n previous.next = token\n }\n previous = token\n return data(code)\n }\n\n /** @type {State} */\n function data(code) {\n if (code === null) {\n effects.exit('chunkText')\n effects.exit('paragraph')\n effects.consume(code)\n return\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n effects.consume(code)\n effects.exit('chunkText')\n return lineStart\n }\n\n // Data.\n effects.consume(code)\n return data\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark/lib/initialize/content.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark/lib/initialize/document.js":
/*!****************************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark/lib/initialize/document.js ***!
\****************************************************************************/
/*! exports provided: document */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"document\", function() { return document; });\n/* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-factory-space */ \"../simple-mind-map/node_modules/micromark-factory-space/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/* harmony import */ var micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-chunked */ \"../simple-mind-map/node_modules/micromark-util-chunked/index.js\");\n/**\n * @typedef {import('micromark-util-types').Construct} Construct\n * @typedef {import('micromark-util-types').ContainerState} ContainerState\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').Point} Point\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').Token} Token\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n * @typedef {import('micromark-util-types').Tokenizer} Tokenizer\n */\n\n/**\n * @typedef {[Construct, ContainerState]} StackItem\n */\n\n\n\n\n/** @type {InitialConstruct} */\nconst document = {\n tokenize: initializeDocument\n}\n\n/** @type {Construct} */\nconst containerConstruct = {\n tokenize: tokenizeContainer\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Initializer}\n */\nfunction initializeDocument(effects) {\n const self = this\n /** @type {Array} */\n const stack = []\n let continued = 0\n /** @type {TokenizeContext | undefined} */\n let childFlow\n /** @type {Token | undefined} */\n let childToken\n /** @type {number} */\n let lineStartOffset\n return start\n\n /** @type {State} */\n function start(code) {\n // First we iterate through the open blocks, starting with the root\n // document, and descending through last children down to the last open\n // block.\n // Each block imposes a condition that the line must satisfy if the block is\n // to remain open.\n // For example, a block quote requires a `>` character.\n // A paragraph requires a non-blank line.\n // In this phase we may match all or just some of the open blocks.\n // But we cannot close unmatched blocks yet, because we may have a lazy\n // continuation line.\n if (continued < stack.length) {\n const item = stack[continued]\n self.containerState = item[1]\n return effects.attempt(\n item[0].continuation,\n documentContinue,\n checkNewContainers\n )(code)\n }\n\n // Done.\n return checkNewContainers(code)\n }\n\n /** @type {State} */\n function documentContinue(code) {\n continued++\n\n // Note: this field is called `_closeFlow` but it also closes containers.\n // Perhaps a good idea to rename it but it’s already used in the wild by\n // extensions.\n if (self.containerState._closeFlow) {\n self.containerState._closeFlow = undefined\n if (childFlow) {\n closeFlow()\n }\n\n // Note: this algorithm for moving events around is similar to the\n // algorithm when dealing with lazy lines in `writeToChild`.\n const indexBeforeExits = self.events.length\n let indexBeforeFlow = indexBeforeExits\n /** @type {Point | undefined} */\n let point\n\n // Find the flow chunk.\n while (indexBeforeFlow--) {\n if (\n self.events[indexBeforeFlow][0] === 'exit' &&\n self.events[indexBeforeFlow][1].type === 'chunkFlow'\n ) {\n point = self.events[indexBeforeFlow][1].end\n break\n }\n }\n exitContainers(continued)\n\n // Fix positions.\n let index = indexBeforeExits\n while (index < self.events.length) {\n self.events[index][1].end = Object.assign({}, point)\n index++\n }\n\n // Inject the exits earlier (they’re still also at the end).\n Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__[\"splice\"])(\n self.events,\n indexBeforeFlow + 1,\n 0,\n self.events.slice(indexBeforeExits)\n )\n\n // Discard the duplicate exits.\n self.events.length = index\n return checkNewContainers(code)\n }\n return start(code)\n }\n\n /** @type {State} */\n function checkNewContainers(code) {\n // Next, after consuming the continuation markers for existing blocks, we\n // look for new block starts (e.g. `>` for a block quote).\n // If we encounter a new block start, we close any blocks unmatched in\n // step 1 before creating the new block as a child of the last matched\n // block.\n if (continued === stack.length) {\n // No need to `check` whether there’s a container, of `exitContainers`\n // would be moot.\n // We can instead immediately `attempt` to parse one.\n if (!childFlow) {\n return documentContinued(code)\n }\n\n // If we have concrete content, such as block HTML or fenced code,\n // we can’t have containers “pierce” into them, so we can immediately\n // start.\n if (childFlow.currentConstruct && childFlow.currentConstruct.concrete) {\n return flowStart(code)\n }\n\n // If we do have flow, it could still be a blank line,\n // but we’d be interrupting it w/ a new container if there’s a current\n // construct.\n // To do: next major: remove `_gfmTableDynamicInterruptHack` (no longer\n // needed in micromark-extension-gfm-table@1.0.6).\n self.interrupt = Boolean(\n childFlow.currentConstruct && !childFlow._gfmTableDynamicInterruptHack\n )\n }\n\n // Check if there is a new container.\n self.containerState = {}\n return effects.check(\n containerConstruct,\n thereIsANewContainer,\n thereIsNoNewContainer\n )(code)\n }\n\n /** @type {State} */\n function thereIsANewContainer(code) {\n if (childFlow) closeFlow()\n exitContainers(continued)\n return documentContinued(code)\n }\n\n /** @type {State} */\n function thereIsNoNewContainer(code) {\n self.parser.lazy[self.now().line] = continued !== stack.length\n lineStartOffset = self.now().offset\n return flowStart(code)\n }\n\n /** @type {State} */\n function documentContinued(code) {\n // Try new containers.\n self.containerState = {}\n return effects.attempt(\n containerConstruct,\n containerContinue,\n flowStart\n )(code)\n }\n\n /** @type {State} */\n function containerContinue(code) {\n continued++\n stack.push([self.currentConstruct, self.containerState])\n // Try another.\n return documentContinued(code)\n }\n\n /** @type {State} */\n function flowStart(code) {\n if (code === null) {\n if (childFlow) closeFlow()\n exitContainers(0)\n effects.consume(code)\n return\n }\n childFlow = childFlow || self.parser.flow(self.now())\n effects.enter('chunkFlow', {\n contentType: 'flow',\n previous: childToken,\n _tokenizer: childFlow\n })\n return flowContinue(code)\n }\n\n /** @type {State} */\n function flowContinue(code) {\n if (code === null) {\n writeToChild(effects.exit('chunkFlow'), true)\n exitContainers(0)\n effects.consume(code)\n return\n }\n if (Object(micromark_util_character__WEBPACK_IMPORTED_MODULE_1__[\"markdownLineEnding\"])(code)) {\n effects.consume(code)\n writeToChild(effects.exit('chunkFlow'))\n // Get ready for the next line.\n continued = 0\n self.interrupt = undefined\n return start\n }\n effects.consume(code)\n return flowContinue\n }\n\n /**\n * @param {Token} token\n * @param {boolean | undefined} [eof]\n * @returns {void}\n */\n function writeToChild(token, eof) {\n const stream = self.sliceStream(token)\n if (eof) stream.push(null)\n token.previous = childToken\n if (childToken) childToken.next = token\n childToken = token\n childFlow.defineSkip(token.start)\n childFlow.write(stream)\n\n // Alright, so we just added a lazy line:\n //\n // ```markdown\n // > a\n // b.\n //\n // Or:\n //\n // > ~~~c\n // d\n //\n // Or:\n //\n // > | e |\n // f\n // ```\n //\n // The construct in the second example (fenced code) does not accept lazy\n // lines, so it marked itself as done at the end of its first line, and\n // then the content construct parses `d`.\n // Most constructs in markdown match on the first line: if the first line\n // forms a construct, a non-lazy line can’t “unmake” it.\n //\n // The construct in the third example is potentially a GFM table, and\n // those are *weird*.\n // It *could* be a table, from the first line, if the following line\n // matches a condition.\n // In this case, that second line is lazy, which “unmakes” the first line\n // and turns the whole into one content block.\n //\n // We’ve now parsed the non-lazy and the lazy line, and can figure out\n // whether the lazy line started a new flow block.\n // If it did, we exit the current containers between the two flow blocks.\n if (self.parser.lazy[token.start.line]) {\n let index = childFlow.events.length\n while (index--) {\n if (\n // The token starts before the line ending…\n childFlow.events[index][1].start.offset < lineStartOffset &&\n // …and either is not ended yet…\n (!childFlow.events[index][1].end ||\n // …or ends after it.\n childFlow.events[index][1].end.offset > lineStartOffset)\n ) {\n // Exit: there’s still something open, which means it’s a lazy line\n // part of something.\n return\n }\n }\n\n // Note: this algorithm for moving events around is similar to the\n // algorithm when closing flow in `documentContinue`.\n const indexBeforeExits = self.events.length\n let indexBeforeFlow = indexBeforeExits\n /** @type {boolean | undefined} */\n let seen\n /** @type {Point | undefined} */\n let point\n\n // Find the previous chunk (the one before the lazy line).\n while (indexBeforeFlow--) {\n if (\n self.events[indexBeforeFlow][0] === 'exit' &&\n self.events[indexBeforeFlow][1].type === 'chunkFlow'\n ) {\n if (seen) {\n point = self.events[indexBeforeFlow][1].end\n break\n }\n seen = true\n }\n }\n exitContainers(continued)\n\n // Fix positions.\n index = indexBeforeExits\n while (index < self.events.length) {\n self.events[index][1].end = Object.assign({}, point)\n index++\n }\n\n // Inject the exits earlier (they’re still also at the end).\n Object(micromark_util_chunked__WEBPACK_IMPORTED_MODULE_2__[\"splice\"])(\n self.events,\n indexBeforeFlow + 1,\n 0,\n self.events.slice(indexBeforeExits)\n )\n\n // Discard the duplicate exits.\n self.events.length = index\n }\n }\n\n /**\n * @param {number} size\n * @returns {void}\n */\n function exitContainers(size) {\n let index = stack.length\n\n // Exit open containers.\n while (index-- > size) {\n const entry = stack[index]\n self.containerState = entry[1]\n entry[0].exit.call(self, effects)\n }\n stack.length = size\n }\n function closeFlow() {\n childFlow.write([null])\n childToken = undefined\n childFlow = undefined\n self.containerState._closeFlow = undefined\n }\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Tokenizer}\n */\nfunction tokenizeContainer(effects, ok, nok) {\n // Always populated by defaults.\n\n return Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_0__[\"factorySpace\"])(\n effects,\n effects.attempt(this.parser.constructs.document, ok, nok),\n 'linePrefix',\n this.parser.constructs.disable.null.includes('codeIndented') ? undefined : 4\n )\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark/lib/initialize/document.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark/lib/initialize/flow.js":
/*!************************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark/lib/initialize/flow.js ***!
\************************************************************************/
/*! exports provided: flow */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"flow\", function() { return flow; });\n/* harmony import */ var micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-core-commonmark */ \"../simple-mind-map/node_modules/micromark-core-commonmark/index.js\");\n/* harmony import */ var micromark_factory_space__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! micromark-factory-space */ \"../simple-mind-map/node_modules/micromark-factory-space/index.js\");\n/* harmony import */ var micromark_util_character__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! micromark-util-character */ \"../simple-mind-map/node_modules/micromark-util-character/index.js\");\n/**\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n */\n\n\n\n\n/** @type {InitialConstruct} */\nconst flow = {\n tokenize: initializeFlow\n}\n\n/**\n * @this {TokenizeContext}\n * @type {Initializer}\n */\nfunction initializeFlow(effects) {\n const self = this\n const initial = effects.attempt(\n // Try to parse a blank line.\n micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"blankLine\"],\n atBlankEnding,\n // Try to parse initial flow (essentially, only code).\n effects.attempt(\n this.parser.constructs.flowInitial,\n afterConstruct,\n Object(micromark_factory_space__WEBPACK_IMPORTED_MODULE_1__[\"factorySpace\"])(\n effects,\n effects.attempt(\n this.parser.constructs.flow,\n afterConstruct,\n effects.attempt(micromark_core_commonmark__WEBPACK_IMPORTED_MODULE_0__[\"content\"], afterConstruct)\n ),\n 'linePrefix'\n )\n )\n )\n return initial\n\n /** @type {State} */\n function atBlankEnding(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n effects.enter('lineEndingBlank')\n effects.consume(code)\n effects.exit('lineEndingBlank')\n self.currentConstruct = undefined\n return initial\n }\n\n /** @type {State} */\n function afterConstruct(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n effects.enter('lineEnding')\n effects.consume(code)\n effects.exit('lineEnding')\n self.currentConstruct = undefined\n return initial\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark/lib/initialize/flow.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark/lib/initialize/text.js":
/*!************************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark/lib/initialize/text.js ***!
\************************************************************************/
/*! exports provided: resolver, string, text */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"resolver\", function() { return resolver; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"string\", function() { return string; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"text\", function() { return text; });\n/**\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').Initializer} Initializer\n * @typedef {import('micromark-util-types').Resolver} Resolver\n * @typedef {import('micromark-util-types').State} State\n * @typedef {import('micromark-util-types').TokenizeContext} TokenizeContext\n */\n\nconst resolver = {\n resolveAll: createResolver()\n}\nconst string = initializeFactory('string')\nconst text = initializeFactory('text')\n\n/**\n * @param {'string' | 'text'} field\n * @returns {InitialConstruct}\n */\nfunction initializeFactory(field) {\n return {\n tokenize: initializeText,\n resolveAll: createResolver(\n field === 'text' ? resolveAllLineSuffixes : undefined\n )\n }\n\n /**\n * @this {TokenizeContext}\n * @type {Initializer}\n */\n function initializeText(effects) {\n const self = this\n const constructs = this.parser.constructs[field]\n const text = effects.attempt(constructs, start, notText)\n return start\n\n /** @type {State} */\n function start(code) {\n return atBreak(code) ? text(code) : notText(code)\n }\n\n /** @type {State} */\n function notText(code) {\n if (code === null) {\n effects.consume(code)\n return\n }\n effects.enter('data')\n effects.consume(code)\n return data\n }\n\n /** @type {State} */\n function data(code) {\n if (atBreak(code)) {\n effects.exit('data')\n return text(code)\n }\n\n // Data.\n effects.consume(code)\n return data\n }\n\n /**\n * @param {Code} code\n * @returns {boolean}\n */\n function atBreak(code) {\n if (code === null) {\n return true\n }\n const list = constructs[code]\n let index = -1\n if (list) {\n // Always populated by defaults.\n\n while (++index < list.length) {\n const item = list[index]\n if (!item.previous || item.previous.call(self, self.previous)) {\n return true\n }\n }\n }\n return false\n }\n }\n}\n\n/**\n * @param {Resolver | undefined} [extraResolver]\n * @returns {Resolver}\n */\nfunction createResolver(extraResolver) {\n return resolveAllText\n\n /** @type {Resolver} */\n function resolveAllText(events, context) {\n let index = -1\n /** @type {number | undefined} */\n let enter\n\n // A rather boring computation (to merge adjacent `data` events) which\n // improves mm performance by 29%.\n while (++index <= events.length) {\n if (enter === undefined) {\n if (events[index] && events[index][1].type === 'data') {\n enter = index\n index++\n }\n } else if (!events[index] || events[index][1].type !== 'data') {\n // Don’t do anything if there is one data token.\n if (index !== enter + 2) {\n events[enter][1].end = events[index - 1][1].end\n events.splice(enter + 2, index - enter - 2)\n index = enter + 2\n }\n enter = undefined\n }\n }\n return extraResolver ? extraResolver(events, context) : events\n }\n}\n\n/**\n * A rather ugly set of instructions which again looks at chunks in the input\n * stream.\n * The reason to do this here is that it is *much* faster to parse in reverse.\n * And that we can’t hook into `null` to split the line suffix before an EOF.\n * To do: figure out if we can make this into a clean utility, or even in core.\n * As it will be useful for GFMs literal autolink extension (and maybe even\n * tables?)\n *\n * @type {Resolver}\n */\nfunction resolveAllLineSuffixes(events, context) {\n let eventIndex = 0 // Skip first.\n\n while (++eventIndex <= events.length) {\n if (\n (eventIndex === events.length ||\n events[eventIndex][1].type === 'lineEnding') &&\n events[eventIndex - 1][1].type === 'data'\n ) {\n const data = events[eventIndex - 1][1]\n const chunks = context.sliceStream(data)\n let index = chunks.length\n let bufferIndex = -1\n let size = 0\n /** @type {boolean | undefined} */\n let tabs\n while (index--) {\n const chunk = chunks[index]\n if (typeof chunk === 'string') {\n bufferIndex = chunk.length\n while (chunk.charCodeAt(bufferIndex - 1) === 32) {\n size++\n bufferIndex--\n }\n if (bufferIndex) break\n bufferIndex = -1\n }\n // Number\n else if (chunk === -2) {\n tabs = true\n size++\n } else if (chunk === -1) {\n // Empty\n } else {\n // Replacement character, exit.\n index++\n break\n }\n }\n if (size) {\n const token = {\n type:\n eventIndex === events.length || tabs || size < 2\n ? 'lineSuffix'\n : 'hardBreakTrailing',\n start: {\n line: data.end.line,\n column: data.end.column - size,\n offset: data.end.offset - size,\n _index: data.start._index + index,\n _bufferIndex: index\n ? bufferIndex\n : data.start._bufferIndex + bufferIndex\n },\n end: Object.assign({}, data.end)\n }\n data.end = Object.assign({}, token.start)\n if (data.start.offset === data.end.offset) {\n Object.assign(data, token)\n } else {\n events.splice(\n eventIndex,\n 0,\n ['enter', token, context],\n ['exit', token, context]\n )\n eventIndex += 2\n }\n }\n eventIndex++\n }\n }\n return events\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark/lib/initialize/text.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark/lib/parse.js":
/*!**************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark/lib/parse.js ***!
\**************************************************************/
/*! exports provided: parse */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parse\", function() { return parse; });\n/* harmony import */ var micromark_util_combine_extensions__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-combine-extensions */ \"../simple-mind-map/node_modules/micromark-util-combine-extensions/index.js\");\n/* harmony import */ var _initialize_content_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./initialize/content.js */ \"../simple-mind-map/node_modules/micromark/lib/initialize/content.js\");\n/* harmony import */ var _initialize_document_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./initialize/document.js */ \"../simple-mind-map/node_modules/micromark/lib/initialize/document.js\");\n/* harmony import */ var _initialize_flow_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./initialize/flow.js */ \"../simple-mind-map/node_modules/micromark/lib/initialize/flow.js\");\n/* harmony import */ var _initialize_text_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./initialize/text.js */ \"../simple-mind-map/node_modules/micromark/lib/initialize/text.js\");\n/* harmony import */ var _create_tokenizer_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./create-tokenizer.js */ \"../simple-mind-map/node_modules/micromark/lib/create-tokenizer.js\");\n/* harmony import */ var _constructs_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./constructs.js */ \"../simple-mind-map/node_modules/micromark/lib/constructs.js\");\n/**\n * @typedef {import('micromark-util-types').Create} Create\n * @typedef {import('micromark-util-types').FullNormalizedExtension} FullNormalizedExtension\n * @typedef {import('micromark-util-types').InitialConstruct} InitialConstruct\n * @typedef {import('micromark-util-types').ParseContext} ParseContext\n * @typedef {import('micromark-util-types').ParseOptions} ParseOptions\n */\n\n\n\n\n\n\n\n\n\n/**\n * @param {ParseOptions | null | undefined} [options]\n * @returns {ParseContext}\n */\nfunction parse(options) {\n const settings = options || {}\n const constructs =\n /** @type {FullNormalizedExtension} */\n Object(micromark_util_combine_extensions__WEBPACK_IMPORTED_MODULE_0__[\"combineExtensions\"])([_constructs_js__WEBPACK_IMPORTED_MODULE_6__, ...(settings.extensions || [])])\n\n /** @type {ParseContext} */\n const parser = {\n defined: [],\n lazy: {},\n constructs,\n content: create(_initialize_content_js__WEBPACK_IMPORTED_MODULE_1__[\"content\"]),\n document: create(_initialize_document_js__WEBPACK_IMPORTED_MODULE_2__[\"document\"]),\n flow: create(_initialize_flow_js__WEBPACK_IMPORTED_MODULE_3__[\"flow\"]),\n string: create(_initialize_text_js__WEBPACK_IMPORTED_MODULE_4__[\"string\"]),\n text: create(_initialize_text_js__WEBPACK_IMPORTED_MODULE_4__[\"text\"])\n }\n return parser\n\n /**\n * @param {InitialConstruct} initial\n */\n function create(initial) {\n return creator\n /** @type {Create} */\n function creator(from) {\n return Object(_create_tokenizer_js__WEBPACK_IMPORTED_MODULE_5__[\"createTokenizer\"])(parser, initial, from)\n }\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark/lib/parse.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark/lib/postprocess.js":
/*!********************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark/lib/postprocess.js ***!
\********************************************************************/
/*! exports provided: postprocess */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"postprocess\", function() { return postprocess; });\n/* harmony import */ var micromark_util_subtokenize__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! micromark-util-subtokenize */ \"../simple-mind-map/node_modules/micromark-util-subtokenize/index.js\");\n/**\n * @typedef {import('micromark-util-types').Event} Event\n */\n\n\n\n/**\n * @param {Array} events\n * @returns {Array}\n */\nfunction postprocess(events) {\n while (!Object(micromark_util_subtokenize__WEBPACK_IMPORTED_MODULE_0__[\"subtokenize\"])(events)) {\n // Empty\n }\n return events\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark/lib/postprocess.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/micromark/lib/preprocess.js":
/*!*******************************************************************!*\
!*** ../simple-mind-map/node_modules/micromark/lib/preprocess.js ***!
\*******************************************************************/
/*! exports provided: preprocess */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"preprocess\", function() { return preprocess; });\n/**\n * @typedef {import('micromark-util-types').Chunk} Chunk\n * @typedef {import('micromark-util-types').Code} Code\n * @typedef {import('micromark-util-types').Encoding} Encoding\n * @typedef {import('micromark-util-types').Value} Value\n */\n\n/**\n * @callback Preprocessor\n * @param {Value} value\n * @param {Encoding | null | undefined} [encoding]\n * @param {boolean | null | undefined} [end=false]\n * @returns {Array}\n */\n\nconst search = /[\\0\\t\\n\\r]/g\n\n/**\n * @returns {Preprocessor}\n */\nfunction preprocess() {\n let column = 1\n let buffer = ''\n /** @type {boolean | undefined} */\n let start = true\n /** @type {boolean | undefined} */\n let atCarriageReturn\n return preprocessor\n\n /** @type {Preprocessor} */\n function preprocessor(value, encoding, end) {\n /** @type {Array} */\n const chunks = []\n /** @type {RegExpMatchArray | null} */\n let match\n /** @type {number} */\n let next\n /** @type {number} */\n let startPosition\n /** @type {number} */\n let endPosition\n /** @type {Code} */\n let code\n\n // @ts-expect-error `Buffer` does allow an encoding.\n value = buffer + value.toString(encoding)\n startPosition = 0\n buffer = ''\n if (start) {\n // To do: `markdown-rs` actually parses BOMs (byte order mark).\n if (value.charCodeAt(0) === 65279) {\n startPosition++\n }\n start = undefined\n }\n while (startPosition < value.length) {\n search.lastIndex = startPosition\n match = search.exec(value)\n endPosition =\n match && match.index !== undefined ? match.index : value.length\n code = value.charCodeAt(endPosition)\n if (!match) {\n buffer = value.slice(startPosition)\n break\n }\n if (code === 10 && startPosition === endPosition && atCarriageReturn) {\n chunks.push(-3)\n atCarriageReturn = undefined\n } else {\n if (atCarriageReturn) {\n chunks.push(-5)\n atCarriageReturn = undefined\n }\n if (startPosition < endPosition) {\n chunks.push(value.slice(startPosition, endPosition))\n column += endPosition - startPosition\n }\n switch (code) {\n case 0: {\n chunks.push(65533)\n column++\n break\n }\n case 9: {\n next = Math.ceil(column / 4) * 4\n chunks.push(-2)\n while (column++ < next) chunks.push(-1)\n break\n }\n case 10: {\n chunks.push(-4)\n column = 1\n break\n }\n default: {\n atCarriageReturn = true\n column = 1\n }\n }\n }\n startPosition = endPosition + 1\n }\n if (end) {\n if (atCarriageReturn) chunks.push(-5)\n if (buffer) chunks.push(buffer)\n chunks.push(null)\n }\n return chunks\n }\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/micromark/lib/preprocess.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pako/index.js":
/*!*****************************************************!*\
!*** ../simple-mind-map/node_modules/pako/index.js ***!
\*****************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("// Top level file is just a mixin of submodules & constants\n\n\nvar assign = __webpack_require__(/*! ./lib/utils/common */ \"../simple-mind-map/node_modules/pako/lib/utils/common.js\").assign;\n\nvar deflate = __webpack_require__(/*! ./lib/deflate */ \"../simple-mind-map/node_modules/pako/lib/deflate.js\");\nvar inflate = __webpack_require__(/*! ./lib/inflate */ \"../simple-mind-map/node_modules/pako/lib/inflate.js\");\nvar constants = __webpack_require__(/*! ./lib/zlib/constants */ \"../simple-mind-map/node_modules/pako/lib/zlib/constants.js\");\n\nvar pako = {};\n\nassign(pako, deflate, inflate, constants);\n\nmodule.exports = pako;\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/index.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pako/lib/deflate.js":
/*!***********************************************************!*\
!*** ../simple-mind-map/node_modules/pako/lib/deflate.js ***!
\***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\n\nvar zlib_deflate = __webpack_require__(/*! ./zlib/deflate */ \"../simple-mind-map/node_modules/pako/lib/zlib/deflate.js\");\nvar utils = __webpack_require__(/*! ./utils/common */ \"../simple-mind-map/node_modules/pako/lib/utils/common.js\");\nvar strings = __webpack_require__(/*! ./utils/strings */ \"../simple-mind-map/node_modules/pako/lib/utils/strings.js\");\nvar msg = __webpack_require__(/*! ./zlib/messages */ \"../simple-mind-map/node_modules/pako/lib/zlib/messages.js\");\nvar ZStream = __webpack_require__(/*! ./zlib/zstream */ \"../simple-mind-map/node_modules/pako/lib/zlib/zstream.js\");\n\nvar toString = Object.prototype.toString;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\nvar Z_NO_FLUSH = 0;\nvar Z_FINISH = 4;\n\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\nvar Z_SYNC_FLUSH = 2;\n\nvar Z_DEFAULT_COMPRESSION = -1;\n\nvar Z_DEFAULT_STRATEGY = 0;\n\nvar Z_DEFLATED = 8;\n\n/* ===========================================================================*/\n\n\n/**\n * class Deflate\n *\n * Generic JS-style wrapper for zlib calls. If you don't need\n * streaming behaviour - use more simple functions: [[deflate]],\n * [[deflateRaw]] and [[gzip]].\n **/\n\n/* internal\n * Deflate.chunks -> Array\n *\n * Chunks of output data, if [[Deflate#onData]] not overridden.\n **/\n\n/**\n * Deflate.result -> Uint8Array|Array\n *\n * Compressed result, generated by default [[Deflate#onData]]\n * and [[Deflate#onEnd]] handlers. Filled after you push last chunk\n * (call [[Deflate#push]] with `Z_FINISH` / `true` param) or if you\n * push a chunk with explicit flush (call [[Deflate#push]] with\n * `Z_SYNC_FLUSH` param).\n **/\n\n/**\n * Deflate.err -> Number\n *\n * Error code after deflate finished. 0 (Z_OK) on success.\n * You will not need it in real life, because deflate errors\n * are possible only on wrong options or bad `onData` / `onEnd`\n * custom handlers.\n **/\n\n/**\n * Deflate.msg -> String\n *\n * Error message, if [[Deflate.err]] != 0\n **/\n\n\n/**\n * new Deflate(options)\n * - options (Object): zlib deflate options.\n *\n * Creates new deflator instance with specified params. Throws exception\n * on bad params. Supported options:\n *\n * - `level`\n * - `windowBits`\n * - `memLevel`\n * - `strategy`\n * - `dictionary`\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Additional options, for internal needs:\n *\n * - `chunkSize` - size of generated data chunks (16K by default)\n * - `raw` (Boolean) - do raw deflate\n * - `gzip` (Boolean) - create gzip wrapper\n * - `to` (String) - if equal to 'string', then result will be \"binary string\"\n * (each char code [0..255])\n * - `header` (Object) - custom header for gzip\n * - `text` (Boolean) - true if compressed data believed to be text\n * - `time` (Number) - modification time, unix timestamp\n * - `os` (Number) - operation system code\n * - `extra` (Array) - array of bytes with extra data (max 65536)\n * - `name` (String) - file name (binary string)\n * - `comment` (String) - comment (binary string)\n * - `hcrc` (Boolean) - true if header crc should be added\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9])\n * , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]);\n *\n * var deflate = new pako.Deflate({ level: 3});\n *\n * deflate.push(chunk1, false);\n * deflate.push(chunk2, true); // true -> last chunk\n *\n * if (deflate.err) { throw new Error(deflate.err); }\n *\n * console.log(deflate.result);\n * ```\n **/\nfunction Deflate(options) {\n if (!(this instanceof Deflate)) return new Deflate(options);\n\n this.options = utils.assign({\n level: Z_DEFAULT_COMPRESSION,\n method: Z_DEFLATED,\n chunkSize: 16384,\n windowBits: 15,\n memLevel: 8,\n strategy: Z_DEFAULT_STRATEGY,\n to: ''\n }, options || {});\n\n var opt = this.options;\n\n if (opt.raw && (opt.windowBits > 0)) {\n opt.windowBits = -opt.windowBits;\n }\n\n else if (opt.gzip && (opt.windowBits > 0) && (opt.windowBits < 16)) {\n opt.windowBits += 16;\n }\n\n this.err = 0; // error code, if happens (0 = Z_OK)\n this.msg = ''; // error message\n this.ended = false; // used to avoid multiple onEnd() calls\n this.chunks = []; // chunks of compressed data\n\n this.strm = new ZStream();\n this.strm.avail_out = 0;\n\n var status = zlib_deflate.deflateInit2(\n this.strm,\n opt.level,\n opt.method,\n opt.windowBits,\n opt.memLevel,\n opt.strategy\n );\n\n if (status !== Z_OK) {\n throw new Error(msg[status]);\n }\n\n if (opt.header) {\n zlib_deflate.deflateSetHeader(this.strm, opt.header);\n }\n\n if (opt.dictionary) {\n var dict;\n // Convert data if needed\n if (typeof opt.dictionary === 'string') {\n // If we need to compress text, change encoding to utf8.\n dict = strings.string2buf(opt.dictionary);\n } else if (toString.call(opt.dictionary) === '[object ArrayBuffer]') {\n dict = new Uint8Array(opt.dictionary);\n } else {\n dict = opt.dictionary;\n }\n\n status = zlib_deflate.deflateSetDictionary(this.strm, dict);\n\n if (status !== Z_OK) {\n throw new Error(msg[status]);\n }\n\n this._dict_set = true;\n }\n}\n\n/**\n * Deflate#push(data[, mode]) -> Boolean\n * - data (Uint8Array|Array|ArrayBuffer|String): input data. Strings will be\n * converted to utf8 byte sequence.\n * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.\n * See constants. Skipped or `false` means Z_NO_FLUSH, `true` means Z_FINISH.\n *\n * Sends input data to deflate pipe, generating [[Deflate#onData]] calls with\n * new compressed chunks. Returns `true` on success. The last data block must have\n * mode Z_FINISH (or `true`). That will flush internal pending buffers and call\n * [[Deflate#onEnd]]. For interim explicit flushes (without ending the stream) you\n * can use mode Z_SYNC_FLUSH, keeping the compression context.\n *\n * On fail call [[Deflate#onEnd]] with error code and return false.\n *\n * We strongly recommend to use `Uint8Array` on input for best speed (output\n * array format is detected automatically). Also, don't skip last param and always\n * use the same type in your code (boolean or number). That will improve JS speed.\n *\n * For regular `Array`-s make sure all elements are [0..255].\n *\n * ##### Example\n *\n * ```javascript\n * push(chunk, false); // push one of data chunks\n * ...\n * push(chunk, true); // push last chunk\n * ```\n **/\nDeflate.prototype.push = function (data, mode) {\n var strm = this.strm;\n var chunkSize = this.options.chunkSize;\n var status, _mode;\n\n if (this.ended) { return false; }\n\n _mode = (mode === ~~mode) ? mode : ((mode === true) ? Z_FINISH : Z_NO_FLUSH);\n\n // Convert data if needed\n if (typeof data === 'string') {\n // If we need to compress text, change encoding to utf8.\n strm.input = strings.string2buf(data);\n } else if (toString.call(data) === '[object ArrayBuffer]') {\n strm.input = new Uint8Array(data);\n } else {\n strm.input = data;\n }\n\n strm.next_in = 0;\n strm.avail_in = strm.input.length;\n\n do {\n if (strm.avail_out === 0) {\n strm.output = new utils.Buf8(chunkSize);\n strm.next_out = 0;\n strm.avail_out = chunkSize;\n }\n status = zlib_deflate.deflate(strm, _mode); /* no bad return value */\n\n if (status !== Z_STREAM_END && status !== Z_OK) {\n this.onEnd(status);\n this.ended = true;\n return false;\n }\n if (strm.avail_out === 0 || (strm.avail_in === 0 && (_mode === Z_FINISH || _mode === Z_SYNC_FLUSH))) {\n if (this.options.to === 'string') {\n this.onData(strings.buf2binstring(utils.shrinkBuf(strm.output, strm.next_out)));\n } else {\n this.onData(utils.shrinkBuf(strm.output, strm.next_out));\n }\n }\n } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== Z_STREAM_END);\n\n // Finalize on the last chunk.\n if (_mode === Z_FINISH) {\n status = zlib_deflate.deflateEnd(this.strm);\n this.onEnd(status);\n this.ended = true;\n return status === Z_OK;\n }\n\n // callback interim results if Z_SYNC_FLUSH.\n if (_mode === Z_SYNC_FLUSH) {\n this.onEnd(Z_OK);\n strm.avail_out = 0;\n return true;\n }\n\n return true;\n};\n\n\n/**\n * Deflate#onData(chunk) -> Void\n * - chunk (Uint8Array|Array|String): output data. Type of array depends\n * on js engine support. When string output requested, each chunk\n * will be string.\n *\n * By default, stores data blocks in `chunks[]` property and glue\n * those in `onEnd`. Override this handler, if you need another behaviour.\n **/\nDeflate.prototype.onData = function (chunk) {\n this.chunks.push(chunk);\n};\n\n\n/**\n * Deflate#onEnd(status) -> Void\n * - status (Number): deflate status. 0 (Z_OK) on success,\n * other if not.\n *\n * Called once after you tell deflate that the input stream is\n * complete (Z_FINISH) or should be flushed (Z_SYNC_FLUSH)\n * or if an error happened. By default - join collected chunks,\n * free memory and fill `results` / `err` properties.\n **/\nDeflate.prototype.onEnd = function (status) {\n // On success - join\n if (status === Z_OK) {\n if (this.options.to === 'string') {\n this.result = this.chunks.join('');\n } else {\n this.result = utils.flattenChunks(this.chunks);\n }\n }\n this.chunks = [];\n this.err = status;\n this.msg = this.strm.msg;\n};\n\n\n/**\n * deflate(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * Compress `data` with deflate algorithm and `options`.\n *\n * Supported options are:\n *\n * - level\n * - windowBits\n * - memLevel\n * - strategy\n * - dictionary\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Sugar (options):\n *\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\n * negative windowBits implicitly.\n * - `to` (String) - if equal to 'string', then result will be \"binary string\"\n * (each char code [0..255])\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , data = Uint8Array([1,2,3,4,5,6,7,8,9]);\n *\n * console.log(pako.deflate(data));\n * ```\n **/\nfunction deflate(input, options) {\n var deflator = new Deflate(options);\n\n deflator.push(input, true);\n\n // That will never happens, if you don't cheat with options :)\n if (deflator.err) { throw deflator.msg || msg[deflator.err]; }\n\n return deflator.result;\n}\n\n\n/**\n * deflateRaw(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * The same as [[deflate]], but creates raw data, without wrapper\n * (header and adler32 crc).\n **/\nfunction deflateRaw(input, options) {\n options = options || {};\n options.raw = true;\n return deflate(input, options);\n}\n\n\n/**\n * gzip(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to compress.\n * - options (Object): zlib deflate options.\n *\n * The same as [[deflate]], but create gzip wrapper instead of\n * deflate one.\n **/\nfunction gzip(input, options) {\n options = options || {};\n options.gzip = true;\n return deflate(input, options);\n}\n\n\nexports.Deflate = Deflate;\nexports.deflate = deflate;\nexports.deflateRaw = deflateRaw;\nexports.gzip = gzip;\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/lib/deflate.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pako/lib/inflate.js":
/*!***********************************************************!*\
!*** ../simple-mind-map/node_modules/pako/lib/inflate.js ***!
\***********************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\n\nvar zlib_inflate = __webpack_require__(/*! ./zlib/inflate */ \"../simple-mind-map/node_modules/pako/lib/zlib/inflate.js\");\nvar utils = __webpack_require__(/*! ./utils/common */ \"../simple-mind-map/node_modules/pako/lib/utils/common.js\");\nvar strings = __webpack_require__(/*! ./utils/strings */ \"../simple-mind-map/node_modules/pako/lib/utils/strings.js\");\nvar c = __webpack_require__(/*! ./zlib/constants */ \"../simple-mind-map/node_modules/pako/lib/zlib/constants.js\");\nvar msg = __webpack_require__(/*! ./zlib/messages */ \"../simple-mind-map/node_modules/pako/lib/zlib/messages.js\");\nvar ZStream = __webpack_require__(/*! ./zlib/zstream */ \"../simple-mind-map/node_modules/pako/lib/zlib/zstream.js\");\nvar GZheader = __webpack_require__(/*! ./zlib/gzheader */ \"../simple-mind-map/node_modules/pako/lib/zlib/gzheader.js\");\n\nvar toString = Object.prototype.toString;\n\n/**\n * class Inflate\n *\n * Generic JS-style wrapper for zlib calls. If you don't need\n * streaming behaviour - use more simple functions: [[inflate]]\n * and [[inflateRaw]].\n **/\n\n/* internal\n * inflate.chunks -> Array\n *\n * Chunks of output data, if [[Inflate#onData]] not overridden.\n **/\n\n/**\n * Inflate.result -> Uint8Array|Array|String\n *\n * Uncompressed result, generated by default [[Inflate#onData]]\n * and [[Inflate#onEnd]] handlers. Filled after you push last chunk\n * (call [[Inflate#push]] with `Z_FINISH` / `true` param) or if you\n * push a chunk with explicit flush (call [[Inflate#push]] with\n * `Z_SYNC_FLUSH` param).\n **/\n\n/**\n * Inflate.err -> Number\n *\n * Error code after inflate finished. 0 (Z_OK) on success.\n * Should be checked if broken data possible.\n **/\n\n/**\n * Inflate.msg -> String\n *\n * Error message, if [[Inflate.err]] != 0\n **/\n\n\n/**\n * new Inflate(options)\n * - options (Object): zlib inflate options.\n *\n * Creates new inflator instance with specified params. Throws exception\n * on bad params. Supported options:\n *\n * - `windowBits`\n * - `dictionary`\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information on these.\n *\n * Additional options, for internal needs:\n *\n * - `chunkSize` - size of generated data chunks (16K by default)\n * - `raw` (Boolean) - do raw inflate\n * - `to` (String) - if equal to 'string', then result will be converted\n * from utf8 to utf16 (javascript) string. When string output requested,\n * chunk length can differ from `chunkSize`, depending on content.\n *\n * By default, when no options set, autodetect deflate/gzip data format via\n * wrapper header.\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , chunk1 = Uint8Array([1,2,3,4,5,6,7,8,9])\n * , chunk2 = Uint8Array([10,11,12,13,14,15,16,17,18,19]);\n *\n * var inflate = new pako.Inflate({ level: 3});\n *\n * inflate.push(chunk1, false);\n * inflate.push(chunk2, true); // true -> last chunk\n *\n * if (inflate.err) { throw new Error(inflate.err); }\n *\n * console.log(inflate.result);\n * ```\n **/\nfunction Inflate(options) {\n if (!(this instanceof Inflate)) return new Inflate(options);\n\n this.options = utils.assign({\n chunkSize: 16384,\n windowBits: 0,\n to: ''\n }, options || {});\n\n var opt = this.options;\n\n // Force window size for `raw` data, if not set directly,\n // because we have no header for autodetect.\n if (opt.raw && (opt.windowBits >= 0) && (opt.windowBits < 16)) {\n opt.windowBits = -opt.windowBits;\n if (opt.windowBits === 0) { opt.windowBits = -15; }\n }\n\n // If `windowBits` not defined (and mode not raw) - set autodetect flag for gzip/deflate\n if ((opt.windowBits >= 0) && (opt.windowBits < 16) &&\n !(options && options.windowBits)) {\n opt.windowBits += 32;\n }\n\n // Gzip header has no info about windows size, we can do autodetect only\n // for deflate. So, if window size not set, force it to max when gzip possible\n if ((opt.windowBits > 15) && (opt.windowBits < 48)) {\n // bit 3 (16) -> gzipped data\n // bit 4 (32) -> autodetect gzip/deflate\n if ((opt.windowBits & 15) === 0) {\n opt.windowBits |= 15;\n }\n }\n\n this.err = 0; // error code, if happens (0 = Z_OK)\n this.msg = ''; // error message\n this.ended = false; // used to avoid multiple onEnd() calls\n this.chunks = []; // chunks of compressed data\n\n this.strm = new ZStream();\n this.strm.avail_out = 0;\n\n var status = zlib_inflate.inflateInit2(\n this.strm,\n opt.windowBits\n );\n\n if (status !== c.Z_OK) {\n throw new Error(msg[status]);\n }\n\n this.header = new GZheader();\n\n zlib_inflate.inflateGetHeader(this.strm, this.header);\n\n // Setup dictionary\n if (opt.dictionary) {\n // Convert data if needed\n if (typeof opt.dictionary === 'string') {\n opt.dictionary = strings.string2buf(opt.dictionary);\n } else if (toString.call(opt.dictionary) === '[object ArrayBuffer]') {\n opt.dictionary = new Uint8Array(opt.dictionary);\n }\n if (opt.raw) { //In raw mode we need to set the dictionary early\n status = zlib_inflate.inflateSetDictionary(this.strm, opt.dictionary);\n if (status !== c.Z_OK) {\n throw new Error(msg[status]);\n }\n }\n }\n}\n\n/**\n * Inflate#push(data[, mode]) -> Boolean\n * - data (Uint8Array|Array|ArrayBuffer|String): input data\n * - mode (Number|Boolean): 0..6 for corresponding Z_NO_FLUSH..Z_TREE modes.\n * See constants. Skipped or `false` means Z_NO_FLUSH, `true` means Z_FINISH.\n *\n * Sends input data to inflate pipe, generating [[Inflate#onData]] calls with\n * new output chunks. Returns `true` on success. The last data block must have\n * mode Z_FINISH (or `true`). That will flush internal pending buffers and call\n * [[Inflate#onEnd]]. For interim explicit flushes (without ending the stream) you\n * can use mode Z_SYNC_FLUSH, keeping the decompression context.\n *\n * On fail call [[Inflate#onEnd]] with error code and return false.\n *\n * We strongly recommend to use `Uint8Array` on input for best speed (output\n * format is detected automatically). Also, don't skip last param and always\n * use the same type in your code (boolean or number). That will improve JS speed.\n *\n * For regular `Array`-s make sure all elements are [0..255].\n *\n * ##### Example\n *\n * ```javascript\n * push(chunk, false); // push one of data chunks\n * ...\n * push(chunk, true); // push last chunk\n * ```\n **/\nInflate.prototype.push = function (data, mode) {\n var strm = this.strm;\n var chunkSize = this.options.chunkSize;\n var dictionary = this.options.dictionary;\n var status, _mode;\n var next_out_utf8, tail, utf8str;\n\n // Flag to properly process Z_BUF_ERROR on testing inflate call\n // when we check that all output data was flushed.\n var allowBufError = false;\n\n if (this.ended) { return false; }\n _mode = (mode === ~~mode) ? mode : ((mode === true) ? c.Z_FINISH : c.Z_NO_FLUSH);\n\n // Convert data if needed\n if (typeof data === 'string') {\n // Only binary strings can be decompressed on practice\n strm.input = strings.binstring2buf(data);\n } else if (toString.call(data) === '[object ArrayBuffer]') {\n strm.input = new Uint8Array(data);\n } else {\n strm.input = data;\n }\n\n strm.next_in = 0;\n strm.avail_in = strm.input.length;\n\n do {\n if (strm.avail_out === 0) {\n strm.output = new utils.Buf8(chunkSize);\n strm.next_out = 0;\n strm.avail_out = chunkSize;\n }\n\n status = zlib_inflate.inflate(strm, c.Z_NO_FLUSH); /* no bad return value */\n\n if (status === c.Z_NEED_DICT && dictionary) {\n status = zlib_inflate.inflateSetDictionary(this.strm, dictionary);\n }\n\n if (status === c.Z_BUF_ERROR && allowBufError === true) {\n status = c.Z_OK;\n allowBufError = false;\n }\n\n if (status !== c.Z_STREAM_END && status !== c.Z_OK) {\n this.onEnd(status);\n this.ended = true;\n return false;\n }\n\n if (strm.next_out) {\n if (strm.avail_out === 0 || status === c.Z_STREAM_END || (strm.avail_in === 0 && (_mode === c.Z_FINISH || _mode === c.Z_SYNC_FLUSH))) {\n\n if (this.options.to === 'string') {\n\n next_out_utf8 = strings.utf8border(strm.output, strm.next_out);\n\n tail = strm.next_out - next_out_utf8;\n utf8str = strings.buf2string(strm.output, next_out_utf8);\n\n // move tail\n strm.next_out = tail;\n strm.avail_out = chunkSize - tail;\n if (tail) { utils.arraySet(strm.output, strm.output, next_out_utf8, tail, 0); }\n\n this.onData(utf8str);\n\n } else {\n this.onData(utils.shrinkBuf(strm.output, strm.next_out));\n }\n }\n }\n\n // When no more input data, we should check that internal inflate buffers\n // are flushed. The only way to do it when avail_out = 0 - run one more\n // inflate pass. But if output data not exists, inflate return Z_BUF_ERROR.\n // Here we set flag to process this error properly.\n //\n // NOTE. Deflate does not return error in this case and does not needs such\n // logic.\n if (strm.avail_in === 0 && strm.avail_out === 0) {\n allowBufError = true;\n }\n\n } while ((strm.avail_in > 0 || strm.avail_out === 0) && status !== c.Z_STREAM_END);\n\n if (status === c.Z_STREAM_END) {\n _mode = c.Z_FINISH;\n }\n\n // Finalize on the last chunk.\n if (_mode === c.Z_FINISH) {\n status = zlib_inflate.inflateEnd(this.strm);\n this.onEnd(status);\n this.ended = true;\n return status === c.Z_OK;\n }\n\n // callback interim results if Z_SYNC_FLUSH.\n if (_mode === c.Z_SYNC_FLUSH) {\n this.onEnd(c.Z_OK);\n strm.avail_out = 0;\n return true;\n }\n\n return true;\n};\n\n\n/**\n * Inflate#onData(chunk) -> Void\n * - chunk (Uint8Array|Array|String): output data. Type of array depends\n * on js engine support. When string output requested, each chunk\n * will be string.\n *\n * By default, stores data blocks in `chunks[]` property and glue\n * those in `onEnd`. Override this handler, if you need another behaviour.\n **/\nInflate.prototype.onData = function (chunk) {\n this.chunks.push(chunk);\n};\n\n\n/**\n * Inflate#onEnd(status) -> Void\n * - status (Number): inflate status. 0 (Z_OK) on success,\n * other if not.\n *\n * Called either after you tell inflate that the input stream is\n * complete (Z_FINISH) or should be flushed (Z_SYNC_FLUSH)\n * or if an error happened. By default - join collected chunks,\n * free memory and fill `results` / `err` properties.\n **/\nInflate.prototype.onEnd = function (status) {\n // On success - join\n if (status === c.Z_OK) {\n if (this.options.to === 'string') {\n // Glue & convert here, until we teach pako to send\n // utf8 aligned strings to onData\n this.result = this.chunks.join('');\n } else {\n this.result = utils.flattenChunks(this.chunks);\n }\n }\n this.chunks = [];\n this.err = status;\n this.msg = this.strm.msg;\n};\n\n\n/**\n * inflate(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * Decompress `data` with inflate/ungzip and `options`. Autodetect\n * format via wrapper header by default. That's why we don't provide\n * separate `ungzip` method.\n *\n * Supported options are:\n *\n * - windowBits\n *\n * [http://zlib.net/manual.html#Advanced](http://zlib.net/manual.html#Advanced)\n * for more information.\n *\n * Sugar (options):\n *\n * - `raw` (Boolean) - say that we work with raw stream, if you don't wish to specify\n * negative windowBits implicitly.\n * - `to` (String) - if equal to 'string', then result will be converted\n * from utf8 to utf16 (javascript) string. When string output requested,\n * chunk length can differ from `chunkSize`, depending on content.\n *\n *\n * ##### Example:\n *\n * ```javascript\n * var pako = require('pako')\n * , input = pako.deflate([1,2,3,4,5,6,7,8,9])\n * , output;\n *\n * try {\n * output = pako.inflate(input);\n * } catch (err)\n * console.log(err);\n * }\n * ```\n **/\nfunction inflate(input, options) {\n var inflator = new Inflate(options);\n\n inflator.push(input, true);\n\n // That will never happens, if you don't cheat with options :)\n if (inflator.err) { throw inflator.msg || msg[inflator.err]; }\n\n return inflator.result;\n}\n\n\n/**\n * inflateRaw(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * The same as [[inflate]], but creates raw data, without wrapper\n * (header and adler32 crc).\n **/\nfunction inflateRaw(input, options) {\n options = options || {};\n options.raw = true;\n return inflate(input, options);\n}\n\n\n/**\n * ungzip(data[, options]) -> Uint8Array|Array|String\n * - data (Uint8Array|Array|String): input data to decompress.\n * - options (Object): zlib inflate options.\n *\n * Just shortcut to [[inflate]], because it autodetects format\n * by header.content. Done for convenience.\n **/\n\n\nexports.Inflate = Inflate;\nexports.inflate = inflate;\nexports.inflateRaw = inflateRaw;\nexports.ungzip = inflate;\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/lib/inflate.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pako/lib/utils/common.js":
/*!****************************************************************!*\
!*** ../simple-mind-map/node_modules/pako/lib/utils/common.js ***!
\****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\n\nvar TYPED_OK = (typeof Uint8Array !== 'undefined') &&\n (typeof Uint16Array !== 'undefined') &&\n (typeof Int32Array !== 'undefined');\n\nfunction _has(obj, key) {\n return Object.prototype.hasOwnProperty.call(obj, key);\n}\n\nexports.assign = function (obj /*from1, from2, from3, ...*/) {\n var sources = Array.prototype.slice.call(arguments, 1);\n while (sources.length) {\n var source = sources.shift();\n if (!source) { continue; }\n\n if (typeof source !== 'object') {\n throw new TypeError(source + 'must be non-object');\n }\n\n for (var p in source) {\n if (_has(source, p)) {\n obj[p] = source[p];\n }\n }\n }\n\n return obj;\n};\n\n\n// reduce buffer size, avoiding mem copy\nexports.shrinkBuf = function (buf, size) {\n if (buf.length === size) { return buf; }\n if (buf.subarray) { return buf.subarray(0, size); }\n buf.length = size;\n return buf;\n};\n\n\nvar fnTyped = {\n arraySet: function (dest, src, src_offs, len, dest_offs) {\n if (src.subarray && dest.subarray) {\n dest.set(src.subarray(src_offs, src_offs + len), dest_offs);\n return;\n }\n // Fallback to ordinary array\n for (var i = 0; i < len; i++) {\n dest[dest_offs + i] = src[src_offs + i];\n }\n },\n // Join array of chunks to single array.\n flattenChunks: function (chunks) {\n var i, l, len, pos, chunk, result;\n\n // calculate data length\n len = 0;\n for (i = 0, l = chunks.length; i < l; i++) {\n len += chunks[i].length;\n }\n\n // join chunks\n result = new Uint8Array(len);\n pos = 0;\n for (i = 0, l = chunks.length; i < l; i++) {\n chunk = chunks[i];\n result.set(chunk, pos);\n pos += chunk.length;\n }\n\n return result;\n }\n};\n\nvar fnUntyped = {\n arraySet: function (dest, src, src_offs, len, dest_offs) {\n for (var i = 0; i < len; i++) {\n dest[dest_offs + i] = src[src_offs + i];\n }\n },\n // Join array of chunks to single array.\n flattenChunks: function (chunks) {\n return [].concat.apply([], chunks);\n }\n};\n\n\n// Enable/Disable typed arrays use, for testing\n//\nexports.setTyped = function (on) {\n if (on) {\n exports.Buf8 = Uint8Array;\n exports.Buf16 = Uint16Array;\n exports.Buf32 = Int32Array;\n exports.assign(exports, fnTyped);\n } else {\n exports.Buf8 = Array;\n exports.Buf16 = Array;\n exports.Buf32 = Array;\n exports.assign(exports, fnUntyped);\n }\n};\n\nexports.setTyped(TYPED_OK);\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/lib/utils/common.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pako/lib/utils/strings.js":
/*!*****************************************************************!*\
!*** ../simple-mind-map/node_modules/pako/lib/utils/strings.js ***!
\*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("// String encode/decode helpers\n\n\n\nvar utils = __webpack_require__(/*! ./common */ \"../simple-mind-map/node_modules/pako/lib/utils/common.js\");\n\n\n// Quick check if we can use fast array to bin string conversion\n//\n// - apply(Array) can fail on Android 2.2\n// - apply(Uint8Array) can fail on iOS 5.1 Safari\n//\nvar STR_APPLY_OK = true;\nvar STR_APPLY_UIA_OK = true;\n\ntry { String.fromCharCode.apply(null, [ 0 ]); } catch (__) { STR_APPLY_OK = false; }\ntry { String.fromCharCode.apply(null, new Uint8Array(1)); } catch (__) { STR_APPLY_UIA_OK = false; }\n\n\n// Table with utf8 lengths (calculated by first byte of sequence)\n// Note, that 5 & 6-byte values and some 4-byte values can not be represented in JS,\n// because max possible codepoint is 0x10ffff\nvar _utf8len = new utils.Buf8(256);\nfor (var q = 0; q < 256; q++) {\n _utf8len[q] = (q >= 252 ? 6 : q >= 248 ? 5 : q >= 240 ? 4 : q >= 224 ? 3 : q >= 192 ? 2 : 1);\n}\n_utf8len[254] = _utf8len[254] = 1; // Invalid sequence start\n\n\n// convert string to array (typed, when possible)\nexports.string2buf = function (str) {\n var buf, c, c2, m_pos, i, str_len = str.length, buf_len = 0;\n\n // count binary size\n for (m_pos = 0; m_pos < str_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {\n c2 = str.charCodeAt(m_pos + 1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n buf_len += c < 0x80 ? 1 : c < 0x800 ? 2 : c < 0x10000 ? 3 : 4;\n }\n\n // allocate buffer\n buf = new utils.Buf8(buf_len);\n\n // convert\n for (i = 0, m_pos = 0; i < buf_len; m_pos++) {\n c = str.charCodeAt(m_pos);\n if ((c & 0xfc00) === 0xd800 && (m_pos + 1 < str_len)) {\n c2 = str.charCodeAt(m_pos + 1);\n if ((c2 & 0xfc00) === 0xdc00) {\n c = 0x10000 + ((c - 0xd800) << 10) + (c2 - 0xdc00);\n m_pos++;\n }\n }\n if (c < 0x80) {\n /* one byte */\n buf[i++] = c;\n } else if (c < 0x800) {\n /* two bytes */\n buf[i++] = 0xC0 | (c >>> 6);\n buf[i++] = 0x80 | (c & 0x3f);\n } else if (c < 0x10000) {\n /* three bytes */\n buf[i++] = 0xE0 | (c >>> 12);\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n } else {\n /* four bytes */\n buf[i++] = 0xf0 | (c >>> 18);\n buf[i++] = 0x80 | (c >>> 12 & 0x3f);\n buf[i++] = 0x80 | (c >>> 6 & 0x3f);\n buf[i++] = 0x80 | (c & 0x3f);\n }\n }\n\n return buf;\n};\n\n// Helper (used in 2 places)\nfunction buf2binstring(buf, len) {\n // On Chrome, the arguments in a function call that are allowed is `65534`.\n // If the length of the buffer is smaller than that, we can use this optimization,\n // otherwise we will take a slower path.\n if (len < 65534) {\n if ((buf.subarray && STR_APPLY_UIA_OK) || (!buf.subarray && STR_APPLY_OK)) {\n return String.fromCharCode.apply(null, utils.shrinkBuf(buf, len));\n }\n }\n\n var result = '';\n for (var i = 0; i < len; i++) {\n result += String.fromCharCode(buf[i]);\n }\n return result;\n}\n\n\n// Convert byte array to binary string\nexports.buf2binstring = function (buf) {\n return buf2binstring(buf, buf.length);\n};\n\n\n// Convert binary string (typed, when possible)\nexports.binstring2buf = function (str) {\n var buf = new utils.Buf8(str.length);\n for (var i = 0, len = buf.length; i < len; i++) {\n buf[i] = str.charCodeAt(i);\n }\n return buf;\n};\n\n\n// convert array to string\nexports.buf2string = function (buf, max) {\n var i, out, c, c_len;\n var len = max || buf.length;\n\n // Reserve max possible length (2 words per char)\n // NB: by unknown reasons, Array is significantly faster for\n // String.fromCharCode.apply than Uint16Array.\n var utf16buf = new Array(len * 2);\n\n for (out = 0, i = 0; i < len;) {\n c = buf[i++];\n // quick process ascii\n if (c < 0x80) { utf16buf[out++] = c; continue; }\n\n c_len = _utf8len[c];\n // skip 5 & 6 byte codes\n if (c_len > 4) { utf16buf[out++] = 0xfffd; i += c_len - 1; continue; }\n\n // apply mask on first byte\n c &= c_len === 2 ? 0x1f : c_len === 3 ? 0x0f : 0x07;\n // join the rest\n while (c_len > 1 && i < len) {\n c = (c << 6) | (buf[i++] & 0x3f);\n c_len--;\n }\n\n // terminated by end of string?\n if (c_len > 1) { utf16buf[out++] = 0xfffd; continue; }\n\n if (c < 0x10000) {\n utf16buf[out++] = c;\n } else {\n c -= 0x10000;\n utf16buf[out++] = 0xd800 | ((c >> 10) & 0x3ff);\n utf16buf[out++] = 0xdc00 | (c & 0x3ff);\n }\n }\n\n return buf2binstring(utf16buf, out);\n};\n\n\n// Calculate max possible position in utf8 buffer,\n// that will not break sequence. If that's not possible\n// - (very small limits) return max size as is.\n//\n// buf[] - utf8 bytes array\n// max - length limit (mandatory);\nexports.utf8border = function (buf, max) {\n var pos;\n\n max = max || buf.length;\n if (max > buf.length) { max = buf.length; }\n\n // go back from last position, until start of sequence found\n pos = max - 1;\n while (pos >= 0 && (buf[pos] & 0xC0) === 0x80) { pos--; }\n\n // Very small and broken sequence,\n // return max, because we should return something anyway.\n if (pos < 0) { return max; }\n\n // If we came to start of buffer - that means buffer is too small,\n // return max too.\n if (pos === 0) { return max; }\n\n return (pos + _utf8len[buf[pos]] > max) ? pos : max;\n};\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/lib/utils/strings.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pako/lib/zlib/adler32.js":
/*!****************************************************************!*\
!*** ../simple-mind-map/node_modules/pako/lib/zlib/adler32.js ***!
\****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\n// Note: adler32 takes 12% for level 0 and 2% for level 6.\n// It isn't worth it to make additional optimizations as in original.\n// Small size is preferable.\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction adler32(adler, buf, len, pos) {\n var s1 = (adler & 0xffff) |0,\n s2 = ((adler >>> 16) & 0xffff) |0,\n n = 0;\n\n while (len !== 0) {\n // Set limit ~ twice less than 5552, to keep\n // s2 in 31-bits, because we force signed ints.\n // in other case %= will fail.\n n = len > 2000 ? 2000 : len;\n len -= n;\n\n do {\n s1 = (s1 + buf[pos++]) |0;\n s2 = (s2 + s1) |0;\n } while (--n);\n\n s1 %= 65521;\n s2 %= 65521;\n }\n\n return (s1 | (s2 << 16)) |0;\n}\n\n\nmodule.exports = adler32;\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/lib/zlib/adler32.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pako/lib/zlib/constants.js":
/*!******************************************************************!*\
!*** ../simple-mind-map/node_modules/pako/lib/zlib/constants.js ***!
\******************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nmodule.exports = {\n\n /* Allowed flush values; see deflate() and inflate() below for details */\n Z_NO_FLUSH: 0,\n Z_PARTIAL_FLUSH: 1,\n Z_SYNC_FLUSH: 2,\n Z_FULL_FLUSH: 3,\n Z_FINISH: 4,\n Z_BLOCK: 5,\n Z_TREES: 6,\n\n /* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\n Z_OK: 0,\n Z_STREAM_END: 1,\n Z_NEED_DICT: 2,\n Z_ERRNO: -1,\n Z_STREAM_ERROR: -2,\n Z_DATA_ERROR: -3,\n //Z_MEM_ERROR: -4,\n Z_BUF_ERROR: -5,\n //Z_VERSION_ERROR: -6,\n\n /* compression levels */\n Z_NO_COMPRESSION: 0,\n Z_BEST_SPEED: 1,\n Z_BEST_COMPRESSION: 9,\n Z_DEFAULT_COMPRESSION: -1,\n\n\n Z_FILTERED: 1,\n Z_HUFFMAN_ONLY: 2,\n Z_RLE: 3,\n Z_FIXED: 4,\n Z_DEFAULT_STRATEGY: 0,\n\n /* Possible values of the data_type field (though see inflate()) */\n Z_BINARY: 0,\n Z_TEXT: 1,\n //Z_ASCII: 1, // = Z_TEXT (deprecated)\n Z_UNKNOWN: 2,\n\n /* The deflate compression method */\n Z_DEFLATED: 8\n //Z_NULL: null // Use -1 or null inline, depending on var type\n};\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/lib/zlib/constants.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pako/lib/zlib/crc32.js":
/*!**************************************************************!*\
!*** ../simple-mind-map/node_modules/pako/lib/zlib/crc32.js ***!
\**************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\n// Note: we can't get significant speed boost here.\n// So write code to minimize size - no pregenerated tables\n// and array tools dependencies.\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n// Use ordinary array, since untyped makes no boost here\nfunction makeTable() {\n var c, table = [];\n\n for (var n = 0; n < 256; n++) {\n c = n;\n for (var k = 0; k < 8; k++) {\n c = ((c & 1) ? (0xEDB88320 ^ (c >>> 1)) : (c >>> 1));\n }\n table[n] = c;\n }\n\n return table;\n}\n\n// Create table on load. Just 255 signed longs. Not a problem.\nvar crcTable = makeTable();\n\n\nfunction crc32(crc, buf, len, pos) {\n var t = crcTable,\n end = pos + len;\n\n crc ^= -1;\n\n for (var i = pos; i < end; i++) {\n crc = (crc >>> 8) ^ t[(crc ^ buf[i]) & 0xFF];\n }\n\n return (crc ^ (-1)); // >>> 0;\n}\n\n\nmodule.exports = crc32;\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/lib/zlib/crc32.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pako/lib/zlib/deflate.js":
/*!****************************************************************!*\
!*** ../simple-mind-map/node_modules/pako/lib/zlib/deflate.js ***!
\****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar utils = __webpack_require__(/*! ../utils/common */ \"../simple-mind-map/node_modules/pako/lib/utils/common.js\");\nvar trees = __webpack_require__(/*! ./trees */ \"../simple-mind-map/node_modules/pako/lib/zlib/trees.js\");\nvar adler32 = __webpack_require__(/*! ./adler32 */ \"../simple-mind-map/node_modules/pako/lib/zlib/adler32.js\");\nvar crc32 = __webpack_require__(/*! ./crc32 */ \"../simple-mind-map/node_modules/pako/lib/zlib/crc32.js\");\nvar msg = __webpack_require__(/*! ./messages */ \"../simple-mind-map/node_modules/pako/lib/zlib/messages.js\");\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n/* Allowed flush values; see deflate() and inflate() below for details */\nvar Z_NO_FLUSH = 0;\nvar Z_PARTIAL_FLUSH = 1;\n//var Z_SYNC_FLUSH = 2;\nvar Z_FULL_FLUSH = 3;\nvar Z_FINISH = 4;\nvar Z_BLOCK = 5;\n//var Z_TREES = 6;\n\n\n/* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\n//var Z_NEED_DICT = 2;\n//var Z_ERRNO = -1;\nvar Z_STREAM_ERROR = -2;\nvar Z_DATA_ERROR = -3;\n//var Z_MEM_ERROR = -4;\nvar Z_BUF_ERROR = -5;\n//var Z_VERSION_ERROR = -6;\n\n\n/* compression levels */\n//var Z_NO_COMPRESSION = 0;\n//var Z_BEST_SPEED = 1;\n//var Z_BEST_COMPRESSION = 9;\nvar Z_DEFAULT_COMPRESSION = -1;\n\n\nvar Z_FILTERED = 1;\nvar Z_HUFFMAN_ONLY = 2;\nvar Z_RLE = 3;\nvar Z_FIXED = 4;\nvar Z_DEFAULT_STRATEGY = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\n//var Z_BINARY = 0;\n//var Z_TEXT = 1;\n//var Z_ASCII = 1; // = Z_TEXT\nvar Z_UNKNOWN = 2;\n\n\n/* The deflate compression method */\nvar Z_DEFLATED = 8;\n\n/*============================================================================*/\n\n\nvar MAX_MEM_LEVEL = 9;\n/* Maximum value for memLevel in deflateInit2 */\nvar MAX_WBITS = 15;\n/* 32K LZ77 window */\nvar DEF_MEM_LEVEL = 8;\n\n\nvar LENGTH_CODES = 29;\n/* number of length codes, not counting the special END_BLOCK code */\nvar LITERALS = 256;\n/* number of literal bytes 0..255 */\nvar L_CODES = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\nvar D_CODES = 30;\n/* number of distance codes */\nvar BL_CODES = 19;\n/* number of codes used to transfer the bit lengths */\nvar HEAP_SIZE = 2 * L_CODES + 1;\n/* maximum heap size */\nvar MAX_BITS = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nvar MIN_MATCH = 3;\nvar MAX_MATCH = 258;\nvar MIN_LOOKAHEAD = (MAX_MATCH + MIN_MATCH + 1);\n\nvar PRESET_DICT = 0x20;\n\nvar INIT_STATE = 42;\nvar EXTRA_STATE = 69;\nvar NAME_STATE = 73;\nvar COMMENT_STATE = 91;\nvar HCRC_STATE = 103;\nvar BUSY_STATE = 113;\nvar FINISH_STATE = 666;\n\nvar BS_NEED_MORE = 1; /* block not completed, need more input or more output */\nvar BS_BLOCK_DONE = 2; /* block flush performed */\nvar BS_FINISH_STARTED = 3; /* finish started, need only more output at next deflate */\nvar BS_FINISH_DONE = 4; /* finish done, accept no more input or output */\n\nvar OS_CODE = 0x03; // Unix :) . Don't detect, use this default.\n\nfunction err(strm, errorCode) {\n strm.msg = msg[errorCode];\n return errorCode;\n}\n\nfunction rank(f) {\n return ((f) << 1) - ((f) > 4 ? 9 : 0);\n}\n\nfunction zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n\n/* =========================================================================\n * Flush as much pending output as possible. All deflate() output goes\n * through this function so some applications may wish to modify it\n * to avoid allocating a large strm->output buffer and copying into it.\n * (See also read_buf()).\n */\nfunction flush_pending(strm) {\n var s = strm.state;\n\n //_tr_flush_bits(s);\n var len = s.pending;\n if (len > strm.avail_out) {\n len = strm.avail_out;\n }\n if (len === 0) { return; }\n\n utils.arraySet(strm.output, s.pending_buf, s.pending_out, len, strm.next_out);\n strm.next_out += len;\n s.pending_out += len;\n strm.total_out += len;\n strm.avail_out -= len;\n s.pending -= len;\n if (s.pending === 0) {\n s.pending_out = 0;\n }\n}\n\n\nfunction flush_block_only(s, last) {\n trees._tr_flush_block(s, (s.block_start >= 0 ? s.block_start : -1), s.strstart - s.block_start, last);\n s.block_start = s.strstart;\n flush_pending(s.strm);\n}\n\n\nfunction put_byte(s, b) {\n s.pending_buf[s.pending++] = b;\n}\n\n\n/* =========================================================================\n * Put a short in the pending buffer. The 16-bit value is put in MSB order.\n * IN assertion: the stream state is correct and there is enough room in\n * pending_buf.\n */\nfunction putShortMSB(s, b) {\n// put_byte(s, (Byte)(b >> 8));\n// put_byte(s, (Byte)(b & 0xff));\n s.pending_buf[s.pending++] = (b >>> 8) & 0xff;\n s.pending_buf[s.pending++] = b & 0xff;\n}\n\n\n/* ===========================================================================\n * Read a new buffer from the current input stream, update the adler32\n * and total number of bytes read. All deflate() input goes through\n * this function so some applications may wish to modify it to avoid\n * allocating a large strm->input buffer and copying from it.\n * (See also flush_pending()).\n */\nfunction read_buf(strm, buf, start, size) {\n var len = strm.avail_in;\n\n if (len > size) { len = size; }\n if (len === 0) { return 0; }\n\n strm.avail_in -= len;\n\n // zmemcpy(buf, strm->next_in, len);\n utils.arraySet(buf, strm.input, strm.next_in, len, start);\n if (strm.state.wrap === 1) {\n strm.adler = adler32(strm.adler, buf, len, start);\n }\n\n else if (strm.state.wrap === 2) {\n strm.adler = crc32(strm.adler, buf, len, start);\n }\n\n strm.next_in += len;\n strm.total_in += len;\n\n return len;\n}\n\n\n/* ===========================================================================\n * Set match_start to the longest match starting at the given string and\n * return its length. Matches shorter or equal to prev_length are discarded,\n * in which case the result is equal to prev_length and match_start is\n * garbage.\n * IN assertions: cur_match is the head of the hash chain for the current\n * string (strstart) and its distance is <= MAX_DIST, and prev_length >= 1\n * OUT assertion: the match length is not greater than s->lookahead.\n */\nfunction longest_match(s, cur_match) {\n var chain_length = s.max_chain_length; /* max hash chain length */\n var scan = s.strstart; /* current string */\n var match; /* matched string */\n var len; /* length of current match */\n var best_len = s.prev_length; /* best match length so far */\n var nice_match = s.nice_match; /* stop if match long enough */\n var limit = (s.strstart > (s.w_size - MIN_LOOKAHEAD)) ?\n s.strstart - (s.w_size - MIN_LOOKAHEAD) : 0/*NIL*/;\n\n var _win = s.window; // shortcut\n\n var wmask = s.w_mask;\n var prev = s.prev;\n\n /* Stop when cur_match becomes <= limit. To simplify the code,\n * we prevent matches with the string of window index 0.\n */\n\n var strend = s.strstart + MAX_MATCH;\n var scan_end1 = _win[scan + best_len - 1];\n var scan_end = _win[scan + best_len];\n\n /* The code is optimized for HASH_BITS >= 8 and MAX_MATCH-2 multiple of 16.\n * It is easy to get rid of this optimization if necessary.\n */\n // Assert(s->hash_bits >= 8 && MAX_MATCH == 258, \"Code too clever\");\n\n /* Do not waste too much time if we already have a good match: */\n if (s.prev_length >= s.good_match) {\n chain_length >>= 2;\n }\n /* Do not look for matches beyond the end of the input. This is necessary\n * to make deflate deterministic.\n */\n if (nice_match > s.lookahead) { nice_match = s.lookahead; }\n\n // Assert((ulg)s->strstart <= s->window_size-MIN_LOOKAHEAD, \"need lookahead\");\n\n do {\n // Assert(cur_match < s->strstart, \"no future\");\n match = cur_match;\n\n /* Skip to next match if the match length cannot increase\n * or if the match length is less than 2. Note that the checks below\n * for insufficient lookahead only occur occasionally for performance\n * reasons. Therefore uninitialized memory will be accessed, and\n * conditional jumps will be made that depend on those values.\n * However the length of the match is limited to the lookahead, so\n * the output of deflate is not affected by the uninitialized values.\n */\n\n if (_win[match + best_len] !== scan_end ||\n _win[match + best_len - 1] !== scan_end1 ||\n _win[match] !== _win[scan] ||\n _win[++match] !== _win[scan + 1]) {\n continue;\n }\n\n /* The check at best_len-1 can be removed because it will be made\n * again later. (This heuristic is not always a win.)\n * It is not necessary to compare scan[2] and match[2] since they\n * are always equal when the other bytes match, given that\n * the hash keys are equal and that HASH_BITS >= 8.\n */\n scan += 2;\n match++;\n // Assert(*scan == *match, \"match[2]?\");\n\n /* We check for insufficient lookahead only every 8th comparison;\n * the 256th check will be made at strstart+258.\n */\n do {\n /*jshint noempty:false*/\n } while (_win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n _win[++scan] === _win[++match] && _win[++scan] === _win[++match] &&\n scan < strend);\n\n // Assert(scan <= s->window+(unsigned)(s->window_size-1), \"wild scan\");\n\n len = MAX_MATCH - (strend - scan);\n scan = strend - MAX_MATCH;\n\n if (len > best_len) {\n s.match_start = cur_match;\n best_len = len;\n if (len >= nice_match) {\n break;\n }\n scan_end1 = _win[scan + best_len - 1];\n scan_end = _win[scan + best_len];\n }\n } while ((cur_match = prev[cur_match & wmask]) > limit && --chain_length !== 0);\n\n if (best_len <= s.lookahead) {\n return best_len;\n }\n return s.lookahead;\n}\n\n\n/* ===========================================================================\n * Fill the window when the lookahead becomes insufficient.\n * Updates strstart and lookahead.\n *\n * IN assertion: lookahead < MIN_LOOKAHEAD\n * OUT assertions: strstart <= window_size-MIN_LOOKAHEAD\n * At least one byte has been read, or avail_in == 0; reads are\n * performed for at least two bytes (required for the zip translate_eol\n * option -- not supported here).\n */\nfunction fill_window(s) {\n var _w_size = s.w_size;\n var p, n, m, more, str;\n\n //Assert(s->lookahead < MIN_LOOKAHEAD, \"already enough lookahead\");\n\n do {\n more = s.window_size - s.lookahead - s.strstart;\n\n // JS ints have 32 bit, block below not needed\n /* Deal with !@#$% 64K limit: */\n //if (sizeof(int) <= 2) {\n // if (more == 0 && s->strstart == 0 && s->lookahead == 0) {\n // more = wsize;\n //\n // } else if (more == (unsigned)(-1)) {\n // /* Very unlikely, but possible on 16 bit machine if\n // * strstart == 0 && lookahead == 1 (input done a byte at time)\n // */\n // more--;\n // }\n //}\n\n\n /* If the window is almost full and there is insufficient lookahead,\n * move the upper half to the lower one to make room in the upper half.\n */\n if (s.strstart >= _w_size + (_w_size - MIN_LOOKAHEAD)) {\n\n utils.arraySet(s.window, s.window, _w_size, _w_size, 0);\n s.match_start -= _w_size;\n s.strstart -= _w_size;\n /* we now have strstart >= MAX_DIST */\n s.block_start -= _w_size;\n\n /* Slide the hash table (could be avoided with 32 bit values\n at the expense of memory usage). We slide even when level == 0\n to keep the hash table consistent if we switch back to level > 0\n later. (Using level 0 permanently is not an optimal usage of\n zlib, so we don't care about this pathological case.)\n */\n\n n = s.hash_size;\n p = n;\n do {\n m = s.head[--p];\n s.head[p] = (m >= _w_size ? m - _w_size : 0);\n } while (--n);\n\n n = _w_size;\n p = n;\n do {\n m = s.prev[--p];\n s.prev[p] = (m >= _w_size ? m - _w_size : 0);\n /* If n is not on any hash chain, prev[n] is garbage but\n * its value will never be used.\n */\n } while (--n);\n\n more += _w_size;\n }\n if (s.strm.avail_in === 0) {\n break;\n }\n\n /* If there was no sliding:\n * strstart <= WSIZE+MAX_DIST-1 && lookahead <= MIN_LOOKAHEAD - 1 &&\n * more == window_size - lookahead - strstart\n * => more >= window_size - (MIN_LOOKAHEAD-1 + WSIZE + MAX_DIST-1)\n * => more >= window_size - 2*WSIZE + 2\n * In the BIG_MEM or MMAP case (not yet supported),\n * window_size == input_size + MIN_LOOKAHEAD &&\n * strstart + s->lookahead <= input_size => more >= MIN_LOOKAHEAD.\n * Otherwise, window_size == 2*WSIZE so more >= 2.\n * If there was sliding, more >= WSIZE. So in all cases, more >= 2.\n */\n //Assert(more >= 2, \"more < 2\");\n n = read_buf(s.strm, s.window, s.strstart + s.lookahead, more);\n s.lookahead += n;\n\n /* Initialize the hash value now that we have some input: */\n if (s.lookahead + s.insert >= MIN_MATCH) {\n str = s.strstart - s.insert;\n s.ins_h = s.window[str];\n\n /* UPDATE_HASH(s, s->ins_h, s->window[str + 1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + 1]) & s.hash_mask;\n//#if MIN_MATCH != 3\n// Call update_hash() MIN_MATCH-3 more times\n//#endif\n while (s.insert) {\n /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask;\n\n s.prev[str & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = str;\n str++;\n s.insert--;\n if (s.lookahead + s.insert < MIN_MATCH) {\n break;\n }\n }\n }\n /* If the whole input has less than MIN_MATCH bytes, ins_h is garbage,\n * but this is not important since only literal bytes will be emitted.\n */\n\n } while (s.lookahead < MIN_LOOKAHEAD && s.strm.avail_in !== 0);\n\n /* If the WIN_INIT bytes after the end of the current data have never been\n * written, then zero those bytes in order to avoid memory check reports of\n * the use of uninitialized (or uninitialised as Julian writes) bytes by\n * the longest match routines. Update the high water mark for the next\n * time through here. WIN_INIT is set to MAX_MATCH since the longest match\n * routines allow scanning to strstart + MAX_MATCH, ignoring lookahead.\n */\n// if (s.high_water < s.window_size) {\n// var curr = s.strstart + s.lookahead;\n// var init = 0;\n//\n// if (s.high_water < curr) {\n// /* Previous high water mark below current data -- zero WIN_INIT\n// * bytes or up to end of window, whichever is less.\n// */\n// init = s.window_size - curr;\n// if (init > WIN_INIT)\n// init = WIN_INIT;\n// zmemzero(s->window + curr, (unsigned)init);\n// s->high_water = curr + init;\n// }\n// else if (s->high_water < (ulg)curr + WIN_INIT) {\n// /* High water mark at or above current data, but below current data\n// * plus WIN_INIT -- zero out to current data plus WIN_INIT, or up\n// * to end of window, whichever is less.\n// */\n// init = (ulg)curr + WIN_INIT - s->high_water;\n// if (init > s->window_size - s->high_water)\n// init = s->window_size - s->high_water;\n// zmemzero(s->window + s->high_water, (unsigned)init);\n// s->high_water += init;\n// }\n// }\n//\n// Assert((ulg)s->strstart <= s->window_size - MIN_LOOKAHEAD,\n// \"not enough room for search\");\n}\n\n/* ===========================================================================\n * Copy without compression as much as possible from the input stream, return\n * the current block state.\n * This function does not insert new strings in the dictionary since\n * uncompressible data is probably not useful. This function is used\n * only for the level=0 compression option.\n * NOTE: this function should be optimized to avoid extra copying from\n * window to pending_buf.\n */\nfunction deflate_stored(s, flush) {\n /* Stored blocks are limited to 0xffff bytes, pending_buf is limited\n * to pending_buf_size, and each stored block has a 5 byte header:\n */\n var max_block_size = 0xffff;\n\n if (max_block_size > s.pending_buf_size - 5) {\n max_block_size = s.pending_buf_size - 5;\n }\n\n /* Copy as much as possible from input to output: */\n for (;;) {\n /* Fill the window as much as possible: */\n if (s.lookahead <= 1) {\n\n //Assert(s->strstart < s->w_size+MAX_DIST(s) ||\n // s->block_start >= (long)s->w_size, \"slide too late\");\n// if (!(s.strstart < s.w_size + (s.w_size - MIN_LOOKAHEAD) ||\n// s.block_start >= s.w_size)) {\n// throw new Error(\"slide too late\");\n// }\n\n fill_window(s);\n if (s.lookahead === 0 && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n\n if (s.lookahead === 0) {\n break;\n }\n /* flush the current block */\n }\n //Assert(s->block_start >= 0L, \"block gone\");\n// if (s.block_start < 0) throw new Error(\"block gone\");\n\n s.strstart += s.lookahead;\n s.lookahead = 0;\n\n /* Emit a stored block if pending_buf will be full: */\n var max_start = s.block_start + max_block_size;\n\n if (s.strstart === 0 || s.strstart >= max_start) {\n /* strstart == 0 is possible when wraparound on 16-bit machine */\n s.lookahead = s.strstart - max_start;\n s.strstart = max_start;\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n\n\n }\n /* Flush if we may have to slide, otherwise block_start may become\n * negative and the data will be gone:\n */\n if (s.strstart - s.block_start >= (s.w_size - MIN_LOOKAHEAD)) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n\n s.insert = 0;\n\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n\n if (s.strstart > s.block_start) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n return BS_NEED_MORE;\n}\n\n/* ===========================================================================\n * Compress as much as possible from the input stream, return the current\n * block state.\n * This function does not perform lazy evaluation of matches and inserts\n * new strings in the dictionary only for unmatched strings or for short\n * matches. It is used only for the fast compression options.\n */\nfunction deflate_fast(s, flush) {\n var hash_head; /* head of the hash chain */\n var bflush; /* set if current block must be flushed */\n\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n if (s.lookahead < MIN_LOOKAHEAD) {\n fill_window(s);\n if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) {\n break; /* flush the current block */\n }\n }\n\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n hash_head = 0/*NIL*/;\n if (s.lookahead >= MIN_MATCH) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n\n /* Find the longest match, discarding those <= prev_length.\n * At this point we have always match_length < MIN_MATCH\n */\n if (hash_head !== 0/*NIL*/ && ((s.strstart - hash_head) <= (s.w_size - MIN_LOOKAHEAD))) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n s.match_length = longest_match(s, hash_head);\n /* longest_match() sets match_start */\n }\n if (s.match_length >= MIN_MATCH) {\n // check_match(s, s.strstart, s.match_start, s.match_length); // for debug only\n\n /*** _tr_tally_dist(s, s.strstart - s.match_start,\n s.match_length - MIN_MATCH, bflush); ***/\n bflush = trees._tr_tally(s, s.strstart - s.match_start, s.match_length - MIN_MATCH);\n\n s.lookahead -= s.match_length;\n\n /* Insert new strings in the hash table only if the match length\n * is not too large. This saves time but degrades compression.\n */\n if (s.match_length <= s.max_lazy_match/*max_insert_length*/ && s.lookahead >= MIN_MATCH) {\n s.match_length--; /* string at strstart already in table */\n do {\n s.strstart++;\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n /* strstart never exceeds WSIZE-MAX_MATCH, so there are\n * always MIN_MATCH bytes ahead.\n */\n } while (--s.match_length !== 0);\n s.strstart++;\n } else\n {\n s.strstart += s.match_length;\n s.match_length = 0;\n s.ins_h = s.window[s.strstart];\n /* UPDATE_HASH(s, s.ins_h, s.window[s.strstart+1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + 1]) & s.hash_mask;\n\n//#if MIN_MATCH != 3\n// Call UPDATE_HASH() MIN_MATCH-3 more times\n//#endif\n /* If lookahead < MIN_MATCH, ins_h is garbage, but it does not\n * matter since it will be recomputed at next deflate call.\n */\n }\n } else {\n /* No match, output a literal byte */\n //Tracevv((stderr,\"%c\", s.window[s.strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n\n s.lookahead--;\n s.strstart++;\n }\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = ((s.strstart < (MIN_MATCH - 1)) ? s.strstart : MIN_MATCH - 1);\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* ===========================================================================\n * Same as above, but achieves better compression. We use a lazy\n * evaluation for matches: a match is finally adopted only if there is\n * no better match at the next window position.\n */\nfunction deflate_slow(s, flush) {\n var hash_head; /* head of hash chain */\n var bflush; /* set if current block must be flushed */\n\n var max_insert;\n\n /* Process the input block. */\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the next match, plus MIN_MATCH bytes to insert the\n * string following the next match.\n */\n if (s.lookahead < MIN_LOOKAHEAD) {\n fill_window(s);\n if (s.lookahead < MIN_LOOKAHEAD && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) { break; } /* flush the current block */\n }\n\n /* Insert the string window[strstart .. strstart+2] in the\n * dictionary, and set hash_head to the head of the hash chain:\n */\n hash_head = 0/*NIL*/;\n if (s.lookahead >= MIN_MATCH) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n\n /* Find the longest match, discarding those <= prev_length.\n */\n s.prev_length = s.match_length;\n s.prev_match = s.match_start;\n s.match_length = MIN_MATCH - 1;\n\n if (hash_head !== 0/*NIL*/ && s.prev_length < s.max_lazy_match &&\n s.strstart - hash_head <= (s.w_size - MIN_LOOKAHEAD)/*MAX_DIST(s)*/) {\n /* To simplify the code, we prevent matches with the string\n * of window index 0 (in particular we have to avoid a match\n * of the string with itself at the start of the input file).\n */\n s.match_length = longest_match(s, hash_head);\n /* longest_match() sets match_start */\n\n if (s.match_length <= 5 &&\n (s.strategy === Z_FILTERED || (s.match_length === MIN_MATCH && s.strstart - s.match_start > 4096/*TOO_FAR*/))) {\n\n /* If prev_match is also MIN_MATCH, match_start is garbage\n * but we will ignore the current match anyway.\n */\n s.match_length = MIN_MATCH - 1;\n }\n }\n /* If there was a match at the previous step and the current\n * match is not better, output the previous match:\n */\n if (s.prev_length >= MIN_MATCH && s.match_length <= s.prev_length) {\n max_insert = s.strstart + s.lookahead - MIN_MATCH;\n /* Do not insert strings in hash table beyond this. */\n\n //check_match(s, s.strstart-1, s.prev_match, s.prev_length);\n\n /***_tr_tally_dist(s, s.strstart - 1 - s.prev_match,\n s.prev_length - MIN_MATCH, bflush);***/\n bflush = trees._tr_tally(s, s.strstart - 1 - s.prev_match, s.prev_length - MIN_MATCH);\n /* Insert in hash table all strings up to the end of the match.\n * strstart-1 and strstart are already inserted. If there is not\n * enough lookahead, the last two strings are not inserted in\n * the hash table.\n */\n s.lookahead -= s.prev_length - 1;\n s.prev_length -= 2;\n do {\n if (++s.strstart <= max_insert) {\n /*** INSERT_STRING(s, s.strstart, hash_head); ***/\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[s.strstart + MIN_MATCH - 1]) & s.hash_mask;\n hash_head = s.prev[s.strstart & s.w_mask] = s.head[s.ins_h];\n s.head[s.ins_h] = s.strstart;\n /***/\n }\n } while (--s.prev_length !== 0);\n s.match_available = 0;\n s.match_length = MIN_MATCH - 1;\n s.strstart++;\n\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n } else if (s.match_available) {\n /* If there was no match at the previous position, output a\n * single literal. If there was a match but the current match\n * is longer, truncate the previous match to a single literal.\n */\n //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]);\n\n if (bflush) {\n /*** FLUSH_BLOCK_ONLY(s, 0) ***/\n flush_block_only(s, false);\n /***/\n }\n s.strstart++;\n s.lookahead--;\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n } else {\n /* There is no previous match to compare with, wait for\n * the next step to decide.\n */\n s.match_available = 1;\n s.strstart++;\n s.lookahead--;\n }\n }\n //Assert (flush != Z_NO_FLUSH, \"no flush?\");\n if (s.match_available) {\n //Tracevv((stderr,\"%c\", s->window[s->strstart-1]));\n /*** _tr_tally_lit(s, s.window[s.strstart-1], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart - 1]);\n\n s.match_available = 0;\n }\n s.insert = s.strstart < MIN_MATCH - 1 ? s.strstart : MIN_MATCH - 1;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n\n return BS_BLOCK_DONE;\n}\n\n\n/* ===========================================================================\n * For Z_RLE, simply look for runs of bytes, generate matches only of distance\n * one. Do not maintain a hash table. (It will be regenerated if this run of\n * deflate switches away from Z_RLE.)\n */\nfunction deflate_rle(s, flush) {\n var bflush; /* set if current block must be flushed */\n var prev; /* byte at distance one to match */\n var scan, strend; /* scan goes up to strend for length of run */\n\n var _win = s.window;\n\n for (;;) {\n /* Make sure that we always have enough lookahead, except\n * at the end of the input file. We need MAX_MATCH bytes\n * for the longest run, plus one for the unrolled loop.\n */\n if (s.lookahead <= MAX_MATCH) {\n fill_window(s);\n if (s.lookahead <= MAX_MATCH && flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n if (s.lookahead === 0) { break; } /* flush the current block */\n }\n\n /* See how many times the previous byte repeats */\n s.match_length = 0;\n if (s.lookahead >= MIN_MATCH && s.strstart > 0) {\n scan = s.strstart - 1;\n prev = _win[scan];\n if (prev === _win[++scan] && prev === _win[++scan] && prev === _win[++scan]) {\n strend = s.strstart + MAX_MATCH;\n do {\n /*jshint noempty:false*/\n } while (prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n prev === _win[++scan] && prev === _win[++scan] &&\n scan < strend);\n s.match_length = MAX_MATCH - (strend - scan);\n if (s.match_length > s.lookahead) {\n s.match_length = s.lookahead;\n }\n }\n //Assert(scan <= s->window+(uInt)(s->window_size-1), \"wild scan\");\n }\n\n /* Emit match if have run of MIN_MATCH or longer, else emit literal */\n if (s.match_length >= MIN_MATCH) {\n //check_match(s, s.strstart, s.strstart - 1, s.match_length);\n\n /*** _tr_tally_dist(s, 1, s.match_length - MIN_MATCH, bflush); ***/\n bflush = trees._tr_tally(s, 1, s.match_length - MIN_MATCH);\n\n s.lookahead -= s.match_length;\n s.strstart += s.match_length;\n s.match_length = 0;\n } else {\n /* No match, output a literal byte */\n //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n\n s.lookahead--;\n s.strstart++;\n }\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = 0;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* ===========================================================================\n * For Z_HUFFMAN_ONLY, do not look for matches. Do not maintain a hash table.\n * (It will be regenerated if this run of deflate switches away from Huffman.)\n */\nfunction deflate_huff(s, flush) {\n var bflush; /* set if current block must be flushed */\n\n for (;;) {\n /* Make sure that we have a literal to write. */\n if (s.lookahead === 0) {\n fill_window(s);\n if (s.lookahead === 0) {\n if (flush === Z_NO_FLUSH) {\n return BS_NEED_MORE;\n }\n break; /* flush the current block */\n }\n }\n\n /* Output a literal byte */\n s.match_length = 0;\n //Tracevv((stderr,\"%c\", s->window[s->strstart]));\n /*** _tr_tally_lit(s, s.window[s.strstart], bflush); ***/\n bflush = trees._tr_tally(s, 0, s.window[s.strstart]);\n s.lookahead--;\n s.strstart++;\n if (bflush) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n }\n s.insert = 0;\n if (flush === Z_FINISH) {\n /*** FLUSH_BLOCK(s, 1); ***/\n flush_block_only(s, true);\n if (s.strm.avail_out === 0) {\n return BS_FINISH_STARTED;\n }\n /***/\n return BS_FINISH_DONE;\n }\n if (s.last_lit) {\n /*** FLUSH_BLOCK(s, 0); ***/\n flush_block_only(s, false);\n if (s.strm.avail_out === 0) {\n return BS_NEED_MORE;\n }\n /***/\n }\n return BS_BLOCK_DONE;\n}\n\n/* Values for max_lazy_match, good_match and max_chain_length, depending on\n * the desired pack level (0..9). The values given below have been tuned to\n * exclude worst case performance for pathological files. Better values may be\n * found for specific files.\n */\nfunction Config(good_length, max_lazy, nice_length, max_chain, func) {\n this.good_length = good_length;\n this.max_lazy = max_lazy;\n this.nice_length = nice_length;\n this.max_chain = max_chain;\n this.func = func;\n}\n\nvar configuration_table;\n\nconfiguration_table = [\n /* good lazy nice chain */\n new Config(0, 0, 0, 0, deflate_stored), /* 0 store only */\n new Config(4, 4, 8, 4, deflate_fast), /* 1 max speed, no lazy matches */\n new Config(4, 5, 16, 8, deflate_fast), /* 2 */\n new Config(4, 6, 32, 32, deflate_fast), /* 3 */\n\n new Config(4, 4, 16, 16, deflate_slow), /* 4 lazy matches */\n new Config(8, 16, 32, 32, deflate_slow), /* 5 */\n new Config(8, 16, 128, 128, deflate_slow), /* 6 */\n new Config(8, 32, 128, 256, deflate_slow), /* 7 */\n new Config(32, 128, 258, 1024, deflate_slow), /* 8 */\n new Config(32, 258, 258, 4096, deflate_slow) /* 9 max compression */\n];\n\n\n/* ===========================================================================\n * Initialize the \"longest match\" routines for a new zlib stream\n */\nfunction lm_init(s) {\n s.window_size = 2 * s.w_size;\n\n /*** CLEAR_HASH(s); ***/\n zero(s.head); // Fill with NIL (= 0);\n\n /* Set the default configuration parameters:\n */\n s.max_lazy_match = configuration_table[s.level].max_lazy;\n s.good_match = configuration_table[s.level].good_length;\n s.nice_match = configuration_table[s.level].nice_length;\n s.max_chain_length = configuration_table[s.level].max_chain;\n\n s.strstart = 0;\n s.block_start = 0;\n s.lookahead = 0;\n s.insert = 0;\n s.match_length = s.prev_length = MIN_MATCH - 1;\n s.match_available = 0;\n s.ins_h = 0;\n}\n\n\nfunction DeflateState() {\n this.strm = null; /* pointer back to this zlib stream */\n this.status = 0; /* as the name implies */\n this.pending_buf = null; /* output still pending */\n this.pending_buf_size = 0; /* size of pending_buf */\n this.pending_out = 0; /* next pending byte to output to the stream */\n this.pending = 0; /* nb of bytes in the pending buffer */\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */\n this.gzhead = null; /* gzip header information to write */\n this.gzindex = 0; /* where in extra, name, or comment */\n this.method = Z_DEFLATED; /* can only be DEFLATED */\n this.last_flush = -1; /* value of flush param for previous deflate call */\n\n this.w_size = 0; /* LZ77 window size (32K by default) */\n this.w_bits = 0; /* log2(w_size) (8..16) */\n this.w_mask = 0; /* w_size - 1 */\n\n this.window = null;\n /* Sliding window. Input bytes are read into the second half of the window,\n * and move to the first half later to keep a dictionary of at least wSize\n * bytes. With this organization, matches are limited to a distance of\n * wSize-MAX_MATCH bytes, but this ensures that IO is always\n * performed with a length multiple of the block size.\n */\n\n this.window_size = 0;\n /* Actual size of window: 2*wSize, except when the user input buffer\n * is directly used as sliding window.\n */\n\n this.prev = null;\n /* Link to older string with same hash index. To limit the size of this\n * array to 64K, this link is maintained only for the last 32K strings.\n * An index in this array is thus a window index modulo 32K.\n */\n\n this.head = null; /* Heads of the hash chains or NIL. */\n\n this.ins_h = 0; /* hash index of string to be inserted */\n this.hash_size = 0; /* number of elements in hash table */\n this.hash_bits = 0; /* log2(hash_size) */\n this.hash_mask = 0; /* hash_size-1 */\n\n this.hash_shift = 0;\n /* Number of bits by which ins_h must be shifted at each input\n * step. It must be such that after MIN_MATCH steps, the oldest\n * byte no longer takes part in the hash key, that is:\n * hash_shift * MIN_MATCH >= hash_bits\n */\n\n this.block_start = 0;\n /* Window position at the beginning of the current output block. Gets\n * negative when the window is moved backwards.\n */\n\n this.match_length = 0; /* length of best match */\n this.prev_match = 0; /* previous match */\n this.match_available = 0; /* set if previous match exists */\n this.strstart = 0; /* start of string to insert */\n this.match_start = 0; /* start of matching string */\n this.lookahead = 0; /* number of valid bytes ahead in window */\n\n this.prev_length = 0;\n /* Length of the best match at previous step. Matches not greater than this\n * are discarded. This is used in the lazy match evaluation.\n */\n\n this.max_chain_length = 0;\n /* To speed up deflation, hash chains are never searched beyond this\n * length. A higher limit improves compression ratio but degrades the\n * speed.\n */\n\n this.max_lazy_match = 0;\n /* Attempt to find a better match only when the current match is strictly\n * smaller than this value. This mechanism is used only for compression\n * levels >= 4.\n */\n // That's alias to max_lazy_match, don't use directly\n //this.max_insert_length = 0;\n /* Insert new strings in the hash table only if the match length is not\n * greater than this length. This saves time but degrades compression.\n * max_insert_length is used only for compression levels <= 3.\n */\n\n this.level = 0; /* compression level (1..9) */\n this.strategy = 0; /* favor or force Huffman coding*/\n\n this.good_match = 0;\n /* Use a faster search when the previous match is longer than this */\n\n this.nice_match = 0; /* Stop searching when current match exceeds this */\n\n /* used by trees.c: */\n\n /* Didn't use ct_data typedef below to suppress compiler warning */\n\n // struct ct_data_s dyn_ltree[HEAP_SIZE]; /* literal and length tree */\n // struct ct_data_s dyn_dtree[2*D_CODES+1]; /* distance tree */\n // struct ct_data_s bl_tree[2*BL_CODES+1]; /* Huffman tree for bit lengths */\n\n // Use flat array of DOUBLE size, with interleaved fata,\n // because JS does not support effective\n this.dyn_ltree = new utils.Buf16(HEAP_SIZE * 2);\n this.dyn_dtree = new utils.Buf16((2 * D_CODES + 1) * 2);\n this.bl_tree = new utils.Buf16((2 * BL_CODES + 1) * 2);\n zero(this.dyn_ltree);\n zero(this.dyn_dtree);\n zero(this.bl_tree);\n\n this.l_desc = null; /* desc. for literal tree */\n this.d_desc = null; /* desc. for distance tree */\n this.bl_desc = null; /* desc. for bit length tree */\n\n //ush bl_count[MAX_BITS+1];\n this.bl_count = new utils.Buf16(MAX_BITS + 1);\n /* number of codes at each bit length for an optimal tree */\n\n //int heap[2*L_CODES+1]; /* heap used to build the Huffman trees */\n this.heap = new utils.Buf16(2 * L_CODES + 1); /* heap used to build the Huffman trees */\n zero(this.heap);\n\n this.heap_len = 0; /* number of elements in the heap */\n this.heap_max = 0; /* element of largest frequency */\n /* The sons of heap[n] are heap[2*n] and heap[2*n+1]. heap[0] is not used.\n * The same heap array is used to build all trees.\n */\n\n this.depth = new utils.Buf16(2 * L_CODES + 1); //uch depth[2*L_CODES+1];\n zero(this.depth);\n /* Depth of each subtree used as tie breaker for trees of equal frequency\n */\n\n this.l_buf = 0; /* buffer index for literals or lengths */\n\n this.lit_bufsize = 0;\n /* Size of match buffer for literals/lengths. There are 4 reasons for\n * limiting lit_bufsize to 64K:\n * - frequencies can be kept in 16 bit counters\n * - if compression is not successful for the first block, all input\n * data is still in the window so we can still emit a stored block even\n * when input comes from standard input. (This can also be done for\n * all blocks if lit_bufsize is not greater than 32K.)\n * - if compression is not successful for a file smaller than 64K, we can\n * even emit a stored file instead of a stored block (saving 5 bytes).\n * This is applicable only for zip (not gzip or zlib).\n * - creating new Huffman trees less frequently may not provide fast\n * adaptation to changes in the input data statistics. (Take for\n * example a binary file with poorly compressible code followed by\n * a highly compressible string table.) Smaller buffer sizes give\n * fast adaptation but have of course the overhead of transmitting\n * trees more frequently.\n * - I can't count above 4\n */\n\n this.last_lit = 0; /* running index in l_buf */\n\n this.d_buf = 0;\n /* Buffer index for distances. To simplify the code, d_buf and l_buf have\n * the same number of elements. To use different lengths, an extra flag\n * array would be necessary.\n */\n\n this.opt_len = 0; /* bit length of current block with optimal trees */\n this.static_len = 0; /* bit length of current block with static trees */\n this.matches = 0; /* number of string matches in current block */\n this.insert = 0; /* bytes at end of window left to insert */\n\n\n this.bi_buf = 0;\n /* Output buffer. bits are inserted starting at the bottom (least\n * significant bits).\n */\n this.bi_valid = 0;\n /* Number of valid bits in bi_buf. All bits above the last valid bit\n * are always zero.\n */\n\n // Used for window memory init. We safely ignore it for JS. That makes\n // sense only for pointers and memory check tools.\n //this.high_water = 0;\n /* High water mark offset in window for initialized bytes -- bytes above\n * this are set to zero in order to avoid memory check warnings when\n * longest match routines access bytes past the input. This is then\n * updated to the new high water mark.\n */\n}\n\n\nfunction deflateResetKeep(strm) {\n var s;\n\n if (!strm || !strm.state) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n strm.total_in = strm.total_out = 0;\n strm.data_type = Z_UNKNOWN;\n\n s = strm.state;\n s.pending = 0;\n s.pending_out = 0;\n\n if (s.wrap < 0) {\n s.wrap = -s.wrap;\n /* was made negative by deflate(..., Z_FINISH); */\n }\n s.status = (s.wrap ? INIT_STATE : BUSY_STATE);\n strm.adler = (s.wrap === 2) ?\n 0 // crc32(0, Z_NULL, 0)\n :\n 1; // adler32(0, Z_NULL, 0)\n s.last_flush = Z_NO_FLUSH;\n trees._tr_init(s);\n return Z_OK;\n}\n\n\nfunction deflateReset(strm) {\n var ret = deflateResetKeep(strm);\n if (ret === Z_OK) {\n lm_init(strm.state);\n }\n return ret;\n}\n\n\nfunction deflateSetHeader(strm, head) {\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n if (strm.state.wrap !== 2) { return Z_STREAM_ERROR; }\n strm.state.gzhead = head;\n return Z_OK;\n}\n\n\nfunction deflateInit2(strm, level, method, windowBits, memLevel, strategy) {\n if (!strm) { // === Z_NULL\n return Z_STREAM_ERROR;\n }\n var wrap = 1;\n\n if (level === Z_DEFAULT_COMPRESSION) {\n level = 6;\n }\n\n if (windowBits < 0) { /* suppress zlib wrapper */\n wrap = 0;\n windowBits = -windowBits;\n }\n\n else if (windowBits > 15) {\n wrap = 2; /* write gzip wrapper instead */\n windowBits -= 16;\n }\n\n\n if (memLevel < 1 || memLevel > MAX_MEM_LEVEL || method !== Z_DEFLATED ||\n windowBits < 8 || windowBits > 15 || level < 0 || level > 9 ||\n strategy < 0 || strategy > Z_FIXED) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n\n if (windowBits === 8) {\n windowBits = 9;\n }\n /* until 256-byte window bug fixed */\n\n var s = new DeflateState();\n\n strm.state = s;\n s.strm = strm;\n\n s.wrap = wrap;\n s.gzhead = null;\n s.w_bits = windowBits;\n s.w_size = 1 << s.w_bits;\n s.w_mask = s.w_size - 1;\n\n s.hash_bits = memLevel + 7;\n s.hash_size = 1 << s.hash_bits;\n s.hash_mask = s.hash_size - 1;\n s.hash_shift = ~~((s.hash_bits + MIN_MATCH - 1) / MIN_MATCH);\n\n s.window = new utils.Buf8(s.w_size * 2);\n s.head = new utils.Buf16(s.hash_size);\n s.prev = new utils.Buf16(s.w_size);\n\n // Don't need mem init magic for JS.\n //s.high_water = 0; /* nothing written to s->window yet */\n\n s.lit_bufsize = 1 << (memLevel + 6); /* 16K elements by default */\n\n s.pending_buf_size = s.lit_bufsize * 4;\n\n //overlay = (ushf *) ZALLOC(strm, s->lit_bufsize, sizeof(ush)+2);\n //s->pending_buf = (uchf *) overlay;\n s.pending_buf = new utils.Buf8(s.pending_buf_size);\n\n // It is offset from `s.pending_buf` (size is `s.lit_bufsize * 2`)\n //s->d_buf = overlay + s->lit_bufsize/sizeof(ush);\n s.d_buf = 1 * s.lit_bufsize;\n\n //s->l_buf = s->pending_buf + (1+sizeof(ush))*s->lit_bufsize;\n s.l_buf = (1 + 2) * s.lit_bufsize;\n\n s.level = level;\n s.strategy = strategy;\n s.method = method;\n\n return deflateReset(strm);\n}\n\nfunction deflateInit(strm, level) {\n return deflateInit2(strm, level, Z_DEFLATED, MAX_WBITS, DEF_MEM_LEVEL, Z_DEFAULT_STRATEGY);\n}\n\n\nfunction deflate(strm, flush) {\n var old_flush, s;\n var beg, val; // for gzip header write only\n\n if (!strm || !strm.state ||\n flush > Z_BLOCK || flush < 0) {\n return strm ? err(strm, Z_STREAM_ERROR) : Z_STREAM_ERROR;\n }\n\n s = strm.state;\n\n if (!strm.output ||\n (!strm.input && strm.avail_in !== 0) ||\n (s.status === FINISH_STATE && flush !== Z_FINISH)) {\n return err(strm, (strm.avail_out === 0) ? Z_BUF_ERROR : Z_STREAM_ERROR);\n }\n\n s.strm = strm; /* just in case */\n old_flush = s.last_flush;\n s.last_flush = flush;\n\n /* Write the header */\n if (s.status === INIT_STATE) {\n\n if (s.wrap === 2) { // GZIP header\n strm.adler = 0; //crc32(0L, Z_NULL, 0);\n put_byte(s, 31);\n put_byte(s, 139);\n put_byte(s, 8);\n if (!s.gzhead) { // s->gzhead == Z_NULL\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, 0);\n put_byte(s, s.level === 9 ? 2 :\n (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n 4 : 0));\n put_byte(s, OS_CODE);\n s.status = BUSY_STATE;\n }\n else {\n put_byte(s, (s.gzhead.text ? 1 : 0) +\n (s.gzhead.hcrc ? 2 : 0) +\n (!s.gzhead.extra ? 0 : 4) +\n (!s.gzhead.name ? 0 : 8) +\n (!s.gzhead.comment ? 0 : 16)\n );\n put_byte(s, s.gzhead.time & 0xff);\n put_byte(s, (s.gzhead.time >> 8) & 0xff);\n put_byte(s, (s.gzhead.time >> 16) & 0xff);\n put_byte(s, (s.gzhead.time >> 24) & 0xff);\n put_byte(s, s.level === 9 ? 2 :\n (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2 ?\n 4 : 0));\n put_byte(s, s.gzhead.os & 0xff);\n if (s.gzhead.extra && s.gzhead.extra.length) {\n put_byte(s, s.gzhead.extra.length & 0xff);\n put_byte(s, (s.gzhead.extra.length >> 8) & 0xff);\n }\n if (s.gzhead.hcrc) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending, 0);\n }\n s.gzindex = 0;\n s.status = EXTRA_STATE;\n }\n }\n else // DEFLATE header\n {\n var header = (Z_DEFLATED + ((s.w_bits - 8) << 4)) << 8;\n var level_flags = -1;\n\n if (s.strategy >= Z_HUFFMAN_ONLY || s.level < 2) {\n level_flags = 0;\n } else if (s.level < 6) {\n level_flags = 1;\n } else if (s.level === 6) {\n level_flags = 2;\n } else {\n level_flags = 3;\n }\n header |= (level_flags << 6);\n if (s.strstart !== 0) { header |= PRESET_DICT; }\n header += 31 - (header % 31);\n\n s.status = BUSY_STATE;\n putShortMSB(s, header);\n\n /* Save the adler32 of the preset dictionary: */\n if (s.strstart !== 0) {\n putShortMSB(s, strm.adler >>> 16);\n putShortMSB(s, strm.adler & 0xffff);\n }\n strm.adler = 1; // adler32(0L, Z_NULL, 0);\n }\n }\n\n//#ifdef GZIP\n if (s.status === EXTRA_STATE) {\n if (s.gzhead.extra/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n\n while (s.gzindex < (s.gzhead.extra.length & 0xffff)) {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n break;\n }\n }\n put_byte(s, s.gzhead.extra[s.gzindex] & 0xff);\n s.gzindex++;\n }\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (s.gzindex === s.gzhead.extra.length) {\n s.gzindex = 0;\n s.status = NAME_STATE;\n }\n }\n else {\n s.status = NAME_STATE;\n }\n }\n if (s.status === NAME_STATE) {\n if (s.gzhead.name/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n //int val;\n\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n // JS specific: little magic to add zero terminator to end of string\n if (s.gzindex < s.gzhead.name.length) {\n val = s.gzhead.name.charCodeAt(s.gzindex++) & 0xff;\n } else {\n val = 0;\n }\n put_byte(s, val);\n } while (val !== 0);\n\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (val === 0) {\n s.gzindex = 0;\n s.status = COMMENT_STATE;\n }\n }\n else {\n s.status = COMMENT_STATE;\n }\n }\n if (s.status === COMMENT_STATE) {\n if (s.gzhead.comment/* != Z_NULL*/) {\n beg = s.pending; /* start of bytes to update crc */\n //int val;\n\n do {\n if (s.pending === s.pending_buf_size) {\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n flush_pending(strm);\n beg = s.pending;\n if (s.pending === s.pending_buf_size) {\n val = 1;\n break;\n }\n }\n // JS specific: little magic to add zero terminator to end of string\n if (s.gzindex < s.gzhead.comment.length) {\n val = s.gzhead.comment.charCodeAt(s.gzindex++) & 0xff;\n } else {\n val = 0;\n }\n put_byte(s, val);\n } while (val !== 0);\n\n if (s.gzhead.hcrc && s.pending > beg) {\n strm.adler = crc32(strm.adler, s.pending_buf, s.pending - beg, beg);\n }\n if (val === 0) {\n s.status = HCRC_STATE;\n }\n }\n else {\n s.status = HCRC_STATE;\n }\n }\n if (s.status === HCRC_STATE) {\n if (s.gzhead.hcrc) {\n if (s.pending + 2 > s.pending_buf_size) {\n flush_pending(strm);\n }\n if (s.pending + 2 <= s.pending_buf_size) {\n put_byte(s, strm.adler & 0xff);\n put_byte(s, (strm.adler >> 8) & 0xff);\n strm.adler = 0; //crc32(0L, Z_NULL, 0);\n s.status = BUSY_STATE;\n }\n }\n else {\n s.status = BUSY_STATE;\n }\n }\n//#endif\n\n /* Flush as much pending output as possible */\n if (s.pending !== 0) {\n flush_pending(strm);\n if (strm.avail_out === 0) {\n /* Since avail_out is 0, deflate will be called again with\n * more output space, but possibly with both pending and\n * avail_in equal to zero. There won't be anything to do,\n * but this is not an error situation so make sure we\n * return OK instead of BUF_ERROR at next call of deflate:\n */\n s.last_flush = -1;\n return Z_OK;\n }\n\n /* Make sure there is something to do and avoid duplicate consecutive\n * flushes. For repeated and useless calls with Z_FINISH, we keep\n * returning Z_STREAM_END instead of Z_BUF_ERROR.\n */\n } else if (strm.avail_in === 0 && rank(flush) <= rank(old_flush) &&\n flush !== Z_FINISH) {\n return err(strm, Z_BUF_ERROR);\n }\n\n /* User must not provide more input after the first FINISH: */\n if (s.status === FINISH_STATE && strm.avail_in !== 0) {\n return err(strm, Z_BUF_ERROR);\n }\n\n /* Start a new block or continue the current one.\n */\n if (strm.avail_in !== 0 || s.lookahead !== 0 ||\n (flush !== Z_NO_FLUSH && s.status !== FINISH_STATE)) {\n var bstate = (s.strategy === Z_HUFFMAN_ONLY) ? deflate_huff(s, flush) :\n (s.strategy === Z_RLE ? deflate_rle(s, flush) :\n configuration_table[s.level].func(s, flush));\n\n if (bstate === BS_FINISH_STARTED || bstate === BS_FINISH_DONE) {\n s.status = FINISH_STATE;\n }\n if (bstate === BS_NEED_MORE || bstate === BS_FINISH_STARTED) {\n if (strm.avail_out === 0) {\n s.last_flush = -1;\n /* avoid BUF_ERROR next call, see above */\n }\n return Z_OK;\n /* If flush != Z_NO_FLUSH && avail_out == 0, the next call\n * of deflate should use the same flush parameter to make sure\n * that the flush is complete. So we don't have to output an\n * empty block here, this will be done at next call. This also\n * ensures that for a very small output buffer, we emit at most\n * one empty block.\n */\n }\n if (bstate === BS_BLOCK_DONE) {\n if (flush === Z_PARTIAL_FLUSH) {\n trees._tr_align(s);\n }\n else if (flush !== Z_BLOCK) { /* FULL_FLUSH or SYNC_FLUSH */\n\n trees._tr_stored_block(s, 0, 0, false);\n /* For a full flush, this empty block will be recognized\n * as a special marker by inflate_sync().\n */\n if (flush === Z_FULL_FLUSH) {\n /*** CLEAR_HASH(s); ***/ /* forget history */\n zero(s.head); // Fill with NIL (= 0);\n\n if (s.lookahead === 0) {\n s.strstart = 0;\n s.block_start = 0;\n s.insert = 0;\n }\n }\n }\n flush_pending(strm);\n if (strm.avail_out === 0) {\n s.last_flush = -1; /* avoid BUF_ERROR at next call, see above */\n return Z_OK;\n }\n }\n }\n //Assert(strm->avail_out > 0, \"bug2\");\n //if (strm.avail_out <= 0) { throw new Error(\"bug2\");}\n\n if (flush !== Z_FINISH) { return Z_OK; }\n if (s.wrap <= 0) { return Z_STREAM_END; }\n\n /* Write the trailer */\n if (s.wrap === 2) {\n put_byte(s, strm.adler & 0xff);\n put_byte(s, (strm.adler >> 8) & 0xff);\n put_byte(s, (strm.adler >> 16) & 0xff);\n put_byte(s, (strm.adler >> 24) & 0xff);\n put_byte(s, strm.total_in & 0xff);\n put_byte(s, (strm.total_in >> 8) & 0xff);\n put_byte(s, (strm.total_in >> 16) & 0xff);\n put_byte(s, (strm.total_in >> 24) & 0xff);\n }\n else\n {\n putShortMSB(s, strm.adler >>> 16);\n putShortMSB(s, strm.adler & 0xffff);\n }\n\n flush_pending(strm);\n /* If avail_out is zero, the application will call deflate again\n * to flush the rest.\n */\n if (s.wrap > 0) { s.wrap = -s.wrap; }\n /* write the trailer only once! */\n return s.pending !== 0 ? Z_OK : Z_STREAM_END;\n}\n\nfunction deflateEnd(strm) {\n var status;\n\n if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) {\n return Z_STREAM_ERROR;\n }\n\n status = strm.state.status;\n if (status !== INIT_STATE &&\n status !== EXTRA_STATE &&\n status !== NAME_STATE &&\n status !== COMMENT_STATE &&\n status !== HCRC_STATE &&\n status !== BUSY_STATE &&\n status !== FINISH_STATE\n ) {\n return err(strm, Z_STREAM_ERROR);\n }\n\n strm.state = null;\n\n return status === BUSY_STATE ? err(strm, Z_DATA_ERROR) : Z_OK;\n}\n\n\n/* =========================================================================\n * Initializes the compression dictionary from the given byte\n * sequence without producing any compressed output.\n */\nfunction deflateSetDictionary(strm, dictionary) {\n var dictLength = dictionary.length;\n\n var s;\n var str, n;\n var wrap;\n var avail;\n var next;\n var input;\n var tmpDict;\n\n if (!strm/*== Z_NULL*/ || !strm.state/*== Z_NULL*/) {\n return Z_STREAM_ERROR;\n }\n\n s = strm.state;\n wrap = s.wrap;\n\n if (wrap === 2 || (wrap === 1 && s.status !== INIT_STATE) || s.lookahead) {\n return Z_STREAM_ERROR;\n }\n\n /* when using zlib wrappers, compute Adler-32 for provided dictionary */\n if (wrap === 1) {\n /* adler32(strm->adler, dictionary, dictLength); */\n strm.adler = adler32(strm.adler, dictionary, dictLength, 0);\n }\n\n s.wrap = 0; /* avoid computing Adler-32 in read_buf */\n\n /* if dictionary would fill window, just replace the history */\n if (dictLength >= s.w_size) {\n if (wrap === 0) { /* already empty otherwise */\n /*** CLEAR_HASH(s); ***/\n zero(s.head); // Fill with NIL (= 0);\n s.strstart = 0;\n s.block_start = 0;\n s.insert = 0;\n }\n /* use the tail */\n // dictionary = dictionary.slice(dictLength - s.w_size);\n tmpDict = new utils.Buf8(s.w_size);\n utils.arraySet(tmpDict, dictionary, dictLength - s.w_size, s.w_size, 0);\n dictionary = tmpDict;\n dictLength = s.w_size;\n }\n /* insert dictionary into window and hash */\n avail = strm.avail_in;\n next = strm.next_in;\n input = strm.input;\n strm.avail_in = dictLength;\n strm.next_in = 0;\n strm.input = dictionary;\n fill_window(s);\n while (s.lookahead >= MIN_MATCH) {\n str = s.strstart;\n n = s.lookahead - (MIN_MATCH - 1);\n do {\n /* UPDATE_HASH(s, s->ins_h, s->window[str + MIN_MATCH-1]); */\n s.ins_h = ((s.ins_h << s.hash_shift) ^ s.window[str + MIN_MATCH - 1]) & s.hash_mask;\n\n s.prev[str & s.w_mask] = s.head[s.ins_h];\n\n s.head[s.ins_h] = str;\n str++;\n } while (--n);\n s.strstart = str;\n s.lookahead = MIN_MATCH - 1;\n fill_window(s);\n }\n s.strstart += s.lookahead;\n s.block_start = s.strstart;\n s.insert = s.lookahead;\n s.lookahead = 0;\n s.match_length = s.prev_length = MIN_MATCH - 1;\n s.match_available = 0;\n strm.next_in = next;\n strm.input = input;\n strm.avail_in = avail;\n s.wrap = wrap;\n return Z_OK;\n}\n\n\nexports.deflateInit = deflateInit;\nexports.deflateInit2 = deflateInit2;\nexports.deflateReset = deflateReset;\nexports.deflateResetKeep = deflateResetKeep;\nexports.deflateSetHeader = deflateSetHeader;\nexports.deflate = deflate;\nexports.deflateEnd = deflateEnd;\nexports.deflateSetDictionary = deflateSetDictionary;\nexports.deflateInfo = 'pako deflate (from Nodeca project)';\n\n/* Not implemented\nexports.deflateBound = deflateBound;\nexports.deflateCopy = deflateCopy;\nexports.deflateParams = deflateParams;\nexports.deflatePending = deflatePending;\nexports.deflatePrime = deflatePrime;\nexports.deflateTune = deflateTune;\n*/\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/lib/zlib/deflate.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pako/lib/zlib/gzheader.js":
/*!*****************************************************************!*\
!*** ../simple-mind-map/node_modules/pako/lib/zlib/gzheader.js ***!
\*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction GZheader() {\n /* true if compressed data believed to be text */\n this.text = 0;\n /* modification time */\n this.time = 0;\n /* extra flags (not used when writing a gzip file) */\n this.xflags = 0;\n /* operating system */\n this.os = 0;\n /* pointer to extra field or Z_NULL if none */\n this.extra = null;\n /* extra field length (valid if extra != Z_NULL) */\n this.extra_len = 0; // Actually, we don't need it in JS,\n // but leave for few code modifications\n\n //\n // Setup limits is not necessary because in js we should not preallocate memory\n // for inflate use constant limit in 65536 bytes\n //\n\n /* space at extra (only when reading header) */\n // this.extra_max = 0;\n /* pointer to zero-terminated file name or Z_NULL */\n this.name = '';\n /* space at name (only when reading header) */\n // this.name_max = 0;\n /* pointer to zero-terminated comment or Z_NULL */\n this.comment = '';\n /* space at comment (only when reading header) */\n // this.comm_max = 0;\n /* true if there was or will be a header crc */\n this.hcrc = 0;\n /* true when done reading gzip header (not used when writing a gzip file) */\n this.done = false;\n}\n\nmodule.exports = GZheader;\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/lib/zlib/gzheader.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pako/lib/zlib/inffast.js":
/*!****************************************************************!*\
!*** ../simple-mind-map/node_modules/pako/lib/zlib/inffast.js ***!
\****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n// See state defs from inflate.js\nvar BAD = 30; /* got a data error -- remain here until reset */\nvar TYPE = 12; /* i: waiting for type bits, including last-flag bit */\n\n/*\n Decode literal, length, and distance codes and write out the resulting\n literal and match bytes until either not enough input or output is\n available, an end-of-block is encountered, or a data error is encountered.\n When large enough input and output buffers are supplied to inflate(), for\n example, a 16K input buffer and a 64K output buffer, more than 95% of the\n inflate execution time is spent in this routine.\n\n Entry assumptions:\n\n state.mode === LEN\n strm.avail_in >= 6\n strm.avail_out >= 258\n start >= strm.avail_out\n state.bits < 8\n\n On return, state.mode is one of:\n\n LEN -- ran out of enough output space or enough available input\n TYPE -- reached end of block code, inflate() to interpret next block\n BAD -- error in block data\n\n Notes:\n\n - The maximum input bits used by a length/distance pair is 15 bits for the\n length code, 5 bits for the length extra, 15 bits for the distance code,\n and 13 bits for the distance extra. This totals 48 bits, or six bytes.\n Therefore if strm.avail_in >= 6, then there is enough input to avoid\n checking for available input while decoding.\n\n - The maximum bytes that a single length/distance pair can output is 258\n bytes, which is the maximum length that can be coded. inflate_fast()\n requires strm.avail_out >= 258 for each loop to avoid checking for\n output space.\n */\nmodule.exports = function inflate_fast(strm, start) {\n var state;\n var _in; /* local strm.input */\n var last; /* have enough input while in < last */\n var _out; /* local strm.output */\n var beg; /* inflate()'s initial strm.output */\n var end; /* while out < end, enough space available */\n//#ifdef INFLATE_STRICT\n var dmax; /* maximum distance from zlib header */\n//#endif\n var wsize; /* window size or zero if not using window */\n var whave; /* valid bytes in the window */\n var wnext; /* window write index */\n // Use `s_window` instead `window`, avoid conflict with instrumentation tools\n var s_window; /* allocated sliding window, if wsize != 0 */\n var hold; /* local strm.hold */\n var bits; /* local strm.bits */\n var lcode; /* local strm.lencode */\n var dcode; /* local strm.distcode */\n var lmask; /* mask for first level of length codes */\n var dmask; /* mask for first level of distance codes */\n var here; /* retrieved table entry */\n var op; /* code bits, operation, extra bits, or */\n /* window position, window bytes to copy */\n var len; /* match length, unused bytes */\n var dist; /* match distance */\n var from; /* where to copy match from */\n var from_source;\n\n\n var input, output; // JS specific, because we have no pointers\n\n /* copy state to local variables */\n state = strm.state;\n //here = state.here;\n _in = strm.next_in;\n input = strm.input;\n last = _in + (strm.avail_in - 5);\n _out = strm.next_out;\n output = strm.output;\n beg = _out - (start - strm.avail_out);\n end = _out + (strm.avail_out - 257);\n//#ifdef INFLATE_STRICT\n dmax = state.dmax;\n//#endif\n wsize = state.wsize;\n whave = state.whave;\n wnext = state.wnext;\n s_window = state.window;\n hold = state.hold;\n bits = state.bits;\n lcode = state.lencode;\n dcode = state.distcode;\n lmask = (1 << state.lenbits) - 1;\n dmask = (1 << state.distbits) - 1;\n\n\n /* decode literals and length/distances until end-of-block or not enough\n input data or output space */\n\n top:\n do {\n if (bits < 15) {\n hold += input[_in++] << bits;\n bits += 8;\n hold += input[_in++] << bits;\n bits += 8;\n }\n\n here = lcode[hold & lmask];\n\n dolen:\n for (;;) { // Goto emulation\n op = here >>> 24/*here.bits*/;\n hold >>>= op;\n bits -= op;\n op = (here >>> 16) & 0xff/*here.op*/;\n if (op === 0) { /* literal */\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n // \"inflate: literal '%c'\\n\" :\n // \"inflate: literal 0x%02x\\n\", here.val));\n output[_out++] = here & 0xffff/*here.val*/;\n }\n else if (op & 16) { /* length base */\n len = here & 0xffff/*here.val*/;\n op &= 15; /* number of extra bits */\n if (op) {\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n }\n len += hold & ((1 << op) - 1);\n hold >>>= op;\n bits -= op;\n }\n //Tracevv((stderr, \"inflate: length %u\\n\", len));\n if (bits < 15) {\n hold += input[_in++] << bits;\n bits += 8;\n hold += input[_in++] << bits;\n bits += 8;\n }\n here = dcode[hold & dmask];\n\n dodist:\n for (;;) { // goto emulation\n op = here >>> 24/*here.bits*/;\n hold >>>= op;\n bits -= op;\n op = (here >>> 16) & 0xff/*here.op*/;\n\n if (op & 16) { /* distance base */\n dist = here & 0xffff/*here.val*/;\n op &= 15; /* number of extra bits */\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n if (bits < op) {\n hold += input[_in++] << bits;\n bits += 8;\n }\n }\n dist += hold & ((1 << op) - 1);\n//#ifdef INFLATE_STRICT\n if (dist > dmax) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break top;\n }\n//#endif\n hold >>>= op;\n bits -= op;\n //Tracevv((stderr, \"inflate: distance %u\\n\", dist));\n op = _out - beg; /* max distance in output */\n if (dist > op) { /* see if copy from window */\n op = dist - op; /* distance back in window */\n if (op > whave) {\n if (state.sane) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break top;\n }\n\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n// if (len <= op - whave) {\n// do {\n// output[_out++] = 0;\n// } while (--len);\n// continue top;\n// }\n// len -= op - whave;\n// do {\n// output[_out++] = 0;\n// } while (--op > whave);\n// if (op === 0) {\n// from = _out - dist;\n// do {\n// output[_out++] = output[from++];\n// } while (--len);\n// continue top;\n// }\n//#endif\n }\n from = 0; // window index\n from_source = s_window;\n if (wnext === 0) { /* very common case */\n from += wsize - op;\n if (op < len) { /* some from window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n else if (wnext < op) { /* wrap around window */\n from += wsize + wnext - op;\n op -= wnext;\n if (op < len) { /* some from end of window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = 0;\n if (wnext < len) { /* some from start of window */\n op = wnext;\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n }\n else { /* contiguous in window */\n from += wnext - op;\n if (op < len) { /* some from window */\n len -= op;\n do {\n output[_out++] = s_window[from++];\n } while (--op);\n from = _out - dist; /* rest from output */\n from_source = output;\n }\n }\n while (len > 2) {\n output[_out++] = from_source[from++];\n output[_out++] = from_source[from++];\n output[_out++] = from_source[from++];\n len -= 3;\n }\n if (len) {\n output[_out++] = from_source[from++];\n if (len > 1) {\n output[_out++] = from_source[from++];\n }\n }\n }\n else {\n from = _out - dist; /* copy direct from output */\n do { /* minimum length is three */\n output[_out++] = output[from++];\n output[_out++] = output[from++];\n output[_out++] = output[from++];\n len -= 3;\n } while (len > 2);\n if (len) {\n output[_out++] = output[from++];\n if (len > 1) {\n output[_out++] = output[from++];\n }\n }\n }\n }\n else if ((op & 64) === 0) { /* 2nd level distance code */\n here = dcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n continue dodist;\n }\n else {\n strm.msg = 'invalid distance code';\n state.mode = BAD;\n break top;\n }\n\n break; // need to emulate goto via \"continue\"\n }\n }\n else if ((op & 64) === 0) { /* 2nd level length code */\n here = lcode[(here & 0xffff)/*here.val*/ + (hold & ((1 << op) - 1))];\n continue dolen;\n }\n else if (op & 32) { /* end-of-block */\n //Tracevv((stderr, \"inflate: end of block\\n\"));\n state.mode = TYPE;\n break top;\n }\n else {\n strm.msg = 'invalid literal/length code';\n state.mode = BAD;\n break top;\n }\n\n break; // need to emulate goto via \"continue\"\n }\n } while (_in < last && _out < end);\n\n /* return unused bytes (on entry, bits < 8, so in won't go too far back) */\n len = bits >> 3;\n _in -= len;\n bits -= len << 3;\n hold &= (1 << bits) - 1;\n\n /* update state and return */\n strm.next_in = _in;\n strm.next_out = _out;\n strm.avail_in = (_in < last ? 5 + (last - _in) : 5 - (_in - last));\n strm.avail_out = (_out < end ? 257 + (end - _out) : 257 - (_out - end));\n state.hold = hold;\n state.bits = bits;\n return;\n};\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/lib/zlib/inffast.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pako/lib/zlib/inflate.js":
/*!****************************************************************!*\
!*** ../simple-mind-map/node_modules/pako/lib/zlib/inflate.js ***!
\****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar utils = __webpack_require__(/*! ../utils/common */ \"../simple-mind-map/node_modules/pako/lib/utils/common.js\");\nvar adler32 = __webpack_require__(/*! ./adler32 */ \"../simple-mind-map/node_modules/pako/lib/zlib/adler32.js\");\nvar crc32 = __webpack_require__(/*! ./crc32 */ \"../simple-mind-map/node_modules/pako/lib/zlib/crc32.js\");\nvar inflate_fast = __webpack_require__(/*! ./inffast */ \"../simple-mind-map/node_modules/pako/lib/zlib/inffast.js\");\nvar inflate_table = __webpack_require__(/*! ./inftrees */ \"../simple-mind-map/node_modules/pako/lib/zlib/inftrees.js\");\n\nvar CODES = 0;\nvar LENS = 1;\nvar DISTS = 2;\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n/* Allowed flush values; see deflate() and inflate() below for details */\n//var Z_NO_FLUSH = 0;\n//var Z_PARTIAL_FLUSH = 1;\n//var Z_SYNC_FLUSH = 2;\n//var Z_FULL_FLUSH = 3;\nvar Z_FINISH = 4;\nvar Z_BLOCK = 5;\nvar Z_TREES = 6;\n\n\n/* Return codes for the compression/decompression functions. Negative values\n * are errors, positive values are used for special but normal events.\n */\nvar Z_OK = 0;\nvar Z_STREAM_END = 1;\nvar Z_NEED_DICT = 2;\n//var Z_ERRNO = -1;\nvar Z_STREAM_ERROR = -2;\nvar Z_DATA_ERROR = -3;\nvar Z_MEM_ERROR = -4;\nvar Z_BUF_ERROR = -5;\n//var Z_VERSION_ERROR = -6;\n\n/* The deflate compression method */\nvar Z_DEFLATED = 8;\n\n\n/* STATES ====================================================================*/\n/* ===========================================================================*/\n\n\nvar HEAD = 1; /* i: waiting for magic header */\nvar FLAGS = 2; /* i: waiting for method and flags (gzip) */\nvar TIME = 3; /* i: waiting for modification time (gzip) */\nvar OS = 4; /* i: waiting for extra flags and operating system (gzip) */\nvar EXLEN = 5; /* i: waiting for extra length (gzip) */\nvar EXTRA = 6; /* i: waiting for extra bytes (gzip) */\nvar NAME = 7; /* i: waiting for end of file name (gzip) */\nvar COMMENT = 8; /* i: waiting for end of comment (gzip) */\nvar HCRC = 9; /* i: waiting for header crc (gzip) */\nvar DICTID = 10; /* i: waiting for dictionary check value */\nvar DICT = 11; /* waiting for inflateSetDictionary() call */\nvar TYPE = 12; /* i: waiting for type bits, including last-flag bit */\nvar TYPEDO = 13; /* i: same, but skip check to exit inflate on new block */\nvar STORED = 14; /* i: waiting for stored size (length and complement) */\nvar COPY_ = 15; /* i/o: same as COPY below, but only first time in */\nvar COPY = 16; /* i/o: waiting for input or output to copy stored block */\nvar TABLE = 17; /* i: waiting for dynamic block table lengths */\nvar LENLENS = 18; /* i: waiting for code length code lengths */\nvar CODELENS = 19; /* i: waiting for length/lit and distance code lengths */\nvar LEN_ = 20; /* i: same as LEN below, but only first time in */\nvar LEN = 21; /* i: waiting for length/lit/eob code */\nvar LENEXT = 22; /* i: waiting for length extra bits */\nvar DIST = 23; /* i: waiting for distance code */\nvar DISTEXT = 24; /* i: waiting for distance extra bits */\nvar MATCH = 25; /* o: waiting for output space to copy string */\nvar LIT = 26; /* o: waiting for output space to write literal */\nvar CHECK = 27; /* i: waiting for 32-bit check value */\nvar LENGTH = 28; /* i: waiting for 32-bit length (gzip) */\nvar DONE = 29; /* finished check, done -- remain here until reset */\nvar BAD = 30; /* got a data error -- remain here until reset */\nvar MEM = 31; /* got an inflate() memory error -- remain here until reset */\nvar SYNC = 32; /* looking for synchronization bytes to restart inflate() */\n\n/* ===========================================================================*/\n\n\n\nvar ENOUGH_LENS = 852;\nvar ENOUGH_DISTS = 592;\n//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nvar MAX_WBITS = 15;\n/* 32K LZ77 window */\nvar DEF_WBITS = MAX_WBITS;\n\n\nfunction zswap32(q) {\n return (((q >>> 24) & 0xff) +\n ((q >>> 8) & 0xff00) +\n ((q & 0xff00) << 8) +\n ((q & 0xff) << 24));\n}\n\n\nfunction InflateState() {\n this.mode = 0; /* current inflate mode */\n this.last = false; /* true if processing last block */\n this.wrap = 0; /* bit 0 true for zlib, bit 1 true for gzip */\n this.havedict = false; /* true if dictionary provided */\n this.flags = 0; /* gzip header method and flags (0 if zlib) */\n this.dmax = 0; /* zlib header max distance (INFLATE_STRICT) */\n this.check = 0; /* protected copy of check value */\n this.total = 0; /* protected copy of output count */\n // TODO: may be {}\n this.head = null; /* where to save gzip header information */\n\n /* sliding window */\n this.wbits = 0; /* log base 2 of requested window size */\n this.wsize = 0; /* window size or zero if not using window */\n this.whave = 0; /* valid bytes in the window */\n this.wnext = 0; /* window write index */\n this.window = null; /* allocated sliding window, if needed */\n\n /* bit accumulator */\n this.hold = 0; /* input bit accumulator */\n this.bits = 0; /* number of bits in \"in\" */\n\n /* for string and stored block copying */\n this.length = 0; /* literal or length of data to copy */\n this.offset = 0; /* distance back to copy string from */\n\n /* for table and code decoding */\n this.extra = 0; /* extra bits needed */\n\n /* fixed and dynamic code tables */\n this.lencode = null; /* starting table for length/literal codes */\n this.distcode = null; /* starting table for distance codes */\n this.lenbits = 0; /* index bits for lencode */\n this.distbits = 0; /* index bits for distcode */\n\n /* dynamic table building */\n this.ncode = 0; /* number of code length code lengths */\n this.nlen = 0; /* number of length code lengths */\n this.ndist = 0; /* number of distance code lengths */\n this.have = 0; /* number of code lengths in lens[] */\n this.next = null; /* next available space in codes[] */\n\n this.lens = new utils.Buf16(320); /* temporary storage for code lengths */\n this.work = new utils.Buf16(288); /* work area for code table building */\n\n /*\n because we don't have pointers in js, we use lencode and distcode directly\n as buffers so we don't need codes\n */\n //this.codes = new utils.Buf32(ENOUGH); /* space for code tables */\n this.lendyn = null; /* dynamic table for length/literal codes (JS specific) */\n this.distdyn = null; /* dynamic table for distance codes (JS specific) */\n this.sane = 0; /* if false, allow invalid distance too far */\n this.back = 0; /* bits back of last unprocessed length/lit */\n this.was = 0; /* initial length of match */\n}\n\nfunction inflateResetKeep(strm) {\n var state;\n\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n strm.total_in = strm.total_out = state.total = 0;\n strm.msg = ''; /*Z_NULL*/\n if (state.wrap) { /* to support ill-conceived Java test suite */\n strm.adler = state.wrap & 1;\n }\n state.mode = HEAD;\n state.last = 0;\n state.havedict = 0;\n state.dmax = 32768;\n state.head = null/*Z_NULL*/;\n state.hold = 0;\n state.bits = 0;\n //state.lencode = state.distcode = state.next = state.codes;\n state.lencode = state.lendyn = new utils.Buf32(ENOUGH_LENS);\n state.distcode = state.distdyn = new utils.Buf32(ENOUGH_DISTS);\n\n state.sane = 1;\n state.back = -1;\n //Tracev((stderr, \"inflate: reset\\n\"));\n return Z_OK;\n}\n\nfunction inflateReset(strm) {\n var state;\n\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n state.wsize = 0;\n state.whave = 0;\n state.wnext = 0;\n return inflateResetKeep(strm);\n\n}\n\nfunction inflateReset2(strm, windowBits) {\n var wrap;\n var state;\n\n /* get the state */\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n\n /* extract wrap request from windowBits parameter */\n if (windowBits < 0) {\n wrap = 0;\n windowBits = -windowBits;\n }\n else {\n wrap = (windowBits >> 4) + 1;\n if (windowBits < 48) {\n windowBits &= 15;\n }\n }\n\n /* set number of window bits, free window if different */\n if (windowBits && (windowBits < 8 || windowBits > 15)) {\n return Z_STREAM_ERROR;\n }\n if (state.window !== null && state.wbits !== windowBits) {\n state.window = null;\n }\n\n /* update state and reset the rest of it */\n state.wrap = wrap;\n state.wbits = windowBits;\n return inflateReset(strm);\n}\n\nfunction inflateInit2(strm, windowBits) {\n var ret;\n var state;\n\n if (!strm) { return Z_STREAM_ERROR; }\n //strm.msg = Z_NULL; /* in case we return an error */\n\n state = new InflateState();\n\n //if (state === Z_NULL) return Z_MEM_ERROR;\n //Tracev((stderr, \"inflate: allocated\\n\"));\n strm.state = state;\n state.window = null/*Z_NULL*/;\n ret = inflateReset2(strm, windowBits);\n if (ret !== Z_OK) {\n strm.state = null/*Z_NULL*/;\n }\n return ret;\n}\n\nfunction inflateInit(strm) {\n return inflateInit2(strm, DEF_WBITS);\n}\n\n\n/*\n Return state with length and distance decoding tables and index sizes set to\n fixed code decoding. Normally this returns fixed tables from inffixed.h.\n If BUILDFIXED is defined, then instead this routine builds the tables the\n first time it's called, and returns those tables the first time and\n thereafter. This reduces the size of the code by about 2K bytes, in\n exchange for a little execution time. However, BUILDFIXED should not be\n used for threaded applications, since the rewriting of the tables and virgin\n may not be thread-safe.\n */\nvar virgin = true;\n\nvar lenfix, distfix; // We have no pointers in JS, so keep tables separate\n\nfunction fixedtables(state) {\n /* build fixed huffman tables if first call (may not be thread safe) */\n if (virgin) {\n var sym;\n\n lenfix = new utils.Buf32(512);\n distfix = new utils.Buf32(32);\n\n /* literal/length table */\n sym = 0;\n while (sym < 144) { state.lens[sym++] = 8; }\n while (sym < 256) { state.lens[sym++] = 9; }\n while (sym < 280) { state.lens[sym++] = 7; }\n while (sym < 288) { state.lens[sym++] = 8; }\n\n inflate_table(LENS, state.lens, 0, 288, lenfix, 0, state.work, { bits: 9 });\n\n /* distance table */\n sym = 0;\n while (sym < 32) { state.lens[sym++] = 5; }\n\n inflate_table(DISTS, state.lens, 0, 32, distfix, 0, state.work, { bits: 5 });\n\n /* do this just once */\n virgin = false;\n }\n\n state.lencode = lenfix;\n state.lenbits = 9;\n state.distcode = distfix;\n state.distbits = 5;\n}\n\n\n/*\n Update the window with the last wsize (normally 32K) bytes written before\n returning. If window does not exist yet, create it. This is only called\n when a window is already in use, or when output has been written during this\n inflate call, but the end of the deflate stream has not been reached yet.\n It is also called to create a window for dictionary data when a dictionary\n is loaded.\n\n Providing output buffers larger than 32K to inflate() should provide a speed\n advantage, since only the last 32K of output is copied to the sliding window\n upon return from inflate(), and since all distances after the first 32K of\n output will fall in the output data, making match copies simpler and faster.\n The advantage may be dependent on the size of the processor's data caches.\n */\nfunction updatewindow(strm, src, end, copy) {\n var dist;\n var state = strm.state;\n\n /* if it hasn't been done already, allocate space for the window */\n if (state.window === null) {\n state.wsize = 1 << state.wbits;\n state.wnext = 0;\n state.whave = 0;\n\n state.window = new utils.Buf8(state.wsize);\n }\n\n /* copy state->wsize or less output bytes into the circular window */\n if (copy >= state.wsize) {\n utils.arraySet(state.window, src, end - state.wsize, state.wsize, 0);\n state.wnext = 0;\n state.whave = state.wsize;\n }\n else {\n dist = state.wsize - state.wnext;\n if (dist > copy) {\n dist = copy;\n }\n //zmemcpy(state->window + state->wnext, end - copy, dist);\n utils.arraySet(state.window, src, end - copy, dist, state.wnext);\n copy -= dist;\n if (copy) {\n //zmemcpy(state->window, end - copy, copy);\n utils.arraySet(state.window, src, end - copy, copy, 0);\n state.wnext = copy;\n state.whave = state.wsize;\n }\n else {\n state.wnext += dist;\n if (state.wnext === state.wsize) { state.wnext = 0; }\n if (state.whave < state.wsize) { state.whave += dist; }\n }\n }\n return 0;\n}\n\nfunction inflate(strm, flush) {\n var state;\n var input, output; // input/output buffers\n var next; /* next input INDEX */\n var put; /* next output INDEX */\n var have, left; /* available input and output */\n var hold; /* bit buffer */\n var bits; /* bits in bit buffer */\n var _in, _out; /* save starting available input and output */\n var copy; /* number of stored or match bytes to copy */\n var from; /* where to copy match bytes from */\n var from_source;\n var here = 0; /* current decoding table entry */\n var here_bits, here_op, here_val; // paked \"here\" denormalized (JS specific)\n //var last; /* parent table entry */\n var last_bits, last_op, last_val; // paked \"last\" denormalized (JS specific)\n var len; /* length to copy for repeats, bits to drop */\n var ret; /* return code */\n var hbuf = new utils.Buf8(4); /* buffer for gzip header crc calculation */\n var opts;\n\n var n; // temporary var for NEED_BITS\n\n var order = /* permutation of code lengths */\n [ 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15 ];\n\n\n if (!strm || !strm.state || !strm.output ||\n (!strm.input && strm.avail_in !== 0)) {\n return Z_STREAM_ERROR;\n }\n\n state = strm.state;\n if (state.mode === TYPE) { state.mode = TYPEDO; } /* skip check */\n\n\n //--- LOAD() ---\n put = strm.next_out;\n output = strm.output;\n left = strm.avail_out;\n next = strm.next_in;\n input = strm.input;\n have = strm.avail_in;\n hold = state.hold;\n bits = state.bits;\n //---\n\n _in = have;\n _out = left;\n ret = Z_OK;\n\n inf_leave: // goto emulation\n for (;;) {\n switch (state.mode) {\n case HEAD:\n if (state.wrap === 0) {\n state.mode = TYPEDO;\n break;\n }\n //=== NEEDBITS(16);\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((state.wrap & 2) && hold === 0x8b1f) { /* gzip header */\n state.check = 0/*crc32(0L, Z_NULL, 0)*/;\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = FLAGS;\n break;\n }\n state.flags = 0; /* expect zlib header */\n if (state.head) {\n state.head.done = false;\n }\n if (!(state.wrap & 1) || /* check if zlib header allowed */\n (((hold & 0xff)/*BITS(8)*/ << 8) + (hold >> 8)) % 31) {\n strm.msg = 'incorrect header check';\n state.mode = BAD;\n break;\n }\n if ((hold & 0x0f)/*BITS(4)*/ !== Z_DEFLATED) {\n strm.msg = 'unknown compression method';\n state.mode = BAD;\n break;\n }\n //--- DROPBITS(4) ---//\n hold >>>= 4;\n bits -= 4;\n //---//\n len = (hold & 0x0f)/*BITS(4)*/ + 8;\n if (state.wbits === 0) {\n state.wbits = len;\n }\n else if (len > state.wbits) {\n strm.msg = 'invalid window size';\n state.mode = BAD;\n break;\n }\n state.dmax = 1 << len;\n //Tracev((stderr, \"inflate: zlib header ok\\n\"));\n strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n state.mode = hold & 0x200 ? DICTID : TYPE;\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n break;\n case FLAGS:\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.flags = hold;\n if ((state.flags & 0xff) !== Z_DEFLATED) {\n strm.msg = 'unknown compression method';\n state.mode = BAD;\n break;\n }\n if (state.flags & 0xe000) {\n strm.msg = 'unknown header flags set';\n state.mode = BAD;\n break;\n }\n if (state.head) {\n state.head.text = ((hold >> 8) & 1);\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = TIME;\n /* falls through */\n case TIME:\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.head) {\n state.head.time = hold;\n }\n if (state.flags & 0x0200) {\n //=== CRC4(state.check, hold)\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n hbuf[2] = (hold >>> 16) & 0xff;\n hbuf[3] = (hold >>> 24) & 0xff;\n state.check = crc32(state.check, hbuf, 4, 0);\n //===\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = OS;\n /* falls through */\n case OS:\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (state.head) {\n state.head.xflags = (hold & 0xff);\n state.head.os = (hold >> 8);\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = EXLEN;\n /* falls through */\n case EXLEN:\n if (state.flags & 0x0400) {\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.length = hold;\n if (state.head) {\n state.head.extra_len = hold;\n }\n if (state.flags & 0x0200) {\n //=== CRC2(state.check, hold);\n hbuf[0] = hold & 0xff;\n hbuf[1] = (hold >>> 8) & 0xff;\n state.check = crc32(state.check, hbuf, 2, 0);\n //===//\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n }\n else if (state.head) {\n state.head.extra = null/*Z_NULL*/;\n }\n state.mode = EXTRA;\n /* falls through */\n case EXTRA:\n if (state.flags & 0x0400) {\n copy = state.length;\n if (copy > have) { copy = have; }\n if (copy) {\n if (state.head) {\n len = state.head.extra_len - state.length;\n if (!state.head.extra) {\n // Use untyped array for more convenient processing later\n state.head.extra = new Array(state.head.extra_len);\n }\n utils.arraySet(\n state.head.extra,\n input,\n next,\n // extra field is limited to 65536 bytes\n // - no need for additional size check\n copy,\n /*len + copy > state.head.extra_max - len ? state.head.extra_max : copy,*/\n len\n );\n //zmemcpy(state.head.extra + len, next,\n // len + copy > state.head.extra_max ?\n // state.head.extra_max - len : copy);\n }\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n state.length -= copy;\n }\n if (state.length) { break inf_leave; }\n }\n state.length = 0;\n state.mode = NAME;\n /* falls through */\n case NAME:\n if (state.flags & 0x0800) {\n if (have === 0) { break inf_leave; }\n copy = 0;\n do {\n // TODO: 2 or 1 bytes?\n len = input[next + copy++];\n /* use constant limit because in js we should not preallocate memory */\n if (state.head && len &&\n (state.length < 65536 /*state.head.name_max*/)) {\n state.head.name += String.fromCharCode(len);\n }\n } while (len && copy < have);\n\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n if (len) { break inf_leave; }\n }\n else if (state.head) {\n state.head.name = null;\n }\n state.length = 0;\n state.mode = COMMENT;\n /* falls through */\n case COMMENT:\n if (state.flags & 0x1000) {\n if (have === 0) { break inf_leave; }\n copy = 0;\n do {\n len = input[next + copy++];\n /* use constant limit because in js we should not preallocate memory */\n if (state.head && len &&\n (state.length < 65536 /*state.head.comm_max*/)) {\n state.head.comment += String.fromCharCode(len);\n }\n } while (len && copy < have);\n if (state.flags & 0x0200) {\n state.check = crc32(state.check, input, copy, next);\n }\n have -= copy;\n next += copy;\n if (len) { break inf_leave; }\n }\n else if (state.head) {\n state.head.comment = null;\n }\n state.mode = HCRC;\n /* falls through */\n case HCRC:\n if (state.flags & 0x0200) {\n //=== NEEDBITS(16); */\n while (bits < 16) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (hold !== (state.check & 0xffff)) {\n strm.msg = 'header crc mismatch';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n }\n if (state.head) {\n state.head.hcrc = ((state.flags >> 9) & 1);\n state.head.done = true;\n }\n strm.adler = state.check = 0;\n state.mode = TYPE;\n break;\n case DICTID:\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n strm.adler = state.check = zswap32(hold);\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = DICT;\n /* falls through */\n case DICT:\n if (state.havedict === 0) {\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n return Z_NEED_DICT;\n }\n strm.adler = state.check = 1/*adler32(0L, Z_NULL, 0)*/;\n state.mode = TYPE;\n /* falls through */\n case TYPE:\n if (flush === Z_BLOCK || flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case TYPEDO:\n if (state.last) {\n //--- BYTEBITS() ---//\n hold >>>= bits & 7;\n bits -= bits & 7;\n //---//\n state.mode = CHECK;\n break;\n }\n //=== NEEDBITS(3); */\n while (bits < 3) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.last = (hold & 0x01)/*BITS(1)*/;\n //--- DROPBITS(1) ---//\n hold >>>= 1;\n bits -= 1;\n //---//\n\n switch ((hold & 0x03)/*BITS(2)*/) {\n case 0: /* stored block */\n //Tracev((stderr, \"inflate: stored block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = STORED;\n break;\n case 1: /* fixed block */\n fixedtables(state);\n //Tracev((stderr, \"inflate: fixed codes block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = LEN_; /* decode codes */\n if (flush === Z_TREES) {\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n break inf_leave;\n }\n break;\n case 2: /* dynamic block */\n //Tracev((stderr, \"inflate: dynamic codes block%s\\n\",\n // state.last ? \" (last)\" : \"\"));\n state.mode = TABLE;\n break;\n case 3:\n strm.msg = 'invalid block type';\n state.mode = BAD;\n }\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n break;\n case STORED:\n //--- BYTEBITS() ---// /* go to byte boundary */\n hold >>>= bits & 7;\n bits -= bits & 7;\n //---//\n //=== NEEDBITS(32); */\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if ((hold & 0xffff) !== ((hold >>> 16) ^ 0xffff)) {\n strm.msg = 'invalid stored block lengths';\n state.mode = BAD;\n break;\n }\n state.length = hold & 0xffff;\n //Tracev((stderr, \"inflate: stored length %u\\n\",\n // state.length));\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n state.mode = COPY_;\n if (flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case COPY_:\n state.mode = COPY;\n /* falls through */\n case COPY:\n copy = state.length;\n if (copy) {\n if (copy > have) { copy = have; }\n if (copy > left) { copy = left; }\n if (copy === 0) { break inf_leave; }\n //--- zmemcpy(put, next, copy); ---\n utils.arraySet(output, input, next, copy, put);\n //---//\n have -= copy;\n next += copy;\n left -= copy;\n put += copy;\n state.length -= copy;\n break;\n }\n //Tracev((stderr, \"inflate: stored end\\n\"));\n state.mode = TYPE;\n break;\n case TABLE:\n //=== NEEDBITS(14); */\n while (bits < 14) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.nlen = (hold & 0x1f)/*BITS(5)*/ + 257;\n //--- DROPBITS(5) ---//\n hold >>>= 5;\n bits -= 5;\n //---//\n state.ndist = (hold & 0x1f)/*BITS(5)*/ + 1;\n //--- DROPBITS(5) ---//\n hold >>>= 5;\n bits -= 5;\n //---//\n state.ncode = (hold & 0x0f)/*BITS(4)*/ + 4;\n //--- DROPBITS(4) ---//\n hold >>>= 4;\n bits -= 4;\n //---//\n//#ifndef PKZIP_BUG_WORKAROUND\n if (state.nlen > 286 || state.ndist > 30) {\n strm.msg = 'too many length or distance symbols';\n state.mode = BAD;\n break;\n }\n//#endif\n //Tracev((stderr, \"inflate: table sizes ok\\n\"));\n state.have = 0;\n state.mode = LENLENS;\n /* falls through */\n case LENLENS:\n while (state.have < state.ncode) {\n //=== NEEDBITS(3);\n while (bits < 3) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.lens[order[state.have++]] = (hold & 0x07);//BITS(3);\n //--- DROPBITS(3) ---//\n hold >>>= 3;\n bits -= 3;\n //---//\n }\n while (state.have < 19) {\n state.lens[order[state.have++]] = 0;\n }\n // We have separate tables & no pointers. 2 commented lines below not needed.\n //state.next = state.codes;\n //state.lencode = state.next;\n // Switch to use dynamic table\n state.lencode = state.lendyn;\n state.lenbits = 7;\n\n opts = { bits: state.lenbits };\n ret = inflate_table(CODES, state.lens, 0, 19, state.lencode, 0, state.work, opts);\n state.lenbits = opts.bits;\n\n if (ret) {\n strm.msg = 'invalid code lengths set';\n state.mode = BAD;\n break;\n }\n //Tracev((stderr, \"inflate: code lengths ok\\n\"));\n state.have = 0;\n state.mode = CODELENS;\n /* falls through */\n case CODELENS:\n while (state.have < state.nlen + state.ndist) {\n for (;;) {\n here = state.lencode[hold & ((1 << state.lenbits) - 1)];/*BITS(state.lenbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if (here_val < 16) {\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.lens[state.have++] = here_val;\n }\n else {\n if (here_val === 16) {\n //=== NEEDBITS(here.bits + 2);\n n = here_bits + 2;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n if (state.have === 0) {\n strm.msg = 'invalid bit length repeat';\n state.mode = BAD;\n break;\n }\n len = state.lens[state.have - 1];\n copy = 3 + (hold & 0x03);//BITS(2);\n //--- DROPBITS(2) ---//\n hold >>>= 2;\n bits -= 2;\n //---//\n }\n else if (here_val === 17) {\n //=== NEEDBITS(here.bits + 3);\n n = here_bits + 3;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n len = 0;\n copy = 3 + (hold & 0x07);//BITS(3);\n //--- DROPBITS(3) ---//\n hold >>>= 3;\n bits -= 3;\n //---//\n }\n else {\n //=== NEEDBITS(here.bits + 7);\n n = here_bits + 7;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n len = 0;\n copy = 11 + (hold & 0x7f);//BITS(7);\n //--- DROPBITS(7) ---//\n hold >>>= 7;\n bits -= 7;\n //---//\n }\n if (state.have + copy > state.nlen + state.ndist) {\n strm.msg = 'invalid bit length repeat';\n state.mode = BAD;\n break;\n }\n while (copy--) {\n state.lens[state.have++] = len;\n }\n }\n }\n\n /* handle error breaks in while */\n if (state.mode === BAD) { break; }\n\n /* check for end-of-block code (better have one) */\n if (state.lens[256] === 0) {\n strm.msg = 'invalid code -- missing end-of-block';\n state.mode = BAD;\n break;\n }\n\n /* build code tables -- note: do not change the lenbits or distbits\n values here (9 and 6) without reading the comments in inftrees.h\n concerning the ENOUGH constants, which depend on those values */\n state.lenbits = 9;\n\n opts = { bits: state.lenbits };\n ret = inflate_table(LENS, state.lens, 0, state.nlen, state.lencode, 0, state.work, opts);\n // We have separate tables & no pointers. 2 commented lines below not needed.\n // state.next_index = opts.table_index;\n state.lenbits = opts.bits;\n // state.lencode = state.next;\n\n if (ret) {\n strm.msg = 'invalid literal/lengths set';\n state.mode = BAD;\n break;\n }\n\n state.distbits = 6;\n //state.distcode.copy(state.codes);\n // Switch to use dynamic table\n state.distcode = state.distdyn;\n opts = { bits: state.distbits };\n ret = inflate_table(DISTS, state.lens, state.nlen, state.ndist, state.distcode, 0, state.work, opts);\n // We have separate tables & no pointers. 2 commented lines below not needed.\n // state.next_index = opts.table_index;\n state.distbits = opts.bits;\n // state.distcode = state.next;\n\n if (ret) {\n strm.msg = 'invalid distances set';\n state.mode = BAD;\n break;\n }\n //Tracev((stderr, 'inflate: codes ok\\n'));\n state.mode = LEN_;\n if (flush === Z_TREES) { break inf_leave; }\n /* falls through */\n case LEN_:\n state.mode = LEN;\n /* falls through */\n case LEN:\n if (have >= 6 && left >= 258) {\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n inflate_fast(strm, _out);\n //--- LOAD() ---\n put = strm.next_out;\n output = strm.output;\n left = strm.avail_out;\n next = strm.next_in;\n input = strm.input;\n have = strm.avail_in;\n hold = state.hold;\n bits = state.bits;\n //---\n\n if (state.mode === TYPE) {\n state.back = -1;\n }\n break;\n }\n state.back = 0;\n for (;;) {\n here = state.lencode[hold & ((1 << state.lenbits) - 1)]; /*BITS(state.lenbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if (here_bits <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if (here_op && (here_op & 0xf0) === 0) {\n last_bits = here_bits;\n last_op = here_op;\n last_val = here_val;\n for (;;) {\n here = state.lencode[last_val +\n ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((last_bits + here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n //--- DROPBITS(last.bits) ---//\n hold >>>= last_bits;\n bits -= last_bits;\n //---//\n state.back += last_bits;\n }\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.back += here_bits;\n state.length = here_val;\n if (here_op === 0) {\n //Tracevv((stderr, here.val >= 0x20 && here.val < 0x7f ?\n // \"inflate: literal '%c'\\n\" :\n // \"inflate: literal 0x%02x\\n\", here.val));\n state.mode = LIT;\n break;\n }\n if (here_op & 32) {\n //Tracevv((stderr, \"inflate: end of block\\n\"));\n state.back = -1;\n state.mode = TYPE;\n break;\n }\n if (here_op & 64) {\n strm.msg = 'invalid literal/length code';\n state.mode = BAD;\n break;\n }\n state.extra = here_op & 15;\n state.mode = LENEXT;\n /* falls through */\n case LENEXT:\n if (state.extra) {\n //=== NEEDBITS(state.extra);\n n = state.extra;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.length += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;\n //--- DROPBITS(state.extra) ---//\n hold >>>= state.extra;\n bits -= state.extra;\n //---//\n state.back += state.extra;\n }\n //Tracevv((stderr, \"inflate: length %u\\n\", state.length));\n state.was = state.length;\n state.mode = DIST;\n /* falls through */\n case DIST:\n for (;;) {\n here = state.distcode[hold & ((1 << state.distbits) - 1)];/*BITS(state.distbits)*/\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n if ((here_op & 0xf0) === 0) {\n last_bits = here_bits;\n last_op = here_op;\n last_val = here_val;\n for (;;) {\n here = state.distcode[last_val +\n ((hold & ((1 << (last_bits + last_op)) - 1))/*BITS(last.bits + last.op)*/ >> last_bits)];\n here_bits = here >>> 24;\n here_op = (here >>> 16) & 0xff;\n here_val = here & 0xffff;\n\n if ((last_bits + here_bits) <= bits) { break; }\n //--- PULLBYTE() ---//\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n //---//\n }\n //--- DROPBITS(last.bits) ---//\n hold >>>= last_bits;\n bits -= last_bits;\n //---//\n state.back += last_bits;\n }\n //--- DROPBITS(here.bits) ---//\n hold >>>= here_bits;\n bits -= here_bits;\n //---//\n state.back += here_bits;\n if (here_op & 64) {\n strm.msg = 'invalid distance code';\n state.mode = BAD;\n break;\n }\n state.offset = here_val;\n state.extra = (here_op) & 15;\n state.mode = DISTEXT;\n /* falls through */\n case DISTEXT:\n if (state.extra) {\n //=== NEEDBITS(state.extra);\n n = state.extra;\n while (bits < n) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n state.offset += hold & ((1 << state.extra) - 1)/*BITS(state.extra)*/;\n //--- DROPBITS(state.extra) ---//\n hold >>>= state.extra;\n bits -= state.extra;\n //---//\n state.back += state.extra;\n }\n//#ifdef INFLATE_STRICT\n if (state.offset > state.dmax) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break;\n }\n//#endif\n //Tracevv((stderr, \"inflate: distance %u\\n\", state.offset));\n state.mode = MATCH;\n /* falls through */\n case MATCH:\n if (left === 0) { break inf_leave; }\n copy = _out - left;\n if (state.offset > copy) { /* copy from window */\n copy = state.offset - copy;\n if (copy > state.whave) {\n if (state.sane) {\n strm.msg = 'invalid distance too far back';\n state.mode = BAD;\n break;\n }\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n//#ifdef INFLATE_ALLOW_INVALID_DISTANCE_TOOFAR_ARRR\n// Trace((stderr, \"inflate.c too far\\n\"));\n// copy -= state.whave;\n// if (copy > state.length) { copy = state.length; }\n// if (copy > left) { copy = left; }\n// left -= copy;\n// state.length -= copy;\n// do {\n// output[put++] = 0;\n// } while (--copy);\n// if (state.length === 0) { state.mode = LEN; }\n// break;\n//#endif\n }\n if (copy > state.wnext) {\n copy -= state.wnext;\n from = state.wsize - copy;\n }\n else {\n from = state.wnext - copy;\n }\n if (copy > state.length) { copy = state.length; }\n from_source = state.window;\n }\n else { /* copy from output */\n from_source = output;\n from = put - state.offset;\n copy = state.length;\n }\n if (copy > left) { copy = left; }\n left -= copy;\n state.length -= copy;\n do {\n output[put++] = from_source[from++];\n } while (--copy);\n if (state.length === 0) { state.mode = LEN; }\n break;\n case LIT:\n if (left === 0) { break inf_leave; }\n output[put++] = state.length;\n left--;\n state.mode = LEN;\n break;\n case CHECK:\n if (state.wrap) {\n //=== NEEDBITS(32);\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n // Use '|' instead of '+' to make sure that result is signed\n hold |= input[next++] << bits;\n bits += 8;\n }\n //===//\n _out -= left;\n strm.total_out += _out;\n state.total += _out;\n if (_out) {\n strm.adler = state.check =\n /*UPDATE(state.check, put - _out, _out);*/\n (state.flags ? crc32(state.check, output, _out, put - _out) : adler32(state.check, output, _out, put - _out));\n\n }\n _out = left;\n // NB: crc32 stored as signed 32-bit int, zswap32 returns signed too\n if ((state.flags ? hold : zswap32(hold)) !== state.check) {\n strm.msg = 'incorrect data check';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n //Tracev((stderr, \"inflate: check matches trailer\\n\"));\n }\n state.mode = LENGTH;\n /* falls through */\n case LENGTH:\n if (state.wrap && state.flags) {\n //=== NEEDBITS(32);\n while (bits < 32) {\n if (have === 0) { break inf_leave; }\n have--;\n hold += input[next++] << bits;\n bits += 8;\n }\n //===//\n if (hold !== (state.total & 0xffffffff)) {\n strm.msg = 'incorrect length check';\n state.mode = BAD;\n break;\n }\n //=== INITBITS();\n hold = 0;\n bits = 0;\n //===//\n //Tracev((stderr, \"inflate: length matches trailer\\n\"));\n }\n state.mode = DONE;\n /* falls through */\n case DONE:\n ret = Z_STREAM_END;\n break inf_leave;\n case BAD:\n ret = Z_DATA_ERROR;\n break inf_leave;\n case MEM:\n return Z_MEM_ERROR;\n case SYNC:\n /* falls through */\n default:\n return Z_STREAM_ERROR;\n }\n }\n\n // inf_leave <- here is real place for \"goto inf_leave\", emulated via \"break inf_leave\"\n\n /*\n Return from inflate(), updating the total counts and the check value.\n If there was no progress during the inflate() call, return a buffer\n error. Call updatewindow() to create and/or update the window state.\n Note: a memory error from inflate() is non-recoverable.\n */\n\n //--- RESTORE() ---\n strm.next_out = put;\n strm.avail_out = left;\n strm.next_in = next;\n strm.avail_in = have;\n state.hold = hold;\n state.bits = bits;\n //---\n\n if (state.wsize || (_out !== strm.avail_out && state.mode < BAD &&\n (state.mode < CHECK || flush !== Z_FINISH))) {\n if (updatewindow(strm, strm.output, strm.next_out, _out - strm.avail_out)) {\n state.mode = MEM;\n return Z_MEM_ERROR;\n }\n }\n _in -= strm.avail_in;\n _out -= strm.avail_out;\n strm.total_in += _in;\n strm.total_out += _out;\n state.total += _out;\n if (state.wrap && _out) {\n strm.adler = state.check = /*UPDATE(state.check, strm.next_out - _out, _out);*/\n (state.flags ? crc32(state.check, output, _out, strm.next_out - _out) : adler32(state.check, output, _out, strm.next_out - _out));\n }\n strm.data_type = state.bits + (state.last ? 64 : 0) +\n (state.mode === TYPE ? 128 : 0) +\n (state.mode === LEN_ || state.mode === COPY_ ? 256 : 0);\n if (((_in === 0 && _out === 0) || flush === Z_FINISH) && ret === Z_OK) {\n ret = Z_BUF_ERROR;\n }\n return ret;\n}\n\nfunction inflateEnd(strm) {\n\n if (!strm || !strm.state /*|| strm->zfree == (free_func)0*/) {\n return Z_STREAM_ERROR;\n }\n\n var state = strm.state;\n if (state.window) {\n state.window = null;\n }\n strm.state = null;\n return Z_OK;\n}\n\nfunction inflateGetHeader(strm, head) {\n var state;\n\n /* check state */\n if (!strm || !strm.state) { return Z_STREAM_ERROR; }\n state = strm.state;\n if ((state.wrap & 2) === 0) { return Z_STREAM_ERROR; }\n\n /* save header structure */\n state.head = head;\n head.done = false;\n return Z_OK;\n}\n\nfunction inflateSetDictionary(strm, dictionary) {\n var dictLength = dictionary.length;\n\n var state;\n var dictid;\n var ret;\n\n /* check state */\n if (!strm /* == Z_NULL */ || !strm.state /* == Z_NULL */) { return Z_STREAM_ERROR; }\n state = strm.state;\n\n if (state.wrap !== 0 && state.mode !== DICT) {\n return Z_STREAM_ERROR;\n }\n\n /* check for correct dictionary identifier */\n if (state.mode === DICT) {\n dictid = 1; /* adler32(0, null, 0)*/\n /* dictid = adler32(dictid, dictionary, dictLength); */\n dictid = adler32(dictid, dictionary, dictLength, 0);\n if (dictid !== state.check) {\n return Z_DATA_ERROR;\n }\n }\n /* copy dictionary to window using updatewindow(), which will amend the\n existing dictionary if appropriate */\n ret = updatewindow(strm, dictionary, dictLength, dictLength);\n if (ret) {\n state.mode = MEM;\n return Z_MEM_ERROR;\n }\n state.havedict = 1;\n // Tracev((stderr, \"inflate: dictionary set\\n\"));\n return Z_OK;\n}\n\nexports.inflateReset = inflateReset;\nexports.inflateReset2 = inflateReset2;\nexports.inflateResetKeep = inflateResetKeep;\nexports.inflateInit = inflateInit;\nexports.inflateInit2 = inflateInit2;\nexports.inflate = inflate;\nexports.inflateEnd = inflateEnd;\nexports.inflateGetHeader = inflateGetHeader;\nexports.inflateSetDictionary = inflateSetDictionary;\nexports.inflateInfo = 'pako inflate (from Nodeca project)';\n\n/* Not implemented\nexports.inflateCopy = inflateCopy;\nexports.inflateGetDictionary = inflateGetDictionary;\nexports.inflateMark = inflateMark;\nexports.inflatePrime = inflatePrime;\nexports.inflateSync = inflateSync;\nexports.inflateSyncPoint = inflateSyncPoint;\nexports.inflateUndermine = inflateUndermine;\n*/\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/lib/zlib/inflate.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pako/lib/zlib/inftrees.js":
/*!*****************************************************************!*\
!*** ../simple-mind-map/node_modules/pako/lib/zlib/inftrees.js ***!
\*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nvar utils = __webpack_require__(/*! ../utils/common */ \"../simple-mind-map/node_modules/pako/lib/utils/common.js\");\n\nvar MAXBITS = 15;\nvar ENOUGH_LENS = 852;\nvar ENOUGH_DISTS = 592;\n//var ENOUGH = (ENOUGH_LENS+ENOUGH_DISTS);\n\nvar CODES = 0;\nvar LENS = 1;\nvar DISTS = 2;\n\nvar lbase = [ /* Length codes 257..285 base */\n 3, 4, 5, 6, 7, 8, 9, 10, 11, 13, 15, 17, 19, 23, 27, 31,\n 35, 43, 51, 59, 67, 83, 99, 115, 131, 163, 195, 227, 258, 0, 0\n];\n\nvar lext = [ /* Length codes 257..285 extra */\n 16, 16, 16, 16, 16, 16, 16, 16, 17, 17, 17, 17, 18, 18, 18, 18,\n 19, 19, 19, 19, 20, 20, 20, 20, 21, 21, 21, 21, 16, 72, 78\n];\n\nvar dbase = [ /* Distance codes 0..29 base */\n 1, 2, 3, 4, 5, 7, 9, 13, 17, 25, 33, 49, 65, 97, 129, 193,\n 257, 385, 513, 769, 1025, 1537, 2049, 3073, 4097, 6145,\n 8193, 12289, 16385, 24577, 0, 0\n];\n\nvar dext = [ /* Distance codes 0..29 extra */\n 16, 16, 16, 16, 17, 17, 18, 18, 19, 19, 20, 20, 21, 21, 22, 22,\n 23, 23, 24, 24, 25, 25, 26, 26, 27, 27,\n 28, 28, 29, 29, 64, 64\n];\n\nmodule.exports = function inflate_table(type, lens, lens_index, codes, table, table_index, work, opts)\n{\n var bits = opts.bits;\n //here = opts.here; /* table entry for duplication */\n\n var len = 0; /* a code's length in bits */\n var sym = 0; /* index of code symbols */\n var min = 0, max = 0; /* minimum and maximum code lengths */\n var root = 0; /* number of index bits for root table */\n var curr = 0; /* number of index bits for current table */\n var drop = 0; /* code bits to drop for sub-table */\n var left = 0; /* number of prefix codes available */\n var used = 0; /* code entries in table used */\n var huff = 0; /* Huffman code */\n var incr; /* for incrementing code, index */\n var fill; /* index for replicating entries */\n var low; /* low bits for current root entry */\n var mask; /* mask for low root bits */\n var next; /* next available space in table */\n var base = null; /* base value table to use */\n var base_index = 0;\n// var shoextra; /* extra bits table to use */\n var end; /* use base and extra for symbol > end */\n var count = new utils.Buf16(MAXBITS + 1); //[MAXBITS+1]; /* number of codes of each length */\n var offs = new utils.Buf16(MAXBITS + 1); //[MAXBITS+1]; /* offsets in table for each length */\n var extra = null;\n var extra_index = 0;\n\n var here_bits, here_op, here_val;\n\n /*\n Process a set of code lengths to create a canonical Huffman code. The\n code lengths are lens[0..codes-1]. Each length corresponds to the\n symbols 0..codes-1. The Huffman code is generated by first sorting the\n symbols by length from short to long, and retaining the symbol order\n for codes with equal lengths. Then the code starts with all zero bits\n for the first code of the shortest length, and the codes are integer\n increments for the same length, and zeros are appended as the length\n increases. For the deflate format, these bits are stored backwards\n from their more natural integer increment ordering, and so when the\n decoding tables are built in the large loop below, the integer codes\n are incremented backwards.\n\n This routine assumes, but does not check, that all of the entries in\n lens[] are in the range 0..MAXBITS. The caller must assure this.\n 1..MAXBITS is interpreted as that code length. zero means that that\n symbol does not occur in this code.\n\n The codes are sorted by computing a count of codes for each length,\n creating from that a table of starting indices for each length in the\n sorted table, and then entering the symbols in order in the sorted\n table. The sorted table is work[], with that space being provided by\n the caller.\n\n The length counts are used for other purposes as well, i.e. finding\n the minimum and maximum length codes, determining if there are any\n codes at all, checking for a valid set of lengths, and looking ahead\n at length counts to determine sub-table sizes when building the\n decoding tables.\n */\n\n /* accumulate lengths for codes (assumes lens[] all in 0..MAXBITS) */\n for (len = 0; len <= MAXBITS; len++) {\n count[len] = 0;\n }\n for (sym = 0; sym < codes; sym++) {\n count[lens[lens_index + sym]]++;\n }\n\n /* bound code lengths, force root to be within code lengths */\n root = bits;\n for (max = MAXBITS; max >= 1; max--) {\n if (count[max] !== 0) { break; }\n }\n if (root > max) {\n root = max;\n }\n if (max === 0) { /* no symbols to code at all */\n //table.op[opts.table_index] = 64; //here.op = (var char)64; /* invalid code marker */\n //table.bits[opts.table_index] = 1; //here.bits = (var char)1;\n //table.val[opts.table_index++] = 0; //here.val = (var short)0;\n table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n\n //table.op[opts.table_index] = 64;\n //table.bits[opts.table_index] = 1;\n //table.val[opts.table_index++] = 0;\n table[table_index++] = (1 << 24) | (64 << 16) | 0;\n\n opts.bits = 1;\n return 0; /* no symbols, but wait for decoding to report error */\n }\n for (min = 1; min < max; min++) {\n if (count[min] !== 0) { break; }\n }\n if (root < min) {\n root = min;\n }\n\n /* check for an over-subscribed or incomplete set of lengths */\n left = 1;\n for (len = 1; len <= MAXBITS; len++) {\n left <<= 1;\n left -= count[len];\n if (left < 0) {\n return -1;\n } /* over-subscribed */\n }\n if (left > 0 && (type === CODES || max !== 1)) {\n return -1; /* incomplete set */\n }\n\n /* generate offsets into symbol table for each length for sorting */\n offs[1] = 0;\n for (len = 1; len < MAXBITS; len++) {\n offs[len + 1] = offs[len] + count[len];\n }\n\n /* sort symbols by length, by symbol order within each length */\n for (sym = 0; sym < codes; sym++) {\n if (lens[lens_index + sym] !== 0) {\n work[offs[lens[lens_index + sym]]++] = sym;\n }\n }\n\n /*\n Create and fill in decoding tables. In this loop, the table being\n filled is at next and has curr index bits. The code being used is huff\n with length len. That code is converted to an index by dropping drop\n bits off of the bottom. For codes where len is less than drop + curr,\n those top drop + curr - len bits are incremented through all values to\n fill the table with replicated entries.\n\n root is the number of index bits for the root table. When len exceeds\n root, sub-tables are created pointed to by the root entry with an index\n of the low root bits of huff. This is saved in low to check for when a\n new sub-table should be started. drop is zero when the root table is\n being filled, and drop is root when sub-tables are being filled.\n\n When a new sub-table is needed, it is necessary to look ahead in the\n code lengths to determine what size sub-table is needed. The length\n counts are used for this, and so count[] is decremented as codes are\n entered in the tables.\n\n used keeps track of how many table entries have been allocated from the\n provided *table space. It is checked for LENS and DIST tables against\n the constants ENOUGH_LENS and ENOUGH_DISTS to guard against changes in\n the initial root table size constants. See the comments in inftrees.h\n for more information.\n\n sym increments through all symbols, and the loop terminates when\n all codes of length max, i.e. all codes, have been processed. This\n routine permits incomplete codes, so another loop after this one fills\n in the rest of the decoding tables with invalid code markers.\n */\n\n /* set up for code type */\n // poor man optimization - use if-else instead of switch,\n // to avoid deopts in old v8\n if (type === CODES) {\n base = extra = work; /* dummy value--not used */\n end = 19;\n\n } else if (type === LENS) {\n base = lbase;\n base_index -= 257;\n extra = lext;\n extra_index -= 257;\n end = 256;\n\n } else { /* DISTS */\n base = dbase;\n extra = dext;\n end = -1;\n }\n\n /* initialize opts for loop */\n huff = 0; /* starting code */\n sym = 0; /* starting code symbol */\n len = min; /* starting code length */\n next = table_index; /* current table to fill in */\n curr = root; /* current table index bits */\n drop = 0; /* current bits to drop from code for index */\n low = -1; /* trigger new sub-table when len > root */\n used = 1 << root; /* use root table entries */\n mask = used - 1; /* mask for comparing low */\n\n /* check available table space */\n if ((type === LENS && used > ENOUGH_LENS) ||\n (type === DISTS && used > ENOUGH_DISTS)) {\n return 1;\n }\n\n /* process all codes and make table entries */\n for (;;) {\n /* create table entry */\n here_bits = len - drop;\n if (work[sym] < end) {\n here_op = 0;\n here_val = work[sym];\n }\n else if (work[sym] > end) {\n here_op = extra[extra_index + work[sym]];\n here_val = base[base_index + work[sym]];\n }\n else {\n here_op = 32 + 64; /* end of block */\n here_val = 0;\n }\n\n /* replicate for those indices with low len bits equal to huff */\n incr = 1 << (len - drop);\n fill = 1 << curr;\n min = fill; /* save offset to next table */\n do {\n fill -= incr;\n table[next + (huff >> drop) + fill] = (here_bits << 24) | (here_op << 16) | here_val |0;\n } while (fill !== 0);\n\n /* backwards increment the len-bit code huff */\n incr = 1 << (len - 1);\n while (huff & incr) {\n incr >>= 1;\n }\n if (incr !== 0) {\n huff &= incr - 1;\n huff += incr;\n } else {\n huff = 0;\n }\n\n /* go to next symbol, update count, len */\n sym++;\n if (--count[len] === 0) {\n if (len === max) { break; }\n len = lens[lens_index + work[sym]];\n }\n\n /* create new sub-table if needed */\n if (len > root && (huff & mask) !== low) {\n /* if first time, transition to sub-tables */\n if (drop === 0) {\n drop = root;\n }\n\n /* increment past last table */\n next += min; /* here min is 1 << curr */\n\n /* determine length of next table */\n curr = len - drop;\n left = 1 << curr;\n while (curr + drop < max) {\n left -= count[curr + drop];\n if (left <= 0) { break; }\n curr++;\n left <<= 1;\n }\n\n /* check for enough space */\n used += 1 << curr;\n if ((type === LENS && used > ENOUGH_LENS) ||\n (type === DISTS && used > ENOUGH_DISTS)) {\n return 1;\n }\n\n /* point entry in root table to sub-table */\n low = huff & mask;\n /*table.op[low] = curr;\n table.bits[low] = root;\n table.val[low] = next - opts.table_index;*/\n table[low] = (root << 24) | (curr << 16) | (next - table_index) |0;\n }\n }\n\n /* fill in remaining table entry if code is incomplete (guaranteed to have\n at most one remaining entry, since if the code is incomplete, the\n maximum code length that was allowed to get this far is one bit) */\n if (huff !== 0) {\n //table.op[next + huff] = 64; /* invalid code marker */\n //table.bits[next + huff] = len - drop;\n //table.val[next + huff] = 0;\n table[next + huff] = ((len - drop) << 24) | (64 << 16) |0;\n }\n\n /* set return parameters */\n //opts.table_index += used;\n opts.bits = root;\n return 0;\n};\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/lib/zlib/inftrees.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pako/lib/zlib/messages.js":
/*!*****************************************************************!*\
!*** ../simple-mind-map/node_modules/pako/lib/zlib/messages.js ***!
\*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nmodule.exports = {\n 2: 'need dictionary', /* Z_NEED_DICT 2 */\n 1: 'stream end', /* Z_STREAM_END 1 */\n 0: '', /* Z_OK 0 */\n '-1': 'file error', /* Z_ERRNO (-1) */\n '-2': 'stream error', /* Z_STREAM_ERROR (-2) */\n '-3': 'data error', /* Z_DATA_ERROR (-3) */\n '-4': 'insufficient memory', /* Z_MEM_ERROR (-4) */\n '-5': 'buffer error', /* Z_BUF_ERROR (-5) */\n '-6': 'incompatible version' /* Z_VERSION_ERROR (-6) */\n};\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/lib/zlib/messages.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pako/lib/zlib/trees.js":
/*!**************************************************************!*\
!*** ../simple-mind-map/node_modules/pako/lib/zlib/trees.js ***!
\**************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\n/* eslint-disable space-unary-ops */\n\nvar utils = __webpack_require__(/*! ../utils/common */ \"../simple-mind-map/node_modules/pako/lib/utils/common.js\");\n\n/* Public constants ==========================================================*/\n/* ===========================================================================*/\n\n\n//var Z_FILTERED = 1;\n//var Z_HUFFMAN_ONLY = 2;\n//var Z_RLE = 3;\nvar Z_FIXED = 4;\n//var Z_DEFAULT_STRATEGY = 0;\n\n/* Possible values of the data_type field (though see inflate()) */\nvar Z_BINARY = 0;\nvar Z_TEXT = 1;\n//var Z_ASCII = 1; // = Z_TEXT\nvar Z_UNKNOWN = 2;\n\n/*============================================================================*/\n\n\nfunction zero(buf) { var len = buf.length; while (--len >= 0) { buf[len] = 0; } }\n\n// From zutil.h\n\nvar STORED_BLOCK = 0;\nvar STATIC_TREES = 1;\nvar DYN_TREES = 2;\n/* The three kinds of block type */\n\nvar MIN_MATCH = 3;\nvar MAX_MATCH = 258;\n/* The minimum and maximum match lengths */\n\n// From deflate.h\n/* ===========================================================================\n * Internal compression state.\n */\n\nvar LENGTH_CODES = 29;\n/* number of length codes, not counting the special END_BLOCK code */\n\nvar LITERALS = 256;\n/* number of literal bytes 0..255 */\n\nvar L_CODES = LITERALS + 1 + LENGTH_CODES;\n/* number of Literal or Length codes, including the END_BLOCK code */\n\nvar D_CODES = 30;\n/* number of distance codes */\n\nvar BL_CODES = 19;\n/* number of codes used to transfer the bit lengths */\n\nvar HEAP_SIZE = 2 * L_CODES + 1;\n/* maximum heap size */\n\nvar MAX_BITS = 15;\n/* All codes must not exceed MAX_BITS bits */\n\nvar Buf_size = 16;\n/* size of bit buffer in bi_buf */\n\n\n/* ===========================================================================\n * Constants\n */\n\nvar MAX_BL_BITS = 7;\n/* Bit length codes must not exceed MAX_BL_BITS bits */\n\nvar END_BLOCK = 256;\n/* end of block literal code */\n\nvar REP_3_6 = 16;\n/* repeat previous bit length 3-6 times (2 bits of repeat count) */\n\nvar REPZ_3_10 = 17;\n/* repeat a zero length 3-10 times (3 bits of repeat count) */\n\nvar REPZ_11_138 = 18;\n/* repeat a zero length 11-138 times (7 bits of repeat count) */\n\n/* eslint-disable comma-spacing,array-bracket-spacing */\nvar extra_lbits = /* extra bits for each length code */\n [0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0];\n\nvar extra_dbits = /* extra bits for each distance code */\n [0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13];\n\nvar extra_blbits = /* extra bits for each bit length code */\n [0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7];\n\nvar bl_order =\n [16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15];\n/* eslint-enable comma-spacing,array-bracket-spacing */\n\n/* The lengths of the bit length codes are sent in order of decreasing\n * probability, to avoid transmitting the lengths for unused bit length codes.\n */\n\n/* ===========================================================================\n * Local data. These are initialized only once.\n */\n\n// We pre-fill arrays with 0 to avoid uninitialized gaps\n\nvar DIST_CODE_LEN = 512; /* see definition of array dist_code below */\n\n// !!!! Use flat array instead of structure, Freq = i*2, Len = i*2+1\nvar static_ltree = new Array((L_CODES + 2) * 2);\nzero(static_ltree);\n/* The static literal tree. Since the bit lengths are imposed, there is no\n * need for the L_CODES extra codes used during heap construction. However\n * The codes 286 and 287 are needed to build a canonical tree (see _tr_init\n * below).\n */\n\nvar static_dtree = new Array(D_CODES * 2);\nzero(static_dtree);\n/* The static distance tree. (Actually a trivial tree since all codes use\n * 5 bits.)\n */\n\nvar _dist_code = new Array(DIST_CODE_LEN);\nzero(_dist_code);\n/* Distance codes. The first 256 values correspond to the distances\n * 3 .. 258, the last 256 values correspond to the top 8 bits of\n * the 15 bit distances.\n */\n\nvar _length_code = new Array(MAX_MATCH - MIN_MATCH + 1);\nzero(_length_code);\n/* length code for each normalized match length (0 == MIN_MATCH) */\n\nvar base_length = new Array(LENGTH_CODES);\nzero(base_length);\n/* First normalized length for each code (0 = MIN_MATCH) */\n\nvar base_dist = new Array(D_CODES);\nzero(base_dist);\n/* First normalized distance for each code (0 = distance of 1) */\n\n\nfunction StaticTreeDesc(static_tree, extra_bits, extra_base, elems, max_length) {\n\n this.static_tree = static_tree; /* static tree or NULL */\n this.extra_bits = extra_bits; /* extra bits for each code or NULL */\n this.extra_base = extra_base; /* base index for extra_bits */\n this.elems = elems; /* max number of elements in the tree */\n this.max_length = max_length; /* max bit length for the codes */\n\n // show if `static_tree` has data or dummy - needed for monomorphic objects\n this.has_stree = static_tree && static_tree.length;\n}\n\n\nvar static_l_desc;\nvar static_d_desc;\nvar static_bl_desc;\n\n\nfunction TreeDesc(dyn_tree, stat_desc) {\n this.dyn_tree = dyn_tree; /* the dynamic tree */\n this.max_code = 0; /* largest code with non zero frequency */\n this.stat_desc = stat_desc; /* the corresponding static tree */\n}\n\n\n\nfunction d_code(dist) {\n return dist < 256 ? _dist_code[dist] : _dist_code[256 + (dist >>> 7)];\n}\n\n\n/* ===========================================================================\n * Output a short LSB first on the stream.\n * IN assertion: there is enough room in pendingBuf.\n */\nfunction put_short(s, w) {\n// put_byte(s, (uch)((w) & 0xff));\n// put_byte(s, (uch)((ush)(w) >> 8));\n s.pending_buf[s.pending++] = (w) & 0xff;\n s.pending_buf[s.pending++] = (w >>> 8) & 0xff;\n}\n\n\n/* ===========================================================================\n * Send a value on a given number of bits.\n * IN assertion: length <= 16 and value fits in length bits.\n */\nfunction send_bits(s, value, length) {\n if (s.bi_valid > (Buf_size - length)) {\n s.bi_buf |= (value << s.bi_valid) & 0xffff;\n put_short(s, s.bi_buf);\n s.bi_buf = value >> (Buf_size - s.bi_valid);\n s.bi_valid += length - Buf_size;\n } else {\n s.bi_buf |= (value << s.bi_valid) & 0xffff;\n s.bi_valid += length;\n }\n}\n\n\nfunction send_code(s, c, tree) {\n send_bits(s, tree[c * 2]/*.Code*/, tree[c * 2 + 1]/*.Len*/);\n}\n\n\n/* ===========================================================================\n * Reverse the first len bits of a code, using straightforward code (a faster\n * method would use a table)\n * IN assertion: 1 <= len <= 15\n */\nfunction bi_reverse(code, len) {\n var res = 0;\n do {\n res |= code & 1;\n code >>>= 1;\n res <<= 1;\n } while (--len > 0);\n return res >>> 1;\n}\n\n\n/* ===========================================================================\n * Flush the bit buffer, keeping at most 7 bits in it.\n */\nfunction bi_flush(s) {\n if (s.bi_valid === 16) {\n put_short(s, s.bi_buf);\n s.bi_buf = 0;\n s.bi_valid = 0;\n\n } else if (s.bi_valid >= 8) {\n s.pending_buf[s.pending++] = s.bi_buf & 0xff;\n s.bi_buf >>= 8;\n s.bi_valid -= 8;\n }\n}\n\n\n/* ===========================================================================\n * Compute the optimal bit lengths for a tree and update the total bit length\n * for the current block.\n * IN assertion: the fields freq and dad are set, heap[heap_max] and\n * above are the tree nodes sorted by increasing frequency.\n * OUT assertions: the field len is set to the optimal bit length, the\n * array bl_count contains the frequencies for each bit length.\n * The length opt_len is updated; static_len is also updated if stree is\n * not null.\n */\nfunction gen_bitlen(s, desc)\n// deflate_state *s;\n// tree_desc *desc; /* the tree descriptor */\n{\n var tree = desc.dyn_tree;\n var max_code = desc.max_code;\n var stree = desc.stat_desc.static_tree;\n var has_stree = desc.stat_desc.has_stree;\n var extra = desc.stat_desc.extra_bits;\n var base = desc.stat_desc.extra_base;\n var max_length = desc.stat_desc.max_length;\n var h; /* heap index */\n var n, m; /* iterate over the tree elements */\n var bits; /* bit length */\n var xbits; /* extra bits */\n var f; /* frequency */\n var overflow = 0; /* number of elements with bit length too large */\n\n for (bits = 0; bits <= MAX_BITS; bits++) {\n s.bl_count[bits] = 0;\n }\n\n /* In a first pass, compute the optimal bit lengths (which may\n * overflow in the case of the bit length tree).\n */\n tree[s.heap[s.heap_max] * 2 + 1]/*.Len*/ = 0; /* root of the heap */\n\n for (h = s.heap_max + 1; h < HEAP_SIZE; h++) {\n n = s.heap[h];\n bits = tree[tree[n * 2 + 1]/*.Dad*/ * 2 + 1]/*.Len*/ + 1;\n if (bits > max_length) {\n bits = max_length;\n overflow++;\n }\n tree[n * 2 + 1]/*.Len*/ = bits;\n /* We overwrite tree[n].Dad which is no longer needed */\n\n if (n > max_code) { continue; } /* not a leaf node */\n\n s.bl_count[bits]++;\n xbits = 0;\n if (n >= base) {\n xbits = extra[n - base];\n }\n f = tree[n * 2]/*.Freq*/;\n s.opt_len += f * (bits + xbits);\n if (has_stree) {\n s.static_len += f * (stree[n * 2 + 1]/*.Len*/ + xbits);\n }\n }\n if (overflow === 0) { return; }\n\n // Trace((stderr,\"\\nbit length overflow\\n\"));\n /* This happens for example on obj2 and pic of the Calgary corpus */\n\n /* Find the first bit length which could increase: */\n do {\n bits = max_length - 1;\n while (s.bl_count[bits] === 0) { bits--; }\n s.bl_count[bits]--; /* move one leaf down the tree */\n s.bl_count[bits + 1] += 2; /* move one overflow item as its brother */\n s.bl_count[max_length]--;\n /* The brother of the overflow item also moves one step up,\n * but this does not affect bl_count[max_length]\n */\n overflow -= 2;\n } while (overflow > 0);\n\n /* Now recompute all bit lengths, scanning in increasing frequency.\n * h is still equal to HEAP_SIZE. (It is simpler to reconstruct all\n * lengths instead of fixing only the wrong ones. This idea is taken\n * from 'ar' written by Haruhiko Okumura.)\n */\n for (bits = max_length; bits !== 0; bits--) {\n n = s.bl_count[bits];\n while (n !== 0) {\n m = s.heap[--h];\n if (m > max_code) { continue; }\n if (tree[m * 2 + 1]/*.Len*/ !== bits) {\n // Trace((stderr,\"code %d bits %d->%d\\n\", m, tree[m].Len, bits));\n s.opt_len += (bits - tree[m * 2 + 1]/*.Len*/) * tree[m * 2]/*.Freq*/;\n tree[m * 2 + 1]/*.Len*/ = bits;\n }\n n--;\n }\n }\n}\n\n\n/* ===========================================================================\n * Generate the codes for a given tree and bit counts (which need not be\n * optimal).\n * IN assertion: the array bl_count contains the bit length statistics for\n * the given tree and the field len is set for all tree elements.\n * OUT assertion: the field code is set for all tree elements of non\n * zero code length.\n */\nfunction gen_codes(tree, max_code, bl_count)\n// ct_data *tree; /* the tree to decorate */\n// int max_code; /* largest code with non zero frequency */\n// ushf *bl_count; /* number of codes at each bit length */\n{\n var next_code = new Array(MAX_BITS + 1); /* next code value for each bit length */\n var code = 0; /* running code value */\n var bits; /* bit index */\n var n; /* code index */\n\n /* The distribution counts are first used to generate the code values\n * without bit reversal.\n */\n for (bits = 1; bits <= MAX_BITS; bits++) {\n next_code[bits] = code = (code + bl_count[bits - 1]) << 1;\n }\n /* Check that the bit counts in bl_count are consistent. The last code\n * must be all ones.\n */\n //Assert (code + bl_count[MAX_BITS]-1 == (1< length code (0..28) */\n length = 0;\n for (code = 0; code < LENGTH_CODES - 1; code++) {\n base_length[code] = length;\n for (n = 0; n < (1 << extra_lbits[code]); n++) {\n _length_code[length++] = code;\n }\n }\n //Assert (length == 256, \"tr_static_init: length != 256\");\n /* Note that the length 255 (match length 258) can be represented\n * in two different ways: code 284 + 5 bits or code 285, so we\n * overwrite length_code[255] to use the best encoding:\n */\n _length_code[length - 1] = code;\n\n /* Initialize the mapping dist (0..32K) -> dist code (0..29) */\n dist = 0;\n for (code = 0; code < 16; code++) {\n base_dist[code] = dist;\n for (n = 0; n < (1 << extra_dbits[code]); n++) {\n _dist_code[dist++] = code;\n }\n }\n //Assert (dist == 256, \"tr_static_init: dist != 256\");\n dist >>= 7; /* from now on, all distances are divided by 128 */\n for (; code < D_CODES; code++) {\n base_dist[code] = dist << 7;\n for (n = 0; n < (1 << (extra_dbits[code] - 7)); n++) {\n _dist_code[256 + dist++] = code;\n }\n }\n //Assert (dist == 256, \"tr_static_init: 256+dist != 512\");\n\n /* Construct the codes of the static literal tree */\n for (bits = 0; bits <= MAX_BITS; bits++) {\n bl_count[bits] = 0;\n }\n\n n = 0;\n while (n <= 143) {\n static_ltree[n * 2 + 1]/*.Len*/ = 8;\n n++;\n bl_count[8]++;\n }\n while (n <= 255) {\n static_ltree[n * 2 + 1]/*.Len*/ = 9;\n n++;\n bl_count[9]++;\n }\n while (n <= 279) {\n static_ltree[n * 2 + 1]/*.Len*/ = 7;\n n++;\n bl_count[7]++;\n }\n while (n <= 287) {\n static_ltree[n * 2 + 1]/*.Len*/ = 8;\n n++;\n bl_count[8]++;\n }\n /* Codes 286 and 287 do not exist, but we must include them in the\n * tree construction to get a canonical Huffman tree (longest code\n * all ones)\n */\n gen_codes(static_ltree, L_CODES + 1, bl_count);\n\n /* The static distance tree is trivial: */\n for (n = 0; n < D_CODES; n++) {\n static_dtree[n * 2 + 1]/*.Len*/ = 5;\n static_dtree[n * 2]/*.Code*/ = bi_reverse(n, 5);\n }\n\n // Now data ready and we can init static trees\n static_l_desc = new StaticTreeDesc(static_ltree, extra_lbits, LITERALS + 1, L_CODES, MAX_BITS);\n static_d_desc = new StaticTreeDesc(static_dtree, extra_dbits, 0, D_CODES, MAX_BITS);\n static_bl_desc = new StaticTreeDesc(new Array(0), extra_blbits, 0, BL_CODES, MAX_BL_BITS);\n\n //static_init_done = true;\n}\n\n\n/* ===========================================================================\n * Initialize a new block.\n */\nfunction init_block(s) {\n var n; /* iterates over tree elements */\n\n /* Initialize the trees. */\n for (n = 0; n < L_CODES; n++) { s.dyn_ltree[n * 2]/*.Freq*/ = 0; }\n for (n = 0; n < D_CODES; n++) { s.dyn_dtree[n * 2]/*.Freq*/ = 0; }\n for (n = 0; n < BL_CODES; n++) { s.bl_tree[n * 2]/*.Freq*/ = 0; }\n\n s.dyn_ltree[END_BLOCK * 2]/*.Freq*/ = 1;\n s.opt_len = s.static_len = 0;\n s.last_lit = s.matches = 0;\n}\n\n\n/* ===========================================================================\n * Flush the bit buffer and align the output on a byte boundary\n */\nfunction bi_windup(s)\n{\n if (s.bi_valid > 8) {\n put_short(s, s.bi_buf);\n } else if (s.bi_valid > 0) {\n //put_byte(s, (Byte)s->bi_buf);\n s.pending_buf[s.pending++] = s.bi_buf;\n }\n s.bi_buf = 0;\n s.bi_valid = 0;\n}\n\n/* ===========================================================================\n * Copy a stored block, storing first the length and its\n * one's complement if requested.\n */\nfunction copy_block(s, buf, len, header)\n//DeflateState *s;\n//charf *buf; /* the input data */\n//unsigned len; /* its length */\n//int header; /* true if block header must be written */\n{\n bi_windup(s); /* align on byte boundary */\n\n if (header) {\n put_short(s, len);\n put_short(s, ~len);\n }\n// while (len--) {\n// put_byte(s, *buf++);\n// }\n utils.arraySet(s.pending_buf, s.window, buf, len, s.pending);\n s.pending += len;\n}\n\n/* ===========================================================================\n * Compares to subtrees, using the tree depth as tie breaker when\n * the subtrees have equal frequency. This minimizes the worst case length.\n */\nfunction smaller(tree, n, m, depth) {\n var _n2 = n * 2;\n var _m2 = m * 2;\n return (tree[_n2]/*.Freq*/ < tree[_m2]/*.Freq*/ ||\n (tree[_n2]/*.Freq*/ === tree[_m2]/*.Freq*/ && depth[n] <= depth[m]));\n}\n\n/* ===========================================================================\n * Restore the heap property by moving down the tree starting at node k,\n * exchanging a node with the smallest of its two sons if necessary, stopping\n * when the heap property is re-established (each father smaller than its\n * two sons).\n */\nfunction pqdownheap(s, tree, k)\n// deflate_state *s;\n// ct_data *tree; /* the tree to restore */\n// int k; /* node to move down */\n{\n var v = s.heap[k];\n var j = k << 1; /* left son of k */\n while (j <= s.heap_len) {\n /* Set j to the smallest of the two sons: */\n if (j < s.heap_len &&\n smaller(tree, s.heap[j + 1], s.heap[j], s.depth)) {\n j++;\n }\n /* Exit if v is smaller than both sons */\n if (smaller(tree, v, s.heap[j], s.depth)) { break; }\n\n /* Exchange v with the smallest son */\n s.heap[k] = s.heap[j];\n k = j;\n\n /* And continue down the tree, setting j to the left son of k */\n j <<= 1;\n }\n s.heap[k] = v;\n}\n\n\n// inlined manually\n// var SMALLEST = 1;\n\n/* ===========================================================================\n * Send the block data compressed using the given Huffman trees\n */\nfunction compress_block(s, ltree, dtree)\n// deflate_state *s;\n// const ct_data *ltree; /* literal tree */\n// const ct_data *dtree; /* distance tree */\n{\n var dist; /* distance of matched string */\n var lc; /* match length or unmatched char (if dist == 0) */\n var lx = 0; /* running index in l_buf */\n var code; /* the code to send */\n var extra; /* number of extra bits to send */\n\n if (s.last_lit !== 0) {\n do {\n dist = (s.pending_buf[s.d_buf + lx * 2] << 8) | (s.pending_buf[s.d_buf + lx * 2 + 1]);\n lc = s.pending_buf[s.l_buf + lx];\n lx++;\n\n if (dist === 0) {\n send_code(s, lc, ltree); /* send a literal byte */\n //Tracecv(isgraph(lc), (stderr,\" '%c' \", lc));\n } else {\n /* Here, lc is the match length - MIN_MATCH */\n code = _length_code[lc];\n send_code(s, code + LITERALS + 1, ltree); /* send the length code */\n extra = extra_lbits[code];\n if (extra !== 0) {\n lc -= base_length[code];\n send_bits(s, lc, extra); /* send the extra length bits */\n }\n dist--; /* dist is now the match distance - 1 */\n code = d_code(dist);\n //Assert (code < D_CODES, \"bad d_code\");\n\n send_code(s, code, dtree); /* send the distance code */\n extra = extra_dbits[code];\n if (extra !== 0) {\n dist -= base_dist[code];\n send_bits(s, dist, extra); /* send the extra distance bits */\n }\n } /* literal or match pair ? */\n\n /* Check that the overlay between pending_buf and d_buf+l_buf is ok: */\n //Assert((uInt)(s->pending) < s->lit_bufsize + 2*lx,\n // \"pendingBuf overflow\");\n\n } while (lx < s.last_lit);\n }\n\n send_code(s, END_BLOCK, ltree);\n}\n\n\n/* ===========================================================================\n * Construct one Huffman tree and assigns the code bit strings and lengths.\n * Update the total bit length for the current block.\n * IN assertion: the field freq is set for all tree elements.\n * OUT assertions: the fields len and code are set to the optimal bit length\n * and corresponding code. The length opt_len is updated; static_len is\n * also updated if stree is not null. The field max_code is set.\n */\nfunction build_tree(s, desc)\n// deflate_state *s;\n// tree_desc *desc; /* the tree descriptor */\n{\n var tree = desc.dyn_tree;\n var stree = desc.stat_desc.static_tree;\n var has_stree = desc.stat_desc.has_stree;\n var elems = desc.stat_desc.elems;\n var n, m; /* iterate over heap elements */\n var max_code = -1; /* largest code with non zero frequency */\n var node; /* new node being created */\n\n /* Construct the initial heap, with least frequent element in\n * heap[SMALLEST]. The sons of heap[n] are heap[2*n] and heap[2*n+1].\n * heap[0] is not used.\n */\n s.heap_len = 0;\n s.heap_max = HEAP_SIZE;\n\n for (n = 0; n < elems; n++) {\n if (tree[n * 2]/*.Freq*/ !== 0) {\n s.heap[++s.heap_len] = max_code = n;\n s.depth[n] = 0;\n\n } else {\n tree[n * 2 + 1]/*.Len*/ = 0;\n }\n }\n\n /* The pkzip format requires that at least one distance code exists,\n * and that at least one bit should be sent even if there is only one\n * possible code. So to avoid special checks later on we force at least\n * two codes of non zero frequency.\n */\n while (s.heap_len < 2) {\n node = s.heap[++s.heap_len] = (max_code < 2 ? ++max_code : 0);\n tree[node * 2]/*.Freq*/ = 1;\n s.depth[node] = 0;\n s.opt_len--;\n\n if (has_stree) {\n s.static_len -= stree[node * 2 + 1]/*.Len*/;\n }\n /* node is 0 or 1 so it does not have extra bits */\n }\n desc.max_code = max_code;\n\n /* The elements heap[heap_len/2+1 .. heap_len] are leaves of the tree,\n * establish sub-heaps of increasing lengths:\n */\n for (n = (s.heap_len >> 1/*int /2*/); n >= 1; n--) { pqdownheap(s, tree, n); }\n\n /* Construct the Huffman tree by repeatedly combining the least two\n * frequent nodes.\n */\n node = elems; /* next internal node of the tree */\n do {\n //pqremove(s, tree, n); /* n = node of least frequency */\n /*** pqremove ***/\n n = s.heap[1/*SMALLEST*/];\n s.heap[1/*SMALLEST*/] = s.heap[s.heap_len--];\n pqdownheap(s, tree, 1/*SMALLEST*/);\n /***/\n\n m = s.heap[1/*SMALLEST*/]; /* m = node of next least frequency */\n\n s.heap[--s.heap_max] = n; /* keep the nodes sorted by frequency */\n s.heap[--s.heap_max] = m;\n\n /* Create a new node father of n and m */\n tree[node * 2]/*.Freq*/ = tree[n * 2]/*.Freq*/ + tree[m * 2]/*.Freq*/;\n s.depth[node] = (s.depth[n] >= s.depth[m] ? s.depth[n] : s.depth[m]) + 1;\n tree[n * 2 + 1]/*.Dad*/ = tree[m * 2 + 1]/*.Dad*/ = node;\n\n /* and insert the new node in the heap */\n s.heap[1/*SMALLEST*/] = node++;\n pqdownheap(s, tree, 1/*SMALLEST*/);\n\n } while (s.heap_len >= 2);\n\n s.heap[--s.heap_max] = s.heap[1/*SMALLEST*/];\n\n /* At this point, the fields freq and dad are set. We can now\n * generate the bit lengths.\n */\n gen_bitlen(s, desc);\n\n /* The field len is now set, we can generate the bit codes */\n gen_codes(tree, max_code, s.bl_count);\n}\n\n\n/* ===========================================================================\n * Scan a literal or distance tree to determine the frequencies of the codes\n * in the bit length tree.\n */\nfunction scan_tree(s, tree, max_code)\n// deflate_state *s;\n// ct_data *tree; /* the tree to be scanned */\n// int max_code; /* and its largest code of non zero frequency */\n{\n var n; /* iterates over all tree elements */\n var prevlen = -1; /* last emitted length */\n var curlen; /* length of current code */\n\n var nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */\n\n var count = 0; /* repeat count of the current code */\n var max_count = 7; /* max repeat count */\n var min_count = 4; /* min repeat count */\n\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n }\n tree[(max_code + 1) * 2 + 1]/*.Len*/ = 0xffff; /* guard */\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;\n\n if (++count < max_count && curlen === nextlen) {\n continue;\n\n } else if (count < min_count) {\n s.bl_tree[curlen * 2]/*.Freq*/ += count;\n\n } else if (curlen !== 0) {\n\n if (curlen !== prevlen) { s.bl_tree[curlen * 2]/*.Freq*/++; }\n s.bl_tree[REP_3_6 * 2]/*.Freq*/++;\n\n } else if (count <= 10) {\n s.bl_tree[REPZ_3_10 * 2]/*.Freq*/++;\n\n } else {\n s.bl_tree[REPZ_11_138 * 2]/*.Freq*/++;\n }\n\n count = 0;\n prevlen = curlen;\n\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n\n } else if (curlen === nextlen) {\n max_count = 6;\n min_count = 3;\n\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n}\n\n\n/* ===========================================================================\n * Send a literal or distance tree in compressed form, using the codes in\n * bl_tree.\n */\nfunction send_tree(s, tree, max_code)\n// deflate_state *s;\n// ct_data *tree; /* the tree to be scanned */\n// int max_code; /* and its largest code of non zero frequency */\n{\n var n; /* iterates over all tree elements */\n var prevlen = -1; /* last emitted length */\n var curlen; /* length of current code */\n\n var nextlen = tree[0 * 2 + 1]/*.Len*/; /* length of next code */\n\n var count = 0; /* repeat count of the current code */\n var max_count = 7; /* max repeat count */\n var min_count = 4; /* min repeat count */\n\n /* tree[max_code+1].Len = -1; */ /* guard already set */\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n }\n\n for (n = 0; n <= max_code; n++) {\n curlen = nextlen;\n nextlen = tree[(n + 1) * 2 + 1]/*.Len*/;\n\n if (++count < max_count && curlen === nextlen) {\n continue;\n\n } else if (count < min_count) {\n do { send_code(s, curlen, s.bl_tree); } while (--count !== 0);\n\n } else if (curlen !== 0) {\n if (curlen !== prevlen) {\n send_code(s, curlen, s.bl_tree);\n count--;\n }\n //Assert(count >= 3 && count <= 6, \" 3_6?\");\n send_code(s, REP_3_6, s.bl_tree);\n send_bits(s, count - 3, 2);\n\n } else if (count <= 10) {\n send_code(s, REPZ_3_10, s.bl_tree);\n send_bits(s, count - 3, 3);\n\n } else {\n send_code(s, REPZ_11_138, s.bl_tree);\n send_bits(s, count - 11, 7);\n }\n\n count = 0;\n prevlen = curlen;\n if (nextlen === 0) {\n max_count = 138;\n min_count = 3;\n\n } else if (curlen === nextlen) {\n max_count = 6;\n min_count = 3;\n\n } else {\n max_count = 7;\n min_count = 4;\n }\n }\n}\n\n\n/* ===========================================================================\n * Construct the Huffman tree for the bit lengths and return the index in\n * bl_order of the last bit length code to send.\n */\nfunction build_bl_tree(s) {\n var max_blindex; /* index of last bit length code of non zero freq */\n\n /* Determine the bit length frequencies for literal and distance trees */\n scan_tree(s, s.dyn_ltree, s.l_desc.max_code);\n scan_tree(s, s.dyn_dtree, s.d_desc.max_code);\n\n /* Build the bit length tree: */\n build_tree(s, s.bl_desc);\n /* opt_len now includes the length of the tree representations, except\n * the lengths of the bit lengths codes and the 5+5+4 bits for the counts.\n */\n\n /* Determine the number of bit length codes to send. The pkzip format\n * requires that at least 4 bit length codes be sent. (appnote.txt says\n * 3 but the actual value used is 4.)\n */\n for (max_blindex = BL_CODES - 1; max_blindex >= 3; max_blindex--) {\n if (s.bl_tree[bl_order[max_blindex] * 2 + 1]/*.Len*/ !== 0) {\n break;\n }\n }\n /* Update opt_len to include the bit length tree and counts */\n s.opt_len += 3 * (max_blindex + 1) + 5 + 5 + 4;\n //Tracev((stderr, \"\\ndyn trees: dyn %ld, stat %ld\",\n // s->opt_len, s->static_len));\n\n return max_blindex;\n}\n\n\n/* ===========================================================================\n * Send the header for a block using dynamic Huffman trees: the counts, the\n * lengths of the bit length codes, the literal tree and the distance tree.\n * IN assertion: lcodes >= 257, dcodes >= 1, blcodes >= 4.\n */\nfunction send_all_trees(s, lcodes, dcodes, blcodes)\n// deflate_state *s;\n// int lcodes, dcodes, blcodes; /* number of codes for each tree */\n{\n var rank; /* index in bl_order */\n\n //Assert (lcodes >= 257 && dcodes >= 1 && blcodes >= 4, \"not enough codes\");\n //Assert (lcodes <= L_CODES && dcodes <= D_CODES && blcodes <= BL_CODES,\n // \"too many codes\");\n //Tracev((stderr, \"\\nbl counts: \"));\n send_bits(s, lcodes - 257, 5); /* not +255 as stated in appnote.txt */\n send_bits(s, dcodes - 1, 5);\n send_bits(s, blcodes - 4, 4); /* not -3 as stated in appnote.txt */\n for (rank = 0; rank < blcodes; rank++) {\n //Tracev((stderr, \"\\nbl code %2d \", bl_order[rank]));\n send_bits(s, s.bl_tree[bl_order[rank] * 2 + 1]/*.Len*/, 3);\n }\n //Tracev((stderr, \"\\nbl tree: sent %ld\", s->bits_sent));\n\n send_tree(s, s.dyn_ltree, lcodes - 1); /* literal tree */\n //Tracev((stderr, \"\\nlit tree: sent %ld\", s->bits_sent));\n\n send_tree(s, s.dyn_dtree, dcodes - 1); /* distance tree */\n //Tracev((stderr, \"\\ndist tree: sent %ld\", s->bits_sent));\n}\n\n\n/* ===========================================================================\n * Check if the data type is TEXT or BINARY, using the following algorithm:\n * - TEXT if the two conditions below are satisfied:\n * a) There are no non-portable control characters belonging to the\n * \"black list\" (0..6, 14..25, 28..31).\n * b) There is at least one printable character belonging to the\n * \"white list\" (9 {TAB}, 10 {LF}, 13 {CR}, 32..255).\n * - BINARY otherwise.\n * - The following partially-portable control characters form a\n * \"gray list\" that is ignored in this detection algorithm:\n * (7 {BEL}, 8 {BS}, 11 {VT}, 12 {FF}, 26 {SUB}, 27 {ESC}).\n * IN assertion: the fields Freq of dyn_ltree are set.\n */\nfunction detect_data_type(s) {\n /* black_mask is the bit mask of black-listed bytes\n * set bits 0..6, 14..25, and 28..31\n * 0xf3ffc07f = binary 11110011111111111100000001111111\n */\n var black_mask = 0xf3ffc07f;\n var n;\n\n /* Check for non-textual (\"black-listed\") bytes. */\n for (n = 0; n <= 31; n++, black_mask >>>= 1) {\n if ((black_mask & 1) && (s.dyn_ltree[n * 2]/*.Freq*/ !== 0)) {\n return Z_BINARY;\n }\n }\n\n /* Check for textual (\"white-listed\") bytes. */\n if (s.dyn_ltree[9 * 2]/*.Freq*/ !== 0 || s.dyn_ltree[10 * 2]/*.Freq*/ !== 0 ||\n s.dyn_ltree[13 * 2]/*.Freq*/ !== 0) {\n return Z_TEXT;\n }\n for (n = 32; n < LITERALS; n++) {\n if (s.dyn_ltree[n * 2]/*.Freq*/ !== 0) {\n return Z_TEXT;\n }\n }\n\n /* There are no \"black-listed\" or \"white-listed\" bytes:\n * this stream either is empty or has tolerated (\"gray-listed\") bytes only.\n */\n return Z_BINARY;\n}\n\n\nvar static_init_done = false;\n\n/* ===========================================================================\n * Initialize the tree data structures for a new zlib stream.\n */\nfunction _tr_init(s)\n{\n\n if (!static_init_done) {\n tr_static_init();\n static_init_done = true;\n }\n\n s.l_desc = new TreeDesc(s.dyn_ltree, static_l_desc);\n s.d_desc = new TreeDesc(s.dyn_dtree, static_d_desc);\n s.bl_desc = new TreeDesc(s.bl_tree, static_bl_desc);\n\n s.bi_buf = 0;\n s.bi_valid = 0;\n\n /* Initialize the first block of the first file: */\n init_block(s);\n}\n\n\n/* ===========================================================================\n * Send a stored block\n */\nfunction _tr_stored_block(s, buf, stored_len, last)\n//DeflateState *s;\n//charf *buf; /* input block */\n//ulg stored_len; /* length of input block */\n//int last; /* one if this is the last block for a file */\n{\n send_bits(s, (STORED_BLOCK << 1) + (last ? 1 : 0), 3); /* send block type */\n copy_block(s, buf, stored_len, true); /* with header */\n}\n\n\n/* ===========================================================================\n * Send one empty static block to give enough lookahead for inflate.\n * This takes 10 bits, of which 7 may remain in the bit buffer.\n */\nfunction _tr_align(s) {\n send_bits(s, STATIC_TREES << 1, 3);\n send_code(s, END_BLOCK, static_ltree);\n bi_flush(s);\n}\n\n\n/* ===========================================================================\n * Determine the best encoding for the current block: dynamic trees, static\n * trees or store, and output the encoded block to the zip file.\n */\nfunction _tr_flush_block(s, buf, stored_len, last)\n//DeflateState *s;\n//charf *buf; /* input block, or NULL if too old */\n//ulg stored_len; /* length of input block */\n//int last; /* one if this is the last block for a file */\n{\n var opt_lenb, static_lenb; /* opt_len and static_len in bytes */\n var max_blindex = 0; /* index of last bit length code of non zero freq */\n\n /* Build the Huffman trees unless a stored block is forced */\n if (s.level > 0) {\n\n /* Check if the file is binary or text */\n if (s.strm.data_type === Z_UNKNOWN) {\n s.strm.data_type = detect_data_type(s);\n }\n\n /* Construct the literal and distance trees */\n build_tree(s, s.l_desc);\n // Tracev((stderr, \"\\nlit data: dyn %ld, stat %ld\", s->opt_len,\n // s->static_len));\n\n build_tree(s, s.d_desc);\n // Tracev((stderr, \"\\ndist data: dyn %ld, stat %ld\", s->opt_len,\n // s->static_len));\n /* At this point, opt_len and static_len are the total bit lengths of\n * the compressed block data, excluding the tree representations.\n */\n\n /* Build the bit length tree for the above two trees, and get the index\n * in bl_order of the last bit length code to send.\n */\n max_blindex = build_bl_tree(s);\n\n /* Determine the best encoding. Compute the block lengths in bytes. */\n opt_lenb = (s.opt_len + 3 + 7) >>> 3;\n static_lenb = (s.static_len + 3 + 7) >>> 3;\n\n // Tracev((stderr, \"\\nopt %lu(%lu) stat %lu(%lu) stored %lu lit %u \",\n // opt_lenb, s->opt_len, static_lenb, s->static_len, stored_len,\n // s->last_lit));\n\n if (static_lenb <= opt_lenb) { opt_lenb = static_lenb; }\n\n } else {\n // Assert(buf != (char*)0, \"lost buf\");\n opt_lenb = static_lenb = stored_len + 5; /* force a stored block */\n }\n\n if ((stored_len + 4 <= opt_lenb) && (buf !== -1)) {\n /* 4: two words for the lengths */\n\n /* The test buf != NULL is only necessary if LIT_BUFSIZE > WSIZE.\n * Otherwise we can't have processed more than WSIZE input bytes since\n * the last block flush, because compression would have been\n * successful. If LIT_BUFSIZE <= WSIZE, it is never too late to\n * transform a block into a stored block.\n */\n _tr_stored_block(s, buf, stored_len, last);\n\n } else if (s.strategy === Z_FIXED || static_lenb === opt_lenb) {\n\n send_bits(s, (STATIC_TREES << 1) + (last ? 1 : 0), 3);\n compress_block(s, static_ltree, static_dtree);\n\n } else {\n send_bits(s, (DYN_TREES << 1) + (last ? 1 : 0), 3);\n send_all_trees(s, s.l_desc.max_code + 1, s.d_desc.max_code + 1, max_blindex + 1);\n compress_block(s, s.dyn_ltree, s.dyn_dtree);\n }\n // Assert (s->compressed_len == s->bits_sent, \"bad compressed size\");\n /* The above check is made mod 2^32, for files larger than 512 MB\n * and uLong implemented on 32 bits.\n */\n init_block(s);\n\n if (last) {\n bi_windup(s);\n }\n // Tracev((stderr,\"\\ncomprlen %lu(%lu) \", s->compressed_len>>3,\n // s->compressed_len-7*last));\n}\n\n/* ===========================================================================\n * Save the match info and tally the frequency counts. Return true if\n * the current block must be flushed.\n */\nfunction _tr_tally(s, dist, lc)\n// deflate_state *s;\n// unsigned dist; /* distance of matched string */\n// unsigned lc; /* match length-MIN_MATCH or unmatched char (if dist==0) */\n{\n //var out_length, in_length, dcode;\n\n s.pending_buf[s.d_buf + s.last_lit * 2] = (dist >>> 8) & 0xff;\n s.pending_buf[s.d_buf + s.last_lit * 2 + 1] = dist & 0xff;\n\n s.pending_buf[s.l_buf + s.last_lit] = lc & 0xff;\n s.last_lit++;\n\n if (dist === 0) {\n /* lc is the unmatched char */\n s.dyn_ltree[lc * 2]/*.Freq*/++;\n } else {\n s.matches++;\n /* Here, lc is the match length - MIN_MATCH */\n dist--; /* dist = match distance - 1 */\n //Assert((ush)dist < (ush)MAX_DIST(s) &&\n // (ush)lc <= (ush)(MAX_MATCH-MIN_MATCH) &&\n // (ush)d_code(dist) < (ush)D_CODES, \"_tr_tally: bad match\");\n\n s.dyn_ltree[(_length_code[lc] + LITERALS + 1) * 2]/*.Freq*/++;\n s.dyn_dtree[d_code(dist) * 2]/*.Freq*/++;\n }\n\n// (!) This block is disabled in zlib defaults,\n// don't enable it for binary compatibility\n\n//#ifdef TRUNCATE_BLOCK\n// /* Try to guess if it is profitable to stop the current block here */\n// if ((s.last_lit & 0x1fff) === 0 && s.level > 2) {\n// /* Compute an upper bound for the compressed length */\n// out_length = s.last_lit*8;\n// in_length = s.strstart - s.block_start;\n//\n// for (dcode = 0; dcode < D_CODES; dcode++) {\n// out_length += s.dyn_dtree[dcode*2]/*.Freq*/ * (5 + extra_dbits[dcode]);\n// }\n// out_length >>>= 3;\n// //Tracev((stderr,\"\\nlast_lit %u, in %ld, out ~%ld(%ld%%) \",\n// // s->last_lit, in_length, out_length,\n// // 100L - out_length*100L/in_length));\n// if (s.matches < (s.last_lit>>1)/*int /2*/ && out_length < (in_length>>1)/*int /2*/) {\n// return true;\n// }\n// }\n//#endif\n\n return (s.last_lit === s.lit_bufsize - 1);\n /* We avoid equality with lit_bufsize because of wraparound at 64K\n * on 16 bit machines and because stored blocks are restricted to\n * 64K-1 bytes.\n */\n}\n\nexports._tr_init = _tr_init;\nexports._tr_stored_block = _tr_stored_block;\nexports._tr_flush_block = _tr_flush_block;\nexports._tr_tally = _tr_tally;\nexports._tr_align = _tr_align;\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/lib/zlib/trees.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pako/lib/zlib/zstream.js":
/*!****************************************************************!*\
!*** ../simple-mind-map/node_modules/pako/lib/zlib/zstream.js ***!
\****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\n\n// (C) 1995-2013 Jean-loup Gailly and Mark Adler\n// (C) 2014-2017 Vitaly Puzrin and Andrey Tupitsin\n//\n// This software is provided 'as-is', without any express or implied\n// warranty. In no event will the authors be held liable for any damages\n// arising from the use of this software.\n//\n// Permission is granted to anyone to use this software for any purpose,\n// including commercial applications, and to alter it and redistribute it\n// freely, subject to the following restrictions:\n//\n// 1. The origin of this software must not be misrepresented; you must not\n// claim that you wrote the original software. If you use this software\n// in a product, an acknowledgment in the product documentation would be\n// appreciated but is not required.\n// 2. Altered source versions must be plainly marked as such, and must not be\n// misrepresented as being the original software.\n// 3. This notice may not be removed or altered from any source distribution.\n\nfunction ZStream() {\n /* next input byte */\n this.input = null; // JS specific, because we have no pointers\n this.next_in = 0;\n /* number of bytes available at input */\n this.avail_in = 0;\n /* total number of input bytes read so far */\n this.total_in = 0;\n /* next output byte should be put there */\n this.output = null; // JS specific, because we have no pointers\n this.next_out = 0;\n /* remaining free space at output */\n this.avail_out = 0;\n /* total number of bytes output so far */\n this.total_out = 0;\n /* last error message, NULL if no error */\n this.msg = ''/*Z_NULL*/;\n /* not visible by applications */\n this.state = null;\n /* best guess about the data type: binary or text */\n this.data_type = 2/*Z_UNKNOWN*/;\n /* adler32 value of the uncompressed data */\n this.adler = 0;\n}\n\nmodule.exports = ZStream;\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pako/lib/zlib/zstream.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/parchment/dist/parchment.js":
/*!*******************************************************************!*\
!*** ../simple-mind-map/node_modules/parchment/dist/parchment.js ***!
\*******************************************************************/
/*! exports provided: Attributor, AttributorStore, BlockBlot, ClassAttributor, ContainerBlot, EmbedBlot, InlineBlot, LeafBlot, ParentBlot, Registry, Scope, ScrollBlot, StyleAttributor, TextBlot */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Attributor\", function() { return Attributor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AttributorStore\", function() { return AttributorStore$1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BlockBlot\", function() { return BlockBlot$1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ClassAttributor\", function() { return ClassAttributor$1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ContainerBlot\", function() { return ContainerBlot$1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EmbedBlot\", function() { return EmbedBlot$1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"InlineBlot\", function() { return InlineBlot$1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LeafBlot\", function() { return LeafBlot$1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ParentBlot\", function() { return ParentBlot$1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Registry\", function() { return Registry; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Scope\", function() { return Scope; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ScrollBlot\", function() { return ScrollBlot$1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"StyleAttributor\", function() { return StyleAttributor$1; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TextBlot\", function() { return TextBlot$1; });\nvar Scope = /* @__PURE__ */ ((Scope2) => (Scope2[Scope2.TYPE = 3] = \"TYPE\", Scope2[Scope2.LEVEL = 12] = \"LEVEL\", Scope2[Scope2.ATTRIBUTE = 13] = \"ATTRIBUTE\", Scope2[Scope2.BLOT = 14] = \"BLOT\", Scope2[Scope2.INLINE = 7] = \"INLINE\", Scope2[Scope2.BLOCK = 11] = \"BLOCK\", Scope2[Scope2.BLOCK_BLOT = 10] = \"BLOCK_BLOT\", Scope2[Scope2.INLINE_BLOT = 6] = \"INLINE_BLOT\", Scope2[Scope2.BLOCK_ATTRIBUTE = 9] = \"BLOCK_ATTRIBUTE\", Scope2[Scope2.INLINE_ATTRIBUTE = 5] = \"INLINE_ATTRIBUTE\", Scope2[Scope2.ANY = 15] = \"ANY\", Scope2))(Scope || {});\nclass Attributor {\n constructor(attrName, keyName, options = {}) {\n this.attrName = attrName, this.keyName = keyName;\n const attributeBit = Scope.TYPE & Scope.ATTRIBUTE;\n this.scope = options.scope != null ? (\n // Ignore type bits, force attribute bit\n options.scope & Scope.LEVEL | attributeBit\n ) : Scope.ATTRIBUTE, options.whitelist != null && (this.whitelist = options.whitelist);\n }\n static keys(node) {\n return Array.from(node.attributes).map((item) => item.name);\n }\n add(node, value) {\n return this.canAdd(node, value) ? (node.setAttribute(this.keyName, value), !0) : !1;\n }\n canAdd(_node, value) {\n return this.whitelist == null ? !0 : typeof value == \"string\" ? this.whitelist.indexOf(value.replace(/[\"']/g, \"\")) > -1 : this.whitelist.indexOf(value) > -1;\n }\n remove(node) {\n node.removeAttribute(this.keyName);\n }\n value(node) {\n const value = node.getAttribute(this.keyName);\n return this.canAdd(node, value) && value ? value : \"\";\n }\n}\nclass ParchmentError extends Error {\n constructor(message) {\n message = \"[Parchment] \" + message, super(message), this.message = message, this.name = this.constructor.name;\n }\n}\nconst _Registry = class _Registry {\n constructor() {\n this.attributes = {}, this.classes = {}, this.tags = {}, this.types = {};\n }\n static find(node, bubble = !1) {\n if (node == null)\n return null;\n if (this.blots.has(node))\n return this.blots.get(node) || null;\n if (bubble) {\n let parentNode = null;\n try {\n parentNode = node.parentNode;\n } catch {\n return null;\n }\n return this.find(parentNode, bubble);\n }\n return null;\n }\n create(scroll, input, value) {\n const match2 = this.query(input);\n if (match2 == null)\n throw new ParchmentError(`Unable to create ${input} blot`);\n const blotClass = match2, node = (\n // @ts-expect-error Fix me later\n input instanceof Node || input.nodeType === Node.TEXT_NODE ? input : blotClass.create(value)\n ), blot = new blotClass(scroll, node, value);\n return _Registry.blots.set(blot.domNode, blot), blot;\n }\n find(node, bubble = !1) {\n return _Registry.find(node, bubble);\n }\n query(query, scope = Scope.ANY) {\n let match2;\n return typeof query == \"string\" ? match2 = this.types[query] || this.attributes[query] : query instanceof Text || query.nodeType === Node.TEXT_NODE ? match2 = this.types.text : typeof query == \"number\" ? query & Scope.LEVEL & Scope.BLOCK ? match2 = this.types.block : query & Scope.LEVEL & Scope.INLINE && (match2 = this.types.inline) : query instanceof Element && ((query.getAttribute(\"class\") || \"\").split(/\\s+/).some((name) => (match2 = this.classes[name], !!match2)), match2 = match2 || this.tags[query.tagName]), match2 == null ? null : \"scope\" in match2 && scope & Scope.LEVEL & match2.scope && scope & Scope.TYPE & match2.scope ? match2 : null;\n }\n register(...definitions) {\n return definitions.map((definition) => {\n const isBlot = \"blotName\" in definition, isAttr = \"attrName\" in definition;\n if (!isBlot && !isAttr)\n throw new ParchmentError(\"Invalid definition\");\n if (isBlot && definition.blotName === \"abstract\")\n throw new ParchmentError(\"Cannot register abstract class\");\n const key = isBlot ? definition.blotName : isAttr ? definition.attrName : void 0;\n return this.types[key] = definition, isAttr ? typeof definition.keyName == \"string\" && (this.attributes[definition.keyName] = definition) : isBlot && (definition.className && (this.classes[definition.className] = definition), definition.tagName && (Array.isArray(definition.tagName) ? definition.tagName = definition.tagName.map((tagName) => tagName.toUpperCase()) : definition.tagName = definition.tagName.toUpperCase(), (Array.isArray(definition.tagName) ? definition.tagName : [definition.tagName]).forEach((tag) => {\n (this.tags[tag] == null || definition.className == null) && (this.tags[tag] = definition);\n }))), definition;\n });\n }\n};\n_Registry.blots = /* @__PURE__ */ new WeakMap();\nlet Registry = _Registry;\nfunction match(node, prefix) {\n return (node.getAttribute(\"class\") || \"\").split(/\\s+/).filter((name) => name.indexOf(`${prefix}-`) === 0);\n}\nclass ClassAttributor extends Attributor {\n static keys(node) {\n return (node.getAttribute(\"class\") || \"\").split(/\\s+/).map((name) => name.split(\"-\").slice(0, -1).join(\"-\"));\n }\n add(node, value) {\n return this.canAdd(node, value) ? (this.remove(node), node.classList.add(`${this.keyName}-${value}`), !0) : !1;\n }\n remove(node) {\n match(node, this.keyName).forEach((name) => {\n node.classList.remove(name);\n }), node.classList.length === 0 && node.removeAttribute(\"class\");\n }\n value(node) {\n const value = (match(node, this.keyName)[0] || \"\").slice(this.keyName.length + 1);\n return this.canAdd(node, value) ? value : \"\";\n }\n}\nconst ClassAttributor$1 = ClassAttributor;\nfunction camelize(name) {\n const parts = name.split(\"-\"), rest = parts.slice(1).map((part) => part[0].toUpperCase() + part.slice(1)).join(\"\");\n return parts[0] + rest;\n}\nclass StyleAttributor extends Attributor {\n static keys(node) {\n return (node.getAttribute(\"style\") || \"\").split(\";\").map((value) => value.split(\":\")[0].trim());\n }\n add(node, value) {\n return this.canAdd(node, value) ? (node.style[camelize(this.keyName)] = value, !0) : !1;\n }\n remove(node) {\n node.style[camelize(this.keyName)] = \"\", node.getAttribute(\"style\") || node.removeAttribute(\"style\");\n }\n value(node) {\n const value = node.style[camelize(this.keyName)];\n return this.canAdd(node, value) ? value : \"\";\n }\n}\nconst StyleAttributor$1 = StyleAttributor;\nclass AttributorStore {\n constructor(domNode) {\n this.attributes = {}, this.domNode = domNode, this.build();\n }\n attribute(attribute, value) {\n value ? attribute.add(this.domNode, value) && (attribute.value(this.domNode) != null ? this.attributes[attribute.attrName] = attribute : delete this.attributes[attribute.attrName]) : (attribute.remove(this.domNode), delete this.attributes[attribute.attrName]);\n }\n build() {\n this.attributes = {};\n const blot = Registry.find(this.domNode);\n if (blot == null)\n return;\n const attributes = Attributor.keys(this.domNode), classes = ClassAttributor$1.keys(this.domNode), styles = StyleAttributor$1.keys(this.domNode);\n attributes.concat(classes).concat(styles).forEach((name) => {\n const attr = blot.scroll.query(name, Scope.ATTRIBUTE);\n attr instanceof Attributor && (this.attributes[attr.attrName] = attr);\n });\n }\n copy(target) {\n Object.keys(this.attributes).forEach((key) => {\n const value = this.attributes[key].value(this.domNode);\n target.format(key, value);\n });\n }\n move(target) {\n this.copy(target), Object.keys(this.attributes).forEach((key) => {\n this.attributes[key].remove(this.domNode);\n }), this.attributes = {};\n }\n values() {\n return Object.keys(this.attributes).reduce(\n (attributes, name) => (attributes[name] = this.attributes[name].value(this.domNode), attributes),\n {}\n );\n }\n}\nconst AttributorStore$1 = AttributorStore, _ShadowBlot = class _ShadowBlot {\n constructor(scroll, domNode) {\n this.scroll = scroll, this.domNode = domNode, Registry.blots.set(domNode, this), this.prev = null, this.next = null;\n }\n static create(rawValue) {\n if (this.tagName == null)\n throw new ParchmentError(\"Blot definition missing tagName\");\n let node, value;\n return Array.isArray(this.tagName) ? (typeof rawValue == \"string\" ? (value = rawValue.toUpperCase(), parseInt(value, 10).toString() === value && (value = parseInt(value, 10))) : typeof rawValue == \"number\" && (value = rawValue), typeof value == \"number\" ? node = document.createElement(this.tagName[value - 1]) : value && this.tagName.indexOf(value) > -1 ? node = document.createElement(value) : node = document.createElement(this.tagName[0])) : node = document.createElement(this.tagName), this.className && node.classList.add(this.className), node;\n }\n // Hack for accessing inherited static methods\n get statics() {\n return this.constructor;\n }\n attach() {\n }\n clone() {\n const domNode = this.domNode.cloneNode(!1);\n return this.scroll.create(domNode);\n }\n detach() {\n this.parent != null && this.parent.removeChild(this), Registry.blots.delete(this.domNode);\n }\n deleteAt(index, length) {\n this.isolate(index, length).remove();\n }\n formatAt(index, length, name, value) {\n const blot = this.isolate(index, length);\n if (this.scroll.query(name, Scope.BLOT) != null && value)\n blot.wrap(name, value);\n else if (this.scroll.query(name, Scope.ATTRIBUTE) != null) {\n const parent = this.scroll.create(this.statics.scope);\n blot.wrap(parent), parent.format(name, value);\n }\n }\n insertAt(index, value, def) {\n const blot = def == null ? this.scroll.create(\"text\", value) : this.scroll.create(value, def), ref = this.split(index);\n this.parent.insertBefore(blot, ref || void 0);\n }\n isolate(index, length) {\n const target = this.split(index);\n if (target == null)\n throw new Error(\"Attempt to isolate at end\");\n return target.split(length), target;\n }\n length() {\n return 1;\n }\n offset(root = this.parent) {\n return this.parent == null || this === root ? 0 : this.parent.children.offset(this) + this.parent.offset(root);\n }\n optimize(_context) {\n this.statics.requiredContainer && !(this.parent instanceof this.statics.requiredContainer) && this.wrap(this.statics.requiredContainer.blotName);\n }\n remove() {\n this.domNode.parentNode != null && this.domNode.parentNode.removeChild(this.domNode), this.detach();\n }\n replaceWith(name, value) {\n const replacement = typeof name == \"string\" ? this.scroll.create(name, value) : name;\n return this.parent != null && (this.parent.insertBefore(replacement, this.next || void 0), this.remove()), replacement;\n }\n split(index, _force) {\n return index === 0 ? this : this.next;\n }\n update(_mutations, _context) {\n }\n wrap(name, value) {\n const wrapper = typeof name == \"string\" ? this.scroll.create(name, value) : name;\n if (this.parent != null && this.parent.insertBefore(wrapper, this.next || void 0), typeof wrapper.appendChild != \"function\")\n throw new ParchmentError(`Cannot wrap ${name}`);\n return wrapper.appendChild(this), wrapper;\n }\n};\n_ShadowBlot.blotName = \"abstract\";\nlet ShadowBlot = _ShadowBlot;\nconst _LeafBlot = class _LeafBlot extends ShadowBlot {\n /**\n * Returns the value represented by domNode if it is this Blot's type\n * No checking that domNode can represent this Blot type is required so\n * applications needing it should check externally before calling.\n */\n static value(_domNode) {\n return !0;\n }\n /**\n * Given location represented by node and offset from DOM Selection Range,\n * return index to that location.\n */\n index(node, offset) {\n return this.domNode === node || this.domNode.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY ? Math.min(offset, 1) : -1;\n }\n /**\n * Given index to location within blot, return node and offset representing\n * that location, consumable by DOM Selection Range\n */\n position(index, _inclusive) {\n let offset = Array.from(this.parent.domNode.childNodes).indexOf(this.domNode);\n return index > 0 && (offset += 1), [this.parent.domNode, offset];\n }\n /**\n * Return value represented by this blot\n * Should not change without interaction from API or\n * user change detectable by update()\n */\n value() {\n return {\n [this.statics.blotName]: this.statics.value(this.domNode) || !0\n };\n }\n};\n_LeafBlot.scope = Scope.INLINE_BLOT;\nlet LeafBlot = _LeafBlot;\nconst LeafBlot$1 = LeafBlot;\nclass LinkedList {\n constructor() {\n this.head = null, this.tail = null, this.length = 0;\n }\n append(...nodes) {\n if (this.insertBefore(nodes[0], null), nodes.length > 1) {\n const rest = nodes.slice(1);\n this.append(...rest);\n }\n }\n at(index) {\n const next = this.iterator();\n let cur = next();\n for (; cur && index > 0; )\n index -= 1, cur = next();\n return cur;\n }\n contains(node) {\n const next = this.iterator();\n let cur = next();\n for (; cur; ) {\n if (cur === node)\n return !0;\n cur = next();\n }\n return !1;\n }\n indexOf(node) {\n const next = this.iterator();\n let cur = next(), index = 0;\n for (; cur; ) {\n if (cur === node)\n return index;\n index += 1, cur = next();\n }\n return -1;\n }\n insertBefore(node, refNode) {\n node != null && (this.remove(node), node.next = refNode, refNode != null ? (node.prev = refNode.prev, refNode.prev != null && (refNode.prev.next = node), refNode.prev = node, refNode === this.head && (this.head = node)) : this.tail != null ? (this.tail.next = node, node.prev = this.tail, this.tail = node) : (node.prev = null, this.head = this.tail = node), this.length += 1);\n }\n offset(target) {\n let index = 0, cur = this.head;\n for (; cur != null; ) {\n if (cur === target)\n return index;\n index += cur.length(), cur = cur.next;\n }\n return -1;\n }\n remove(node) {\n this.contains(node) && (node.prev != null && (node.prev.next = node.next), node.next != null && (node.next.prev = node.prev), node === this.head && (this.head = node.next), node === this.tail && (this.tail = node.prev), this.length -= 1);\n }\n iterator(curNode = this.head) {\n return () => {\n const ret = curNode;\n return curNode != null && (curNode = curNode.next), ret;\n };\n }\n find(index, inclusive = !1) {\n const next = this.iterator();\n let cur = next();\n for (; cur; ) {\n const length = cur.length();\n if (index < length || inclusive && index === length && (cur.next == null || cur.next.length() !== 0))\n return [cur, index];\n index -= length, cur = next();\n }\n return [null, 0];\n }\n forEach(callback) {\n const next = this.iterator();\n let cur = next();\n for (; cur; )\n callback(cur), cur = next();\n }\n forEachAt(index, length, callback) {\n if (length <= 0)\n return;\n const [startNode, offset] = this.find(index);\n let curIndex = index - offset;\n const next = this.iterator(startNode);\n let cur = next();\n for (; cur && curIndex < index + length; ) {\n const curLength = cur.length();\n index > curIndex ? callback(\n cur,\n index - curIndex,\n Math.min(length, curIndex + curLength - index)\n ) : callback(cur, 0, Math.min(curLength, index + length - curIndex)), curIndex += curLength, cur = next();\n }\n }\n map(callback) {\n return this.reduce((memo, cur) => (memo.push(callback(cur)), memo), []);\n }\n reduce(callback, memo) {\n const next = this.iterator();\n let cur = next();\n for (; cur; )\n memo = callback(memo, cur), cur = next();\n return memo;\n }\n}\nfunction makeAttachedBlot(node, scroll) {\n const found = scroll.find(node);\n if (found)\n return found;\n try {\n return scroll.create(node);\n } catch {\n const blot = scroll.create(Scope.INLINE);\n return Array.from(node.childNodes).forEach((child) => {\n blot.domNode.appendChild(child);\n }), node.parentNode && node.parentNode.replaceChild(blot.domNode, node), blot.attach(), blot;\n }\n}\nconst _ParentBlot = class _ParentBlot extends ShadowBlot {\n constructor(scroll, domNode) {\n super(scroll, domNode), this.uiNode = null, this.build();\n }\n appendChild(other) {\n this.insertBefore(other);\n }\n attach() {\n super.attach(), this.children.forEach((child) => {\n child.attach();\n });\n }\n attachUI(node) {\n this.uiNode != null && this.uiNode.remove(), this.uiNode = node, _ParentBlot.uiClass && this.uiNode.classList.add(_ParentBlot.uiClass), this.uiNode.setAttribute(\"contenteditable\", \"false\"), this.domNode.insertBefore(this.uiNode, this.domNode.firstChild);\n }\n /**\n * Called during construction, should fill its own children LinkedList.\n */\n build() {\n this.children = new LinkedList(), Array.from(this.domNode.childNodes).filter((node) => node !== this.uiNode).reverse().forEach((node) => {\n try {\n const child = makeAttachedBlot(node, this.scroll);\n this.insertBefore(child, this.children.head || void 0);\n } catch (err) {\n if (err instanceof ParchmentError)\n return;\n throw err;\n }\n });\n }\n deleteAt(index, length) {\n if (index === 0 && length === this.length())\n return this.remove();\n this.children.forEachAt(index, length, (child, offset, childLength) => {\n child.deleteAt(offset, childLength);\n });\n }\n descendant(criteria, index = 0) {\n const [child, offset] = this.children.find(index);\n return criteria.blotName == null && criteria(child) || criteria.blotName != null && child instanceof criteria ? [child, offset] : child instanceof _ParentBlot ? child.descendant(criteria, offset) : [null, -1];\n }\n descendants(criteria, index = 0, length = Number.MAX_VALUE) {\n let descendants = [], lengthLeft = length;\n return this.children.forEachAt(\n index,\n length,\n (child, childIndex, childLength) => {\n (criteria.blotName == null && criteria(child) || criteria.blotName != null && child instanceof criteria) && descendants.push(child), child instanceof _ParentBlot && (descendants = descendants.concat(\n child.descendants(criteria, childIndex, lengthLeft)\n )), lengthLeft -= childLength;\n }\n ), descendants;\n }\n detach() {\n this.children.forEach((child) => {\n child.detach();\n }), super.detach();\n }\n enforceAllowedChildren() {\n let done = !1;\n this.children.forEach((child) => {\n done || this.statics.allowedChildren.some(\n (def) => child instanceof def\n ) || (child.statics.scope === Scope.BLOCK_BLOT ? (child.next != null && this.splitAfter(child), child.prev != null && this.splitAfter(child.prev), child.parent.unwrap(), done = !0) : child instanceof _ParentBlot ? child.unwrap() : child.remove());\n });\n }\n formatAt(index, length, name, value) {\n this.children.forEachAt(index, length, (child, offset, childLength) => {\n child.formatAt(offset, childLength, name, value);\n });\n }\n insertAt(index, value, def) {\n const [child, offset] = this.children.find(index);\n if (child)\n child.insertAt(offset, value, def);\n else {\n const blot = def == null ? this.scroll.create(\"text\", value) : this.scroll.create(value, def);\n this.appendChild(blot);\n }\n }\n insertBefore(childBlot, refBlot) {\n childBlot.parent != null && childBlot.parent.children.remove(childBlot);\n let refDomNode = null;\n this.children.insertBefore(childBlot, refBlot || null), childBlot.parent = this, refBlot != null && (refDomNode = refBlot.domNode), (this.domNode.parentNode !== childBlot.domNode || this.domNode.nextSibling !== refDomNode) && this.domNode.insertBefore(childBlot.domNode, refDomNode), childBlot.attach();\n }\n length() {\n return this.children.reduce((memo, child) => memo + child.length(), 0);\n }\n moveChildren(targetParent, refNode) {\n this.children.forEach((child) => {\n targetParent.insertBefore(child, refNode);\n });\n }\n optimize(context) {\n if (super.optimize(context), this.enforceAllowedChildren(), this.uiNode != null && this.uiNode !== this.domNode.firstChild && this.domNode.insertBefore(this.uiNode, this.domNode.firstChild), this.children.length === 0)\n if (this.statics.defaultChild != null) {\n const child = this.scroll.create(this.statics.defaultChild.blotName);\n this.appendChild(child);\n } else\n this.remove();\n }\n path(index, inclusive = !1) {\n const [child, offset] = this.children.find(index, inclusive), position = [[this, index]];\n return child instanceof _ParentBlot ? position.concat(child.path(offset, inclusive)) : (child != null && position.push([child, offset]), position);\n }\n removeChild(child) {\n this.children.remove(child);\n }\n replaceWith(name, value) {\n const replacement = typeof name == \"string\" ? this.scroll.create(name, value) : name;\n return replacement instanceof _ParentBlot && this.moveChildren(replacement), super.replaceWith(replacement);\n }\n split(index, force = !1) {\n if (!force) {\n if (index === 0)\n return this;\n if (index === this.length())\n return this.next;\n }\n const after = this.clone();\n return this.parent && this.parent.insertBefore(after, this.next || void 0), this.children.forEachAt(index, this.length(), (child, offset, _length) => {\n const split = child.split(offset, force);\n split != null && after.appendChild(split);\n }), after;\n }\n splitAfter(child) {\n const after = this.clone();\n for (; child.next != null; )\n after.appendChild(child.next);\n return this.parent && this.parent.insertBefore(after, this.next || void 0), after;\n }\n unwrap() {\n this.parent && this.moveChildren(this.parent, this.next || void 0), this.remove();\n }\n update(mutations, _context) {\n const addedNodes = [], removedNodes = [];\n mutations.forEach((mutation) => {\n mutation.target === this.domNode && mutation.type === \"childList\" && (addedNodes.push(...mutation.addedNodes), removedNodes.push(...mutation.removedNodes));\n }), removedNodes.forEach((node) => {\n if (node.parentNode != null && // @ts-expect-error Fix me later\n node.tagName !== \"IFRAME\" && document.body.compareDocumentPosition(node) & Node.DOCUMENT_POSITION_CONTAINED_BY)\n return;\n const blot = this.scroll.find(node);\n blot != null && (blot.domNode.parentNode == null || blot.domNode.parentNode === this.domNode) && blot.detach();\n }), addedNodes.filter((node) => node.parentNode === this.domNode && node !== this.uiNode).sort((a, b) => a === b ? 0 : a.compareDocumentPosition(b) & Node.DOCUMENT_POSITION_FOLLOWING ? 1 : -1).forEach((node) => {\n let refBlot = null;\n node.nextSibling != null && (refBlot = this.scroll.find(node.nextSibling));\n const blot = makeAttachedBlot(node, this.scroll);\n (blot.next !== refBlot || blot.next == null) && (blot.parent != null && blot.parent.removeChild(this), this.insertBefore(blot, refBlot || void 0));\n }), this.enforceAllowedChildren();\n }\n};\n_ParentBlot.uiClass = \"\";\nlet ParentBlot = _ParentBlot;\nconst ParentBlot$1 = ParentBlot;\nfunction isEqual(obj1, obj2) {\n if (Object.keys(obj1).length !== Object.keys(obj2).length)\n return !1;\n for (const prop in obj1)\n if (obj1[prop] !== obj2[prop])\n return !1;\n return !0;\n}\nconst _InlineBlot = class _InlineBlot extends ParentBlot$1 {\n static create(value) {\n return super.create(value);\n }\n static formats(domNode, scroll) {\n const match2 = scroll.query(_InlineBlot.blotName);\n if (!(match2 != null && domNode.tagName === match2.tagName)) {\n if (typeof this.tagName == \"string\")\n return !0;\n if (Array.isArray(this.tagName))\n return domNode.tagName.toLowerCase();\n }\n }\n constructor(scroll, domNode) {\n super(scroll, domNode), this.attributes = new AttributorStore$1(this.domNode);\n }\n format(name, value) {\n if (name === this.statics.blotName && !value)\n this.children.forEach((child) => {\n child instanceof _InlineBlot || (child = child.wrap(_InlineBlot.blotName, !0)), this.attributes.copy(child);\n }), this.unwrap();\n else {\n const format = this.scroll.query(name, Scope.INLINE);\n if (format == null)\n return;\n format instanceof Attributor ? this.attributes.attribute(format, value) : value && (name !== this.statics.blotName || this.formats()[name] !== value) && this.replaceWith(name, value);\n }\n }\n formats() {\n const formats = this.attributes.values(), format = this.statics.formats(this.domNode, this.scroll);\n return format != null && (formats[this.statics.blotName] = format), formats;\n }\n formatAt(index, length, name, value) {\n this.formats()[name] != null || this.scroll.query(name, Scope.ATTRIBUTE) ? this.isolate(index, length).format(name, value) : super.formatAt(index, length, name, value);\n }\n optimize(context) {\n super.optimize(context);\n const formats = this.formats();\n if (Object.keys(formats).length === 0)\n return this.unwrap();\n const next = this.next;\n next instanceof _InlineBlot && next.prev === this && isEqual(formats, next.formats()) && (next.moveChildren(this), next.remove());\n }\n replaceWith(name, value) {\n const replacement = super.replaceWith(name, value);\n return this.attributes.copy(replacement), replacement;\n }\n update(mutations, context) {\n super.update(mutations, context), mutations.some(\n (mutation) => mutation.target === this.domNode && mutation.type === \"attributes\"\n ) && this.attributes.build();\n }\n wrap(name, value) {\n const wrapper = super.wrap(name, value);\n return wrapper instanceof _InlineBlot && this.attributes.move(wrapper), wrapper;\n }\n};\n_InlineBlot.allowedChildren = [_InlineBlot, LeafBlot$1], _InlineBlot.blotName = \"inline\", _InlineBlot.scope = Scope.INLINE_BLOT, _InlineBlot.tagName = \"SPAN\";\nlet InlineBlot = _InlineBlot;\nconst InlineBlot$1 = InlineBlot, _BlockBlot = class _BlockBlot extends ParentBlot$1 {\n static create(value) {\n return super.create(value);\n }\n static formats(domNode, scroll) {\n const match2 = scroll.query(_BlockBlot.blotName);\n if (!(match2 != null && domNode.tagName === match2.tagName)) {\n if (typeof this.tagName == \"string\")\n return !0;\n if (Array.isArray(this.tagName))\n return domNode.tagName.toLowerCase();\n }\n }\n constructor(scroll, domNode) {\n super(scroll, domNode), this.attributes = new AttributorStore$1(this.domNode);\n }\n format(name, value) {\n const format = this.scroll.query(name, Scope.BLOCK);\n format != null && (format instanceof Attributor ? this.attributes.attribute(format, value) : name === this.statics.blotName && !value ? this.replaceWith(_BlockBlot.blotName) : value && (name !== this.statics.blotName || this.formats()[name] !== value) && this.replaceWith(name, value));\n }\n formats() {\n const formats = this.attributes.values(), format = this.statics.formats(this.domNode, this.scroll);\n return format != null && (formats[this.statics.blotName] = format), formats;\n }\n formatAt(index, length, name, value) {\n this.scroll.query(name, Scope.BLOCK) != null ? this.format(name, value) : super.formatAt(index, length, name, value);\n }\n insertAt(index, value, def) {\n if (def == null || this.scroll.query(value, Scope.INLINE) != null)\n super.insertAt(index, value, def);\n else {\n const after = this.split(index);\n if (after != null) {\n const blot = this.scroll.create(value, def);\n after.parent.insertBefore(blot, after);\n } else\n throw new Error(\"Attempt to insertAt after block boundaries\");\n }\n }\n replaceWith(name, value) {\n const replacement = super.replaceWith(name, value);\n return this.attributes.copy(replacement), replacement;\n }\n update(mutations, context) {\n super.update(mutations, context), mutations.some(\n (mutation) => mutation.target === this.domNode && mutation.type === \"attributes\"\n ) && this.attributes.build();\n }\n};\n_BlockBlot.blotName = \"block\", _BlockBlot.scope = Scope.BLOCK_BLOT, _BlockBlot.tagName = \"P\", _BlockBlot.allowedChildren = [\n InlineBlot$1,\n _BlockBlot,\n LeafBlot$1\n];\nlet BlockBlot = _BlockBlot;\nconst BlockBlot$1 = BlockBlot, _ContainerBlot = class _ContainerBlot extends ParentBlot$1 {\n checkMerge() {\n return this.next !== null && this.next.statics.blotName === this.statics.blotName;\n }\n deleteAt(index, length) {\n super.deleteAt(index, length), this.enforceAllowedChildren();\n }\n formatAt(index, length, name, value) {\n super.formatAt(index, length, name, value), this.enforceAllowedChildren();\n }\n insertAt(index, value, def) {\n super.insertAt(index, value, def), this.enforceAllowedChildren();\n }\n optimize(context) {\n super.optimize(context), this.children.length > 0 && this.next != null && this.checkMerge() && (this.next.moveChildren(this), this.next.remove());\n }\n};\n_ContainerBlot.blotName = \"container\", _ContainerBlot.scope = Scope.BLOCK_BLOT;\nlet ContainerBlot = _ContainerBlot;\nconst ContainerBlot$1 = ContainerBlot;\nclass EmbedBlot extends LeafBlot$1 {\n static formats(_domNode, _scroll) {\n }\n format(name, value) {\n super.formatAt(0, this.length(), name, value);\n }\n formatAt(index, length, name, value) {\n index === 0 && length === this.length() ? this.format(name, value) : super.formatAt(index, length, name, value);\n }\n formats() {\n return this.statics.formats(this.domNode, this.scroll);\n }\n}\nconst EmbedBlot$1 = EmbedBlot, OBSERVER_CONFIG = {\n attributes: !0,\n characterData: !0,\n characterDataOldValue: !0,\n childList: !0,\n subtree: !0\n}, MAX_OPTIMIZE_ITERATIONS = 100, _ScrollBlot = class _ScrollBlot extends ParentBlot$1 {\n constructor(registry, node) {\n super(null, node), this.registry = registry, this.scroll = this, this.build(), this.observer = new MutationObserver((mutations) => {\n this.update(mutations);\n }), this.observer.observe(this.domNode, OBSERVER_CONFIG), this.attach();\n }\n create(input, value) {\n return this.registry.create(this, input, value);\n }\n find(node, bubble = !1) {\n const blot = this.registry.find(node, bubble);\n return blot ? blot.scroll === this ? blot : bubble ? this.find(blot.scroll.domNode.parentNode, !0) : null : null;\n }\n query(query, scope = Scope.ANY) {\n return this.registry.query(query, scope);\n }\n register(...definitions) {\n return this.registry.register(...definitions);\n }\n build() {\n this.scroll != null && super.build();\n }\n detach() {\n super.detach(), this.observer.disconnect();\n }\n deleteAt(index, length) {\n this.update(), index === 0 && length === this.length() ? this.children.forEach((child) => {\n child.remove();\n }) : super.deleteAt(index, length);\n }\n formatAt(index, length, name, value) {\n this.update(), super.formatAt(index, length, name, value);\n }\n insertAt(index, value, def) {\n this.update(), super.insertAt(index, value, def);\n }\n optimize(mutations = [], context = {}) {\n super.optimize(context);\n const mutationsMap = context.mutationsMap || /* @__PURE__ */ new WeakMap();\n let records = Array.from(this.observer.takeRecords());\n for (; records.length > 0; )\n mutations.push(records.pop());\n const mark = (blot, markParent = !0) => {\n blot == null || blot === this || blot.domNode.parentNode != null && (mutationsMap.has(blot.domNode) || mutationsMap.set(blot.domNode, []), markParent && mark(blot.parent));\n }, optimize = (blot) => {\n mutationsMap.has(blot.domNode) && (blot instanceof ParentBlot$1 && blot.children.forEach(optimize), mutationsMap.delete(blot.domNode), blot.optimize(context));\n };\n let remaining = mutations;\n for (let i = 0; remaining.length > 0; i += 1) {\n if (i >= MAX_OPTIMIZE_ITERATIONS)\n throw new Error(\"[Parchment] Maximum optimize iterations reached\");\n for (remaining.forEach((mutation) => {\n const blot = this.find(mutation.target, !0);\n blot != null && (blot.domNode === mutation.target && (mutation.type === \"childList\" ? (mark(this.find(mutation.previousSibling, !1)), Array.from(mutation.addedNodes).forEach((node) => {\n const child = this.find(node, !1);\n mark(child, !1), child instanceof ParentBlot$1 && child.children.forEach((grandChild) => {\n mark(grandChild, !1);\n });\n })) : mutation.type === \"attributes\" && mark(blot.prev)), mark(blot));\n }), this.children.forEach(optimize), remaining = Array.from(this.observer.takeRecords()), records = remaining.slice(); records.length > 0; )\n mutations.push(records.pop());\n }\n }\n update(mutations, context = {}) {\n mutations = mutations || this.observer.takeRecords();\n const mutationsMap = /* @__PURE__ */ new WeakMap();\n mutations.map((mutation) => {\n const blot = this.find(mutation.target, !0);\n return blot == null ? null : mutationsMap.has(blot.domNode) ? (mutationsMap.get(blot.domNode).push(mutation), null) : (mutationsMap.set(blot.domNode, [mutation]), blot);\n }).forEach((blot) => {\n blot != null && blot !== this && mutationsMap.has(blot.domNode) && blot.update(mutationsMap.get(blot.domNode) || [], context);\n }), context.mutationsMap = mutationsMap, mutationsMap.has(this.domNode) && super.update(mutationsMap.get(this.domNode), context), this.optimize(mutations, context);\n }\n};\n_ScrollBlot.blotName = \"scroll\", _ScrollBlot.defaultChild = BlockBlot$1, _ScrollBlot.allowedChildren = [BlockBlot$1, ContainerBlot$1], _ScrollBlot.scope = Scope.BLOCK_BLOT, _ScrollBlot.tagName = \"DIV\";\nlet ScrollBlot = _ScrollBlot;\nconst ScrollBlot$1 = ScrollBlot, _TextBlot = class _TextBlot extends LeafBlot$1 {\n static create(value) {\n return document.createTextNode(value);\n }\n static value(domNode) {\n return domNode.data;\n }\n constructor(scroll, node) {\n super(scroll, node), this.text = this.statics.value(this.domNode);\n }\n deleteAt(index, length) {\n this.domNode.data = this.text = this.text.slice(0, index) + this.text.slice(index + length);\n }\n index(node, offset) {\n return this.domNode === node ? offset : -1;\n }\n insertAt(index, value, def) {\n def == null ? (this.text = this.text.slice(0, index) + value + this.text.slice(index), this.domNode.data = this.text) : super.insertAt(index, value, def);\n }\n length() {\n return this.text.length;\n }\n optimize(context) {\n super.optimize(context), this.text = this.statics.value(this.domNode), this.text.length === 0 ? this.remove() : this.next instanceof _TextBlot && this.next.prev === this && (this.insertAt(this.length(), this.next.value()), this.next.remove());\n }\n position(index, _inclusive = !1) {\n return [this.domNode, index];\n }\n split(index, force = !1) {\n if (!force) {\n if (index === 0)\n return this;\n if (index === this.length())\n return this.next;\n }\n const after = this.scroll.create(this.domNode.splitText(index));\n return this.parent.insertBefore(after, this.next || void 0), this.text = this.statics.value(this.domNode), after;\n }\n update(mutations, _context) {\n mutations.some((mutation) => mutation.type === \"characterData\" && mutation.target === this.domNode) && (this.text = this.statics.value(this.domNode));\n }\n value() {\n return this.text;\n }\n};\n_TextBlot.blotName = \"text\", _TextBlot.scope = Scope.INLINE_BLOT;\nlet TextBlot = _TextBlot;\nconst TextBlot$1 = TextBlot;\n\n//# sourceMappingURL=parchment.js.map\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/parchment/dist/parchment.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/PDFDocument.js":
/*!*********************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/PDFDocument.js ***!
\*********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./errors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/errors.js\");\n/* harmony import */ var _PDFEmbeddedPage__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFEmbeddedPage */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFEmbeddedPage.js\");\n/* harmony import */ var _PDFFont__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PDFFont */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFFont.js\");\n/* harmony import */ var _PDFImage__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./PDFImage */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFImage.js\");\n/* harmony import */ var _PDFPage__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PDFPage */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFPage.js\");\n/* harmony import */ var _form_PDFForm__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./form/PDFForm */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFForm.js\");\n/* harmony import */ var _sizes__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./sizes */ \"../simple-mind-map/node_modules/pdf-lib/es/api/sizes.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n/* harmony import */ var _PDFDocumentOptions__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./PDFDocumentOptions */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFDocumentOptions.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n/* harmony import */ var _core_embedders_FileEmbedder__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../core/embedders/FileEmbedder */ \"../simple-mind-map/node_modules/pdf-lib/es/core/embedders/FileEmbedder.js\");\n/* harmony import */ var _PDFEmbeddedFile__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./PDFEmbeddedFile */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFEmbeddedFile.js\");\n/* harmony import */ var _PDFJavaScript__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./PDFJavaScript */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFJavaScript.js\");\n/* harmony import */ var _core_embedders_JavaScriptEmbedder__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../core/embedders/JavaScriptEmbedder */ \"../simple-mind-map/node_modules/pdf-lib/es/core/embedders/JavaScriptEmbedder.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Represents a PDF document.\n */\nvar PDFDocument = /** @class */ (function () {\n function PDFDocument(context, ignoreEncryption, updateMetadata) {\n var _this = this;\n /** The default word breaks used in PDFPage.drawText */\n this.defaultWordBreaks = [' '];\n this.computePages = function () {\n var pages = [];\n _this.catalog.Pages().traverse(function (node, ref) {\n if (node instanceof _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFPageLeaf\"]) {\n var page = _this.pageMap.get(node);\n if (!page) {\n page = _PDFPage__WEBPACK_IMPORTED_MODULE_5__[\"default\"].of(node, ref, _this);\n _this.pageMap.set(node, page);\n }\n pages.push(page);\n }\n });\n return pages;\n };\n this.getOrCreateForm = function () {\n var acroForm = _this.catalog.getOrCreateAcroForm();\n return _form_PDFForm__WEBPACK_IMPORTED_MODULE_6__[\"default\"].of(acroForm, _this);\n };\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(context, 'context', [[_core__WEBPACK_IMPORTED_MODULE_8__[\"PDFContext\"], 'PDFContext']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(ignoreEncryption, 'ignoreEncryption', ['boolean']);\n this.context = context;\n this.catalog = context.lookup(context.trailerInfo.Root);\n this.isEncrypted = !!context.lookup(context.trailerInfo.Encrypt);\n this.pageCache = _utils__WEBPACK_IMPORTED_MODULE_10__[\"Cache\"].populatedBy(this.computePages);\n this.pageMap = new Map();\n this.formCache = _utils__WEBPACK_IMPORTED_MODULE_10__[\"Cache\"].populatedBy(this.getOrCreateForm);\n this.fonts = [];\n this.images = [];\n this.embeddedPages = [];\n this.embeddedFiles = [];\n this.javaScripts = [];\n if (!ignoreEncryption && this.isEncrypted)\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"EncryptedPDFError\"]();\n if (updateMetadata)\n this.updateInfoDict();\n }\n /**\n * Load an existing [[PDFDocument]]. The input data can be provided in\n * multiple formats:\n *\n * | Type | Contents |\n * | ------------- | ------------------------------------------------------ |\n * | `string` | A base64 encoded string (or data URI) containing a PDF |\n * | `Uint8Array` | The raw bytes of a PDF |\n * | `ArrayBuffer` | The raw bytes of a PDF |\n *\n * For example:\n * ```js\n * import { PDFDocument } from 'pdf-lib'\n *\n * // pdf=string\n * const base64 =\n * 'JVBERi0xLjcKJYGBgYEKCjUgMCBvYmoKPDwKL0ZpbHRlciAvRmxhdGVEZWNvZGUKL0xlbm' +\n * 'd0aCAxMDQKPj4Kc3RyZWFtCniccwrhMlAAwaJ0Ln2P1Jyy1JLM5ERdc0MjCwUjE4WQNC4Q' +\n * '6cNlCFZkqGCqYGSqEJLLZWNuYGZiZmbkYuZsZmlmZGRgZmluDCQNzc3NTM2NzdzMXMxMjQ' +\n * 'ztFEKyuEK0uFxDuAAOERdVCmVuZHN0cmVhbQplbmRvYmoKCjYgMCBvYmoKPDwKL0ZpbHRl' +\n * 'ciAvRmxhdGVEZWNvZGUKL1R5cGUgL09ialN0bQovTiA0Ci9GaXJzdCAyMAovTGVuZ3RoID' +\n * 'IxNQo+PgpzdHJlYW0KeJxVj9GqwjAMhu/zFHkBzTo3nCCCiiKIHPEICuJF3cKoSCu2E8/b' +\n * '20wPIr1p8v9/8kVhgilmGfawX2CGaVrgcAi0/bsy0lrX7IGWpvJ4iJYEN3gEmrrGBlQwGs' +\n * 'HHO9VBX1wNrxAqMX87RBD5xpJuddqwd82tjAHxzV1U5LPgy52DKXWnr1Lheg+j/c/pzGVr' +\n * 'iqV0VlwZPXGPCJjElw/ybkwUmeoWgxesDXGhHJC/D/iikp1Av80ptKU0FdBEe25pPihAM1' +\n * 'u6ytgaaWfs2Hrz35CJT1+EWmAKZW5kc3RyZWFtCmVuZG9iagoKNyAwIG9iago8PAovU2l6' +\n * 'ZSA4Ci9Sb290IDIgMCBSCi9GaWx0ZXIgL0ZsYXRlRGVjb2RlCi9UeXBlIC9YUmVmCi9MZW' +\n * '5ndGggMzgKL1cgWyAxIDIgMiBdCi9JbmRleCBbIDAgOCBdCj4+CnN0cmVhbQp4nBXEwREA' +\n * 'EBAEsCwz3vrvRmOOyyOoGhZdutHN2MT55fIAVocD+AplbmRzdHJlYW0KZW5kb2JqCgpzdG' +\n * 'FydHhyZWYKNTEwCiUlRU9G'\n *\n * const dataUri = 'data:application/pdf;base64,' + base64\n *\n * const pdfDoc1 = await PDFDocument.load(base64)\n * const pdfDoc2 = await PDFDocument.load(dataUri)\n *\n * // pdf=Uint8Array\n * import fs from 'fs'\n * const uint8Array = fs.readFileSync('with_update_sections.pdf')\n * const pdfDoc3 = await PDFDocument.load(uint8Array)\n *\n * // pdf=ArrayBuffer\n * const url = 'https://pdf-lib.js.org/assets/with_update_sections.pdf'\n * const arrayBuffer = await fetch(url).then(res => res.arrayBuffer())\n * const pdfDoc4 = await PDFDocument.load(arrayBuffer)\n *\n * ```\n *\n * @param pdf The input data containing a PDF document.\n * @param options The options to be used when loading the document.\n * @returns Resolves with a document loaded from the input.\n */\n PDFDocument.load = function (pdf, options) {\n if (options === void 0) { options = {}; }\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var _a, ignoreEncryption, _b, parseSpeed, _c, throwOnInvalidObject, _d, updateMetadata, _e, capNumbers, bytes, context;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_f) {\n switch (_f.label) {\n case 0:\n _a = options.ignoreEncryption, ignoreEncryption = _a === void 0 ? false : _a, _b = options.parseSpeed, parseSpeed = _b === void 0 ? _PDFDocumentOptions__WEBPACK_IMPORTED_MODULE_9__[\"ParseSpeeds\"].Slow : _b, _c = options.throwOnInvalidObject, throwOnInvalidObject = _c === void 0 ? false : _c, _d = options.updateMetadata, updateMetadata = _d === void 0 ? true : _d, _e = options.capNumbers, capNumbers = _e === void 0 ? false : _e;\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(pdf, 'pdf', ['string', Uint8Array, ArrayBuffer]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(ignoreEncryption, 'ignoreEncryption', ['boolean']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(parseSpeed, 'parseSpeed', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(throwOnInvalidObject, 'throwOnInvalidObject', ['boolean']);\n bytes = Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"toUint8Array\"])(pdf);\n return [4 /*yield*/, _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFParser\"].forBytesWithOptions(bytes, parseSpeed, throwOnInvalidObject, capNumbers).parseDocument()];\n case 1:\n context = _f.sent();\n return [2 /*return*/, new PDFDocument(context, ignoreEncryption, updateMetadata)];\n }\n });\n });\n };\n /**\n * Create a new [[PDFDocument]].\n * @returns Resolves with the newly created document.\n */\n PDFDocument.create = function (options) {\n if (options === void 0) { options = {}; }\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var _a, updateMetadata, context, pageTree, pageTreeRef, catalog;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_b) {\n _a = options.updateMetadata, updateMetadata = _a === void 0 ? true : _a;\n context = _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFContext\"].create();\n pageTree = _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFPageTree\"].withContext(context);\n pageTreeRef = context.register(pageTree);\n catalog = _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFCatalog\"].withContextAndPages(context, pageTreeRef);\n context.trailerInfo.Root = context.register(catalog);\n return [2 /*return*/, new PDFDocument(context, false, updateMetadata)];\n });\n });\n };\n /**\n * Register a fontkit instance. This must be done before custom fonts can\n * be embedded. See [here](https://github.com/Hopding/pdf-lib/tree/master#fontkit-installation)\n * for instructions on how to install and register a fontkit instance.\n *\n * > You do **not** need to call this method to embed standard fonts.\n *\n * For example:\n * ```js\n * import { PDFDocument } from 'pdf-lib'\n * import fontkit from '@pdf-lib/fontkit'\n *\n * const pdfDoc = await PDFDocument.create()\n * pdfDoc.registerFontkit(fontkit)\n * ```\n *\n * @param fontkit The fontkit instance to be registered.\n */\n PDFDocument.prototype.registerFontkit = function (fontkit) {\n this.fontkit = fontkit;\n };\n /**\n * Get the [[PDFForm]] containing all interactive fields for this document.\n * For example:\n * ```js\n * const form = pdfDoc.getForm()\n * const fields = form.getFields()\n * fields.forEach(field => {\n * const type = field.constructor.name\n * const name = field.getName()\n * console.log(`${type}: ${name}`)\n * })\n * ```\n * @returns The form for this document.\n */\n PDFDocument.prototype.getForm = function () {\n var form = this.formCache.access();\n if (form.hasXFA()) {\n console.warn('Removing XFA form data as pdf-lib does not support reading or writing XFA');\n form.deleteXFA();\n }\n return form;\n };\n /**\n * Get this document's title metadata. The title appears in the\n * \"Document Properties\" section of most PDF readers. For example:\n * ```js\n * const title = pdfDoc.getTitle()\n * ```\n * @returns A string containing the title of this document, if it has one.\n */\n PDFDocument.prototype.getTitle = function () {\n var title = this.getInfoDict().lookup(_core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].Title);\n if (!title)\n return undefined;\n assertIsLiteralOrHexString(title);\n return title.decodeText();\n };\n /**\n * Get this document's author metadata. The author appears in the\n * \"Document Properties\" section of most PDF readers. For example:\n * ```js\n * const author = pdfDoc.getAuthor()\n * ```\n * @returns A string containing the author of this document, if it has one.\n */\n PDFDocument.prototype.getAuthor = function () {\n var author = this.getInfoDict().lookup(_core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].Author);\n if (!author)\n return undefined;\n assertIsLiteralOrHexString(author);\n return author.decodeText();\n };\n /**\n * Get this document's subject metadata. The subject appears in the\n * \"Document Properties\" section of most PDF readers. For example:\n * ```js\n * const subject = pdfDoc.getSubject()\n * ```\n * @returns A string containing the subject of this document, if it has one.\n */\n PDFDocument.prototype.getSubject = function () {\n var subject = this.getInfoDict().lookup(_core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].Subject);\n if (!subject)\n return undefined;\n assertIsLiteralOrHexString(subject);\n return subject.decodeText();\n };\n /**\n * Get this document's keywords metadata. The keywords appear in the\n * \"Document Properties\" section of most PDF readers. For example:\n * ```js\n * const keywords = pdfDoc.getKeywords()\n * ```\n * @returns A string containing the keywords of this document, if it has any.\n */\n PDFDocument.prototype.getKeywords = function () {\n var keywords = this.getInfoDict().lookup(_core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].Keywords);\n if (!keywords)\n return undefined;\n assertIsLiteralOrHexString(keywords);\n return keywords.decodeText();\n };\n /**\n * Get this document's creator metadata. The creator appears in the\n * \"Document Properties\" section of most PDF readers. For example:\n * ```js\n * const creator = pdfDoc.getCreator()\n * ```\n * @returns A string containing the creator of this document, if it has one.\n */\n PDFDocument.prototype.getCreator = function () {\n var creator = this.getInfoDict().lookup(_core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].Creator);\n if (!creator)\n return undefined;\n assertIsLiteralOrHexString(creator);\n return creator.decodeText();\n };\n /**\n * Get this document's producer metadata. The producer appears in the\n * \"Document Properties\" section of most PDF readers. For example:\n * ```js\n * const producer = pdfDoc.getProducer()\n * ```\n * @returns A string containing the producer of this document, if it has one.\n */\n PDFDocument.prototype.getProducer = function () {\n var producer = this.getInfoDict().lookup(_core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].Producer);\n if (!producer)\n return undefined;\n assertIsLiteralOrHexString(producer);\n return producer.decodeText();\n };\n /**\n * Get this document's creation date metadata. The creation date appears in\n * the \"Document Properties\" section of most PDF readers. For example:\n * ```js\n * const creationDate = pdfDoc.getCreationDate()\n * ```\n * @returns A Date containing the creation date of this document,\n * if it has one.\n */\n PDFDocument.prototype.getCreationDate = function () {\n var creationDate = this.getInfoDict().lookup(_core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].CreationDate);\n if (!creationDate)\n return undefined;\n assertIsLiteralOrHexString(creationDate);\n return creationDate.decodeDate();\n };\n /**\n * Get this document's modification date metadata. The modification date\n * appears in the \"Document Properties\" section of most PDF readers.\n * For example:\n * ```js\n * const modification = pdfDoc.getModificationDate()\n * ```\n * @returns A Date containing the modification date of this document,\n * if it has one.\n */\n PDFDocument.prototype.getModificationDate = function () {\n var modificationDate = this.getInfoDict().lookup(_core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].ModDate);\n if (!modificationDate)\n return undefined;\n assertIsLiteralOrHexString(modificationDate);\n return modificationDate.decodeDate();\n };\n /**\n * Set this document's title metadata. The title will appear in the\n * \"Document Properties\" section of most PDF readers. For example:\n * ```js\n * pdfDoc.setTitle('🥚 The Life of an Egg 🍳')\n * ```\n *\n * To display the title in the window's title bar, set the\n * `showInWindowTitleBar` option to `true` (works for _most_ PDF readers).\n * For example:\n * ```js\n * pdfDoc.setTitle('🥚 The Life of an Egg 🍳', { showInWindowTitleBar: true })\n * ```\n *\n * @param title The title of this document.\n * @param options The options to be used when setting the title.\n */\n PDFDocument.prototype.setTitle = function (title, options) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(title, 'title', ['string']);\n var key = _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].of('Title');\n this.getInfoDict().set(key, _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFHexString\"].fromText(title));\n // Indicate that readers should display the title rather than the filename\n if (options === null || options === void 0 ? void 0 : options.showInWindowTitleBar) {\n var prefs = this.catalog.getOrCreateViewerPreferences();\n prefs.setDisplayDocTitle(true);\n }\n };\n /**\n * Set this document's author metadata. The author will appear in the\n * \"Document Properties\" section of most PDF readers. For example:\n * ```js\n * pdfDoc.setAuthor('Humpty Dumpty')\n * ```\n * @param author The author of this document.\n */\n PDFDocument.prototype.setAuthor = function (author) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(author, 'author', ['string']);\n var key = _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].of('Author');\n this.getInfoDict().set(key, _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFHexString\"].fromText(author));\n };\n /**\n * Set this document's subject metadata. The subject will appear in the\n * \"Document Properties\" section of most PDF readers. For example:\n * ```js\n * pdfDoc.setSubject('📘 An Epic Tale of Woe 📖')\n * ```\n * @param subject The subject of this document.\n */\n PDFDocument.prototype.setSubject = function (subject) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(subject, 'author', ['string']);\n var key = _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].of('Subject');\n this.getInfoDict().set(key, _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFHexString\"].fromText(subject));\n };\n /**\n * Set this document's keyword metadata. These keywords will appear in the\n * \"Document Properties\" section of most PDF readers. For example:\n * ```js\n * pdfDoc.setKeywords(['eggs', 'wall', 'fall', 'king', 'horses', 'men'])\n * ```\n * @param keywords An array of keywords associated with this document.\n */\n PDFDocument.prototype.setKeywords = function (keywords) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(keywords, 'keywords', [Array]);\n var key = _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].of('Keywords');\n this.getInfoDict().set(key, _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFHexString\"].fromText(keywords.join(' ')));\n };\n /**\n * Set this document's creator metadata. The creator will appear in the\n * \"Document Properties\" section of most PDF readers. For example:\n * ```js\n * pdfDoc.setCreator('PDF App 9000 🤖')\n * ```\n * @param creator The creator of this document.\n */\n PDFDocument.prototype.setCreator = function (creator) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(creator, 'creator', ['string']);\n var key = _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].of('Creator');\n this.getInfoDict().set(key, _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFHexString\"].fromText(creator));\n };\n /**\n * Set this document's producer metadata. The producer will appear in the\n * \"Document Properties\" section of most PDF readers. For example:\n * ```js\n * pdfDoc.setProducer('PDF App 9000 🤖')\n * ```\n * @param producer The producer of this document.\n */\n PDFDocument.prototype.setProducer = function (producer) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(producer, 'creator', ['string']);\n var key = _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].of('Producer');\n this.getInfoDict().set(key, _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFHexString\"].fromText(producer));\n };\n /**\n * Set this document's language metadata. The language will appear in the\n * \"Document Properties\" section of some PDF readers. For example:\n * ```js\n * pdfDoc.setLanguage('en-us')\n * ```\n *\n * @param language An RFC 3066 _Language-Tag_ denoting the language of this\n * document, or an empty string if the language is unknown.\n */\n PDFDocument.prototype.setLanguage = function (language) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(language, 'language', ['string']);\n var key = _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].of('Lang');\n this.catalog.set(key, _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFString\"].of(language));\n };\n /**\n * Set this document's creation date metadata. The creation date will appear\n * in the \"Document Properties\" section of most PDF readers. For example:\n * ```js\n * pdfDoc.setCreationDate(new Date())\n * ```\n * @param creationDate The date this document was created.\n */\n PDFDocument.prototype.setCreationDate = function (creationDate) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(creationDate, 'creationDate', [[Date, 'Date']]);\n var key = _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].of('CreationDate');\n this.getInfoDict().set(key, _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFString\"].fromDate(creationDate));\n };\n /**\n * Set this document's modification date metadata. The modification date will\n * appear in the \"Document Properties\" section of most PDF readers. For\n * example:\n * ```js\n * pdfDoc.setModificationDate(new Date())\n * ```\n * @param modificationDate The date this document was last modified.\n */\n PDFDocument.prototype.setModificationDate = function (modificationDate) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(modificationDate, 'modificationDate', [[Date, 'Date']]);\n var key = _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].of('ModDate');\n this.getInfoDict().set(key, _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFString\"].fromDate(modificationDate));\n };\n /**\n * Get the number of pages contained in this document. For example:\n * ```js\n * const totalPages = pdfDoc.getPageCount()\n * ```\n * @returns The number of pages in this document.\n */\n PDFDocument.prototype.getPageCount = function () {\n if (this.pageCount === undefined)\n this.pageCount = this.getPages().length;\n return this.pageCount;\n };\n /**\n * Get an array of all the pages contained in this document. The pages are\n * stored in the array in the same order that they are rendered in the\n * document. For example:\n * ```js\n * const pages = pdfDoc.getPages()\n * pages[0] // The first page of the document\n * pages[2] // The third page of the document\n * pages[197] // The 198th page of the document\n * ```\n * @returns An array of all the pages contained in this document.\n */\n PDFDocument.prototype.getPages = function () {\n return this.pageCache.access();\n };\n /**\n * Get the page rendered at a particular `index` of the document. For example:\n * ```js\n * pdfDoc.getPage(0) // The first page of the document\n * pdfDoc.getPage(2) // The third page of the document\n * pdfDoc.getPage(197) // The 198th page of the document\n * ```\n * @returns The [[PDFPage]] rendered at the given `index` of the document.\n */\n PDFDocument.prototype.getPage = function (index) {\n var pages = this.getPages();\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertRange\"])(index, 'index', 0, pages.length - 1);\n return pages[index];\n };\n /**\n * Get an array of indices for all the pages contained in this document. The\n * array will contain a range of integers from\n * `0..pdfDoc.getPageCount() - 1`. For example:\n * ```js\n * const pdfDoc = await PDFDocument.create()\n * pdfDoc.addPage()\n * pdfDoc.addPage()\n * pdfDoc.addPage()\n *\n * const indices = pdfDoc.getPageIndices()\n * indices // => [0, 1, 2]\n * ```\n * @returns An array of indices for all pages contained in this document.\n */\n PDFDocument.prototype.getPageIndices = function () {\n return Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"range\"])(0, this.getPageCount());\n };\n /**\n * Remove the page at a given index from this document. For example:\n * ```js\n * pdfDoc.removePage(0) // Remove the first page of the document\n * pdfDoc.removePage(2) // Remove the third page of the document\n * pdfDoc.removePage(197) // Remove the 198th page of the document\n * ```\n * Once a page has been removed, it will no longer be rendered at that index\n * in the document.\n * @param index The index of the page to be removed.\n */\n PDFDocument.prototype.removePage = function (index) {\n var pageCount = this.getPageCount();\n if (this.pageCount === 0)\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"RemovePageFromEmptyDocumentError\"]();\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertRange\"])(index, 'index', 0, pageCount - 1);\n this.catalog.removeLeafNode(index);\n this.pageCount = pageCount - 1;\n };\n /**\n * Add a page to the end of this document. This method accepts three\n * different value types for the `page` parameter:\n *\n * | Type | Behavior |\n * | ------------------ | ----------------------------------------------------------------------------------- |\n * | `undefined` | Create a new page and add it to the end of this document |\n * | `[number, number]` | Create a new page with the given dimensions and add it to the end of this document |\n * | `PDFPage` | Add the existing page to the end of this document |\n *\n * For example:\n * ```js\n * // page=undefined\n * const newPage = pdfDoc.addPage()\n *\n * // page=[number, number]\n * import { PageSizes } from 'pdf-lib'\n * const newPage1 = pdfDoc.addPage(PageSizes.A7)\n * const newPage2 = pdfDoc.addPage(PageSizes.Letter)\n * const newPage3 = pdfDoc.addPage([500, 750])\n *\n * // page=PDFPage\n * const pdfDoc1 = await PDFDocument.create()\n * const pdfDoc2 = await PDFDocument.load(...)\n * const [existingPage] = await pdfDoc1.copyPages(pdfDoc2, [0])\n * pdfDoc1.addPage(existingPage)\n * ```\n *\n * @param page Optionally, the desired dimensions or existing page.\n * @returns The newly created (or existing) page.\n */\n PDFDocument.prototype.addPage = function (page) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(page, 'page', ['undefined', [_PDFPage__WEBPACK_IMPORTED_MODULE_5__[\"default\"], 'PDFPage'], Array]);\n return this.insertPage(this.getPageCount(), page);\n };\n /**\n * Insert a page at a given index within this document. This method accepts\n * three different value types for the `page` parameter:\n *\n * | Type | Behavior |\n * | ------------------ | ------------------------------------------------------------------------------ |\n * | `undefined` | Create a new page and insert it into this document |\n * | `[number, number]` | Create a new page with the given dimensions and insert it into this document |\n * | `PDFPage` | Insert the existing page into this document |\n *\n * For example:\n * ```js\n * // page=undefined\n * const newPage = pdfDoc.insertPage(2)\n *\n * // page=[number, number]\n * import { PageSizes } from 'pdf-lib'\n * const newPage1 = pdfDoc.insertPage(2, PageSizes.A7)\n * const newPage2 = pdfDoc.insertPage(0, PageSizes.Letter)\n * const newPage3 = pdfDoc.insertPage(198, [500, 750])\n *\n * // page=PDFPage\n * const pdfDoc1 = await PDFDocument.create()\n * const pdfDoc2 = await PDFDocument.load(...)\n * const [existingPage] = await pdfDoc1.copyPages(pdfDoc2, [0])\n * pdfDoc1.insertPage(0, existingPage)\n * ```\n *\n * @param index The index at which the page should be inserted (zero-based).\n * @param page Optionally, the desired dimensions or existing page.\n * @returns The newly created (or existing) page.\n */\n PDFDocument.prototype.insertPage = function (index, page) {\n var pageCount = this.getPageCount();\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertRange\"])(index, 'index', 0, pageCount);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(page, 'page', ['undefined', [_PDFPage__WEBPACK_IMPORTED_MODULE_5__[\"default\"], 'PDFPage'], Array]);\n if (!page || Array.isArray(page)) {\n var dims = Array.isArray(page) ? page : _sizes__WEBPACK_IMPORTED_MODULE_7__[\"PageSizes\"].A4;\n page = _PDFPage__WEBPACK_IMPORTED_MODULE_5__[\"default\"].create(this);\n page.setSize.apply(page, dims);\n }\n else if (page.doc !== this) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"ForeignPageError\"]();\n }\n var parentRef = this.catalog.insertLeafNode(page.ref, index);\n page.node.setParent(parentRef);\n this.pageMap.set(page.node, page);\n this.pageCache.invalidate();\n this.pageCount = pageCount + 1;\n return page;\n };\n /**\n * Copy pages from a source document into this document. Allows pages to be\n * copied between different [[PDFDocument]] instances. For example:\n * ```js\n * const pdfDoc = await PDFDocument.create()\n * const srcDoc = await PDFDocument.load(...)\n *\n * const copiedPages = await pdfDoc.copyPages(srcDoc, [0, 3, 89])\n * const [firstPage, fourthPage, ninetiethPage] = copiedPages;\n *\n * pdfDoc.addPage(fourthPage)\n * pdfDoc.insertPage(0, ninetiethPage)\n * pdfDoc.addPage(firstPage)\n * ```\n * @param srcDoc The document from which pages should be copied.\n * @param indices The indices of the pages that should be copied.\n * @returns Resolves with an array of pages copied into this document.\n */\n PDFDocument.prototype.copyPages = function (srcDoc, indices) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var copier, srcPages, copiedPages, idx, len, srcPage, copiedPage, ref;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0:\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(srcDoc, 'srcDoc', [[PDFDocument, 'PDFDocument']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(indices, 'indices', [Array]);\n return [4 /*yield*/, srcDoc.flush()];\n case 1:\n _a.sent();\n copier = _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFObjectCopier\"].for(srcDoc.context, this.context);\n srcPages = srcDoc.getPages();\n copiedPages = new Array(indices.length);\n for (idx = 0, len = indices.length; idx < len; idx++) {\n srcPage = srcPages[indices[idx]];\n copiedPage = copier.copy(srcPage.node);\n ref = this.context.register(copiedPage);\n copiedPages[idx] = _PDFPage__WEBPACK_IMPORTED_MODULE_5__[\"default\"].of(copiedPage, ref, this);\n }\n return [2 /*return*/, copiedPages];\n }\n });\n });\n };\n /**\n * Get a copy of this document.\n *\n * For example:\n * ```js\n * const srcDoc = await PDFDocument.load(...)\n * const pdfDoc = await srcDoc.copy()\n * ```\n *\n * > **NOTE:** This method won't copy all information over to the new\n * > document (acroforms, outlines, etc...).\n *\n * @returns Resolves with a copy this document.\n */\n PDFDocument.prototype.copy = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var pdfCopy, contentPages, idx, len;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, PDFDocument.create()];\n case 1:\n pdfCopy = _a.sent();\n return [4 /*yield*/, pdfCopy.copyPages(this, this.getPageIndices())];\n case 2:\n contentPages = _a.sent();\n for (idx = 0, len = contentPages.length; idx < len; idx++) {\n pdfCopy.addPage(contentPages[idx]);\n }\n if (this.getAuthor() !== undefined) {\n pdfCopy.setAuthor(this.getAuthor());\n }\n if (this.getCreationDate() !== undefined) {\n pdfCopy.setCreationDate(this.getCreationDate());\n }\n if (this.getCreator() !== undefined) {\n pdfCopy.setCreator(this.getCreator());\n }\n if (this.getModificationDate() !== undefined) {\n pdfCopy.setModificationDate(this.getModificationDate());\n }\n if (this.getProducer() !== undefined) {\n pdfCopy.setProducer(this.getProducer());\n }\n if (this.getSubject() !== undefined) {\n pdfCopy.setSubject(this.getSubject());\n }\n if (this.getTitle() !== undefined) {\n pdfCopy.setTitle(this.getTitle());\n }\n pdfCopy.defaultWordBreaks = this.defaultWordBreaks;\n return [2 /*return*/, pdfCopy];\n }\n });\n });\n };\n /**\n * Add JavaScript to this document. The supplied `script` is executed when the\n * document is opened. The `script` can be used to perform some operation\n * when the document is opened (e.g. logging to the console), or it can be\n * used to define a function that can be referenced later in a JavaScript\n * action. For example:\n * ```js\n * // Show \"Hello World!\" in the console when the PDF is opened\n * pdfDoc.addJavaScript(\n * 'main',\n * 'console.show(); console.println(\"Hello World!\");'\n * );\n *\n * // Define a function named \"foo\" that can be called in JavaScript Actions\n * pdfDoc.addJavaScript(\n * 'foo',\n * 'function foo() { return \"foo\"; }'\n * );\n * ```\n * See the [JavaScript for Acrobat API Reference](https://www.adobe.com/content/dam/acom/en/devnet/acrobat/pdfs/js_api_reference.pdf)\n * for details.\n * @param name The name of the script. Must be unique per document.\n * @param script The JavaScript to execute.\n */\n PDFDocument.prototype.addJavaScript = function (name, script) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(name, 'name', ['string']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(script, 'script', ['string']);\n var embedder = _core_embedders_JavaScriptEmbedder__WEBPACK_IMPORTED_MODULE_14__[\"default\"].for(script, name);\n var ref = this.context.nextRef();\n var javaScript = _PDFJavaScript__WEBPACK_IMPORTED_MODULE_13__[\"default\"].of(ref, this, embedder);\n this.javaScripts.push(javaScript);\n };\n /**\n * Add an attachment to this document. Attachments are visible in the\n * \"Attachments\" panel of Adobe Acrobat and some other PDF readers. Any\n * type of file can be added as an attachment. This includes, but is not\n * limited to, `.png`, `.jpg`, `.pdf`, `.csv`, `.docx`, and `.xlsx` files.\n *\n * The input data can be provided in multiple formats:\n *\n * | Type | Contents |\n * | ------------- | -------------------------------------------------------------- |\n * | `string` | A base64 encoded string (or data URI) containing an attachment |\n * | `Uint8Array` | The raw bytes of an attachment |\n * | `ArrayBuffer` | The raw bytes of an attachment |\n *\n * For example:\n * ```js\n * // attachment=string\n * await pdfDoc.attach('/9j/4AAQSkZJRgABAQAAAQABAAD/2wBD...', 'cat_riding_unicorn.jpg', {\n * mimeType: 'image/jpeg',\n * description: 'Cool cat riding a unicorn! 🦄🐈🕶️',\n * creationDate: new Date('2019/12/01'),\n * modificationDate: new Date('2020/04/19'),\n * })\n * await pdfDoc.attach('data:image/jpeg;base64,/9j/4AAQ...', 'cat_riding_unicorn.jpg', {\n * mimeType: 'image/jpeg',\n * description: 'Cool cat riding a unicorn! 🦄🐈🕶️',\n * creationDate: new Date('2019/12/01'),\n * modificationDate: new Date('2020/04/19'),\n * })\n *\n * // attachment=Uint8Array\n * import fs from 'fs'\n * const uint8Array = fs.readFileSync('cat_riding_unicorn.jpg')\n * await pdfDoc.attach(uint8Array, 'cat_riding_unicorn.jpg', {\n * mimeType: 'image/jpeg',\n * description: 'Cool cat riding a unicorn! 🦄🐈🕶️',\n * creationDate: new Date('2019/12/01'),\n * modificationDate: new Date('2020/04/19'),\n * })\n *\n * // attachment=ArrayBuffer\n * const url = 'https://pdf-lib.js.org/assets/cat_riding_unicorn.jpg'\n * const arrayBuffer = await fetch(url).then(res => res.arrayBuffer())\n * await pdfDoc.attach(arrayBuffer, 'cat_riding_unicorn.jpg', {\n * mimeType: 'image/jpeg',\n * description: 'Cool cat riding a unicorn! 🦄🐈🕶️',\n * creationDate: new Date('2019/12/01'),\n * modificationDate: new Date('2020/04/19'),\n * })\n * ```\n *\n * @param attachment The input data containing the file to be attached.\n * @param name The name of the file to be attached.\n * @returns Resolves when the attachment is complete.\n */\n PDFDocument.prototype.attach = function (attachment, name, options) {\n if (options === void 0) { options = {}; }\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var bytes, embedder, ref, embeddedFile;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(attachment, 'attachment', ['string', Uint8Array, ArrayBuffer]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(name, 'name', ['string']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertOrUndefined\"])(options.mimeType, 'mimeType', ['string']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertOrUndefined\"])(options.description, 'description', ['string']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertOrUndefined\"])(options.creationDate, 'options.creationDate', [Date]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertOrUndefined\"])(options.modificationDate, 'options.modificationDate', [\n Date,\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIsOneOfOrUndefined\"])(options.afRelationship, 'options.afRelationship', _core_embedders_FileEmbedder__WEBPACK_IMPORTED_MODULE_11__[\"AFRelationship\"]);\n bytes = Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"toUint8Array\"])(attachment);\n embedder = _core_embedders_FileEmbedder__WEBPACK_IMPORTED_MODULE_11__[\"default\"].for(bytes, name, options);\n ref = this.context.nextRef();\n embeddedFile = _PDFEmbeddedFile__WEBPACK_IMPORTED_MODULE_12__[\"default\"].of(ref, this, embedder);\n this.embeddedFiles.push(embeddedFile);\n return [2 /*return*/];\n });\n });\n };\n /**\n * Embed a font into this document. The input data can be provided in multiple\n * formats:\n *\n * | Type | Contents |\n * | --------------- | ------------------------------------------------------- |\n * | `StandardFonts` | One of the standard 14 fonts |\n * | `string` | A base64 encoded string (or data URI) containing a font |\n * | `Uint8Array` | The raw bytes of a font |\n * | `ArrayBuffer` | The raw bytes of a font |\n *\n * For example:\n * ```js\n * // font=StandardFonts\n * import { StandardFonts } from 'pdf-lib'\n * const font1 = await pdfDoc.embedFont(StandardFonts.Helvetica)\n *\n * // font=string\n * const font2 = await pdfDoc.embedFont('AAEAAAAVAQAABABQRFNJRx/upe...')\n * const font3 = await pdfDoc.embedFont('data:font/opentype;base64,AAEAAA...')\n *\n * // font=Uint8Array\n * import fs from 'fs'\n * const font4 = await pdfDoc.embedFont(fs.readFileSync('Ubuntu-R.ttf'))\n *\n * // font=ArrayBuffer\n * const url = 'https://pdf-lib.js.org/assets/ubuntu/Ubuntu-R.ttf'\n * const ubuntuBytes = await fetch(url).then(res => res.arrayBuffer())\n * const font5 = await pdfDoc.embedFont(ubuntuBytes)\n * ```\n * See also: [[registerFontkit]]\n * @param font The input data for a font.\n * @param options The options to be used when embedding the font.\n * @returns Resolves with the embedded font.\n */\n PDFDocument.prototype.embedFont = function (font, options) {\n if (options === void 0) { options = {}; }\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var _a, subset, customName, features, embedder, bytes, fontkit, _b, ref, pdfFont;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = options.subset, subset = _a === void 0 ? false : _a, customName = options.customName, features = options.features;\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(font, 'font', ['string', Uint8Array, ArrayBuffer]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(subset, 'subset', ['boolean']);\n if (!Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"isStandardFont\"])(font)) return [3 /*break*/, 1];\n embedder = _core__WEBPACK_IMPORTED_MODULE_8__[\"StandardFontEmbedder\"].for(font, customName);\n return [3 /*break*/, 7];\n case 1:\n if (!Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"canBeConvertedToUint8Array\"])(font)) return [3 /*break*/, 6];\n bytes = Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"toUint8Array\"])(font);\n fontkit = this.assertFontkit();\n if (!subset) return [3 /*break*/, 3];\n return [4 /*yield*/, _core__WEBPACK_IMPORTED_MODULE_8__[\"CustomFontSubsetEmbedder\"].for(fontkit, bytes, customName, features)];\n case 2:\n _b = _c.sent();\n return [3 /*break*/, 5];\n case 3: return [4 /*yield*/, _core__WEBPACK_IMPORTED_MODULE_8__[\"CustomFontEmbedder\"].for(fontkit, bytes, customName, features)];\n case 4:\n _b = _c.sent();\n _c.label = 5;\n case 5:\n embedder = _b;\n return [3 /*break*/, 7];\n case 6: throw new TypeError('`font` must be one of `StandardFonts | string | Uint8Array | ArrayBuffer`');\n case 7:\n ref = this.context.nextRef();\n pdfFont = _PDFFont__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of(ref, this, embedder);\n this.fonts.push(pdfFont);\n return [2 /*return*/, pdfFont];\n }\n });\n });\n };\n /**\n * Embed a standard font into this document.\n * For example:\n * ```js\n * import { StandardFonts } from 'pdf-lib'\n * const helveticaFont = pdfDoc.embedFont(StandardFonts.Helvetica)\n * ```\n * @param font The standard font to be embedded.\n * @param customName The name to be used when embedding the font.\n * @returns The embedded font.\n */\n PDFDocument.prototype.embedStandardFont = function (font, customName) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(font, 'font', ['string']);\n if (!Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"isStandardFont\"])(font)) {\n throw new TypeError('`font` must be one of type `StandardFonts`');\n }\n var embedder = _core__WEBPACK_IMPORTED_MODULE_8__[\"StandardFontEmbedder\"].for(font, customName);\n var ref = this.context.nextRef();\n var pdfFont = _PDFFont__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of(ref, this, embedder);\n this.fonts.push(pdfFont);\n return pdfFont;\n };\n /**\n * Embed a JPEG image into this document. The input data can be provided in\n * multiple formats:\n *\n * | Type | Contents |\n * | ------------- | ------------------------------------------------------------- |\n * | `string` | A base64 encoded string (or data URI) containing a JPEG image |\n * | `Uint8Array` | The raw bytes of a JPEG image |\n * | `ArrayBuffer` | The raw bytes of a JPEG image |\n *\n * For example:\n * ```js\n * // jpg=string\n * const image1 = await pdfDoc.embedJpg('/9j/4AAQSkZJRgABAQAAAQABAAD/2wBD...')\n * const image2 = await pdfDoc.embedJpg('data:image/jpeg;base64,/9j/4AAQ...')\n *\n * // jpg=Uint8Array\n * import fs from 'fs'\n * const uint8Array = fs.readFileSync('cat_riding_unicorn.jpg')\n * const image3 = await pdfDoc.embedJpg(uint8Array)\n *\n * // jpg=ArrayBuffer\n * const url = 'https://pdf-lib.js.org/assets/cat_riding_unicorn.jpg'\n * const arrayBuffer = await fetch(url).then(res => res.arrayBuffer())\n * const image4 = await pdfDoc.embedJpg(arrayBuffer)\n * ```\n *\n * @param jpg The input data for a JPEG image.\n * @returns Resolves with the embedded image.\n */\n PDFDocument.prototype.embedJpg = function (jpg) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var bytes, embedder, ref, pdfImage;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0:\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(jpg, 'jpg', ['string', Uint8Array, ArrayBuffer]);\n bytes = Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"toUint8Array\"])(jpg);\n return [4 /*yield*/, _core__WEBPACK_IMPORTED_MODULE_8__[\"JpegEmbedder\"].for(bytes)];\n case 1:\n embedder = _a.sent();\n ref = this.context.nextRef();\n pdfImage = _PDFImage__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of(ref, this, embedder);\n this.images.push(pdfImage);\n return [2 /*return*/, pdfImage];\n }\n });\n });\n };\n /**\n * Embed a PNG image into this document. The input data can be provided in\n * multiple formats:\n *\n * | Type | Contents |\n * | ------------- | ------------------------------------------------------------ |\n * | `string` | A base64 encoded string (or data URI) containing a PNG image |\n * | `Uint8Array` | The raw bytes of a PNG image |\n * | `ArrayBuffer` | The raw bytes of a PNG image |\n *\n * For example:\n * ```js\n * // png=string\n * const image1 = await pdfDoc.embedPng('iVBORw0KGgoAAAANSUhEUgAAAlgAAAF3...')\n * const image2 = await pdfDoc.embedPng('data:image/png;base64,iVBORw0KGg...')\n *\n * // png=Uint8Array\n * import fs from 'fs'\n * const uint8Array = fs.readFileSync('small_mario.png')\n * const image3 = await pdfDoc.embedPng(uint8Array)\n *\n * // png=ArrayBuffer\n * const url = 'https://pdf-lib.js.org/assets/small_mario.png'\n * const arrayBuffer = await fetch(url).then(res => res.arrayBuffer())\n * const image4 = await pdfDoc.embedPng(arrayBuffer)\n * ```\n *\n * @param png The input data for a PNG image.\n * @returns Resolves with the embedded image.\n */\n PDFDocument.prototype.embedPng = function (png) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var bytes, embedder, ref, pdfImage;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0:\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(png, 'png', ['string', Uint8Array, ArrayBuffer]);\n bytes = Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"toUint8Array\"])(png);\n return [4 /*yield*/, _core__WEBPACK_IMPORTED_MODULE_8__[\"PngEmbedder\"].for(bytes)];\n case 1:\n embedder = _a.sent();\n ref = this.context.nextRef();\n pdfImage = _PDFImage__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of(ref, this, embedder);\n this.images.push(pdfImage);\n return [2 /*return*/, pdfImage];\n }\n });\n });\n };\n /**\n * Embed one or more PDF pages into this document.\n *\n * For example:\n * ```js\n * const pdfDoc = await PDFDocument.create()\n *\n * const sourcePdfUrl = 'https://pdf-lib.js.org/assets/with_large_page_count.pdf'\n * const sourcePdf = await fetch(sourcePdfUrl).then((res) => res.arrayBuffer())\n *\n * // Embed page 74 of `sourcePdf` into `pdfDoc`\n * const [embeddedPage] = await pdfDoc.embedPdf(sourcePdf, [73])\n * ```\n *\n * See [[PDFDocument.load]] for examples of the allowed input data formats.\n *\n * @param pdf The input data containing a PDF document.\n * @param indices The indices of the pages that should be embedded.\n * @returns Resolves with an array of the embedded pages.\n */\n PDFDocument.prototype.embedPdf = function (pdf, indices) {\n if (indices === void 0) { indices = [0]; }\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var srcDoc, _a, srcPages;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_b) {\n switch (_b.label) {\n case 0:\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(pdf, 'pdf', [\n 'string',\n Uint8Array,\n ArrayBuffer,\n [PDFDocument, 'PDFDocument'],\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(indices, 'indices', [Array]);\n if (!(pdf instanceof PDFDocument)) return [3 /*break*/, 1];\n _a = pdf;\n return [3 /*break*/, 3];\n case 1: return [4 /*yield*/, PDFDocument.load(pdf)];\n case 2:\n _a = _b.sent();\n _b.label = 3;\n case 3:\n srcDoc = _a;\n srcPages = Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"pluckIndices\"])(srcDoc.getPages(), indices);\n return [2 /*return*/, this.embedPages(srcPages)];\n }\n });\n });\n };\n /**\n * Embed a single PDF page into this document.\n *\n * For example:\n * ```js\n * const pdfDoc = await PDFDocument.create()\n *\n * const sourcePdfUrl = 'https://pdf-lib.js.org/assets/with_large_page_count.pdf'\n * const sourceBuffer = await fetch(sourcePdfUrl).then((res) => res.arrayBuffer())\n * const sourcePdfDoc = await PDFDocument.load(sourceBuffer)\n * const sourcePdfPage = sourcePdfDoc.getPages()[73]\n *\n * const embeddedPage = await pdfDoc.embedPage(\n * sourcePdfPage,\n *\n * // Clip a section of the source page so that we only embed part of it\n * { left: 100, right: 450, bottom: 330, top: 570 },\n *\n * // Translate all drawings of the embedded page by (10, 200) units\n * [1, 0, 0, 1, 10, 200],\n * )\n * ```\n *\n * @param page The page to be embedded.\n * @param boundingBox\n * Optionally, an area of the source page that should be embedded\n * (defaults to entire page).\n * @param transformationMatrix\n * Optionally, a transformation matrix that is always applied to the embedded\n * page anywhere it is drawn.\n * @returns Resolves with the embedded pdf page.\n */\n PDFDocument.prototype.embedPage = function (page, boundingBox, transformationMatrix) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var embeddedPage;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0:\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(page, 'page', [[_PDFPage__WEBPACK_IMPORTED_MODULE_5__[\"default\"], 'PDFPage']]);\n return [4 /*yield*/, this.embedPages([page], [boundingBox], [transformationMatrix])];\n case 1:\n embeddedPage = (_a.sent())[0];\n return [2 /*return*/, embeddedPage];\n }\n });\n });\n };\n /**\n * Embed one or more PDF pages into this document.\n *\n * For example:\n * ```js\n * const pdfDoc = await PDFDocument.create()\n *\n * const sourcePdfUrl = 'https://pdf-lib.js.org/assets/with_large_page_count.pdf'\n * const sourceBuffer = await fetch(sourcePdfUrl).then((res) => res.arrayBuffer())\n * const sourcePdfDoc = await PDFDocument.load(sourceBuffer)\n *\n * const page1 = sourcePdfDoc.getPages()[0]\n * const page2 = sourcePdfDoc.getPages()[52]\n * const page3 = sourcePdfDoc.getPages()[73]\n *\n * const embeddedPages = await pdfDoc.embedPages([page1, page2, page3])\n * ```\n *\n * @param page\n * The pages to be embedded (they must all share the same context).\n * @param boundingBoxes\n * Optionally, an array of clipping boundaries - one for each page\n * (defaults to entirety of each page).\n * @param transformationMatrices\n * Optionally, an array of transformation matrices - one for each page\n * (each page's transformation will apply anywhere it is drawn).\n * @returns Resolves with an array of the embedded pdf pages.\n */\n PDFDocument.prototype.embedPages = function (pages, boundingBoxes, transformationMatrices) {\n if (boundingBoxes === void 0) { boundingBoxes = []; }\n if (transformationMatrices === void 0) { transformationMatrices = []; }\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var idx, len, currPage, nextPage, context, maybeCopyPage, embeddedPages, idx, len, page, box, matrix, embedder, ref;\n var _a;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (pages.length === 0)\n return [2 /*return*/, []];\n // Assert all pages have the same context\n for (idx = 0, len = pages.length - 1; idx < len; idx++) {\n currPage = pages[idx];\n nextPage = pages[idx + 1];\n if (currPage.node.context !== nextPage.node.context) {\n throw new _core__WEBPACK_IMPORTED_MODULE_8__[\"PageEmbeddingMismatchedContextError\"]();\n }\n }\n context = pages[0].node.context;\n maybeCopyPage = context === this.context\n ? function (p) { return p; }\n : _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFObjectCopier\"].for(context, this.context).copy;\n embeddedPages = new Array(pages.length);\n idx = 0, len = pages.length;\n _b.label = 1;\n case 1:\n if (!(idx < len)) return [3 /*break*/, 4];\n page = maybeCopyPage(pages[idx].node);\n box = boundingBoxes[idx];\n matrix = transformationMatrices[idx];\n return [4 /*yield*/, _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFPageEmbedder\"].for(page, box, matrix)];\n case 2:\n embedder = _b.sent();\n ref = this.context.nextRef();\n embeddedPages[idx] = _PDFEmbeddedPage__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of(ref, this, embedder);\n _b.label = 3;\n case 3:\n idx++;\n return [3 /*break*/, 1];\n case 4:\n (_a = this.embeddedPages).push.apply(_a, embeddedPages);\n return [2 /*return*/, embeddedPages];\n }\n });\n });\n };\n /**\n * > **NOTE:** You shouldn't need to call this method directly. The [[save]]\n * > and [[saveAsBase64]] methods will automatically ensure that all embedded\n * > assets are flushed before serializing the document.\n *\n * Flush all embedded fonts, PDF pages, and images to this document's\n * [[context]].\n *\n * @returns Resolves when the flush is complete.\n */\n PDFDocument.prototype.flush = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.embedAll(this.fonts)];\n case 1:\n _a.sent();\n return [4 /*yield*/, this.embedAll(this.images)];\n case 2:\n _a.sent();\n return [4 /*yield*/, this.embedAll(this.embeddedPages)];\n case 3:\n _a.sent();\n return [4 /*yield*/, this.embedAll(this.embeddedFiles)];\n case 4:\n _a.sent();\n return [4 /*yield*/, this.embedAll(this.javaScripts)];\n case 5:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Serialize this document to an array of bytes making up a PDF file.\n * For example:\n * ```js\n * const pdfBytes = await pdfDoc.save()\n * ```\n *\n * There are a number of things you can do with the serialized document,\n * depending on the JavaScript environment you're running in:\n * * Write it to a file in Node or React Native\n * * Download it as a Blob in the browser\n * * Render it in an `iframe`\n *\n * @param options The options to be used when saving the document.\n * @returns Resolves with the bytes of the serialized document.\n */\n PDFDocument.prototype.save = function (options) {\n if (options === void 0) { options = {}; }\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var _a, useObjectStreams, _b, addDefaultPage, _c, objectsPerTick, _d, updateFieldAppearances, form, Writer;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_e) {\n switch (_e.label) {\n case 0:\n _a = options.useObjectStreams, useObjectStreams = _a === void 0 ? true : _a, _b = options.addDefaultPage, addDefaultPage = _b === void 0 ? true : _b, _c = options.objectsPerTick, objectsPerTick = _c === void 0 ? 50 : _c, _d = options.updateFieldAppearances, updateFieldAppearances = _d === void 0 ? true : _d;\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(useObjectStreams, 'useObjectStreams', ['boolean']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(addDefaultPage, 'addDefaultPage', ['boolean']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(objectsPerTick, 'objectsPerTick', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(updateFieldAppearances, 'updateFieldAppearances', ['boolean']);\n if (addDefaultPage && this.getPageCount() === 0)\n this.addPage();\n if (updateFieldAppearances) {\n form = this.formCache.getValue();\n if (form)\n form.updateFieldAppearances();\n }\n return [4 /*yield*/, this.flush()];\n case 1:\n _e.sent();\n Writer = useObjectStreams ? _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFStreamWriter\"] : _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFWriter\"];\n return [2 /*return*/, Writer.forContext(this.context, objectsPerTick).serializeToBuffer()];\n }\n });\n });\n };\n /**\n * Serialize this document to a base64 encoded string or data URI making up a\n * PDF file. For example:\n * ```js\n * const base64String = await pdfDoc.saveAsBase64()\n * base64String // => 'JVBERi0xLjcKJYGBgYEKC...'\n *\n * const base64DataUri = await pdfDoc.saveAsBase64({ dataUri: true })\n * base64DataUri // => 'data:application/pdf;base64,JVBERi0xLjcKJYGBgYEKC...'\n * ```\n *\n * @param options The options to be used when saving the document.\n * @returns Resolves with a base64 encoded string or data URI of the\n * serialized document.\n */\n PDFDocument.prototype.saveAsBase64 = function (options) {\n if (options === void 0) { options = {}; }\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var _a, dataUri, otherOptions, bytes, base64;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_b) {\n switch (_b.label) {\n case 0:\n _a = options.dataUri, dataUri = _a === void 0 ? false : _a, otherOptions = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__rest\"])(options, [\"dataUri\"]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"assertIs\"])(dataUri, 'dataUri', ['boolean']);\n return [4 /*yield*/, this.save(otherOptions)];\n case 1:\n bytes = _b.sent();\n base64 = Object(_utils__WEBPACK_IMPORTED_MODULE_10__[\"encodeToBase64\"])(bytes);\n return [2 /*return*/, dataUri ? \"data:application/pdf;base64,\" + base64 : base64];\n }\n });\n });\n };\n PDFDocument.prototype.findPageForAnnotationRef = function (ref) {\n var pages = this.getPages();\n for (var idx = 0, len = pages.length; idx < len; idx++) {\n var page = pages[idx];\n var annotations = page.node.Annots();\n if ((annotations === null || annotations === void 0 ? void 0 : annotations.indexOf(ref)) !== undefined) {\n return page;\n }\n }\n return undefined;\n };\n PDFDocument.prototype.embedAll = function (embeddables) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var idx, len;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0:\n idx = 0, len = embeddables.length;\n _a.label = 1;\n case 1:\n if (!(idx < len)) return [3 /*break*/, 4];\n return [4 /*yield*/, embeddables[idx].embed()];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3:\n idx++;\n return [3 /*break*/, 1];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n PDFDocument.prototype.updateInfoDict = function () {\n var pdfLib = \"pdf-lib (https://github.com/Hopding/pdf-lib)\";\n var now = new Date();\n var info = this.getInfoDict();\n this.setProducer(pdfLib);\n this.setModificationDate(now);\n if (!info.get(_core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].of('Creator')))\n this.setCreator(pdfLib);\n if (!info.get(_core__WEBPACK_IMPORTED_MODULE_8__[\"PDFName\"].of('CreationDate')))\n this.setCreationDate(now);\n };\n PDFDocument.prototype.getInfoDict = function () {\n var existingInfo = this.context.lookup(this.context.trailerInfo.Info);\n if (existingInfo instanceof _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFDict\"])\n return existingInfo;\n var newInfo = this.context.obj({});\n this.context.trailerInfo.Info = this.context.register(newInfo);\n return newInfo;\n };\n PDFDocument.prototype.assertFontkit = function () {\n if (!this.fontkit)\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"FontkitNotRegisteredError\"]();\n return this.fontkit;\n };\n return PDFDocument;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFDocument);\n/* tslint:disable-next-line only-arrow-functions */\nfunction assertIsLiteralOrHexString(pdfObject) {\n if (!(pdfObject instanceof _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFHexString\"]) &&\n !(pdfObject instanceof _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFString\"])) {\n throw new _core__WEBPACK_IMPORTED_MODULE_8__[\"UnexpectedObjectTypeError\"]([_core__WEBPACK_IMPORTED_MODULE_8__[\"PDFHexString\"], _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFString\"]], pdfObject);\n }\n}\n//# sourceMappingURL=PDFDocument.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/PDFDocument.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/PDFDocumentOptions.js":
/*!****************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/PDFDocumentOptions.js ***!
\****************************************************************************/
/*! exports provided: ParseSpeeds */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ParseSpeeds\", function() { return ParseSpeeds; });\nvar ParseSpeeds;\n(function (ParseSpeeds) {\n ParseSpeeds[ParseSpeeds[\"Fastest\"] = Infinity] = \"Fastest\";\n ParseSpeeds[ParseSpeeds[\"Fast\"] = 1500] = \"Fast\";\n ParseSpeeds[ParseSpeeds[\"Medium\"] = 500] = \"Medium\";\n ParseSpeeds[ParseSpeeds[\"Slow\"] = 100] = \"Slow\";\n})(ParseSpeeds || (ParseSpeeds = {}));\n//# sourceMappingURL=PDFDocumentOptions.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/PDFDocumentOptions.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/PDFEmbeddedFile.js":
/*!*************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/PDFEmbeddedFile.js ***!
\*************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n\n\n/**\n * Represents a file that has been embedded in a [[PDFDocument]].\n */\nvar PDFEmbeddedFile = /** @class */ (function () {\n function PDFEmbeddedFile(ref, doc, embedder) {\n this.alreadyEmbedded = false;\n this.ref = ref;\n this.doc = doc;\n this.embedder = embedder;\n }\n /**\n * > **NOTE:** You probably don't need to call this method directly. The\n * > [[PDFDocument.save]] and [[PDFDocument.saveAsBase64]] methods will\n * > automatically ensure all embeddable files get embedded.\n *\n * Embed this embeddable file in its document.\n *\n * @returns Resolves when the embedding is complete.\n */\n PDFEmbeddedFile.prototype.embed = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var ref, Names, EmbeddedFiles, EFNames, AF;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this.alreadyEmbedded) return [3 /*break*/, 2];\n return [4 /*yield*/, this.embedder.embedIntoContext(this.doc.context, this.ref)];\n case 1:\n ref = _a.sent();\n if (!this.doc.catalog.has(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('Names'))) {\n this.doc.catalog.set(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('Names'), this.doc.context.obj({}));\n }\n Names = this.doc.catalog.lookup(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('Names'), _core__WEBPACK_IMPORTED_MODULE_1__[\"PDFDict\"]);\n if (!Names.has(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('EmbeddedFiles'))) {\n Names.set(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('EmbeddedFiles'), this.doc.context.obj({}));\n }\n EmbeddedFiles = Names.lookup(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('EmbeddedFiles'), _core__WEBPACK_IMPORTED_MODULE_1__[\"PDFDict\"]);\n if (!EmbeddedFiles.has(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('Names'))) {\n EmbeddedFiles.set(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('Names'), this.doc.context.obj([]));\n }\n EFNames = EmbeddedFiles.lookup(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('Names'), _core__WEBPACK_IMPORTED_MODULE_1__[\"PDFArray\"]);\n EFNames.push(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFHexString\"].fromText(this.embedder.fileName));\n EFNames.push(ref);\n /**\n * The AF-Tag is needed to achieve PDF-A3 compliance for embedded files\n *\n * The following document outlines the uses cases of the associated files (AF) tag.\n * See:\n * https://www.pdfa.org/wp-content/uploads/2018/10/PDF20_AN002-AF.pdf\n */\n if (!this.doc.catalog.has(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('AF'))) {\n this.doc.catalog.set(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('AF'), this.doc.context.obj([]));\n }\n AF = this.doc.catalog.lookup(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('AF'), _core__WEBPACK_IMPORTED_MODULE_1__[\"PDFArray\"]);\n AF.push(ref);\n this.alreadyEmbedded = true;\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * > **NOTE:** You probably don't want to call this method directly. Instead,\n * > consider using the [[PDFDocument.attach]] method, which will create\n * instances of [[PDFEmbeddedFile]] for you.\n *\n * Create an instance of [[PDFEmbeddedFile]] from an existing ref and embedder\n *\n * @param ref The unique reference for this file.\n * @param doc The document to which the file will belong.\n * @param embedder The embedder that will be used to embed the file.\n */\n PDFEmbeddedFile.of = function (ref, doc, embedder) {\n return new PDFEmbeddedFile(ref, doc, embedder);\n };\n return PDFEmbeddedFile;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFEmbeddedFile);\n//# sourceMappingURL=PDFEmbeddedFile.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/PDFEmbeddedFile.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/PDFEmbeddedPage.js":
/*!*************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/PDFEmbeddedPage.js ***!
\*************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFDocument__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFDocument */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFDocument.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n/**\n * Represents a PDF page that has been embedded in a [[PDFDocument]].\n */\nvar PDFEmbeddedPage = /** @class */ (function () {\n function PDFEmbeddedPage(ref, doc, embedder) {\n this.alreadyEmbedded = false;\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(ref, 'ref', [[_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFRef\"], 'PDFRef']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(doc, 'doc', [[_PDFDocument__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'PDFDocument']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(embedder, 'embedder', [[_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFPageEmbedder\"], 'PDFPageEmbedder']]);\n this.ref = ref;\n this.doc = doc;\n this.width = embedder.width;\n this.height = embedder.height;\n this.embedder = embedder;\n }\n /**\n * Compute the width and height of this page after being scaled by the\n * given `factor`. For example:\n * ```js\n * embeddedPage.width // => 500\n * embeddedPage.height // => 250\n *\n * const scaled = embeddedPage.scale(0.5)\n * scaled.width // => 250\n * scaled.height // => 125\n * ```\n * This operation is often useful before drawing a page with\n * [[PDFPage.drawPage]] to compute the `width` and `height` options.\n * @param factor The factor by which this page should be scaled.\n * @returns The width and height of the page after being scaled.\n */\n PDFEmbeddedPage.prototype.scale = function (factor) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(factor, 'factor', ['number']);\n return { width: this.width * factor, height: this.height * factor };\n };\n /**\n * Get the width and height of this page. For example:\n * ```js\n * const { width, height } = embeddedPage.size()\n * ```\n * @returns The width and height of the page.\n */\n PDFEmbeddedPage.prototype.size = function () {\n return this.scale(1);\n };\n /**\n * > **NOTE:** You probably don't need to call this method directly. The\n * > [[PDFDocument.save]] and [[PDFDocument.saveAsBase64]] methods will\n * > automatically ensure all embeddable pages get embedded.\n *\n * Embed this embeddable page in its document.\n *\n * @returns Resolves when the embedding is complete.\n */\n PDFEmbeddedPage.prototype.embed = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this.alreadyEmbedded) return [3 /*break*/, 2];\n return [4 /*yield*/, this.embedder.embedIntoContext(this.doc.context, this.ref)];\n case 1:\n _a.sent();\n this.alreadyEmbedded = true;\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * > **NOTE:** You probably don't want to call this method directly. Instead,\n * > consider using the [[PDFDocument.embedPdf]] and\n * > [[PDFDocument.embedPage]] methods, which will create instances of\n * > [[PDFEmbeddedPage]] for you.\n *\n * Create an instance of [[PDFEmbeddedPage]] from an existing ref and embedder\n *\n * @param ref The unique reference for this embedded page.\n * @param doc The document to which the embedded page will belong.\n * @param embedder The embedder that will be used to embed the page.\n */\n PDFEmbeddedPage.of = function (ref, doc, embedder) {\n return new PDFEmbeddedPage(ref, doc, embedder);\n };\n return PDFEmbeddedPage;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFEmbeddedPage);\n//# sourceMappingURL=PDFEmbeddedPage.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/PDFEmbeddedPage.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/PDFFont.js":
/*!*****************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/PDFFont.js ***!
\*****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFDocument__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFDocument */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFDocument.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n/**\n * Represents a font that has been embedded in a [[PDFDocument]].\n */\nvar PDFFont = /** @class */ (function () {\n function PDFFont(ref, doc, embedder) {\n this.modified = true;\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(ref, 'ref', [[_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFRef\"], 'PDFRef']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(doc, 'doc', [[_PDFDocument__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'PDFDocument']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(embedder, 'embedder', [\n [_core__WEBPACK_IMPORTED_MODULE_2__[\"CustomFontEmbedder\"], 'CustomFontEmbedder'],\n [_core__WEBPACK_IMPORTED_MODULE_2__[\"StandardFontEmbedder\"], 'StandardFontEmbedder'],\n ]);\n this.ref = ref;\n this.doc = doc;\n this.name = embedder.fontName;\n this.embedder = embedder;\n }\n /**\n * > **NOTE:** You probably don't need to call this method directly. The\n * > [[PDFPage.drawText]] method will automatically encode the text it is\n * > given.\n *\n * Encodes a string of text in this font.\n *\n * @param text The text to be encoded.\n * @returns The encoded text as a hex string.\n */\n PDFFont.prototype.encodeText = function (text) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(text, 'text', ['string']);\n this.modified = true;\n return this.embedder.encodeText(text);\n };\n /**\n * Measure the width of a string of text drawn in this font at a given size.\n * For example:\n * ```js\n * const width = font.widthOfTextAtSize('Foo Bar Qux Baz', 36)\n * ```\n * @param text The string of text to be measured.\n * @param size The font size to be used for this measurement.\n * @returns The width of the string of text when drawn in this font at the\n * given size.\n */\n PDFFont.prototype.widthOfTextAtSize = function (text, size) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(text, 'text', ['string']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(size, 'size', ['number']);\n return this.embedder.widthOfTextAtSize(text, size);\n };\n /**\n * Measure the height of this font at a given size. For example:\n * ```js\n * const height = font.heightAtSize(24)\n * ```\n *\n * The `options.descender` value controls whether or not the font's\n * descender is included in the height calculation.\n *\n * @param size The font size to be used for this measurement.\n * @param options The options to be used when computing this measurement.\n * @returns The height of this font at the given size.\n */\n PDFFont.prototype.heightAtSize = function (size, options) {\n var _a;\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(size, 'size', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertOrUndefined\"])(options === null || options === void 0 ? void 0 : options.descender, 'options.descender', ['boolean']);\n return this.embedder.heightOfFontAtSize(size, {\n descender: (_a = options === null || options === void 0 ? void 0 : options.descender) !== null && _a !== void 0 ? _a : true,\n });\n };\n /**\n * Compute the font size at which this font is a given height. For example:\n * ```js\n * const fontSize = font.sizeAtHeight(12)\n * ```\n * @param height The height to be used for this calculation.\n * @returns The font size at which this font is the given height.\n */\n PDFFont.prototype.sizeAtHeight = function (height) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(height, 'height', ['number']);\n return this.embedder.sizeOfFontAtHeight(height);\n };\n /**\n * Get the set of unicode code points that can be represented by this font.\n * @returns The set of unicode code points supported by this font.\n */\n PDFFont.prototype.getCharacterSet = function () {\n if (this.embedder instanceof _core__WEBPACK_IMPORTED_MODULE_2__[\"StandardFontEmbedder\"]) {\n return this.embedder.encoding.supportedCodePoints;\n }\n else {\n return this.embedder.font.characterSet;\n }\n };\n /**\n * > **NOTE:** You probably don't need to call this method directly. The\n * > [[PDFDocument.save]] and [[PDFDocument.saveAsBase64]] methods will\n * > automatically ensure all fonts get embedded.\n *\n * Embed this font in its document.\n *\n * @returns Resolves when the embedding is complete.\n */\n PDFFont.prototype.embed = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this.modified) return [3 /*break*/, 2];\n return [4 /*yield*/, this.embedder.embedIntoContext(this.doc.context, this.ref)];\n case 1:\n _a.sent();\n this.modified = false;\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * > **NOTE:** You probably don't want to call this method directly. Instead,\n * > consider using the [[PDFDocument.embedFont]] and\n * > [[PDFDocument.embedStandardFont]] methods, which will create instances\n * > of [[PDFFont]] for you.\n *\n * Create an instance of [[PDFFont]] from an existing ref and embedder\n *\n * @param ref The unique reference for this font.\n * @param doc The document to which the font will belong.\n * @param embedder The embedder that will be used to embed the font.\n */\n PDFFont.of = function (ref, doc, embedder) {\n return new PDFFont(ref, doc, embedder);\n };\n return PDFFont;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFFont);\n//# sourceMappingURL=PDFFont.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/PDFFont.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/PDFImage.js":
/*!******************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/PDFImage.js ***!
\******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFDocument__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFDocument */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFDocument.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n/**\n * Represents an image that has been embedded in a [[PDFDocument]].\n */\nvar PDFImage = /** @class */ (function () {\n function PDFImage(ref, doc, embedder) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(ref, 'ref', [[_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFRef\"], 'PDFRef']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(doc, 'doc', [[_PDFDocument__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'PDFDocument']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(embedder, 'embedder', [\n [_core__WEBPACK_IMPORTED_MODULE_2__[\"JpegEmbedder\"], 'JpegEmbedder'],\n [_core__WEBPACK_IMPORTED_MODULE_2__[\"PngEmbedder\"], 'PngEmbedder'],\n ]);\n this.ref = ref;\n this.doc = doc;\n this.width = embedder.width;\n this.height = embedder.height;\n this.embedder = embedder;\n }\n /**\n * Compute the width and height of this image after being scaled by the\n * given `factor`. For example:\n * ```js\n * image.width // => 500\n * image.height // => 250\n *\n * const scaled = image.scale(0.5)\n * scaled.width // => 250\n * scaled.height // => 125\n * ```\n * This operation is often useful before drawing an image with\n * [[PDFPage.drawImage]] to compute the `width` and `height` options.\n * @param factor The factor by which this image should be scaled.\n * @returns The width and height of the image after being scaled.\n */\n PDFImage.prototype.scale = function (factor) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(factor, 'factor', ['number']);\n return { width: this.width * factor, height: this.height * factor };\n };\n /**\n * Get the width and height of this image after scaling it as large as\n * possible while maintaining its aspect ratio and not exceeding the\n * specified `width` and `height`. For example:\n * ```\n * image.width // => 500\n * image.height // => 250\n *\n * const scaled = image.scaleToFit(750, 1000)\n * scaled.width // => 750\n * scaled.height // => 375\n * ```\n * The `width` and `height` parameters can also be thought of as the width\n * and height of a box that the scaled image must fit within.\n * @param width The bounding box's width.\n * @param height The bounding box's height.\n * @returns The width and height of the image after being scaled.\n */\n PDFImage.prototype.scaleToFit = function (width, height) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(width, 'width', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(height, 'height', ['number']);\n var imgWidthScale = width / this.width;\n var imgHeightScale = height / this.height;\n var scale = Math.min(imgWidthScale, imgHeightScale);\n return this.scale(scale);\n };\n /**\n * Get the width and height of this image. For example:\n * ```js\n * const { width, height } = image.size()\n * ```\n * @returns The width and height of the image.\n */\n PDFImage.prototype.size = function () {\n return this.scale(1);\n };\n /**\n * > **NOTE:** You probably don't need to call this method directly. The\n * > [[PDFDocument.save]] and [[PDFDocument.saveAsBase64]] methods will\n * > automatically ensure all images get embedded.\n *\n * Embed this image in its document.\n *\n * @returns Resolves when the embedding is complete.\n */\n PDFImage.prototype.embed = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var _a, doc, ref;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!this.embedder)\n return [2 /*return*/];\n // The image should only be embedded once. If there's a pending embed\n // operation then wait on it. Otherwise we need to start the embed.\n if (!this.embedTask) {\n _a = this, doc = _a.doc, ref = _a.ref;\n this.embedTask = this.embedder.embedIntoContext(doc.context, ref);\n }\n return [4 /*yield*/, this.embedTask];\n case 1:\n _b.sent();\n // We clear `this.embedder` so that the indirectly referenced image data\n // can be garbage collected, thus avoiding a memory leak.\n // See https://github.com/Hopding/pdf-lib/pull/1032/files.\n this.embedder = undefined;\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * > **NOTE:** You probably don't want to call this method directly. Instead,\n * > consider using the [[PDFDocument.embedPng]] and [[PDFDocument.embedJpg]]\n * > methods, which will create instances of [[PDFImage]] for you.\n *\n * Create an instance of [[PDFImage]] from an existing ref and embedder\n *\n * @param ref The unique reference for this image.\n * @param doc The document to which the image will belong.\n * @param embedder The embedder that will be used to embed the image.\n */\n PDFImage.of = function (ref, doc, embedder) {\n return new PDFImage(ref, doc, embedder);\n };\n return PDFImage;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFImage);\n//# sourceMappingURL=PDFImage.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/PDFImage.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/PDFJavaScript.js":
/*!***********************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/PDFJavaScript.js ***!
\***********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n\n\n/**\n * Represents JavaScript that has been embedded in a [[PDFDocument]].\n */\nvar PDFJavaScript = /** @class */ (function () {\n function PDFJavaScript(ref, doc, embedder) {\n this.alreadyEmbedded = false;\n this.ref = ref;\n this.doc = doc;\n this.embedder = embedder;\n }\n /**\n * > **NOTE:** You probably don't need to call this method directly. The\n * > [[PDFDocument.save]] and [[PDFDocument.saveAsBase64]] methods will\n * > automatically ensure all JavaScripts get embedded.\n *\n * Embed this JavaScript in its document.\n *\n * @returns Resolves when the embedding is complete.\n */\n PDFJavaScript.prototype.embed = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var _a, catalog, context, ref, Names, Javascript, JSNames;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!!this.alreadyEmbedded) return [3 /*break*/, 2];\n _a = this.doc, catalog = _a.catalog, context = _a.context;\n return [4 /*yield*/, this.embedder.embedIntoContext(this.doc.context, this.ref)];\n case 1:\n ref = _b.sent();\n if (!catalog.has(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('Names'))) {\n catalog.set(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('Names'), context.obj({}));\n }\n Names = catalog.lookup(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('Names'), _core__WEBPACK_IMPORTED_MODULE_1__[\"PDFDict\"]);\n if (!Names.has(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('JavaScript'))) {\n Names.set(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('JavaScript'), context.obj({}));\n }\n Javascript = Names.lookup(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('JavaScript'), _core__WEBPACK_IMPORTED_MODULE_1__[\"PDFDict\"]);\n if (!Javascript.has(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('Names'))) {\n Javascript.set(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('Names'), context.obj([]));\n }\n JSNames = Javascript.lookup(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"].of('Names'), _core__WEBPACK_IMPORTED_MODULE_1__[\"PDFArray\"]);\n JSNames.push(_core__WEBPACK_IMPORTED_MODULE_1__[\"PDFHexString\"].fromText(this.embedder.scriptName));\n JSNames.push(ref);\n this.alreadyEmbedded = true;\n _b.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * > **NOTE:** You probably don't want to call this method directly. Instead,\n * > consider using the [[PDFDocument.addJavaScript]] method, which will\n * create instances of [[PDFJavaScript]] for you.\n *\n * Create an instance of [[PDFJavaScript]] from an existing ref and script\n *\n * @param ref The unique reference for this script.\n * @param doc The document to which the script will belong.\n * @param embedder The embedder that will be used to embed the script.\n */\n PDFJavaScript.of = function (ref, doc, embedder) {\n return new PDFJavaScript(ref, doc, embedder);\n };\n return PDFJavaScript;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFJavaScript);\n//# sourceMappingURL=PDFJavaScript.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/PDFJavaScript.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/PDFPage.js":
/*!*****************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/PDFPage.js ***!
\*****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./colors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/colors.js\");\n/* harmony import */ var _operations__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./operations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/operations.js\");\n/* harmony import */ var _operators__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./operators */ \"../simple-mind-map/node_modules/pdf-lib/es/api/operators.js\");\n/* harmony import */ var _PDFDocument__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./PDFDocument */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFDocument.js\");\n/* harmony import */ var _PDFEmbeddedPage__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PDFEmbeddedPage */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFEmbeddedPage.js\");\n/* harmony import */ var _PDFFont__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./PDFFont */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFFont.js\");\n/* harmony import */ var _PDFImage__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./PDFImage */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFImage.js\");\n/* harmony import */ var _PDFPageOptions__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./PDFPageOptions */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFPageOptions.js\");\n/* harmony import */ var _rotations__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./rotations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/rotations.js\");\n/* harmony import */ var _StandardFonts__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./StandardFonts */ \"../simple-mind-map/node_modules/pdf-lib/es/api/StandardFonts.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Represents a single page of a [[PDFDocument]].\n */\nvar PDFPage = /** @class */ (function () {\n function PDFPage(leafNode, ref, doc) {\n this.fontSize = 24;\n this.fontColor = Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"rgb\"])(0, 0, 0);\n this.lineHeight = 24;\n this.x = 0;\n this.y = 0;\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(leafNode, 'leafNode', [[_core__WEBPACK_IMPORTED_MODULE_11__[\"PDFPageLeaf\"], 'PDFPageLeaf']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(ref, 'ref', [[_core__WEBPACK_IMPORTED_MODULE_11__[\"PDFRef\"], 'PDFRef']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(doc, 'doc', [[_PDFDocument__WEBPACK_IMPORTED_MODULE_4__[\"default\"], 'PDFDocument']]);\n this.node = leafNode;\n this.ref = ref;\n this.doc = doc;\n }\n /**\n * Rotate this page by a multiple of 90 degrees. For example:\n * ```js\n * import { degrees } from 'pdf-lib'\n *\n * page.setRotation(degrees(-90))\n * page.setRotation(degrees(0))\n * page.setRotation(degrees(90))\n * page.setRotation(degrees(180))\n * page.setRotation(degrees(270))\n * ```\n * @param angle The angle to rotate this page.\n */\n PDFPage.prototype.setRotation = function (angle) {\n var degreesAngle = Object(_rotations__WEBPACK_IMPORTED_MODULE_9__[\"toDegrees\"])(angle);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertMultiple\"])(degreesAngle, 'degreesAngle', 90);\n this.node.set(_core__WEBPACK_IMPORTED_MODULE_11__[\"PDFName\"].of('Rotate'), this.doc.context.obj(degreesAngle));\n };\n /**\n * Get this page's rotation angle in degrees. For example:\n * ```js\n * const rotationAngle = page.getRotation().angle;\n * ```\n * @returns The rotation angle of the page in degrees (always a multiple of\n * 90 degrees).\n */\n PDFPage.prototype.getRotation = function () {\n var Rotate = this.node.Rotate();\n return Object(_rotations__WEBPACK_IMPORTED_MODULE_9__[\"degrees\"])(Rotate ? Rotate.asNumber() : 0);\n };\n /**\n * Resize this page by increasing or decreasing its width and height. For\n * example:\n * ```js\n * page.setSize(250, 500)\n * page.setSize(page.getWidth() + 50, page.getHeight() + 100)\n * page.setSize(page.getWidth() - 50, page.getHeight() - 100)\n * ```\n *\n * Note that the PDF specification does not allow for pages to have explicit\n * widths and heights. Instead it defines the \"size\" of a page in terms of\n * five rectangles: the MediaBox, CropBox, BleedBox, TrimBox, and ArtBox. As a\n * result, this method cannot directly change the width and height of a page.\n * Instead, it works by adjusting these five boxes.\n *\n * This method performs the following steps:\n * 1. Set width & height of MediaBox.\n * 2. Set width & height of CropBox, if it has same dimensions as MediaBox.\n * 3. Set width & height of BleedBox, if it has same dimensions as MediaBox.\n * 4. Set width & height of TrimBox, if it has same dimensions as MediaBox.\n * 5. Set width & height of ArtBox, if it has same dimensions as MediaBox.\n *\n * This approach works well for most PDF documents as all PDF pages must\n * have a MediaBox, but relatively few have a CropBox, BleedBox, TrimBox, or\n * ArtBox. And when they do have these additional boxes, they often have the\n * same dimensions as the MediaBox. However, if you find this method does not\n * work for your document, consider setting the boxes directly:\n * * [[PDFPage.setMediaBox]]\n * * [[PDFPage.setCropBox]]\n * * [[PDFPage.setBleedBox]]\n * * [[PDFPage.setTrimBox]]\n * * [[PDFPage.setArtBox]]\n *\n * @param width The new width of the page.\n * @param height The new height of the page.\n */\n PDFPage.prototype.setSize = function (width, height) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(width, 'width', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(height, 'height', ['number']);\n var mediaBox = this.getMediaBox();\n this.setMediaBox(mediaBox.x, mediaBox.y, width, height);\n var cropBox = this.getCropBox();\n var bleedBox = this.getBleedBox();\n var trimBox = this.getTrimBox();\n var artBox = this.getArtBox();\n var hasCropBox = this.node.CropBox();\n var hasBleedBox = this.node.BleedBox();\n var hasTrimBox = this.node.TrimBox();\n var hasArtBox = this.node.ArtBox();\n if (hasCropBox && Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"rectanglesAreEqual\"])(cropBox, mediaBox)) {\n this.setCropBox(mediaBox.x, mediaBox.y, width, height);\n }\n if (hasBleedBox && Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"rectanglesAreEqual\"])(bleedBox, mediaBox)) {\n this.setBleedBox(mediaBox.x, mediaBox.y, width, height);\n }\n if (hasTrimBox && Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"rectanglesAreEqual\"])(trimBox, mediaBox)) {\n this.setTrimBox(mediaBox.x, mediaBox.y, width, height);\n }\n if (hasArtBox && Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"rectanglesAreEqual\"])(artBox, mediaBox)) {\n this.setArtBox(mediaBox.x, mediaBox.y, width, height);\n }\n };\n /**\n * Resize this page by increasing or decreasing its width. For example:\n * ```js\n * page.setWidth(250)\n * page.setWidth(page.getWidth() + 50)\n * page.setWidth(page.getWidth() - 50)\n * ```\n *\n * This method uses [[PDFPage.setSize]] to set the page's width.\n *\n * @param width The new width of the page.\n */\n PDFPage.prototype.setWidth = function (width) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(width, 'width', ['number']);\n this.setSize(width, this.getSize().height);\n };\n /**\n * Resize this page by increasing or decreasing its height. For example:\n * ```js\n * page.setHeight(500)\n * page.setHeight(page.getWidth() + 100)\n * page.setHeight(page.getWidth() - 100)\n * ```\n *\n * This method uses [[PDFPage.setSize]] to set the page's height.\n *\n * @param height The new height of the page.\n */\n PDFPage.prototype.setHeight = function (height) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(height, 'height', ['number']);\n this.setSize(this.getSize().width, height);\n };\n /**\n * Set the MediaBox of this page. For example:\n * ```js\n * const mediaBox = page.getMediaBox()\n *\n * page.setMediaBox(0, 0, 250, 500)\n * page.setMediaBox(mediaBox.x, mediaBox.y, 50, 100)\n * page.setMediaBox(15, 5, mediaBox.width - 50, mediaBox.height - 100)\n * ```\n *\n * See [[PDFPage.getMediaBox]] for details about what the MediaBox represents.\n *\n * @param x The x coordinate of the lower left corner of the new MediaBox.\n * @param y The y coordinate of the lower left corner of the new MediaBox.\n * @param width The width of the new MediaBox.\n * @param height The height of the new MediaBox.\n */\n PDFPage.prototype.setMediaBox = function (x, y, width, height) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(x, 'x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(y, 'y', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(width, 'width', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(height, 'height', ['number']);\n var mediaBox = this.doc.context.obj([x, y, x + width, y + height]);\n this.node.set(_core__WEBPACK_IMPORTED_MODULE_11__[\"PDFName\"].MediaBox, mediaBox);\n };\n /**\n * Set the CropBox of this page. For example:\n * ```js\n * const cropBox = page.getCropBox()\n *\n * page.setCropBox(0, 0, 250, 500)\n * page.setCropBox(cropBox.x, cropBox.y, 50, 100)\n * page.setCropBox(15, 5, cropBox.width - 50, cropBox.height - 100)\n * ```\n *\n * See [[PDFPage.getCropBox]] for details about what the CropBox represents.\n *\n * @param x The x coordinate of the lower left corner of the new CropBox.\n * @param y The y coordinate of the lower left corner of the new CropBox.\n * @param width The width of the new CropBox.\n * @param height The height of the new CropBox.\n */\n PDFPage.prototype.setCropBox = function (x, y, width, height) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(x, 'x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(y, 'y', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(width, 'width', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(height, 'height', ['number']);\n var cropBox = this.doc.context.obj([x, y, x + width, y + height]);\n this.node.set(_core__WEBPACK_IMPORTED_MODULE_11__[\"PDFName\"].CropBox, cropBox);\n };\n /**\n * Set the BleedBox of this page. For example:\n * ```js\n * const bleedBox = page.getBleedBox()\n *\n * page.setBleedBox(0, 0, 250, 500)\n * page.setBleedBox(bleedBox.x, bleedBox.y, 50, 100)\n * page.setBleedBox(15, 5, bleedBox.width - 50, bleedBox.height - 100)\n * ```\n *\n * See [[PDFPage.getBleedBox]] for details about what the BleedBox represents.\n *\n * @param x The x coordinate of the lower left corner of the new BleedBox.\n * @param y The y coordinate of the lower left corner of the new BleedBox.\n * @param width The width of the new BleedBox.\n * @param height The height of the new BleedBox.\n */\n PDFPage.prototype.setBleedBox = function (x, y, width, height) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(x, 'x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(y, 'y', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(width, 'width', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(height, 'height', ['number']);\n var bleedBox = this.doc.context.obj([x, y, x + width, y + height]);\n this.node.set(_core__WEBPACK_IMPORTED_MODULE_11__[\"PDFName\"].BleedBox, bleedBox);\n };\n /**\n * Set the TrimBox of this page. For example:\n * ```js\n * const trimBox = page.getTrimBox()\n *\n * page.setTrimBox(0, 0, 250, 500)\n * page.setTrimBox(trimBox.x, trimBox.y, 50, 100)\n * page.setTrimBox(15, 5, trimBox.width - 50, trimBox.height - 100)\n * ```\n *\n * See [[PDFPage.getTrimBox]] for details about what the TrimBox represents.\n *\n * @param x The x coordinate of the lower left corner of the new TrimBox.\n * @param y The y coordinate of the lower left corner of the new TrimBox.\n * @param width The width of the new TrimBox.\n * @param height The height of the new TrimBox.\n */\n PDFPage.prototype.setTrimBox = function (x, y, width, height) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(x, 'x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(y, 'y', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(width, 'width', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(height, 'height', ['number']);\n var trimBox = this.doc.context.obj([x, y, x + width, y + height]);\n this.node.set(_core__WEBPACK_IMPORTED_MODULE_11__[\"PDFName\"].TrimBox, trimBox);\n };\n /**\n * Set the ArtBox of this page. For example:\n * ```js\n * const artBox = page.getArtBox()\n *\n * page.setArtBox(0, 0, 250, 500)\n * page.setArtBox(artBox.x, artBox.y, 50, 100)\n * page.setArtBox(15, 5, artBox.width - 50, artBox.height - 100)\n * ```\n *\n * See [[PDFPage.getArtBox]] for details about what the ArtBox represents.\n *\n * @param x The x coordinate of the lower left corner of the new ArtBox.\n * @param y The y coordinate of the lower left corner of the new ArtBox.\n * @param width The width of the new ArtBox.\n * @param height The height of the new ArtBox.\n */\n PDFPage.prototype.setArtBox = function (x, y, width, height) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(x, 'x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(y, 'y', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(width, 'width', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(height, 'height', ['number']);\n var artBox = this.doc.context.obj([x, y, x + width, y + height]);\n this.node.set(_core__WEBPACK_IMPORTED_MODULE_11__[\"PDFName\"].ArtBox, artBox);\n };\n /**\n * Get this page's width and height. For example:\n * ```js\n * const { width, height } = page.getSize()\n * ```\n *\n * This method uses [[PDFPage.getMediaBox]] to obtain the page's\n * width and height.\n *\n * @returns The width and height of the page.\n */\n PDFPage.prototype.getSize = function () {\n var _a = this.getMediaBox(), width = _a.width, height = _a.height;\n return { width: width, height: height };\n };\n /**\n * Get this page's width. For example:\n * ```js\n * const width = page.getWidth()\n * ```\n *\n * This method uses [[PDFPage.getSize]] to obtain the page's size.\n *\n * @returns The width of the page.\n */\n PDFPage.prototype.getWidth = function () {\n return this.getSize().width;\n };\n /**\n * Get this page's height. For example:\n * ```js\n * const height = page.getHeight()\n * ```\n *\n * This method uses [[PDFPage.getSize]] to obtain the page's size.\n *\n * @returns The height of the page.\n */\n PDFPage.prototype.getHeight = function () {\n return this.getSize().height;\n };\n /**\n * Get the rectangle defining this page's MediaBox. For example:\n * ```js\n * const { x, y, width, height } = page.getMediaBox()\n * ```\n *\n * The MediaBox of a page defines the boundaries of the physical medium on\n * which the page is to be displayed/printed. It may include extended area\n * surrounding the page content for bleed marks, printing marks, etc...\n * It may also include areas close to the edges of the medium that cannot be\n * marked because of physical limitations of the output device. Content\n * falling outside this boundary may safely be discarded without affecting\n * the meaning of the PDF file.\n *\n * @returns An object defining the lower left corner of the MediaBox and its\n * width & height.\n */\n PDFPage.prototype.getMediaBox = function () {\n var mediaBox = this.node.MediaBox();\n return mediaBox.asRectangle();\n };\n /**\n * Get the rectangle defining this page's CropBox. For example:\n * ```js\n * const { x, y, width, height } = page.getCropBox()\n * ```\n *\n * The CropBox of a page defines the region to which the contents of the page\n * shall be clipped when displayed or printed. Unlike the other boxes, the\n * CropBox does not necessarily represent the physical page geometry. It\n * merely imposes clipping on the page contents.\n *\n * The CropBox's default value is the page's MediaBox.\n *\n * @returns An object defining the lower left corner of the CropBox and its\n * width & height.\n */\n PDFPage.prototype.getCropBox = function () {\n var _a;\n var cropBox = this.node.CropBox();\n return (_a = cropBox === null || cropBox === void 0 ? void 0 : cropBox.asRectangle()) !== null && _a !== void 0 ? _a : this.getMediaBox();\n };\n /**\n * Get the rectangle defining this page's BleedBox. For example:\n * ```js\n * const { x, y, width, height } = page.getBleedBox()\n * ```\n *\n * The BleedBox of a page defines the region to which the contents of the\n * page shall be clipped when output in a production environment. This may\n * include any extra bleed area needed to accommodate the physical\n * limitations of cutting, folding, and trimming equipment. The actual\n * printed page may include printing marks that fall outside the BleedBox.\n *\n * The BleedBox's default value is the page's CropBox.\n *\n * @returns An object defining the lower left corner of the BleedBox and its\n * width & height.\n */\n PDFPage.prototype.getBleedBox = function () {\n var _a;\n var bleedBox = this.node.BleedBox();\n return (_a = bleedBox === null || bleedBox === void 0 ? void 0 : bleedBox.asRectangle()) !== null && _a !== void 0 ? _a : this.getCropBox();\n };\n /**\n * Get the rectangle defining this page's TrimBox. For example:\n * ```js\n * const { x, y, width, height } = page.getTrimBox()\n * ```\n *\n * The TrimBox of a page defines the intended dimensions of the finished\n * page after trimming. It may be smaller than the MediaBox to allow for\n * production-related content, such as printing instructions, cut marks, or\n * color bars.\n *\n * The TrimBox's default value is the page's CropBox.\n *\n * @returns An object defining the lower left corner of the TrimBox and its\n * width & height.\n */\n PDFPage.prototype.getTrimBox = function () {\n var _a;\n var trimBox = this.node.TrimBox();\n return (_a = trimBox === null || trimBox === void 0 ? void 0 : trimBox.asRectangle()) !== null && _a !== void 0 ? _a : this.getCropBox();\n };\n /**\n * Get the rectangle defining this page's ArtBox. For example:\n * ```js\n * const { x, y, width, height } = page.getArtBox()\n * ```\n *\n * The ArtBox of a page defines the extent of the page's meaningful content\n * (including potential white space).\n *\n * The ArtBox's default value is the page's CropBox.\n *\n * @returns An object defining the lower left corner of the ArtBox and its\n * width & height.\n */\n PDFPage.prototype.getArtBox = function () {\n var _a;\n var artBox = this.node.ArtBox();\n return (_a = artBox === null || artBox === void 0 ? void 0 : artBox.asRectangle()) !== null && _a !== void 0 ? _a : this.getCropBox();\n };\n /**\n * Translate this page's content to a new location on the page. This operation\n * is often useful after resizing the page with [[setSize]]. For example:\n * ```js\n * // Add 50 units of whitespace to the top and right of the page\n * page.setSize(page.getWidth() + 50, page.getHeight() + 50)\n *\n * // Move the page's content from the lower-left corner of the page\n * // to the top-right corner.\n * page.translateContent(50, 50)\n *\n * // Now there are 50 units of whitespace to the left and bottom of the page\n * ```\n * See also: [[resetPosition]]\n * @param x The new position on the x-axis for this page's content.\n * @param y The new position on the y-axis for this page's content.\n */\n PDFPage.prototype.translateContent = function (x, y) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(x, 'x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(y, 'y', ['number']);\n this.node.normalize();\n this.getContentStream();\n var start = this.createContentStream(Object(_operators__WEBPACK_IMPORTED_MODULE_3__[\"pushGraphicsState\"])(), Object(_operators__WEBPACK_IMPORTED_MODULE_3__[\"translate\"])(x, y));\n var startRef = this.doc.context.register(start);\n var end = this.createContentStream(Object(_operators__WEBPACK_IMPORTED_MODULE_3__[\"popGraphicsState\"])());\n var endRef = this.doc.context.register(end);\n this.node.wrapContentStreams(startRef, endRef);\n };\n /**\n * Scale the size, content, and annotations of a page.\n *\n * For example:\n * ```js\n * page.scale(0.5, 0.5);\n * ```\n *\n * @param x The factor by which the width for the page should be scaled\n * (e.g. `0.5` is 50%).\n * @param y The factor by which the height for the page should be scaled\n * (e.g. `2.0` is 200%).\n */\n PDFPage.prototype.scale = function (x, y) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(x, 'x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(y, 'y', ['number']);\n this.setSize(this.getWidth() * x, this.getHeight() * y);\n this.scaleContent(x, y);\n this.scaleAnnotations(x, y);\n };\n /**\n * Scale the content of a page. This is useful after resizing an existing\n * page. This scales only the content, not the annotations.\n *\n * For example:\n * ```js\n * // Bisect the size of the page\n * page.setSize(page.getWidth() / 2, page.getHeight() / 2);\n *\n * // Scale the content of the page down by 50% in x and y\n * page.scaleContent(0.5, 0.5);\n * ```\n * See also: [[scaleAnnotations]]\n * @param x The factor by which the x-axis for the content should be scaled\n * (e.g. `0.5` is 50%).\n * @param y The factor by which the y-axis for the content should be scaled\n * (e.g. `2.0` is 200%).\n */\n PDFPage.prototype.scaleContent = function (x, y) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(x, 'x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(y, 'y', ['number']);\n this.node.normalize();\n this.getContentStream();\n var start = this.createContentStream(Object(_operators__WEBPACK_IMPORTED_MODULE_3__[\"pushGraphicsState\"])(), Object(_operators__WEBPACK_IMPORTED_MODULE_3__[\"scale\"])(x, y));\n var startRef = this.doc.context.register(start);\n var end = this.createContentStream(Object(_operators__WEBPACK_IMPORTED_MODULE_3__[\"popGraphicsState\"])());\n var endRef = this.doc.context.register(end);\n this.node.wrapContentStreams(startRef, endRef);\n };\n /**\n * Scale the annotations of a page. This is useful if you want to scale a\n * page with comments or other annotations.\n * ```js\n * // Scale the content of the page down by 50% in x and y\n * page.scaleContent(0.5, 0.5);\n *\n * // Scale the content of the page down by 50% in x and y\n * page.scaleAnnotations(0.5, 0.5);\n * ```\n * See also: [[scaleContent]]\n * @param x The factor by which the x-axis for the annotations should be\n * scaled (e.g. `0.5` is 50%).\n * @param y The factor by which the y-axis for the annotations should be\n * scaled (e.g. `2.0` is 200%).\n */\n PDFPage.prototype.scaleAnnotations = function (x, y) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(x, 'x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(y, 'y', ['number']);\n var annots = this.node.Annots();\n if (!annots)\n return;\n for (var idx = 0; idx < annots.size(); idx++) {\n var annot = annots.lookup(idx);\n if (annot instanceof _core__WEBPACK_IMPORTED_MODULE_11__[\"PDFDict\"])\n this.scaleAnnot(annot, x, y);\n }\n };\n /**\n * Reset the x and y coordinates of this page to `(0, 0)`. This operation is\n * often useful after calling [[translateContent]]. For example:\n * ```js\n * // Shift the page's contents up and to the right by 50 units\n * page.translateContent(50, 50)\n *\n * // This text will shifted - it will be drawn at (50, 50)\n * page.drawText('I am shifted')\n *\n * // Move back to (0, 0)\n * page.resetPosition()\n *\n * // This text will not be shifted - it will be drawn at (0, 0)\n * page.drawText('I am not shifted')\n * ```\n */\n PDFPage.prototype.resetPosition = function () {\n this.getContentStream(false);\n this.x = 0;\n this.y = 0;\n };\n /**\n * Choose a default font for this page. The default font will be used whenever\n * text is drawn on this page and no font is specified. For example:\n * ```js\n * import { StandardFonts } from 'pdf-lib'\n *\n * const timesRomanFont = await pdfDoc.embedFont(StandardFonts.TimesRoman)\n * const helveticaFont = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const courierFont = await pdfDoc.embedFont(StandardFonts.Courier)\n *\n * const page = pdfDoc.addPage()\n *\n * page.setFont(helveticaFont)\n * page.drawText('I will be drawn in Helvetica')\n *\n * page.setFont(timesRomanFont)\n * page.drawText('I will be drawn in Courier', { font: courierFont })\n * ```\n * @param font The default font to be used when drawing text on this page.\n */\n PDFPage.prototype.setFont = function (font) {\n // TODO: Reuse image Font name if we've already added this image to Resources.Fonts\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(font, 'font', [[_PDFFont__WEBPACK_IMPORTED_MODULE_6__[\"default\"], 'PDFFont']]);\n this.font = font;\n this.fontKey = this.node.newFontDictionary(this.font.name, this.font.ref);\n };\n /**\n * Choose a default font size for this page. The default font size will be\n * used whenever text is drawn on this page and no font size is specified.\n * For example:\n * ```js\n * page.setFontSize(12)\n * page.drawText('I will be drawn in size 12')\n *\n * page.setFontSize(36)\n * page.drawText('I will be drawn in size 24', { fontSize: 24 })\n * ```\n * @param fontSize The default font size to be used when drawing text on this\n * page.\n */\n PDFPage.prototype.setFontSize = function (fontSize) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(fontSize, 'fontSize', ['number']);\n this.fontSize = fontSize;\n };\n /**\n * Choose a default font color for this page. The default font color will be\n * used whenever text is drawn on this page and no font color is specified.\n * For example:\n * ```js\n * import { rgb, cmyk, grayscale } from 'pdf-lib'\n *\n * page.setFontColor(rgb(0.97, 0.02, 0.97))\n * page.drawText('I will be drawn in pink')\n *\n * page.setFontColor(cmyk(0.4, 0.7, 0.39, 0.15))\n * page.drawText('I will be drawn in gray', { color: grayscale(0.5) })\n * ```\n * @param fontColor The default font color to be used when drawing text on\n * this page.\n */\n PDFPage.prototype.setFontColor = function (fontColor) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(fontColor, 'fontColor', [[Object, 'Color']]);\n this.fontColor = fontColor;\n };\n /**\n * Choose a default line height for this page. The default line height will be\n * used whenever text is drawn on this page and no line height is specified.\n * For example:\n * ```js\n * page.setLineHeight(12);\n * page.drawText('These lines will be vertically \\n separated by 12 units')\n *\n * page.setLineHeight(36);\n * page.drawText('These lines will be vertically \\n separated by 24 units', {\n * lineHeight: 24\n * })\n * ```\n * @param lineHeight The default line height to be used when drawing text on\n * this page.\n */\n PDFPage.prototype.setLineHeight = function (lineHeight) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(lineHeight, 'lineHeight', ['number']);\n this.lineHeight = lineHeight;\n };\n /**\n * Get the default position of this page. For example:\n * ```js\n * const { x, y } = page.getPosition()\n * ```\n * @returns The default position of the page.\n */\n PDFPage.prototype.getPosition = function () {\n return { x: this.x, y: this.y };\n };\n /**\n * Get the default x coordinate of this page. For example:\n * ```js\n * const x = page.getX()\n * ```\n * @returns The default x coordinate of the page.\n */\n PDFPage.prototype.getX = function () {\n return this.x;\n };\n /**\n * Get the default y coordinate of this page. For example:\n * ```js\n * const y = page.getY()\n * ```\n * @returns The default y coordinate of the page.\n */\n PDFPage.prototype.getY = function () {\n return this.y;\n };\n /**\n * Change the default position of this page. For example:\n * ```js\n * page.moveTo(0, 0)\n * page.drawText('I will be drawn at the origin')\n *\n * page.moveTo(0, 25)\n * page.drawText('I will be drawn 25 units up')\n *\n * page.moveTo(25, 25)\n * page.drawText('I will be drawn 25 units up and 25 units to the right')\n * ```\n * @param x The new default position on the x-axis for this page.\n * @param y The new default position on the y-axis for this page.\n */\n PDFPage.prototype.moveTo = function (x, y) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(x, 'x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(y, 'y', ['number']);\n this.x = x;\n this.y = y;\n };\n /**\n * Change the default position of this page to be further down the y-axis.\n * For example:\n * ```js\n * page.moveTo(50, 50)\n * page.drawText('I will be drawn at (50, 50)')\n *\n * page.moveDown(10)\n * page.drawText('I will be drawn at (50, 40)')\n * ```\n * @param yDecrease The amount by which the page's default position along the\n * y-axis should be decreased.\n */\n PDFPage.prototype.moveDown = function (yDecrease) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(yDecrease, 'yDecrease', ['number']);\n this.y -= yDecrease;\n };\n /**\n * Change the default position of this page to be further up the y-axis.\n * For example:\n * ```js\n * page.moveTo(50, 50)\n * page.drawText('I will be drawn at (50, 50)')\n *\n * page.moveUp(10)\n * page.drawText('I will be drawn at (50, 60)')\n * ```\n * @param yIncrease The amount by which the page's default position along the\n * y-axis should be increased.\n */\n PDFPage.prototype.moveUp = function (yIncrease) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(yIncrease, 'yIncrease', ['number']);\n this.y += yIncrease;\n };\n /**\n * Change the default position of this page to be further left on the x-axis.\n * For example:\n * ```js\n * page.moveTo(50, 50)\n * page.drawText('I will be drawn at (50, 50)')\n *\n * page.moveLeft(10)\n * page.drawText('I will be drawn at (40, 50)')\n * ```\n * @param xDecrease The amount by which the page's default position along the\n * x-axis should be decreased.\n */\n PDFPage.prototype.moveLeft = function (xDecrease) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(xDecrease, 'xDecrease', ['number']);\n this.x -= xDecrease;\n };\n /**\n * Change the default position of this page to be further right on the y-axis.\n * For example:\n * ```js\n * page.moveTo(50, 50)\n * page.drawText('I will be drawn at (50, 50)')\n *\n * page.moveRight(10)\n * page.drawText('I will be drawn at (60, 50)')\n * ```\n * @param xIncrease The amount by which the page's default position along the\n * x-axis should be increased.\n */\n PDFPage.prototype.moveRight = function (xIncrease) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(xIncrease, 'xIncrease', ['number']);\n this.x += xIncrease;\n };\n /**\n * Push one or more operators to the end of this page's current content\n * stream. For example:\n * ```js\n * import {\n * pushGraphicsState,\n * moveTo,\n * lineTo,\n * closePath,\n * setFillingColor,\n * rgb,\n * fill,\n * popGraphicsState,\n * } from 'pdf-lib'\n *\n * // Draw a green triangle in the lower-left corner of the page\n * page.pushOperators(\n * pushGraphicsState(),\n * moveTo(0, 0),\n * lineTo(100, 0),\n * lineTo(50, 100),\n * closePath(),\n * setFillingColor(rgb(0.0, 1.0, 0.0)),\n * fill(),\n * popGraphicsState(),\n * )\n * ```\n * @param operator The operators to be pushed.\n */\n PDFPage.prototype.pushOperators = function () {\n var operator = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operator[_i] = arguments[_i];\n }\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertEachIs\"])(operator, 'operator', [[_core__WEBPACK_IMPORTED_MODULE_11__[\"PDFOperator\"], 'PDFOperator']]);\n var contentStream = this.getContentStream();\n contentStream.push.apply(contentStream, operator);\n };\n /**\n * Draw one or more lines of text on this page. For example:\n * ```js\n * import { StandardFonts, rgb } from 'pdf-lib'\n *\n * const helveticaFont = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const timesRomanFont = await pdfDoc.embedFont(StandardFonts.TimesRoman)\n *\n * const page = pdfDoc.addPage()\n *\n * page.setFont(helveticaFont)\n *\n * page.moveTo(5, 200)\n * page.drawText('The Life of an Egg', { size: 36 })\n *\n * page.moveDown(36)\n * page.drawText('An Epic Tale of Woe', { size: 30 })\n *\n * page.drawText(\n * `Humpty Dumpty sat on a wall \\n` +\n * `Humpty Dumpty had a great fall; \\n` +\n * `All the king's horses and all the king's men \\n` +\n * `Couldn't put Humpty together again. \\n`,\n * {\n * x: 25,\n * y: 100,\n * font: timesRomanFont,\n * size: 24,\n * color: rgb(1, 0, 0),\n * lineHeight: 24,\n * opacity: 0.75,\n * },\n * )\n * ```\n * @param text The text to be drawn.\n * @param options The options to be used when drawing the text.\n */\n PDFPage.prototype.drawText = function (text, options) {\n var _a, _b, _c, _d, _e, _f, _g;\n if (options === void 0) { options = {}; }\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(text, 'text', ['string']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.color, 'options.color', [[Object, 'Color']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertRangeOrUndefined\"])(options.opacity, 'opacity.opacity', 0, 1);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.font, 'options.font', [[_PDFFont__WEBPACK_IMPORTED_MODULE_6__[\"default\"], 'PDFFont']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.size, 'options.size', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.rotate, 'options.rotate', [[Object, 'Rotation']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.xSkew, 'options.xSkew', [[Object, 'Rotation']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.ySkew, 'options.ySkew', [[Object, 'Rotation']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.x, 'options.x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.y, 'options.y', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.lineHeight, 'options.lineHeight', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.maxWidth, 'options.maxWidth', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.wordBreaks, 'options.wordBreaks', [Array]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIsOneOfOrUndefined\"])(options.blendMode, 'options.blendMode', _PDFPageOptions__WEBPACK_IMPORTED_MODULE_8__[\"BlendMode\"]);\n var _h = this.setOrEmbedFont(options.font), oldFont = _h.oldFont, newFont = _h.newFont, newFontKey = _h.newFontKey;\n var fontSize = options.size || this.fontSize;\n var wordBreaks = options.wordBreaks || this.doc.defaultWordBreaks;\n var textWidth = function (t) { return newFont.widthOfTextAtSize(t, fontSize); };\n var lines = options.maxWidth === undefined\n ? Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"lineSplit\"])(Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"cleanText\"])(text))\n : Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"breakTextIntoLines\"])(text, wordBreaks, options.maxWidth, textWidth);\n var encodedLines = new Array(lines.length);\n for (var idx = 0, len = lines.length; idx < len; idx++) {\n encodedLines[idx] = newFont.encodeText(lines[idx]);\n }\n var graphicsStateKey = this.maybeEmbedGraphicsState({\n opacity: options.opacity,\n blendMode: options.blendMode,\n });\n var contentStream = this.getContentStream();\n contentStream.push.apply(contentStream, Object(_operations__WEBPACK_IMPORTED_MODULE_2__[\"drawLinesOfText\"])(encodedLines, {\n color: (_a = options.color) !== null && _a !== void 0 ? _a : this.fontColor,\n font: newFontKey,\n size: fontSize,\n rotate: (_b = options.rotate) !== null && _b !== void 0 ? _b : Object(_rotations__WEBPACK_IMPORTED_MODULE_9__[\"degrees\"])(0),\n xSkew: (_c = options.xSkew) !== null && _c !== void 0 ? _c : Object(_rotations__WEBPACK_IMPORTED_MODULE_9__[\"degrees\"])(0),\n ySkew: (_d = options.ySkew) !== null && _d !== void 0 ? _d : Object(_rotations__WEBPACK_IMPORTED_MODULE_9__[\"degrees\"])(0),\n x: (_e = options.x) !== null && _e !== void 0 ? _e : this.x,\n y: (_f = options.y) !== null && _f !== void 0 ? _f : this.y,\n lineHeight: (_g = options.lineHeight) !== null && _g !== void 0 ? _g : this.lineHeight,\n graphicsState: graphicsStateKey,\n }));\n if (options.font) {\n if (oldFont)\n this.setFont(oldFont);\n else\n this.resetFont();\n }\n };\n /**\n * Draw an image on this page. For example:\n * ```js\n * import { degrees } from 'pdf-lib'\n *\n * const jpgUrl = 'https://pdf-lib.js.org/assets/cat_riding_unicorn.jpg'\n * const jpgImageBytes = await fetch(jpgUrl).then((res) => res.arrayBuffer())\n *\n * const jpgImage = await pdfDoc.embedJpg(jpgImageBytes)\n * const jpgDims = jpgImage.scale(0.5)\n *\n * const page = pdfDoc.addPage()\n *\n * page.drawImage(jpgImage, {\n * x: 25,\n * y: 25,\n * width: jpgDims.width,\n * height: jpgDims.height,\n * rotate: degrees(30),\n * opacity: 0.75,\n * })\n * ```\n * @param image The image to be drawn.\n * @param options The options to be used when drawing the image.\n */\n PDFPage.prototype.drawImage = function (image, options) {\n var _a, _b, _c, _d, _e, _f, _g;\n if (options === void 0) { options = {}; }\n // TODO: Reuse image XObject name if we've already added this image to Resources.XObjects\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(image, 'image', [[_PDFImage__WEBPACK_IMPORTED_MODULE_7__[\"default\"], 'PDFImage']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.x, 'options.x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.y, 'options.y', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.width, 'options.width', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.height, 'options.height', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.rotate, 'options.rotate', [[Object, 'Rotation']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.xSkew, 'options.xSkew', [[Object, 'Rotation']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.ySkew, 'options.ySkew', [[Object, 'Rotation']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertRangeOrUndefined\"])(options.opacity, 'opacity.opacity', 0, 1);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIsOneOfOrUndefined\"])(options.blendMode, 'options.blendMode', _PDFPageOptions__WEBPACK_IMPORTED_MODULE_8__[\"BlendMode\"]);\n var xObjectKey = this.node.newXObject('Image', image.ref);\n var graphicsStateKey = this.maybeEmbedGraphicsState({\n opacity: options.opacity,\n blendMode: options.blendMode,\n });\n var contentStream = this.getContentStream();\n contentStream.push.apply(contentStream, Object(_operations__WEBPACK_IMPORTED_MODULE_2__[\"drawImage\"])(xObjectKey, {\n x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x,\n y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y,\n width: (_c = options.width) !== null && _c !== void 0 ? _c : image.size().width,\n height: (_d = options.height) !== null && _d !== void 0 ? _d : image.size().height,\n rotate: (_e = options.rotate) !== null && _e !== void 0 ? _e : Object(_rotations__WEBPACK_IMPORTED_MODULE_9__[\"degrees\"])(0),\n xSkew: (_f = options.xSkew) !== null && _f !== void 0 ? _f : Object(_rotations__WEBPACK_IMPORTED_MODULE_9__[\"degrees\"])(0),\n ySkew: (_g = options.ySkew) !== null && _g !== void 0 ? _g : Object(_rotations__WEBPACK_IMPORTED_MODULE_9__[\"degrees\"])(0),\n graphicsState: graphicsStateKey,\n }));\n };\n /**\n * Draw an embedded PDF page on this page. For example:\n * ```js\n * import { degrees } from 'pdf-lib'\n *\n * const pdfDoc = await PDFDocument.create()\n * const page = pdfDoc.addPage()\n *\n * const sourcePdfUrl = 'https://pdf-lib.js.org/assets/with_large_page_count.pdf'\n * const sourcePdf = await fetch(sourcePdfUrl).then((res) => res.arrayBuffer())\n *\n * // Embed page 74 from the PDF\n * const [embeddedPage] = await pdfDoc.embedPdf(sourcePdf, 73)\n *\n * page.drawPage(embeddedPage, {\n * x: 250,\n * y: 200,\n * xScale: 0.5,\n * yScale: 0.5,\n * rotate: degrees(30),\n * opacity: 0.75,\n * })\n * ```\n *\n * The `options` argument accepts both `width`/`height` and `xScale`/`yScale`\n * as options. Since each of these options defines the size of the drawn page,\n * if both options are given, `width` and `height` take precedence and the\n * corresponding scale variants are ignored.\n *\n * @param embeddedPage The embedded page to be drawn.\n * @param options The options to be used when drawing the embedded page.\n */\n PDFPage.prototype.drawPage = function (embeddedPage, options) {\n var _a, _b, _c, _d, _e;\n if (options === void 0) { options = {}; }\n // TODO: Reuse embeddedPage XObject name if we've already added this embeddedPage to Resources.XObjects\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(embeddedPage, 'embeddedPage', [\n [_PDFEmbeddedPage__WEBPACK_IMPORTED_MODULE_5__[\"default\"], 'PDFEmbeddedPage'],\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.x, 'options.x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.y, 'options.y', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.xScale, 'options.xScale', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.yScale, 'options.yScale', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.width, 'options.width', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.height, 'options.height', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.rotate, 'options.rotate', [[Object, 'Rotation']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.xSkew, 'options.xSkew', [[Object, 'Rotation']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.ySkew, 'options.ySkew', [[Object, 'Rotation']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertRangeOrUndefined\"])(options.opacity, 'opacity.opacity', 0, 1);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIsOneOfOrUndefined\"])(options.blendMode, 'options.blendMode', _PDFPageOptions__WEBPACK_IMPORTED_MODULE_8__[\"BlendMode\"]);\n var xObjectKey = this.node.newXObject('EmbeddedPdfPage', embeddedPage.ref);\n var graphicsStateKey = this.maybeEmbedGraphicsState({\n opacity: options.opacity,\n blendMode: options.blendMode,\n });\n // prettier-ignore\n var xScale = (options.width !== undefined ? options.width / embeddedPage.width\n : options.xScale !== undefined ? options.xScale\n : 1);\n // prettier-ignore\n var yScale = (options.height !== undefined ? options.height / embeddedPage.height\n : options.yScale !== undefined ? options.yScale\n : 1);\n var contentStream = this.getContentStream();\n contentStream.push.apply(contentStream, Object(_operations__WEBPACK_IMPORTED_MODULE_2__[\"drawPage\"])(xObjectKey, {\n x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x,\n y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y,\n xScale: xScale,\n yScale: yScale,\n rotate: (_c = options.rotate) !== null && _c !== void 0 ? _c : Object(_rotations__WEBPACK_IMPORTED_MODULE_9__[\"degrees\"])(0),\n xSkew: (_d = options.xSkew) !== null && _d !== void 0 ? _d : Object(_rotations__WEBPACK_IMPORTED_MODULE_9__[\"degrees\"])(0),\n ySkew: (_e = options.ySkew) !== null && _e !== void 0 ? _e : Object(_rotations__WEBPACK_IMPORTED_MODULE_9__[\"degrees\"])(0),\n graphicsState: graphicsStateKey,\n }));\n };\n /**\n * Draw an SVG path on this page. For example:\n * ```js\n * import { rgb } from 'pdf-lib'\n *\n * const svgPath = 'M 0,20 L 100,160 Q 130,200 150,120 C 190,-40 200,200 300,150 L 400,90'\n *\n * // Draw path as black line\n * page.drawSvgPath(svgPath, { x: 25, y: 75 })\n *\n * // Change border style and opacity\n * page.drawSvgPath(svgPath, {\n * x: 25,\n * y: 275,\n * borderColor: rgb(0.5, 0.5, 0.5),\n * borderWidth: 2,\n * borderOpacity: 0.75,\n * })\n *\n * // Set fill color and opacity\n * page.drawSvgPath(svgPath, {\n * x: 25,\n * y: 475,\n * color: rgb(1.0, 0, 0),\n * opacity: 0.75,\n * })\n *\n * // Draw 50% of original size\n * page.drawSvgPath(svgPath, {\n * x: 25,\n * y: 675,\n * scale: 0.5,\n * })\n * ```\n * @param path The SVG path to be drawn.\n * @param options The options to be used when drawing the SVG path.\n */\n PDFPage.prototype.drawSvgPath = function (path, options) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n if (options === void 0) { options = {}; }\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(path, 'path', ['string']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.x, 'options.x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.y, 'options.y', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.scale, 'options.scale', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.rotate, 'options.rotate', [[Object, 'Rotation']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.borderWidth, 'options.borderWidth', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.color, 'options.color', [[Object, 'Color']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertRangeOrUndefined\"])(options.opacity, 'opacity.opacity', 0, 1);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.borderColor, 'options.borderColor', [\n [Object, 'Color'],\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.borderDashArray, 'options.borderDashArray', [\n Array,\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.borderDashPhase, 'options.borderDashPhase', [\n 'number',\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIsOneOfOrUndefined\"])(options.borderLineCap, 'options.borderLineCap', _operators__WEBPACK_IMPORTED_MODULE_3__[\"LineCapStyle\"]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertRangeOrUndefined\"])(options.borderOpacity, 'options.borderOpacity', 0, 1);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIsOneOfOrUndefined\"])(options.blendMode, 'options.blendMode', _PDFPageOptions__WEBPACK_IMPORTED_MODULE_8__[\"BlendMode\"]);\n var graphicsStateKey = this.maybeEmbedGraphicsState({\n opacity: options.opacity,\n borderOpacity: options.borderOpacity,\n blendMode: options.blendMode,\n });\n if (!('color' in options) && !('borderColor' in options)) {\n options.borderColor = Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"rgb\"])(0, 0, 0);\n }\n var contentStream = this.getContentStream();\n contentStream.push.apply(contentStream, Object(_operations__WEBPACK_IMPORTED_MODULE_2__[\"drawSvgPath\"])(path, {\n x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x,\n y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y,\n scale: options.scale,\n rotate: (_c = options.rotate) !== null && _c !== void 0 ? _c : Object(_rotations__WEBPACK_IMPORTED_MODULE_9__[\"degrees\"])(0),\n color: (_d = options.color) !== null && _d !== void 0 ? _d : undefined,\n borderColor: (_e = options.borderColor) !== null && _e !== void 0 ? _e : undefined,\n borderWidth: (_f = options.borderWidth) !== null && _f !== void 0 ? _f : 0,\n borderDashArray: (_g = options.borderDashArray) !== null && _g !== void 0 ? _g : undefined,\n borderDashPhase: (_h = options.borderDashPhase) !== null && _h !== void 0 ? _h : undefined,\n borderLineCap: (_j = options.borderLineCap) !== null && _j !== void 0 ? _j : undefined,\n graphicsState: graphicsStateKey,\n }));\n };\n /**\n * Draw a line on this page. For example:\n * ```js\n * import { rgb } from 'pdf-lib'\n *\n * page.drawLine({\n * start: { x: 25, y: 75 },\n * end: { x: 125, y: 175 },\n * thickness: 2,\n * color: rgb(0.75, 0.2, 0.2),\n * opacity: 0.75,\n * })\n * ```\n * @param options The options to be used when drawing the line.\n */\n PDFPage.prototype.drawLine = function (options) {\n var _a, _b, _c, _d, _e;\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(options.start, 'options.start', [\n [Object, '{ x: number, y: number }'],\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(options.end, 'options.end', [\n [Object, '{ x: number, y: number }'],\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(options.start.x, 'options.start.x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(options.start.y, 'options.start.y', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(options.end.x, 'options.end.x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(options.end.y, 'options.end.y', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.thickness, 'options.thickness', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.color, 'options.color', [[Object, 'Color']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.dashArray, 'options.dashArray', [Array]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.dashPhase, 'options.dashPhase', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIsOneOfOrUndefined\"])(options.lineCap, 'options.lineCap', _operators__WEBPACK_IMPORTED_MODULE_3__[\"LineCapStyle\"]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertRangeOrUndefined\"])(options.opacity, 'opacity.opacity', 0, 1);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIsOneOfOrUndefined\"])(options.blendMode, 'options.blendMode', _PDFPageOptions__WEBPACK_IMPORTED_MODULE_8__[\"BlendMode\"]);\n var graphicsStateKey = this.maybeEmbedGraphicsState({\n borderOpacity: options.opacity,\n blendMode: options.blendMode,\n });\n if (!('color' in options)) {\n options.color = Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"rgb\"])(0, 0, 0);\n }\n var contentStream = this.getContentStream();\n contentStream.push.apply(contentStream, Object(_operations__WEBPACK_IMPORTED_MODULE_2__[\"drawLine\"])({\n start: options.start,\n end: options.end,\n thickness: (_a = options.thickness) !== null && _a !== void 0 ? _a : 1,\n color: (_b = options.color) !== null && _b !== void 0 ? _b : undefined,\n dashArray: (_c = options.dashArray) !== null && _c !== void 0 ? _c : undefined,\n dashPhase: (_d = options.dashPhase) !== null && _d !== void 0 ? _d : undefined,\n lineCap: (_e = options.lineCap) !== null && _e !== void 0 ? _e : undefined,\n graphicsState: graphicsStateKey,\n }));\n };\n /**\n * Draw a rectangle on this page. For example:\n * ```js\n * import { degrees, grayscale, rgb } from 'pdf-lib'\n *\n * page.drawRectangle({\n * x: 25,\n * y: 75,\n * width: 250,\n * height: 75,\n * rotate: degrees(-15),\n * borderWidth: 5,\n * borderColor: grayscale(0.5),\n * color: rgb(0.75, 0.2, 0.2),\n * opacity: 0.5,\n * borderOpacity: 0.75,\n * })\n * ```\n * @param options The options to be used when drawing the rectangle.\n */\n PDFPage.prototype.drawRectangle = function (options) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;\n if (options === void 0) { options = {}; }\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.x, 'options.x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.y, 'options.y', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.width, 'options.width', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.height, 'options.height', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.rotate, 'options.rotate', [[Object, 'Rotation']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.xSkew, 'options.xSkew', [[Object, 'Rotation']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.ySkew, 'options.ySkew', [[Object, 'Rotation']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.borderWidth, 'options.borderWidth', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.color, 'options.color', [[Object, 'Color']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertRangeOrUndefined\"])(options.opacity, 'opacity.opacity', 0, 1);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.borderColor, 'options.borderColor', [\n [Object, 'Color'],\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.borderDashArray, 'options.borderDashArray', [\n Array,\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.borderDashPhase, 'options.borderDashPhase', [\n 'number',\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIsOneOfOrUndefined\"])(options.borderLineCap, 'options.borderLineCap', _operators__WEBPACK_IMPORTED_MODULE_3__[\"LineCapStyle\"]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertRangeOrUndefined\"])(options.borderOpacity, 'options.borderOpacity', 0, 1);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIsOneOfOrUndefined\"])(options.blendMode, 'options.blendMode', _PDFPageOptions__WEBPACK_IMPORTED_MODULE_8__[\"BlendMode\"]);\n var graphicsStateKey = this.maybeEmbedGraphicsState({\n opacity: options.opacity,\n borderOpacity: options.borderOpacity,\n blendMode: options.blendMode,\n });\n if (!('color' in options) && !('borderColor' in options)) {\n options.color = Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"rgb\"])(0, 0, 0);\n }\n var contentStream = this.getContentStream();\n contentStream.push.apply(contentStream, Object(_operations__WEBPACK_IMPORTED_MODULE_2__[\"drawRectangle\"])({\n x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x,\n y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y,\n width: (_c = options.width) !== null && _c !== void 0 ? _c : 150,\n height: (_d = options.height) !== null && _d !== void 0 ? _d : 100,\n rotate: (_e = options.rotate) !== null && _e !== void 0 ? _e : Object(_rotations__WEBPACK_IMPORTED_MODULE_9__[\"degrees\"])(0),\n xSkew: (_f = options.xSkew) !== null && _f !== void 0 ? _f : Object(_rotations__WEBPACK_IMPORTED_MODULE_9__[\"degrees\"])(0),\n ySkew: (_g = options.ySkew) !== null && _g !== void 0 ? _g : Object(_rotations__WEBPACK_IMPORTED_MODULE_9__[\"degrees\"])(0),\n borderWidth: (_h = options.borderWidth) !== null && _h !== void 0 ? _h : 0,\n color: (_j = options.color) !== null && _j !== void 0 ? _j : undefined,\n borderColor: (_k = options.borderColor) !== null && _k !== void 0 ? _k : undefined,\n borderDashArray: (_l = options.borderDashArray) !== null && _l !== void 0 ? _l : undefined,\n borderDashPhase: (_m = options.borderDashPhase) !== null && _m !== void 0 ? _m : undefined,\n graphicsState: graphicsStateKey,\n borderLineCap: (_o = options.borderLineCap) !== null && _o !== void 0 ? _o : undefined,\n }));\n };\n /**\n * Draw a square on this page. For example:\n * ```js\n * import { degrees, grayscale, rgb } from 'pdf-lib'\n *\n * page.drawSquare({\n * x: 25,\n * y: 75,\n * size: 100,\n * rotate: degrees(-15),\n * borderWidth: 5,\n * borderColor: grayscale(0.5),\n * color: rgb(0.75, 0.2, 0.2),\n * opacity: 0.5,\n * borderOpacity: 0.75,\n * })\n * ```\n * @param options The options to be used when drawing the square.\n */\n PDFPage.prototype.drawSquare = function (options) {\n if (options === void 0) { options = {}; }\n var size = options.size;\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(size, 'size', ['number']);\n this.drawRectangle(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, options), { width: size, height: size }));\n };\n /**\n * Draw an ellipse on this page. For example:\n * ```js\n * import { grayscale, rgb } from 'pdf-lib'\n *\n * page.drawEllipse({\n * x: 200,\n * y: 75,\n * xScale: 100,\n * yScale: 50,\n * borderWidth: 5,\n * borderColor: grayscale(0.5),\n * color: rgb(0.75, 0.2, 0.2),\n * opacity: 0.5,\n * borderOpacity: 0.75,\n * })\n * ```\n * @param options The options to be used when drawing the ellipse.\n */\n PDFPage.prototype.drawEllipse = function (options) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;\n if (options === void 0) { options = {}; }\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.x, 'options.x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.y, 'options.y', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.xScale, 'options.xScale', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.yScale, 'options.yScale', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.rotate, 'options.rotate', [[Object, 'Rotation']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.color, 'options.color', [[Object, 'Color']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertRangeOrUndefined\"])(options.opacity, 'opacity.opacity', 0, 1);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.borderColor, 'options.borderColor', [\n [Object, 'Color'],\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertRangeOrUndefined\"])(options.borderOpacity, 'options.borderOpacity', 0, 1);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.borderWidth, 'options.borderWidth', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.borderDashArray, 'options.borderDashArray', [\n Array,\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(options.borderDashPhase, 'options.borderDashPhase', [\n 'number',\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIsOneOfOrUndefined\"])(options.borderLineCap, 'options.borderLineCap', _operators__WEBPACK_IMPORTED_MODULE_3__[\"LineCapStyle\"]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIsOneOfOrUndefined\"])(options.blendMode, 'options.blendMode', _PDFPageOptions__WEBPACK_IMPORTED_MODULE_8__[\"BlendMode\"]);\n var graphicsStateKey = this.maybeEmbedGraphicsState({\n opacity: options.opacity,\n borderOpacity: options.borderOpacity,\n blendMode: options.blendMode,\n });\n if (!('color' in options) && !('borderColor' in options)) {\n options.color = Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"rgb\"])(0, 0, 0);\n }\n var contentStream = this.getContentStream();\n contentStream.push.apply(contentStream, Object(_operations__WEBPACK_IMPORTED_MODULE_2__[\"drawEllipse\"])({\n x: (_a = options.x) !== null && _a !== void 0 ? _a : this.x,\n y: (_b = options.y) !== null && _b !== void 0 ? _b : this.y,\n xScale: (_c = options.xScale) !== null && _c !== void 0 ? _c : 100,\n yScale: (_d = options.yScale) !== null && _d !== void 0 ? _d : 100,\n rotate: (_e = options.rotate) !== null && _e !== void 0 ? _e : undefined,\n color: (_f = options.color) !== null && _f !== void 0 ? _f : undefined,\n borderColor: (_g = options.borderColor) !== null && _g !== void 0 ? _g : undefined,\n borderWidth: (_h = options.borderWidth) !== null && _h !== void 0 ? _h : 0,\n borderDashArray: (_j = options.borderDashArray) !== null && _j !== void 0 ? _j : undefined,\n borderDashPhase: (_k = options.borderDashPhase) !== null && _k !== void 0 ? _k : undefined,\n borderLineCap: (_l = options.borderLineCap) !== null && _l !== void 0 ? _l : undefined,\n graphicsState: graphicsStateKey,\n }));\n };\n /**\n * Draw a circle on this page. For example:\n * ```js\n * import { grayscale, rgb } from 'pdf-lib'\n *\n * page.drawCircle({\n * x: 200,\n * y: 150,\n * size: 100,\n * borderWidth: 5,\n * borderColor: grayscale(0.5),\n * color: rgb(0.75, 0.2, 0.2),\n * opacity: 0.5,\n * borderOpacity: 0.75,\n * })\n * ```\n * @param options The options to be used when drawing the ellipse.\n */\n PDFPage.prototype.drawCircle = function (options) {\n if (options === void 0) { options = {}; }\n var _a = options.size, size = _a === void 0 ? 100 : _a;\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertOrUndefined\"])(size, 'size', ['number']);\n this.drawEllipse(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, options), { xScale: size, yScale: size }));\n };\n PDFPage.prototype.setOrEmbedFont = function (font) {\n var oldFont = this.font;\n var oldFontKey = this.fontKey;\n if (font)\n this.setFont(font);\n else\n this.getFont();\n var newFont = this.font;\n var newFontKey = this.fontKey;\n return { oldFont: oldFont, oldFontKey: oldFontKey, newFont: newFont, newFontKey: newFontKey };\n };\n PDFPage.prototype.getFont = function () {\n if (!this.font || !this.fontKey) {\n var font = this.doc.embedStandardFont(_StandardFonts__WEBPACK_IMPORTED_MODULE_10__[\"StandardFonts\"].Helvetica);\n this.setFont(font);\n }\n return [this.font, this.fontKey];\n };\n PDFPage.prototype.resetFont = function () {\n this.font = undefined;\n this.fontKey = undefined;\n };\n PDFPage.prototype.getContentStream = function (useExisting) {\n if (useExisting === void 0) { useExisting = true; }\n if (useExisting && this.contentStream)\n return this.contentStream;\n this.contentStream = this.createContentStream();\n this.contentStreamRef = this.doc.context.register(this.contentStream);\n this.node.addContentStream(this.contentStreamRef);\n return this.contentStream;\n };\n PDFPage.prototype.createContentStream = function () {\n var operators = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operators[_i] = arguments[_i];\n }\n var dict = this.doc.context.obj({});\n var contentStream = _core__WEBPACK_IMPORTED_MODULE_11__[\"PDFContentStream\"].of(dict, operators);\n return contentStream;\n };\n PDFPage.prototype.maybeEmbedGraphicsState = function (options) {\n var opacity = options.opacity, borderOpacity = options.borderOpacity, blendMode = options.blendMode;\n if (opacity === undefined &&\n borderOpacity === undefined &&\n blendMode === undefined) {\n return undefined;\n }\n var graphicsState = this.doc.context.obj({\n Type: 'ExtGState',\n ca: opacity,\n CA: borderOpacity,\n BM: blendMode,\n });\n var key = this.node.newExtGState('GS', graphicsState);\n return key;\n };\n PDFPage.prototype.scaleAnnot = function (annot, x, y) {\n var selectors = ['RD', 'CL', 'Vertices', 'QuadPoints', 'L', 'Rect'];\n for (var idx = 0, len = selectors.length; idx < len; idx++) {\n var list = annot.lookup(_core__WEBPACK_IMPORTED_MODULE_11__[\"PDFName\"].of(selectors[idx]));\n if (list instanceof _core__WEBPACK_IMPORTED_MODULE_11__[\"PDFArray\"])\n list.scalePDFNumbers(x, y);\n }\n var inkLists = annot.lookup(_core__WEBPACK_IMPORTED_MODULE_11__[\"PDFName\"].of('InkList'));\n if (inkLists instanceof _core__WEBPACK_IMPORTED_MODULE_11__[\"PDFArray\"]) {\n for (var idx = 0, len = inkLists.size(); idx < len; idx++) {\n var arr = inkLists.lookup(idx);\n if (arr instanceof _core__WEBPACK_IMPORTED_MODULE_11__[\"PDFArray\"])\n arr.scalePDFNumbers(x, y);\n }\n }\n };\n /**\n * > **NOTE:** You probably don't want to call this method directly. Instead,\n * > consider using the [[PDFDocument.addPage]] and [[PDFDocument.insertPage]]\n * > methods, which can create instances of [[PDFPage]] for you.\n *\n * Create an instance of [[PDFPage]] from an existing leaf node.\n *\n * @param leafNode The leaf node to be wrapped.\n * @param ref The unique reference for the page.\n * @param doc The document to which the page will belong.\n */\n PDFPage.of = function (leafNode, ref, doc) {\n return new PDFPage(leafNode, ref, doc);\n };\n /**\n * > **NOTE:** You probably don't want to call this method directly. Instead,\n * > consider using the [[PDFDocument.addPage]] and [[PDFDocument.insertPage]]\n * > methods, which can create instances of [[PDFPage]] for you.\n *\n * Create an instance of [[PDFPage]].\n *\n * @param doc The document to which the page will belong.\n */\n PDFPage.create = function (doc) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_12__[\"assertIs\"])(doc, 'doc', [[_PDFDocument__WEBPACK_IMPORTED_MODULE_4__[\"default\"], 'PDFDocument']]);\n var dummyRef = _core__WEBPACK_IMPORTED_MODULE_11__[\"PDFRef\"].of(-1);\n var pageLeaf = _core__WEBPACK_IMPORTED_MODULE_11__[\"PDFPageLeaf\"].withContextAndParent(doc.context, dummyRef);\n var pageRef = doc.context.register(pageLeaf);\n return new PDFPage(pageLeaf, pageRef, doc);\n };\n return PDFPage;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFPage);\n//# sourceMappingURL=PDFPage.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/PDFPage.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/PDFPageOptions.js":
/*!************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/PDFPageOptions.js ***!
\************************************************************************/
/*! exports provided: BlendMode */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BlendMode\", function() { return BlendMode; });\nvar BlendMode;\n(function (BlendMode) {\n BlendMode[\"Normal\"] = \"Normal\";\n BlendMode[\"Multiply\"] = \"Multiply\";\n BlendMode[\"Screen\"] = \"Screen\";\n BlendMode[\"Overlay\"] = \"Overlay\";\n BlendMode[\"Darken\"] = \"Darken\";\n BlendMode[\"Lighten\"] = \"Lighten\";\n BlendMode[\"ColorDodge\"] = \"ColorDodge\";\n BlendMode[\"ColorBurn\"] = \"ColorBurn\";\n BlendMode[\"HardLight\"] = \"HardLight\";\n BlendMode[\"SoftLight\"] = \"SoftLight\";\n BlendMode[\"Difference\"] = \"Difference\";\n BlendMode[\"Exclusion\"] = \"Exclusion\";\n})(BlendMode || (BlendMode = {}));\n//# sourceMappingURL=PDFPageOptions.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/PDFPageOptions.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/StandardFonts.js":
/*!***********************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/StandardFonts.js ***!
\***********************************************************************/
/*! exports provided: StandardFonts */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"StandardFonts\", function() { return StandardFonts; });\nvar StandardFonts;\n(function (StandardFonts) {\n StandardFonts[\"Courier\"] = \"Courier\";\n StandardFonts[\"CourierBold\"] = \"Courier-Bold\";\n StandardFonts[\"CourierOblique\"] = \"Courier-Oblique\";\n StandardFonts[\"CourierBoldOblique\"] = \"Courier-BoldOblique\";\n StandardFonts[\"Helvetica\"] = \"Helvetica\";\n StandardFonts[\"HelveticaBold\"] = \"Helvetica-Bold\";\n StandardFonts[\"HelveticaOblique\"] = \"Helvetica-Oblique\";\n StandardFonts[\"HelveticaBoldOblique\"] = \"Helvetica-BoldOblique\";\n StandardFonts[\"TimesRoman\"] = \"Times-Roman\";\n StandardFonts[\"TimesRomanBold\"] = \"Times-Bold\";\n StandardFonts[\"TimesRomanItalic\"] = \"Times-Italic\";\n StandardFonts[\"TimesRomanBoldItalic\"] = \"Times-BoldItalic\";\n StandardFonts[\"Symbol\"] = \"Symbol\";\n StandardFonts[\"ZapfDingbats\"] = \"ZapfDingbats\";\n})(StandardFonts || (StandardFonts = {}));\n//# sourceMappingURL=StandardFonts.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/StandardFonts.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/colors.js":
/*!****************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/colors.js ***!
\****************************************************************/
/*! exports provided: ColorTypes, grayscale, rgb, cmyk, setFillingColor, setStrokingColor, componentsToColor, colorToComponents */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ColorTypes\", function() { return ColorTypes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"grayscale\", function() { return grayscale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rgb\", function() { return rgb; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cmyk\", function() { return cmyk; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setFillingColor\", function() { return setFillingColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setStrokingColor\", function() { return setStrokingColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"componentsToColor\", function() { return componentsToColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"colorToComponents\", function() { return colorToComponents; });\n/* harmony import */ var _operators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./operators */ \"../simple-mind-map/node_modules/pdf-lib/es/api/operators.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\nvar ColorTypes;\n(function (ColorTypes) {\n ColorTypes[\"Grayscale\"] = \"Grayscale\";\n ColorTypes[\"RGB\"] = \"RGB\";\n ColorTypes[\"CMYK\"] = \"CMYK\";\n})(ColorTypes || (ColorTypes = {}));\nvar grayscale = function (gray) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"assertRange\"])(gray, 'gray', 0.0, 1.0);\n return { type: ColorTypes.Grayscale, gray: gray };\n};\nvar rgb = function (red, green, blue) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"assertRange\"])(red, 'red', 0, 1);\n Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"assertRange\"])(green, 'green', 0, 1);\n Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"assertRange\"])(blue, 'blue', 0, 1);\n return { type: ColorTypes.RGB, red: red, green: green, blue: blue };\n};\nvar cmyk = function (cyan, magenta, yellow, key) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"assertRange\"])(cyan, 'cyan', 0, 1);\n Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"assertRange\"])(magenta, 'magenta', 0, 1);\n Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"assertRange\"])(yellow, 'yellow', 0, 1);\n Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"assertRange\"])(key, 'key', 0, 1);\n return { type: ColorTypes.CMYK, cyan: cyan, magenta: magenta, yellow: yellow, key: key };\n};\nvar Grayscale = ColorTypes.Grayscale, RGB = ColorTypes.RGB, CMYK = ColorTypes.CMYK;\n// prettier-ignore\nvar setFillingColor = function (color) {\n return color.type === Grayscale ? Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"setFillingGrayscaleColor\"])(color.gray)\n : color.type === RGB ? Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"setFillingRgbColor\"])(color.red, color.green, color.blue)\n : color.type === CMYK ? Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"setFillingCmykColor\"])(color.cyan, color.magenta, color.yellow, color.key)\n : Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"error\"])(\"Invalid color: \" + JSON.stringify(color));\n};\n// prettier-ignore\nvar setStrokingColor = function (color) {\n return color.type === Grayscale ? Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"setStrokingGrayscaleColor\"])(color.gray)\n : color.type === RGB ? Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"setStrokingRgbColor\"])(color.red, color.green, color.blue)\n : color.type === CMYK ? Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"setStrokingCmykColor\"])(color.cyan, color.magenta, color.yellow, color.key)\n : Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"error\"])(\"Invalid color: \" + JSON.stringify(color));\n};\n// prettier-ignore\nvar componentsToColor = function (comps, scale) {\n if (scale === void 0) { scale = 1; }\n return ((comps === null || comps === void 0 ? void 0 : comps.length) === 1 ? grayscale(comps[0] * scale)\n : (comps === null || comps === void 0 ? void 0 : comps.length) === 3 ? rgb(comps[0] * scale, comps[1] * scale, comps[2] * scale)\n : (comps === null || comps === void 0 ? void 0 : comps.length) === 4 ? cmyk(comps[0] * scale, comps[1] * scale, comps[2] * scale, comps[3] * scale)\n : undefined);\n};\n// prettier-ignore\nvar colorToComponents = function (color) {\n return color.type === Grayscale ? [color.gray]\n : color.type === RGB ? [color.red, color.green, color.blue]\n : color.type === CMYK ? [color.cyan, color.magenta, color.yellow, color.key]\n : Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"error\"])(\"Invalid color: \" + JSON.stringify(color));\n};\n//# sourceMappingURL=colors.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/colors.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/errors.js":
/*!****************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/errors.js ***!
\****************************************************************/
/*! exports provided: EncryptedPDFError, FontkitNotRegisteredError, ForeignPageError, RemovePageFromEmptyDocumentError, NoSuchFieldError, UnexpectedFieldTypeError, MissingOnValueCheckError, FieldAlreadyExistsError, InvalidFieldNamePartError, FieldExistsAsNonTerminalError, RichTextFieldReadError, CombedTextLayoutError, ExceededMaxLengthError, InvalidMaxLengthError */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EncryptedPDFError\", function() { return EncryptedPDFError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FontkitNotRegisteredError\", function() { return FontkitNotRegisteredError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ForeignPageError\", function() { return ForeignPageError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RemovePageFromEmptyDocumentError\", function() { return RemovePageFromEmptyDocumentError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NoSuchFieldError\", function() { return NoSuchFieldError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UnexpectedFieldTypeError\", function() { return UnexpectedFieldTypeError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MissingOnValueCheckError\", function() { return MissingOnValueCheckError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FieldAlreadyExistsError\", function() { return FieldAlreadyExistsError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"InvalidFieldNamePartError\", function() { return InvalidFieldNamePartError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"FieldExistsAsNonTerminalError\", function() { return FieldExistsAsNonTerminalError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RichTextFieldReadError\", function() { return RichTextFieldReadError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CombedTextLayoutError\", function() { return CombedTextLayoutError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ExceededMaxLengthError\", function() { return ExceededMaxLengthError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"InvalidMaxLengthError\", function() { return InvalidMaxLengthError; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n// tslint:disable: max-classes-per-file\n\n// TODO: Include link to documentation with example\nvar EncryptedPDFError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(EncryptedPDFError, _super);\n function EncryptedPDFError() {\n var _this = this;\n var msg = 'Input document to `PDFDocument.load` is encrypted. You can use `PDFDocument.load(..., { ignoreEncryption: true })` if you wish to load the document anyways.';\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return EncryptedPDFError;\n}(Error));\n\n// TODO: Include link to documentation with example\nvar FontkitNotRegisteredError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(FontkitNotRegisteredError, _super);\n function FontkitNotRegisteredError() {\n var _this = this;\n var msg = 'Input to `PDFDocument.embedFont` was a custom font, but no `fontkit` instance was found. You must register a `fontkit` instance with `PDFDocument.registerFontkit(...)` before embedding custom fonts.';\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return FontkitNotRegisteredError;\n}(Error));\n\n// TODO: Include link to documentation with example\nvar ForeignPageError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ForeignPageError, _super);\n function ForeignPageError() {\n var _this = this;\n var msg = 'A `page` passed to `PDFDocument.addPage` or `PDFDocument.insertPage` was from a different (foreign) PDF document. If you want to copy pages from one PDFDocument to another, you must use `PDFDocument.copyPages(...)` to copy the pages before adding or inserting them.';\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return ForeignPageError;\n}(Error));\n\n// TODO: Include link to documentation with example\nvar RemovePageFromEmptyDocumentError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(RemovePageFromEmptyDocumentError, _super);\n function RemovePageFromEmptyDocumentError() {\n var _this = this;\n var msg = 'PDFDocument has no pages so `PDFDocument.removePage` cannot be called';\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return RemovePageFromEmptyDocumentError;\n}(Error));\n\nvar NoSuchFieldError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(NoSuchFieldError, _super);\n function NoSuchFieldError(name) {\n var _this = this;\n var msg = \"PDFDocument has no form field with the name \\\"\" + name + \"\\\"\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return NoSuchFieldError;\n}(Error));\n\nvar UnexpectedFieldTypeError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(UnexpectedFieldTypeError, _super);\n function UnexpectedFieldTypeError(name, expected, actual) {\n var _a, _b;\n var _this = this;\n var expectedType = expected === null || expected === void 0 ? void 0 : expected.name;\n var actualType = (_b = (_a = actual === null || actual === void 0 ? void 0 : actual.constructor) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : actual;\n var msg = \"Expected field \\\"\" + name + \"\\\" to be of type \" + expectedType + \", \" +\n (\"but it is actually of type \" + actualType);\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return UnexpectedFieldTypeError;\n}(Error));\n\nvar MissingOnValueCheckError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MissingOnValueCheckError, _super);\n function MissingOnValueCheckError(onValue) {\n var _this = this;\n var msg = \"Failed to select check box due to missing onValue: \\\"\" + onValue + \"\\\"\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return MissingOnValueCheckError;\n}(Error));\n\nvar FieldAlreadyExistsError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(FieldAlreadyExistsError, _super);\n function FieldAlreadyExistsError(name) {\n var _this = this;\n var msg = \"A field already exists with the specified name: \\\"\" + name + \"\\\"\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return FieldAlreadyExistsError;\n}(Error));\n\nvar InvalidFieldNamePartError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(InvalidFieldNamePartError, _super);\n function InvalidFieldNamePartError(namePart) {\n var _this = this;\n var msg = \"Field name contains invalid component: \\\"\" + namePart + \"\\\"\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return InvalidFieldNamePartError;\n}(Error));\n\nvar FieldExistsAsNonTerminalError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(FieldExistsAsNonTerminalError, _super);\n function FieldExistsAsNonTerminalError(name) {\n var _this = this;\n var msg = \"A non-terminal field already exists with the specified name: \\\"\" + name + \"\\\"\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return FieldExistsAsNonTerminalError;\n}(Error));\n\nvar RichTextFieldReadError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(RichTextFieldReadError, _super);\n function RichTextFieldReadError(fieldName) {\n var _this = this;\n var msg = \"Reading rich text fields is not supported: Attempted to read rich text field: \" + fieldName;\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return RichTextFieldReadError;\n}(Error));\n\nvar CombedTextLayoutError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(CombedTextLayoutError, _super);\n function CombedTextLayoutError(lineLength, cellCount) {\n var _this = this;\n var msg = \"Failed to layout combed text as lineLength=\" + lineLength + \" is greater than cellCount=\" + cellCount;\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return CombedTextLayoutError;\n}(Error));\n\nvar ExceededMaxLengthError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ExceededMaxLengthError, _super);\n function ExceededMaxLengthError(textLength, maxLength, name) {\n var _this = this;\n var msg = \"Attempted to set text with length=\" + textLength + \" for TextField with maxLength=\" + maxLength + \" and name=\" + name;\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return ExceededMaxLengthError;\n}(Error));\n\nvar InvalidMaxLengthError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(InvalidMaxLengthError, _super);\n function InvalidMaxLengthError(textLength, maxLength, name) {\n var _this = this;\n var msg = \"Attempted to set maxLength=\" + maxLength + \", which is less than \" + textLength + \", the length of this field's current value (name=\" + name + \")\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return InvalidMaxLengthError;\n}(Error));\n\n//# sourceMappingURL=errors.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/errors.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFButton.js":
/*!************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFButton.js ***!
\************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFPage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../PDFPage */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFPage.js\");\n/* harmony import */ var _PDFFont__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../PDFFont */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFFont.js\");\n/* harmony import */ var _image_alignment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../image/alignment */ \"../simple-mind-map/node_modules/pdf-lib/es/api/image/alignment.js\");\n/* harmony import */ var _appearances__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./appearances */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/appearances.js\");\n/* harmony import */ var _PDFField__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PDFField */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFField.js\");\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../colors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/colors.js\");\n/* harmony import */ var _rotations__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../rotations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/rotations.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n\n\n\n\n/**\n * Represents a button field of a [[PDFForm]].\n *\n * [[PDFButton]] fields are interactive controls that users can click with their\n * mouse. This type of [[PDFField]] is not stateful. The purpose of a button\n * is to perform an action when the user clicks on it, such as opening a print\n * modal or resetting the form. Buttons are typically rectangular in shape and\n * have a text label describing the action that they perform when clicked.\n */\nvar PDFButton = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFButton, _super);\n function PDFButton(acroPushButton, ref, doc) {\n var _this = _super.call(this, acroPushButton, ref, doc) || this;\n Object(_utils__WEBPACK_IMPORTED_MODULE_9__[\"assertIs\"])(acroPushButton, 'acroButton', [\n [_core__WEBPACK_IMPORTED_MODULE_8__[\"PDFAcroPushButton\"], 'PDFAcroPushButton'],\n ]);\n _this.acroField = acroPushButton;\n return _this;\n }\n /**\n * Display an image inside the bounds of this button's widgets. For example:\n * ```js\n * const pngImage = await pdfDoc.embedPng(...)\n * const button = form.getButton('some.button.field')\n * button.setImage(pngImage, ImageAlignment.Center)\n * ```\n * This will update the appearances streams for each of this button's widgets.\n * @param image The image that should be displayed.\n * @param alignment The alignment of the image.\n */\n PDFButton.prototype.setImage = function (image, alignment) {\n if (alignment === void 0) { alignment = _image_alignment__WEBPACK_IMPORTED_MODULE_3__[\"ImageAlignment\"].Center; }\n var widgets = this.acroField.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n var streamRef = this.createImageAppearanceStream(widget, image, alignment);\n this.updateWidgetAppearances(widget, { normal: streamRef });\n }\n this.markAsClean();\n };\n /**\n * Set the font size for this field. Larger font sizes will result in larger\n * text being displayed when PDF readers render this button. Font sizes may\n * be integer or floating point numbers. Supplying a negative font size will\n * cause this method to throw an error.\n *\n * For example:\n * ```js\n * const button = form.getButton('some.button.field')\n * button.setFontSize(4)\n * button.setFontSize(15.7)\n * ```\n *\n * > This method depends upon the existence of a default appearance\n * > (`/DA`) string. If this field does not have a default appearance string,\n * > or that string does not contain a font size (via the `Tf` operator),\n * > then this method will throw an error.\n *\n * @param fontSize The font size to be used when rendering text in this field.\n */\n PDFButton.prototype.setFontSize = function (fontSize) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_9__[\"assertPositive\"])(fontSize, 'fontSize');\n this.acroField.setFontSize(fontSize);\n this.markAsDirty();\n };\n /**\n * Show this button on the specified page with the given text. For example:\n * ```js\n * const ubuntuFont = await pdfDoc.embedFont(ubuntuFontBytes)\n * const page = pdfDoc.addPage()\n *\n * const form = pdfDoc.getForm()\n * const button = form.createButton('some.button.field')\n *\n * button.addToPage('Do Stuff', page, {\n * x: 50,\n * y: 75,\n * width: 200,\n * height: 100,\n * textColor: rgb(1, 0, 0),\n * backgroundColor: rgb(0, 1, 0),\n * borderColor: rgb(0, 0, 1),\n * borderWidth: 2,\n * rotate: degrees(90),\n * font: ubuntuFont,\n * })\n * ```\n * This will create a new widget for this button field.\n * @param text The text to be displayed for this button widget.\n * @param page The page to which this button widget should be added.\n * @param options The options to be used when adding this button widget.\n */\n PDFButton.prototype.addToPage = function (\n // TODO: This needs to be optional, e.g. for image buttons\n text, page, options) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;\n Object(_utils__WEBPACK_IMPORTED_MODULE_9__[\"assertOrUndefined\"])(text, 'text', ['string']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_9__[\"assertOrUndefined\"])(page, 'page', [[_PDFPage__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'PDFPage']]);\n Object(_PDFField__WEBPACK_IMPORTED_MODULE_5__[\"assertFieldAppearanceOptions\"])(options);\n // Create a widget for this button\n var widget = this.createWidget({\n x: ((_a = options === null || options === void 0 ? void 0 : options.x) !== null && _a !== void 0 ? _a : 0) - ((_b = options === null || options === void 0 ? void 0 : options.borderWidth) !== null && _b !== void 0 ? _b : 0) / 2,\n y: ((_c = options === null || options === void 0 ? void 0 : options.y) !== null && _c !== void 0 ? _c : 0) - ((_d = options === null || options === void 0 ? void 0 : options.borderWidth) !== null && _d !== void 0 ? _d : 0) / 2,\n width: (_e = options === null || options === void 0 ? void 0 : options.width) !== null && _e !== void 0 ? _e : 100,\n height: (_f = options === null || options === void 0 ? void 0 : options.height) !== null && _f !== void 0 ? _f : 50,\n textColor: (_g = options === null || options === void 0 ? void 0 : options.textColor) !== null && _g !== void 0 ? _g : Object(_colors__WEBPACK_IMPORTED_MODULE_6__[\"rgb\"])(0, 0, 0),\n backgroundColor: (_h = options === null || options === void 0 ? void 0 : options.backgroundColor) !== null && _h !== void 0 ? _h : Object(_colors__WEBPACK_IMPORTED_MODULE_6__[\"rgb\"])(0.75, 0.75, 0.75),\n borderColor: options === null || options === void 0 ? void 0 : options.borderColor,\n borderWidth: (_j = options === null || options === void 0 ? void 0 : options.borderWidth) !== null && _j !== void 0 ? _j : 0,\n rotate: (_k = options === null || options === void 0 ? void 0 : options.rotate) !== null && _k !== void 0 ? _k : Object(_rotations__WEBPACK_IMPORTED_MODULE_7__[\"degrees\"])(0),\n caption: text,\n hidden: options === null || options === void 0 ? void 0 : options.hidden,\n page: page.ref,\n });\n var widgetRef = this.doc.context.register(widget.dict);\n // Add widget to this field\n this.acroField.addWidget(widgetRef);\n // Set appearance streams for widget\n var font = (_l = options === null || options === void 0 ? void 0 : options.font) !== null && _l !== void 0 ? _l : this.doc.getForm().getDefaultFont();\n this.updateWidgetAppearance(widget, font);\n // Add widget to the given page\n page.node.addAnnot(widgetRef);\n };\n /**\n * Returns `true` if this button has been marked as dirty, or if any of this\n * button's widgets do not have an appearance stream. For example:\n * ```js\n * const button = form.getButton('some.button.field')\n * if (button.needsAppearancesUpdate()) console.log('Needs update')\n * ```\n * @returns Whether or not this button needs an appearance update.\n */\n PDFButton.prototype.needsAppearancesUpdate = function () {\n var _a;\n if (this.isDirty())\n return true;\n var widgets = this.acroField.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n var hasAppearances = ((_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal) instanceof _core__WEBPACK_IMPORTED_MODULE_8__[\"PDFStream\"];\n if (!hasAppearances)\n return true;\n }\n return false;\n };\n /**\n * Update the appearance streams for each of this button's widgets using\n * the default appearance provider for buttons. For example:\n * ```js\n * const helvetica = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const button = form.getButton('some.button.field')\n * button.defaultUpdateAppearances(helvetica)\n * ```\n * @param font The font to be used for creating the appearance streams.\n */\n PDFButton.prototype.defaultUpdateAppearances = function (font) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_9__[\"assertIs\"])(font, 'font', [[_PDFFont__WEBPACK_IMPORTED_MODULE_2__[\"default\"], 'PDFFont']]);\n this.updateAppearances(font);\n };\n /**\n * Update the appearance streams for each of this button's widgets using\n * the given appearance provider. If no `provider` is passed, the default\n * appearance provider for buttons will be used. For example:\n * ```js\n * const helvetica = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const button = form.getButton('some.button.field')\n * button.updateAppearances(helvetica, (field, widget, font) => {\n * ...\n * return {\n * normal: drawButton(...),\n * down: drawButton(...),\n * }\n * })\n * ```\n * @param font The font to be used for creating the appearance streams.\n * @param provider Optionally, the appearance provider to be used for\n * generating the contents of the appearance streams.\n */\n PDFButton.prototype.updateAppearances = function (font, provider) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_9__[\"assertIs\"])(font, 'font', [[_PDFFont__WEBPACK_IMPORTED_MODULE_2__[\"default\"], 'PDFFont']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_9__[\"assertOrUndefined\"])(provider, 'provider', [Function]);\n var widgets = this.acroField.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n this.updateWidgetAppearance(widget, font, provider);\n }\n };\n PDFButton.prototype.updateWidgetAppearance = function (widget, font, provider) {\n var apProvider = provider !== null && provider !== void 0 ? provider : _appearances__WEBPACK_IMPORTED_MODULE_4__[\"defaultButtonAppearanceProvider\"];\n var appearances = Object(_appearances__WEBPACK_IMPORTED_MODULE_4__[\"normalizeAppearance\"])(apProvider(this, widget, font));\n this.updateWidgetAppearanceWithFont(widget, font, appearances);\n };\n /**\n * > **NOTE:** You probably don't want to call this method directly. Instead,\n * > consider using the [[PDFForm.getButton]] method, which will create an\n * > instance of [[PDFButton]] for you.\n *\n * Create an instance of [[PDFButton]] from an existing acroPushButton and ref\n *\n * @param acroPushButton The underlying `PDFAcroPushButton` for this button.\n * @param ref The unique reference for this button.\n * @param doc The document to which this button will belong.\n */\n PDFButton.of = function (acroPushButton, ref, doc) { return new PDFButton(acroPushButton, ref, doc); };\n return PDFButton;\n}(_PDFField__WEBPACK_IMPORTED_MODULE_5__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFButton);\n//# sourceMappingURL=PDFButton.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFButton.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFCheckBox.js":
/*!**************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFCheckBox.js ***!
\**************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFPage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../PDFPage */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFPage.js\");\n/* harmony import */ var _appearances__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./appearances */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/appearances.js\");\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../colors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/colors.js\");\n/* harmony import */ var _rotations__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../rotations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/rotations.js\");\n/* harmony import */ var _PDFField__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PDFField */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFField.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n\n\n/**\n * Represents a check box field of a [[PDFForm]].\n *\n * [[PDFCheckBox]] fields are interactive boxes that users can click with their\n * mouse. This type of [[PDFField]] has two states: `on` and `off`. The purpose\n * of a check box is to enable users to select from one or more options, where\n * each option is represented by a single check box. Check boxes are typically\n * square in shape and display a check mark when they are in the `on` state.\n */\nvar PDFCheckBox = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFCheckBox, _super);\n function PDFCheckBox(acroCheckBox, ref, doc) {\n var _this = _super.call(this, acroCheckBox, ref, doc) || this;\n Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"assertIs\"])(acroCheckBox, 'acroCheckBox', [\n [_core__WEBPACK_IMPORTED_MODULE_6__[\"PDFAcroCheckBox\"], 'PDFAcroCheckBox'],\n ]);\n _this.acroField = acroCheckBox;\n return _this;\n }\n /**\n * Mark this check box. This operation is analogous to a human user clicking\n * a check box to fill it in a PDF reader. This method will update the\n * underlying state of the check box field to indicate it has been selected.\n * PDF libraries and readers will be able to extract this value from the\n * saved document and determine that it was selected.\n *\n * For example:\n * ```js\n * const checkBox = form.getCheckBox('some.checkBox.field')\n * checkBox.check()\n * ```\n *\n * This method will mark this check box as dirty, causing its appearance\n * streams to be updated when either [[PDFDocument.save]] or\n * [[PDFForm.updateFieldAppearances]] is called. The updated appearance\n * streams will display a check mark inside the widgets of this check box\n * field.\n */\n PDFCheckBox.prototype.check = function () {\n var _a;\n var onValue = (_a = this.acroField.getOnValue()) !== null && _a !== void 0 ? _a : _core__WEBPACK_IMPORTED_MODULE_6__[\"PDFName\"].of('Yes');\n this.markAsDirty();\n this.acroField.setValue(onValue);\n };\n /**\n * Clears this check box. This operation is analogous to a human user clicking\n * a check box to unmark it in a PDF reader. This method will update the\n * underlying state of the check box field to indicate it has been deselected.\n * PDF libraries and readers will be able to extract this value from the\n * saved document and determine that it was not selected.\n *\n * For example:\n * ```js\n * const checkBox = form.getCheckBox('some.checkBox.field')\n * checkBox.uncheck()\n * ```\n *\n * This method will mark this check box as dirty. See [[PDFCheckBox.check]]\n * for more details about what this means.\n */\n PDFCheckBox.prototype.uncheck = function () {\n this.markAsDirty();\n this.acroField.setValue(_core__WEBPACK_IMPORTED_MODULE_6__[\"PDFName\"].of('Off'));\n };\n /**\n * Returns `true` if this check box is selected (either by a human user via\n * a PDF reader, or else programmatically via software). For example:\n * ```js\n * const checkBox = form.getCheckBox('some.checkBox.field')\n * if (checkBox.isChecked()) console.log('check box is selected')\n * ```\n * @returns Whether or not this check box is selected.\n */\n PDFCheckBox.prototype.isChecked = function () {\n var onValue = this.acroField.getOnValue();\n return !!onValue && onValue === this.acroField.getValue();\n };\n /**\n * Show this check box on the specified page. For example:\n * ```js\n * const helvetica = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const page = pdfDoc.addPage()\n *\n * const form = pdfDoc.getForm()\n * const checkBox = form.createCheckBox('some.checkBox.field')\n *\n * checkBox.addToPage(page, {\n * x: 50,\n * y: 75,\n * width: 25,\n * height: 25,\n * textColor: rgb(1, 0, 0),\n * backgroundColor: rgb(0, 1, 0),\n * borderColor: rgb(0, 0, 1),\n * borderWidth: 2,\n * rotate: degrees(90),\n * })\n * ```\n * This will create a new widget for this check box field.\n * @param page The page to which this check box widget should be added.\n * @param options The options to be used when adding this check box widget.\n */\n PDFCheckBox.prototype.addToPage = function (page, options) {\n var _a, _b, _c, _d, _e, _f;\n Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"assertIs\"])(page, 'page', [[_PDFPage__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'PDFPage']]);\n Object(_PDFField__WEBPACK_IMPORTED_MODULE_5__[\"assertFieldAppearanceOptions\"])(options);\n if (!options)\n options = {};\n if (!('textColor' in options))\n options.textColor = Object(_colors__WEBPACK_IMPORTED_MODULE_3__[\"rgb\"])(0, 0, 0);\n if (!('backgroundColor' in options))\n options.backgroundColor = Object(_colors__WEBPACK_IMPORTED_MODULE_3__[\"rgb\"])(1, 1, 1);\n if (!('borderColor' in options))\n options.borderColor = Object(_colors__WEBPACK_IMPORTED_MODULE_3__[\"rgb\"])(0, 0, 0);\n if (!('borderWidth' in options))\n options.borderWidth = 1;\n // Create a widget for this check box\n var widget = this.createWidget({\n x: (_a = options.x) !== null && _a !== void 0 ? _a : 0,\n y: (_b = options.y) !== null && _b !== void 0 ? _b : 0,\n width: (_c = options.width) !== null && _c !== void 0 ? _c : 50,\n height: (_d = options.height) !== null && _d !== void 0 ? _d : 50,\n textColor: options.textColor,\n backgroundColor: options.backgroundColor,\n borderColor: options.borderColor,\n borderWidth: (_e = options.borderWidth) !== null && _e !== void 0 ? _e : 0,\n rotate: (_f = options.rotate) !== null && _f !== void 0 ? _f : Object(_rotations__WEBPACK_IMPORTED_MODULE_4__[\"degrees\"])(0),\n hidden: options.hidden,\n page: page.ref,\n });\n var widgetRef = this.doc.context.register(widget.dict);\n // Add widget to this field\n this.acroField.addWidget(widgetRef);\n // Set appearance streams for widget\n widget.setAppearanceState(_core__WEBPACK_IMPORTED_MODULE_6__[\"PDFName\"].of('Off'));\n this.updateWidgetAppearance(widget, _core__WEBPACK_IMPORTED_MODULE_6__[\"PDFName\"].of('Yes'));\n // Add widget to the given page\n page.node.addAnnot(widgetRef);\n };\n /**\n * Returns `true` if any of this check box's widgets do not have an\n * appearance stream for its current state. For example:\n * ```js\n * const checkBox = form.getCheckBox('some.checkBox.field')\n * if (checkBox.needsAppearancesUpdate()) console.log('Needs update')\n * ```\n * @returns Whether or not this check box needs an appearance update.\n */\n PDFCheckBox.prototype.needsAppearancesUpdate = function () {\n var _a;\n var widgets = this.acroField.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n var state = widget.getAppearanceState();\n var normal = (_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal;\n if (!(normal instanceof _core__WEBPACK_IMPORTED_MODULE_6__[\"PDFDict\"]))\n return true;\n if (state && !normal.has(state))\n return true;\n }\n return false;\n };\n /**\n * Update the appearance streams for each of this check box's widgets using\n * the default appearance provider for check boxes. For example:\n * ```js\n * const checkBox = form.getCheckBox('some.checkBox.field')\n * checkBox.defaultUpdateAppearances()\n * ```\n */\n PDFCheckBox.prototype.defaultUpdateAppearances = function () {\n this.updateAppearances();\n };\n /**\n * Update the appearance streams for each of this check box's widgets using\n * the given appearance provider. If no `provider` is passed, the default\n * appearance provider for check boxs will be used. For example:\n * ```js\n * const checkBox = form.getCheckBox('some.checkBox.field')\n * checkBox.updateAppearances((field, widget) => {\n * ...\n * return {\n * normal: { on: drawCheckBox(...), off: drawCheckBox(...) },\n * down: { on: drawCheckBox(...), off: drawCheckBox(...) },\n * }\n * })\n * ```\n * @param provider Optionally, the appearance provider to be used for\n * generating the contents of the appearance streams.\n */\n PDFCheckBox.prototype.updateAppearances = function (provider) {\n var _a;\n Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"assertOrUndefined\"])(provider, 'provider', [Function]);\n var widgets = this.acroField.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n var onValue = (_a = widget.getOnValue()) !== null && _a !== void 0 ? _a : _core__WEBPACK_IMPORTED_MODULE_6__[\"PDFName\"].of('Yes');\n if (!onValue)\n continue;\n this.updateWidgetAppearance(widget, onValue, provider);\n }\n this.markAsClean();\n };\n PDFCheckBox.prototype.updateWidgetAppearance = function (widget, onValue, provider) {\n var apProvider = provider !== null && provider !== void 0 ? provider : _appearances__WEBPACK_IMPORTED_MODULE_2__[\"defaultCheckBoxAppearanceProvider\"];\n var appearances = Object(_appearances__WEBPACK_IMPORTED_MODULE_2__[\"normalizeAppearance\"])(apProvider(this, widget));\n this.updateOnOffWidgetAppearance(widget, onValue, appearances);\n };\n /**\n * > **NOTE:** You probably don't want to call this method directly. Instead,\n * > consider using the [[PDFForm.getCheckBox]] method, which will create an\n * > instance of [[PDFCheckBox]] for you.\n *\n * Create an instance of [[PDFCheckBox]] from an existing acroCheckBox and ref\n *\n * @param acroCheckBox The underlying `PDFAcroCheckBox` for this check box.\n * @param ref The unique reference for this check box.\n * @param doc The document to which this check box will belong.\n */\n PDFCheckBox.of = function (acroCheckBox, ref, doc) {\n return new PDFCheckBox(acroCheckBox, ref, doc);\n };\n return PDFCheckBox;\n}(_PDFField__WEBPACK_IMPORTED_MODULE_5__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFCheckBox);\n//# sourceMappingURL=PDFCheckBox.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFCheckBox.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFDropdown.js":
/*!**************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFDropdown.js ***!
\**************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFPage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../PDFPage */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFPage.js\");\n/* harmony import */ var _PDFFont__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../PDFFont */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFFont.js\");\n/* harmony import */ var _PDFField__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PDFField */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFField.js\");\n/* harmony import */ var _appearances__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./appearances */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/appearances.js\");\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../colors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/colors.js\");\n/* harmony import */ var _rotations__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../rotations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/rotations.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n\n\n\n/**\n * Represents a dropdown field of a [[PDFForm]].\n *\n * [[PDFDropdown]] fields are interactive text boxes that display a single\n * element (the currently selected value). The purpose of a dropdown is to\n * enable users to select a single option from a set of possible options. Users\n * can click on a dropdown to view the full list of options it provides.\n * Clicking on an option in the list will cause it to be selected and displayed\n * in the dropdown's text box. Some dropdowns allow users to enter text\n * directly into the box from their keyboard, rather than only being allowed to\n * choose an option from the list (see [[PDFDropdown.isEditable]]).\n */\nvar PDFDropdown = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFDropdown, _super);\n function PDFDropdown(acroComboBox, ref, doc) {\n var _this = _super.call(this, acroComboBox, ref, doc) || this;\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(acroComboBox, 'acroComboBox', [\n [_core__WEBPACK_IMPORTED_MODULE_7__[\"PDFAcroComboBox\"], 'PDFAcroComboBox'],\n ]);\n _this.acroField = acroComboBox;\n return _this;\n }\n /**\n * Get the list of available options for this dropdown. These options will be\n * displayed to users who click on this dropdown in a PDF reader.\n * For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * const options = dropdown.getOptions()\n * console.log('Dropdown options:', options)\n * ```\n * @returns The options for this dropdown.\n */\n PDFDropdown.prototype.getOptions = function () {\n var rawOptions = this.acroField.getOptions();\n var options = new Array(rawOptions.length);\n for (var idx = 0, len = options.length; idx < len; idx++) {\n var _a = rawOptions[idx], display = _a.display, value = _a.value;\n options[idx] = (display !== null && display !== void 0 ? display : value).decodeText();\n }\n return options;\n };\n /**\n * Get the selected options for this dropdown. These are the values that were\n * selected by a human user via a PDF reader, or programatically via\n * software.\n * For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * const selections = dropdown.getSelected()\n * console.log('Dropdown selections:', selections)\n * ```\n * > **NOTE:** Note that PDF readers only display one selected option when\n * > rendering dropdowns. However, the PDF specification does allow for\n * > multiple values to be selected in a dropdown. As such, the `pdf-lib`\n * > API supports this. However, in most cases the array returned by this\n * > method will contain only a single element (or no elements).\n * @returns The selected options in this dropdown.\n */\n PDFDropdown.prototype.getSelected = function () {\n var values = this.acroField.getValues();\n var selected = new Array(values.length);\n for (var idx = 0, len = values.length; idx < len; idx++) {\n selected[idx] = values[idx].decodeText();\n }\n return selected;\n };\n /**\n * Set the list of options that are available for this dropdown. These are\n * the values that will be available for users to select when they view this\n * dropdown in a PDF reader. Note that preexisting options for this dropdown\n * will be removed. Only the values passed as `options` will be available to\n * select.\n * For example:\n * ```js\n * const dropdown = form.getDropdown('planets.dropdown')\n * dropdown.setOptions(['Earth', 'Mars', 'Pluto', 'Venus'])\n * ```\n * @param options The options that should be available in this dropdown.\n */\n PDFDropdown.prototype.setOptions = function (options) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(options, 'options', [Array]);\n var optionObjects = new Array(options.length);\n for (var idx = 0, len = options.length; idx < len; idx++) {\n optionObjects[idx] = { value: _core__WEBPACK_IMPORTED_MODULE_7__[\"PDFHexString\"].fromText(options[idx]) };\n }\n this.acroField.setOptions(optionObjects);\n };\n /**\n * Add to the list of options that are available for this dropdown. Users\n * will be able to select these values in a PDF reader. In addition to the\n * values passed as `options`, any preexisting options for this dropdown will\n * still be available for users to select.\n * For example:\n * ```js\n * const dropdown = form.getDropdown('rockets.dropdown')\n * dropdown.addOptions(['Saturn IV', 'Falcon Heavy'])\n * ```\n * @param options New options that should be available in this dropdown.\n */\n PDFDropdown.prototype.addOptions = function (options) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(options, 'options', ['string', Array]);\n var optionsArr = Array.isArray(options) ? options : [options];\n var existingOptions = this.acroField.getOptions();\n var newOptions = new Array(optionsArr.length);\n for (var idx = 0, len = optionsArr.length; idx < len; idx++) {\n newOptions[idx] = { value: _core__WEBPACK_IMPORTED_MODULE_7__[\"PDFHexString\"].fromText(optionsArr[idx]) };\n }\n this.acroField.setOptions(existingOptions.concat(newOptions));\n };\n /**\n * Select one or more values for this dropdown. This operation is analogous\n * to a human user opening the dropdown in a PDF reader and clicking on a\n * value to select it. This method will update the underlying state of the\n * dropdown to indicate which values have been selected. PDF libraries and\n * readers will be able to extract these values from the saved document and\n * determine which values were selected.\n *\n * For example:\n * ```js\n * const dropdown = form.getDropdown('best.superhero.dropdown')\n * dropdown.select('One Punch Man')\n * ```\n *\n * This method will mark this dropdown as dirty, causing its appearance\n * streams to be updated when either [[PDFDocument.save]] or\n * [[PDFForm.updateFieldAppearances]] is called. The updated streams will\n * display the selected option inside the widgets of this dropdown.\n *\n * **IMPORTANT:** The default font used to update appearance streams is\n * [[StandardFonts.Helvetica]]. Note that this is a WinAnsi font. This means\n * that encoding errors will be thrown if the selected option for this field\n * contains characters outside the WinAnsi character set (the latin alphabet).\n *\n * Embedding a custom font and passing it to\n * [[PDFForm.updateFieldAppearances]] or [[PDFDropdown.updateAppearances]]\n * allows you to generate appearance streams with characters outside the\n * latin alphabet (assuming the custom font supports them).\n *\n * Selecting an option that does not exist in this dropdown's option list\n * (see [[PDFDropdown.getOptions]]) will enable editing on this dropdown\n * (see [[PDFDropdown.enableEditing]]).\n *\n * > **NOTE:** PDF readers only display one selected option when rendering\n * > dropdowns. However, the PDF specification does allow for multiple values\n * > to be selected in a dropdown. As such, the `pdf-lib` API supports this.\n * > However, it is not recommended to select more than one value with this\n * > method, as only one will be visible. [[PDFOptionList]] fields are better\n * > suited for displaying multiple selected values.\n *\n * @param options The options to be selected.\n * @param merge Whether or not existing selections should be preserved.\n */\n PDFDropdown.prototype.select = function (options, merge) {\n if (merge === void 0) { merge = false; }\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(options, 'options', ['string', Array]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(merge, 'merge', ['boolean']);\n var optionsArr = Array.isArray(options) ? options : [options];\n var validOptions = this.getOptions();\n var hasCustomOption = optionsArr.find(function (option) { return !validOptions.includes(option); });\n if (hasCustomOption)\n this.enableEditing();\n this.markAsDirty();\n if (optionsArr.length > 1 || (optionsArr.length === 1 && merge)) {\n this.enableMultiselect();\n }\n var values = new Array(optionsArr.length);\n for (var idx = 0, len = optionsArr.length; idx < len; idx++) {\n values[idx] = _core__WEBPACK_IMPORTED_MODULE_7__[\"PDFHexString\"].fromText(optionsArr[idx]);\n }\n if (merge) {\n var existingValues = this.acroField.getValues();\n this.acroField.setValues(existingValues.concat(values));\n }\n else {\n this.acroField.setValues(values);\n }\n };\n /**\n * Clear all selected values for this dropdown. This operation is equivalent\n * to selecting an empty list. This method will update the underlying state\n * of the dropdown to indicate that no values have been selected.\n * For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * dropdown.clear()\n * ```\n * This method will mark this text field as dirty. See [[PDFDropdown.select]]\n * for more details about what this means.\n */\n PDFDropdown.prototype.clear = function () {\n this.markAsDirty();\n this.acroField.setValues([]);\n };\n /**\n * Set the font size for this field. Larger font sizes will result in larger\n * text being displayed when PDF readers render this dropdown. Font sizes may\n * be integer or floating point numbers. Supplying a negative font size will\n * cause this method to throw an error.\n *\n * For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * dropdown.setFontSize(4)\n * dropdown.setFontSize(15.7)\n * ```\n *\n * > This method depends upon the existence of a default appearance\n * > (`/DA`) string. If this field does not have a default appearance string,\n * > or that string does not contain a font size (via the `Tf` operator),\n * > then this method will throw an error.\n *\n * @param fontSize The font size to be used when rendering text in this field.\n */\n PDFDropdown.prototype.setFontSize = function (fontSize) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertPositive\"])(fontSize, 'fontSize');\n this.acroField.setFontSize(fontSize);\n this.markAsDirty();\n };\n /**\n * Returns `true` if users are allowed to edit the selected value of this\n * dropdown directly and are not constrained by the list of available\n * options. See [[PDFDropdown.enableEditing]] and\n * [[PDFDropdown.disableEditing]]. For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * if (dropdown.isEditable()) console.log('Editing is enabled')\n * ```\n * @returns Whether or not this dropdown is editable.\n */\n PDFDropdown.prototype.isEditable = function () {\n return this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].Edit);\n };\n /**\n * Allow users to edit the selected value of this dropdown in PDF readers\n * with their keyboard. This means that the selected value of this dropdown\n * will not be constrained by the list of available options. However, if this\n * dropdown has any available options, users will still be allowed to select\n * from that list.\n * For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * dropdown.enableEditing()\n * ```\n */\n PDFDropdown.prototype.enableEditing = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].Edit, true);\n };\n /**\n * Do not allow users to edit the selected value of this dropdown in PDF\n * readers with their keyboard. This will constrain the selected value of\n * this dropdown to the list of available options. Users will only be able\n * to select an option from that list.\n * For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * dropdown.disableEditing()\n * ```\n */\n PDFDropdown.prototype.disableEditing = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].Edit, false);\n };\n /**\n * Returns `true` if the option list of this dropdown is always displayed\n * in alphabetical order, irrespective of the order in which the options\n * were added to the dropdown. See [[PDFDropdown.enableSorting]] and\n * [[PDFDropdown.disableSorting]]. For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * if (dropdown.isSorted()) console.log('Sorting is enabled')\n * ```\n * @returns Whether or not this dropdown's options are sorted.\n */\n PDFDropdown.prototype.isSorted = function () {\n return this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].Sort);\n };\n /**\n * Always display the option list of this dropdown in alphabetical order,\n * irrespective of the order in which the options were added to this dropdown.\n * For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * dropdown.enableSorting()\n * ```\n */\n PDFDropdown.prototype.enableSorting = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].Sort, true);\n };\n /**\n * Do not always display the option list of this dropdown in alphabetical\n * order. Instead, display the options in whichever order they were added\n * to the list. For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * dropdown.disableSorting()\n * ```\n */\n PDFDropdown.prototype.disableSorting = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].Sort, false);\n };\n /**\n * Returns `true` if multiple options can be selected from this dropdown's\n * option list. See [[PDFDropdown.enableMultiselect]] and\n * [[PDFDropdown.disableMultiselect]]. For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * if (dropdown.isMultiselect()) console.log('Multiselect is enabled')\n * ```\n * @returns Whether or not multiple options can be selected.\n */\n PDFDropdown.prototype.isMultiselect = function () {\n return this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].MultiSelect);\n };\n /**\n * Allow users to select more than one option from this dropdown's option\n * list. For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * dropdown.enableMultiselect()\n * ```\n */\n PDFDropdown.prototype.enableMultiselect = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].MultiSelect, true);\n };\n /**\n * Do not allow users to select more than one option from this dropdown's\n * option list. For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * dropdown.disableMultiselect()\n * ```\n */\n PDFDropdown.prototype.disableMultiselect = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].MultiSelect, false);\n };\n /**\n * Returns `true` if the selected option should be spell checked by PDF\n * readers. Spell checking will only be performed if this dropdown allows\n * editing (see [[PDFDropdown.isEditable]]). See\n * [[PDFDropdown.enableSpellChecking]] and\n * [[PDFDropdown.disableSpellChecking]]. For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * if (dropdown.isSpellChecked()) console.log('Spell checking is enabled')\n * ```\n * @returns Whether or not this dropdown can be spell checked.\n */\n PDFDropdown.prototype.isSpellChecked = function () {\n return !this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].DoNotSpellCheck);\n };\n /**\n * Allow PDF readers to spell check the selected option of this dropdown.\n * For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * dropdown.enableSpellChecking()\n * ```\n */\n PDFDropdown.prototype.enableSpellChecking = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].DoNotSpellCheck, false);\n };\n /**\n * Do not allow PDF readers to spell check the selected option of this\n * dropdown. For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * dropdown.disableSpellChecking()\n * ```\n */\n PDFDropdown.prototype.disableSpellChecking = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].DoNotSpellCheck, true);\n };\n /**\n * Returns `true` if the option selected by a user is stored, or \"committed\",\n * when the user clicks the option. The alternative is that the user's\n * selection is stored when the user leaves this dropdown field (by clicking\n * outside of it - on another field, for example). See\n * [[PDFDropdown.enableSelectOnClick]] and\n * [[PDFDropdown.disableSelectOnClick]]. For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * if (dropdown.isSelectOnClick()) console.log('Select on click is enabled')\n * ```\n * @returns Whether or not options are selected immediately after they are\n * clicked.\n */\n PDFDropdown.prototype.isSelectOnClick = function () {\n return this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].CommitOnSelChange);\n };\n /**\n * Store the option selected by a user immediately after the user clicks the\n * option. Do not wait for the user to leave this dropdown field (by clicking\n * outside of it - on another field, for example). For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * dropdown.enableSelectOnClick()\n * ```\n */\n PDFDropdown.prototype.enableSelectOnClick = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].CommitOnSelChange, true);\n };\n /**\n * Wait to store the option selected by a user until they leave this dropdown\n * field (by clicking outside of it - on another field, for example).\n * For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * dropdown.disableSelectOnClick()\n * ```\n */\n PDFDropdown.prototype.disableSelectOnClick = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].CommitOnSelChange, false);\n };\n /**\n * Show this dropdown on the specified page. For example:\n * ```js\n * const ubuntuFont = await pdfDoc.embedFont(ubuntuFontBytes)\n * const page = pdfDoc.addPage()\n *\n * const form = pdfDoc.getForm()\n * const dropdown = form.createDropdown('best.gundam')\n * dropdown.setOptions(['Exia', 'Dynames'])\n * dropdown.select('Exia')\n *\n * dropdown.addToPage(page, {\n * x: 50,\n * y: 75,\n * width: 200,\n * height: 100,\n * textColor: rgb(1, 0, 0),\n * backgroundColor: rgb(0, 1, 0),\n * borderColor: rgb(0, 0, 1),\n * borderWidth: 2,\n * rotate: degrees(90),\n * font: ubuntuFont,\n * })\n * ```\n * This will create a new widget for this dropdown field.\n * @param page The page to which this dropdown widget should be added.\n * @param options The options to be used when adding this dropdown widget.\n */\n PDFDropdown.prototype.addToPage = function (page, options) {\n var _a, _b, _c, _d, _e, _f, _g;\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(page, 'page', [[_PDFPage__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'PDFPage']]);\n Object(_PDFField__WEBPACK_IMPORTED_MODULE_3__[\"assertFieldAppearanceOptions\"])(options);\n if (!options)\n options = {};\n if (!('textColor' in options))\n options.textColor = Object(_colors__WEBPACK_IMPORTED_MODULE_5__[\"rgb\"])(0, 0, 0);\n if (!('backgroundColor' in options))\n options.backgroundColor = Object(_colors__WEBPACK_IMPORTED_MODULE_5__[\"rgb\"])(1, 1, 1);\n if (!('borderColor' in options))\n options.borderColor = Object(_colors__WEBPACK_IMPORTED_MODULE_5__[\"rgb\"])(0, 0, 0);\n if (!('borderWidth' in options))\n options.borderWidth = 1;\n // Create a widget for this dropdown\n var widget = this.createWidget({\n x: (_a = options.x) !== null && _a !== void 0 ? _a : 0,\n y: (_b = options.y) !== null && _b !== void 0 ? _b : 0,\n width: (_c = options.width) !== null && _c !== void 0 ? _c : 200,\n height: (_d = options.height) !== null && _d !== void 0 ? _d : 50,\n textColor: options.textColor,\n backgroundColor: options.backgroundColor,\n borderColor: options.borderColor,\n borderWidth: (_e = options.borderWidth) !== null && _e !== void 0 ? _e : 0,\n rotate: (_f = options.rotate) !== null && _f !== void 0 ? _f : Object(_rotations__WEBPACK_IMPORTED_MODULE_6__[\"degrees\"])(0),\n hidden: options.hidden,\n page: page.ref,\n });\n var widgetRef = this.doc.context.register(widget.dict);\n // Add widget to this field\n this.acroField.addWidget(widgetRef);\n // Set appearance streams for widget\n var font = (_g = options.font) !== null && _g !== void 0 ? _g : this.doc.getForm().getDefaultFont();\n this.updateWidgetAppearance(widget, font);\n // Add widget to the given page\n page.node.addAnnot(widgetRef);\n };\n /**\n * Returns `true` if this dropdown has been marked as dirty, or if any of\n * this dropdown's widgets do not have an appearance stream. For example:\n * ```js\n * const dropdown = form.getDropdown('some.dropdown.field')\n * if (dropdown.needsAppearancesUpdate()) console.log('Needs update')\n * ```\n * @returns Whether or not this dropdown needs an appearance update.\n */\n PDFDropdown.prototype.needsAppearancesUpdate = function () {\n var _a;\n if (this.isDirty())\n return true;\n var widgets = this.acroField.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n var hasAppearances = ((_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal) instanceof _core__WEBPACK_IMPORTED_MODULE_7__[\"PDFStream\"];\n if (!hasAppearances)\n return true;\n }\n return false;\n };\n /**\n * Update the appearance streams for each of this dropdown's widgets using\n * the default appearance provider for dropdowns. For example:\n * ```js\n * const helvetica = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const dropdown = form.getDropdown('some.dropdown.field')\n * dropdown.defaultUpdateAppearances(helvetica)\n * ```\n * @param font The font to be used for creating the appearance streams.\n */\n PDFDropdown.prototype.defaultUpdateAppearances = function (font) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(font, 'font', [[_PDFFont__WEBPACK_IMPORTED_MODULE_2__[\"default\"], 'PDFFont']]);\n this.updateAppearances(font);\n };\n /**\n * Update the appearance streams for each of this dropdown's widgets using\n * the given appearance provider. If no `provider` is passed, the default\n * appearance provider for dropdowns will be used. For example:\n * ```js\n * const helvetica = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const dropdown = form.getDropdown('some.dropdown.field')\n * dropdown.updateAppearances(helvetica, (field, widget, font) => {\n * ...\n * return drawTextField(...)\n * })\n * ```\n * @param font The font to be used for creating the appearance streams.\n * @param provider Optionally, the appearance provider to be used for\n * generating the contents of the appearance streams.\n */\n PDFDropdown.prototype.updateAppearances = function (font, provider) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(font, 'font', [[_PDFFont__WEBPACK_IMPORTED_MODULE_2__[\"default\"], 'PDFFont']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertOrUndefined\"])(provider, 'provider', [Function]);\n var widgets = this.acroField.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n this.updateWidgetAppearance(widget, font, provider);\n }\n this.markAsClean();\n };\n // getOption(index: number): string {}\n // getSelectedIndices(): number[] {}\n // removeOptions(option: string | string[]) {}\n // removeIndices(option: number[]) {}\n // deselect(options: string | string[]) {}\n // deselectIndices(optionIndices: number[]) {}\n PDFDropdown.prototype.updateWidgetAppearance = function (widget, font, provider) {\n var apProvider = provider !== null && provider !== void 0 ? provider : _appearances__WEBPACK_IMPORTED_MODULE_4__[\"defaultDropdownAppearanceProvider\"];\n var appearances = Object(_appearances__WEBPACK_IMPORTED_MODULE_4__[\"normalizeAppearance\"])(apProvider(this, widget, font));\n this.updateWidgetAppearanceWithFont(widget, font, appearances);\n };\n /**\n * > **NOTE:** You probably don't want to call this method directly. Instead,\n * > consider using the [[PDFForm.getDropdown]] method, which will create an\n * > instance of [[PDFDropdown]] for you.\n *\n * Create an instance of [[PDFDropdown]] from an existing acroComboBox and ref\n *\n * @param acroComboBox The underlying `PDFAcroComboBox` for this dropdown.\n * @param ref The unique reference for this dropdown.\n * @param doc The document to which this dropdown will belong.\n */\n PDFDropdown.of = function (acroComboBox, ref, doc) {\n return new PDFDropdown(acroComboBox, ref, doc);\n };\n return PDFDropdown;\n}(_PDFField__WEBPACK_IMPORTED_MODULE_3__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFDropdown);\n//# sourceMappingURL=PDFDropdown.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFDropdown.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFField.js":
/*!***********************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFField.js ***!
\***********************************************************************/
/*! exports provided: assertFieldAppearanceOptions, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"assertFieldAppearanceOptions\", function() { return assertFieldAppearanceOptions; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFDocument__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../PDFDocument */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFDocument.js\");\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../colors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/colors.js\");\n/* harmony import */ var _rotations__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../rotations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/rotations.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n/* harmony import */ var _image__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../image */ \"../simple-mind-map/node_modules/pdf-lib/es/api/image/index.js\");\n/* harmony import */ var _operations__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../operations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/operations.js\");\n\n\n\n\n\n\n\n\nvar assertFieldAppearanceOptions = function (options) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"assertOrUndefined\"])(options === null || options === void 0 ? void 0 : options.x, 'options.x', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"assertOrUndefined\"])(options === null || options === void 0 ? void 0 : options.y, 'options.y', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"assertOrUndefined\"])(options === null || options === void 0 ? void 0 : options.width, 'options.width', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"assertOrUndefined\"])(options === null || options === void 0 ? void 0 : options.height, 'options.height', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"assertOrUndefined\"])(options === null || options === void 0 ? void 0 : options.textColor, 'options.textColor', [\n [Object, 'Color'],\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"assertOrUndefined\"])(options === null || options === void 0 ? void 0 : options.backgroundColor, 'options.backgroundColor', [\n [Object, 'Color'],\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"assertOrUndefined\"])(options === null || options === void 0 ? void 0 : options.borderColor, 'options.borderColor', [\n [Object, 'Color'],\n ]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"assertOrUndefined\"])(options === null || options === void 0 ? void 0 : options.borderWidth, 'options.borderWidth', ['number']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"assertOrUndefined\"])(options === null || options === void 0 ? void 0 : options.rotate, 'options.rotate', [[Object, 'Rotation']]);\n};\n/**\n * Represents a field of a [[PDFForm]].\n *\n * This class is effectively abstract. All fields in a [[PDFForm]] will\n * actually be an instance of a subclass of this class.\n *\n * Note that each field in a PDF is represented by a single field object.\n * However, a given field object may be rendered at multiple locations within\n * the document (across one or more pages). The rendering of a field is\n * controlled by its widgets. Each widget causes its field to be displayed at a\n * particular location in the document.\n *\n * Most of the time each field in a PDF has only a single widget, and thus is\n * only rendered once. However, if a field is rendered multiple times, it will\n * have multiple widgets - one for each location it is rendered.\n *\n * This abstraction of field objects and widgets is defined in the PDF\n * specification and dictates how PDF files store fields and where they are\n * to be rendered.\n */\nvar PDFField = /** @class */ (function () {\n function PDFField(acroField, ref, doc) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"assertIs\"])(acroField, 'acroField', [[_core__WEBPACK_IMPORTED_MODULE_4__[\"PDFAcroTerminal\"], 'PDFAcroTerminal']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"assertIs\"])(ref, 'ref', [[_core__WEBPACK_IMPORTED_MODULE_4__[\"PDFRef\"], 'PDFRef']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"assertIs\"])(doc, 'doc', [[_PDFDocument__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'PDFDocument']]);\n this.acroField = acroField;\n this.ref = ref;\n this.doc = doc;\n }\n /**\n * Get the fully qualified name of this field. For example:\n * ```js\n * const fields = form.getFields()\n * fields.forEach(field => {\n * const name = field.getName()\n * console.log('Field name:', name)\n * })\n * ```\n * Note that PDF fields are structured as a tree. Each field is the\n * descendent of a series of ancestor nodes all the way up to the form node,\n * which is always the root of the tree. Each node in the tree (except for\n * the form node) has a partial name. Partial names can be composed of any\n * unicode characters except a period (`.`). The fully qualified name of a\n * field is composed of the partial names of all its ancestors joined\n * with periods. This means that splitting the fully qualified name on\n * periods and taking the last element of the resulting array will give you\n * the partial name of a specific field.\n * @returns The fully qualified name of this field.\n */\n PDFField.prototype.getName = function () {\n var _a;\n return (_a = this.acroField.getFullyQualifiedName()) !== null && _a !== void 0 ? _a : '';\n };\n /**\n * Returns `true` if this field is read only. This means that PDF readers\n * will not allow users to interact with the field or change its value. See\n * [[PDFField.enableReadOnly]] and [[PDFField.disableReadOnly]].\n * For example:\n * ```js\n * const field = form.getField('some.field')\n * if (field.isReadOnly()) console.log('Read only is enabled')\n * ```\n * @returns Whether or not this is a read only field.\n */\n PDFField.prototype.isReadOnly = function () {\n return this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_4__[\"AcroFieldFlags\"].ReadOnly);\n };\n /**\n * Prevent PDF readers from allowing users to interact with this field or\n * change its value. The field will not respond to mouse or keyboard input.\n * For example:\n * ```js\n * const field = form.getField('some.field')\n * field.enableReadOnly()\n * ```\n * Useful for fields whose values are computed, imported from a database, or\n * prefilled by software before being displayed to the user.\n */\n PDFField.prototype.enableReadOnly = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_4__[\"AcroFieldFlags\"].ReadOnly, true);\n };\n /**\n * Allow users to interact with this field and change its value in PDF\n * readers via mouse and keyboard input. For example:\n * ```js\n * const field = form.getField('some.field')\n * field.disableReadOnly()\n * ```\n */\n PDFField.prototype.disableReadOnly = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_4__[\"AcroFieldFlags\"].ReadOnly, false);\n };\n /**\n * Returns `true` if this field must have a value when the form is submitted.\n * See [[PDFField.enableRequired]] and [[PDFField.disableRequired]].\n * For example:\n * ```js\n * const field = form.getField('some.field')\n * if (field.isRequired()) console.log('Field is required')\n * ```\n * @returns Whether or not this field is required.\n */\n PDFField.prototype.isRequired = function () {\n return this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_4__[\"AcroFieldFlags\"].Required);\n };\n /**\n * Require this field to have a value when the form is submitted.\n * For example:\n * ```js\n * const field = form.getField('some.field')\n * field.enableRequired()\n * ```\n */\n PDFField.prototype.enableRequired = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_4__[\"AcroFieldFlags\"].Required, true);\n };\n /**\n * Do not require this field to have a value when the form is submitted.\n * For example:\n * ```js\n * const field = form.getField('some.field')\n * field.disableRequired()\n * ```\n */\n PDFField.prototype.disableRequired = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_4__[\"AcroFieldFlags\"].Required, false);\n };\n /**\n * Returns `true` if this field's value should be exported when the form is\n * submitted. See [[PDFField.enableExporting]] and\n * [[PDFField.disableExporting]].\n * For example:\n * ```js\n * const field = form.getField('some.field')\n * if (field.isExported()) console.log('Exporting is enabled')\n * ```\n * @returns Whether or not this field's value should be exported.\n */\n PDFField.prototype.isExported = function () {\n return !this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_4__[\"AcroFieldFlags\"].NoExport);\n };\n /**\n * Indicate that this field's value should be exported when the form is\n * submitted in a PDF reader. For example:\n * ```js\n * const field = form.getField('some.field')\n * field.enableExporting()\n * ```\n */\n PDFField.prototype.enableExporting = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_4__[\"AcroFieldFlags\"].NoExport, false);\n };\n /**\n * Indicate that this field's value should **not** be exported when the form\n * is submitted in a PDF reader. For example:\n * ```js\n * const field = form.getField('some.field')\n * field.disableExporting()\n * ```\n */\n PDFField.prototype.disableExporting = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_4__[\"AcroFieldFlags\"].NoExport, true);\n };\n /** @ignore */\n PDFField.prototype.needsAppearancesUpdate = function () {\n throw new _core__WEBPACK_IMPORTED_MODULE_4__[\"MethodNotImplementedError\"](this.constructor.name, 'needsAppearancesUpdate');\n };\n /** @ignore */\n PDFField.prototype.defaultUpdateAppearances = function (_font) {\n throw new _core__WEBPACK_IMPORTED_MODULE_4__[\"MethodNotImplementedError\"](this.constructor.name, 'defaultUpdateAppearances');\n };\n PDFField.prototype.markAsDirty = function () {\n this.doc.getForm().markFieldAsDirty(this.ref);\n };\n PDFField.prototype.markAsClean = function () {\n this.doc.getForm().markFieldAsClean(this.ref);\n };\n PDFField.prototype.isDirty = function () {\n return this.doc.getForm().fieldIsDirty(this.ref);\n };\n PDFField.prototype.createWidget = function (options) {\n var _a;\n var textColor = options.textColor;\n var backgroundColor = options.backgroundColor;\n var borderColor = options.borderColor;\n var borderWidth = options.borderWidth;\n var degreesAngle = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toDegrees\"])(options.rotate);\n var caption = options.caption;\n var x = options.x;\n var y = options.y;\n var width = options.width + borderWidth;\n var height = options.height + borderWidth;\n var hidden = Boolean(options.hidden);\n var pageRef = options.page;\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"assertMultiple\"])(degreesAngle, 'degreesAngle', 90);\n // Create a widget for this field\n var widget = _core__WEBPACK_IMPORTED_MODULE_4__[\"PDFWidgetAnnotation\"].create(this.doc.context, this.ref);\n // Set widget properties\n var rect = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"rotateRectangle\"])({ x: x, y: y, width: width, height: height }, borderWidth, degreesAngle);\n widget.setRectangle(rect);\n if (pageRef)\n widget.setP(pageRef);\n var ac = widget.getOrCreateAppearanceCharacteristics();\n if (backgroundColor) {\n ac.setBackgroundColor(Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"colorToComponents\"])(backgroundColor));\n }\n ac.setRotation(degreesAngle);\n if (caption)\n ac.setCaptions({ normal: caption });\n if (borderColor)\n ac.setBorderColor(Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"colorToComponents\"])(borderColor));\n var bs = widget.getOrCreateBorderStyle();\n if (borderWidth !== undefined)\n bs.setWidth(borderWidth);\n widget.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_4__[\"AnnotationFlags\"].Print, true);\n widget.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_4__[\"AnnotationFlags\"].Hidden, hidden);\n widget.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_4__[\"AnnotationFlags\"].Invisible, false);\n // Set acrofield properties\n if (textColor) {\n var da = (_a = this.acroField.getDefaultAppearance()) !== null && _a !== void 0 ? _a : '';\n var newDa = da + '\\n' + Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"setFillingColor\"])(textColor).toString();\n this.acroField.setDefaultAppearance(newDa);\n }\n return widget;\n };\n PDFField.prototype.updateWidgetAppearanceWithFont = function (widget, font, _a) {\n var normal = _a.normal, rollover = _a.rollover, down = _a.down;\n this.updateWidgetAppearances(widget, {\n normal: this.createAppearanceStream(widget, normal, font),\n rollover: rollover && this.createAppearanceStream(widget, rollover, font),\n down: down && this.createAppearanceStream(widget, down, font),\n });\n };\n PDFField.prototype.updateOnOffWidgetAppearance = function (widget, onValue, _a) {\n var normal = _a.normal, rollover = _a.rollover, down = _a.down;\n this.updateWidgetAppearances(widget, {\n normal: this.createAppearanceDict(widget, normal, onValue),\n rollover: rollover && this.createAppearanceDict(widget, rollover, onValue),\n down: down && this.createAppearanceDict(widget, down, onValue),\n });\n };\n PDFField.prototype.updateWidgetAppearances = function (widget, _a) {\n var normal = _a.normal, rollover = _a.rollover, down = _a.down;\n widget.setNormalAppearance(normal);\n if (rollover) {\n widget.setRolloverAppearance(rollover);\n }\n else {\n widget.removeRolloverAppearance();\n }\n if (down) {\n widget.setDownAppearance(down);\n }\n else {\n widget.removeDownAppearance();\n }\n };\n // // TODO: Do we need to do this...?\n // private foo(font: PDFFont, dict: PDFDict) {\n // if (!dict.lookup(PDFName.of('DR'))) {\n // dict.set(PDFName.of('DR'), dict.context.obj({}));\n // }\n // const DR = dict.lookup(PDFName.of('DR'), PDFDict);\n // if (!DR.lookup(PDFName.of('Font'))) {\n // DR.set(PDFName.of('Font'), dict.context.obj({}));\n // }\n // const Font = DR.lookup(PDFName.of('Font'), PDFDict);\n // Font.set(PDFName.of(font.name), font.ref);\n // }\n PDFField.prototype.createAppearanceStream = function (widget, appearance, font) {\n var _a;\n var context = this.acroField.dict.context;\n var _b = widget.getRectangle(), width = _b.width, height = _b.height;\n // TODO: Do we need to do this...?\n // if (font) {\n // this.foo(font, widget.dict);\n // this.foo(font, this.doc.getForm().acroForm.dict);\n // }\n // END TODO\n var Resources = font && { Font: (_a = {}, _a[font.name] = font.ref, _a) };\n var stream = context.formXObject(appearance, {\n Resources: Resources,\n BBox: context.obj([0, 0, width, height]),\n Matrix: context.obj([1, 0, 0, 1, 0, 0]),\n });\n var streamRef = context.register(stream);\n return streamRef;\n };\n /**\n * Create a FormXObject of the supplied image and add it to context.\n * The FormXObject size is calculated based on the widget (including\n * the alignment).\n * @param widget The widget that should display the image.\n * @param alignment The alignment of the image.\n * @param image The image that should be displayed.\n * @returns The ref for the FormXObject that was added to the context.\n */\n PDFField.prototype.createImageAppearanceStream = function (widget, image, alignment) {\n // NOTE: This implementation doesn't handle image borders.\n // NOTE: Acrobat seems to resize the image (maybe even skewing its aspect\n // ratio) to fit perfectly within the widget's rectangle. This method\n // does not currently do that. Should there be an option for that?\n var _a;\n var _b;\n var context = this.acroField.dict.context;\n var rectangle = widget.getRectangle();\n var ap = widget.getAppearanceCharacteristics();\n var bs = widget.getBorderStyle();\n var borderWidth = (_b = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _b !== void 0 ? _b : 0;\n var rotation = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"reduceRotation\"])(ap === null || ap === void 0 ? void 0 : ap.getRotation());\n var rotate = Object(_operations__WEBPACK_IMPORTED_MODULE_7__[\"rotateInPlace\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, rectangle), { rotation: rotation }));\n var adj = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"adjustDimsForRotation\"])(rectangle, rotation);\n var imageDims = image.scaleToFit(adj.width - borderWidth * 2, adj.height - borderWidth * 2);\n // Support borders on images and maybe other properties\n var options = {\n x: borderWidth,\n y: borderWidth,\n width: imageDims.width,\n height: imageDims.height,\n //\n rotate: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n xSkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n ySkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n };\n if (alignment === _image__WEBPACK_IMPORTED_MODULE_6__[\"ImageAlignment\"].Center) {\n options.x += (adj.width - borderWidth * 2) / 2 - imageDims.width / 2;\n options.y += (adj.height - borderWidth * 2) / 2 - imageDims.height / 2;\n }\n else if (alignment === _image__WEBPACK_IMPORTED_MODULE_6__[\"ImageAlignment\"].Right) {\n options.x = adj.width - borderWidth - imageDims.width;\n options.y = adj.height - borderWidth - imageDims.height;\n }\n var imageName = this.doc.context.addRandomSuffix('Image', 10);\n var appearance = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(rotate, Object(_operations__WEBPACK_IMPORTED_MODULE_7__[\"drawImage\"])(imageName, options));\n ////////////\n var Resources = { XObject: (_a = {}, _a[imageName] = image.ref, _a) };\n var stream = context.formXObject(appearance, {\n Resources: Resources,\n BBox: context.obj([0, 0, rectangle.width, rectangle.height]),\n Matrix: context.obj([1, 0, 0, 1, 0, 0]),\n });\n return context.register(stream);\n };\n PDFField.prototype.createAppearanceDict = function (widget, appearance, onValue) {\n var context = this.acroField.dict.context;\n var onStreamRef = this.createAppearanceStream(widget, appearance.on);\n var offStreamRef = this.createAppearanceStream(widget, appearance.off);\n var appearanceDict = context.obj({});\n appearanceDict.set(onValue, onStreamRef);\n appearanceDict.set(_core__WEBPACK_IMPORTED_MODULE_4__[\"PDFName\"].of('Off'), offStreamRef);\n return appearanceDict;\n };\n return PDFField;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFField);\n//# sourceMappingURL=PDFField.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFField.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFForm.js":
/*!**********************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFForm.js ***!
\**********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFDocument__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../PDFDocument */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFDocument.js\");\n/* harmony import */ var _PDFButton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFButton */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFButton.js\");\n/* harmony import */ var _PDFCheckBox__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PDFCheckBox */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFCheckBox.js\");\n/* harmony import */ var _PDFDropdown__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./PDFDropdown */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFDropdown.js\");\n/* harmony import */ var _PDFOptionList__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PDFOptionList */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFOptionList.js\");\n/* harmony import */ var _PDFRadioGroup__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./PDFRadioGroup */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFRadioGroup.js\");\n/* harmony import */ var _PDFSignature__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./PDFSignature */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFSignature.js\");\n/* harmony import */ var _PDFTextField__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./PDFTextField */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFTextField.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/errors.js\");\n/* harmony import */ var _PDFFont__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../PDFFont */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFFont.js\");\n/* harmony import */ var _StandardFonts__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../StandardFonts */ \"../simple-mind-map/node_modules/pdf-lib/es/api/StandardFonts.js\");\n/* harmony import */ var _operations__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ../operations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/operations.js\");\n/* harmony import */ var _operators__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ../operators */ \"../simple-mind-map/node_modules/pdf-lib/es/api/operators.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Represents the interactive form of a [[PDFDocument]].\n *\n * Interactive forms (sometimes called _AcroForms_) are collections of fields\n * designed to gather information from a user. A PDF document may contains any\n * number of fields that appear on various pages, all of which make up a single,\n * global interactive form spanning the entire document. This means that\n * instances of [[PDFDocument]] shall contain at most one [[PDFForm]].\n *\n * The fields of an interactive form are represented by [[PDFField]] instances.\n */\nvar PDFForm = /** @class */ (function () {\n function PDFForm(acroForm, doc) {\n var _this = this;\n this.embedDefaultFont = function () {\n return _this.doc.embedStandardFont(_StandardFonts__WEBPACK_IMPORTED_MODULE_11__[\"StandardFonts\"].Helvetica);\n };\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(acroForm, 'acroForm', [[_core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroForm\"], 'PDFAcroForm']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(doc, 'doc', [[_PDFDocument__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'PDFDocument']]);\n this.acroForm = acroForm;\n this.doc = doc;\n this.dirtyFields = new Set();\n this.defaultFontCache = _utils__WEBPACK_IMPORTED_MODULE_15__[\"Cache\"].populatedBy(this.embedDefaultFont);\n }\n /**\n * Returns `true` if this [[PDFForm]] has XFA data. Most PDFs with form\n * fields do not use XFA as it is not widely supported by PDF readers.\n *\n * > `pdf-lib` does not support creation, modification, or reading of XFA\n * > fields.\n *\n * For example:\n * ```js\n * const form = pdfDoc.getForm()\n * if (form.hasXFA()) console.log('PDF has XFA data')\n * ```\n * @returns Whether or not this form has XFA data.\n */\n PDFForm.prototype.hasXFA = function () {\n return this.acroForm.dict.has(_core__WEBPACK_IMPORTED_MODULE_14__[\"PDFName\"].of('XFA'));\n };\n /**\n * Disconnect the XFA data from this [[PDFForm]] (if any exists). This will\n * force readers to fallback to standard fields if the [[PDFDocument]]\n * contains any. For example:\n *\n * For example:\n * ```js\n * const form = pdfDoc.getForm()\n * form.deleteXFA()\n * ```\n */\n PDFForm.prototype.deleteXFA = function () {\n this.acroForm.dict.delete(_core__WEBPACK_IMPORTED_MODULE_14__[\"PDFName\"].of('XFA'));\n };\n /**\n * Get all fields contained in this [[PDFForm]]. For example:\n * ```js\n * const form = pdfDoc.getForm()\n * const fields = form.getFields()\n * fields.forEach(field => {\n * const type = field.constructor.name\n * const name = field.getName()\n * console.log(`${type}: ${name}`)\n * })\n * ```\n * @returns An array of all fields in this form.\n */\n PDFForm.prototype.getFields = function () {\n var allFields = this.acroForm.getAllFields();\n var fields = [];\n for (var idx = 0, len = allFields.length; idx < len; idx++) {\n var _a = allFields[idx], acroField = _a[0], ref = _a[1];\n var field = convertToPDFField(acroField, ref, this.doc);\n if (field)\n fields.push(field);\n }\n return fields;\n };\n /**\n * Get the field in this [[PDFForm]] with the given name. For example:\n * ```js\n * const form = pdfDoc.getForm()\n * const field = form.getFieldMaybe('Page1.Foo.Bar[0]')\n * if (field) console.log('Field exists!')\n * ```\n * @param name A fully qualified field name.\n * @returns The field with the specified name, if one exists.\n */\n PDFForm.prototype.getFieldMaybe = function (name) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(name, 'name', ['string']);\n var fields = this.getFields();\n for (var idx = 0, len = fields.length; idx < len; idx++) {\n var field = fields[idx];\n if (field.getName() === name)\n return field;\n }\n return undefined;\n };\n /**\n * Get the field in this [[PDFForm]] with the given name. For example:\n * ```js\n * const form = pdfDoc.getForm()\n * const field = form.getField('Page1.Foo.Bar[0]')\n * ```\n * If no field exists with the provided name, an error will be thrown.\n * @param name A fully qualified field name.\n * @returns The field with the specified name.\n */\n PDFForm.prototype.getField = function (name) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(name, 'name', ['string']);\n var field = this.getFieldMaybe(name);\n if (field)\n return field;\n throw new _errors__WEBPACK_IMPORTED_MODULE_9__[\"NoSuchFieldError\"](name);\n };\n /**\n * Get the button field in this [[PDFForm]] with the given name. For example:\n * ```js\n * const form = pdfDoc.getForm()\n * const button = form.getButton('Page1.Foo.Button[0]')\n * ```\n * An error will be thrown if no field exists with the provided name, or if\n * the field exists but is not a button.\n * @param name A fully qualified button name.\n * @returns The button with the specified name.\n */\n PDFForm.prototype.getButton = function (name) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(name, 'name', ['string']);\n var field = this.getField(name);\n if (field instanceof _PDFButton__WEBPACK_IMPORTED_MODULE_2__[\"default\"])\n return field;\n throw new _errors__WEBPACK_IMPORTED_MODULE_9__[\"UnexpectedFieldTypeError\"](name, _PDFButton__WEBPACK_IMPORTED_MODULE_2__[\"default\"], field);\n };\n /**\n * Get the check box field in this [[PDFForm]] with the given name.\n * For example:\n * ```js\n * const form = pdfDoc.getForm()\n * const checkBox = form.getCheckBox('Page1.Foo.CheckBox[0]')\n * checkBox.check()\n * ```\n * An error will be thrown if no field exists with the provided name, or if\n * the field exists but is not a check box.\n * @param name A fully qualified check box name.\n * @returns The check box with the specified name.\n */\n PDFForm.prototype.getCheckBox = function (name) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(name, 'name', ['string']);\n var field = this.getField(name);\n if (field instanceof _PDFCheckBox__WEBPACK_IMPORTED_MODULE_3__[\"default\"])\n return field;\n throw new _errors__WEBPACK_IMPORTED_MODULE_9__[\"UnexpectedFieldTypeError\"](name, _PDFCheckBox__WEBPACK_IMPORTED_MODULE_3__[\"default\"], field);\n };\n /**\n * Get the dropdown field in this [[PDFForm]] with the given name.\n * For example:\n * ```js\n * const form = pdfDoc.getForm()\n * const dropdown = form.getDropdown('Page1.Foo.Dropdown[0]')\n * const options = dropdown.getOptions()\n * dropdown.select(options[0])\n * ```\n * An error will be thrown if no field exists with the provided name, or if\n * the field exists but is not a dropdown.\n * @param name A fully qualified dropdown name.\n * @returns The dropdown with the specified name.\n */\n PDFForm.prototype.getDropdown = function (name) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(name, 'name', ['string']);\n var field = this.getField(name);\n if (field instanceof _PDFDropdown__WEBPACK_IMPORTED_MODULE_4__[\"default\"])\n return field;\n throw new _errors__WEBPACK_IMPORTED_MODULE_9__[\"UnexpectedFieldTypeError\"](name, _PDFDropdown__WEBPACK_IMPORTED_MODULE_4__[\"default\"], field);\n };\n /**\n * Get the option list field in this [[PDFForm]] with the given name.\n * For example:\n * ```js\n * const form = pdfDoc.getForm()\n * const optionList = form.getOptionList('Page1.Foo.OptionList[0]')\n * const options = optionList.getOptions()\n * optionList.select(options[0])\n * ```\n * An error will be thrown if no field exists with the provided name, or if\n * the field exists but is not an option list.\n * @param name A fully qualified option list name.\n * @returns The option list with the specified name.\n */\n PDFForm.prototype.getOptionList = function (name) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(name, 'name', ['string']);\n var field = this.getField(name);\n if (field instanceof _PDFOptionList__WEBPACK_IMPORTED_MODULE_5__[\"default\"])\n return field;\n throw new _errors__WEBPACK_IMPORTED_MODULE_9__[\"UnexpectedFieldTypeError\"](name, _PDFOptionList__WEBPACK_IMPORTED_MODULE_5__[\"default\"], field);\n };\n /**\n * Get the radio group field in this [[PDFForm]] with the given name.\n * For example:\n * ```js\n * const form = pdfDoc.getForm()\n * const radioGroup = form.getRadioGroup('Page1.Foo.RadioGroup[0]')\n * const options = radioGroup.getOptions()\n * radioGroup.select(options[0])\n * ```\n * An error will be thrown if no field exists with the provided name, or if\n * the field exists but is not a radio group.\n * @param name A fully qualified radio group name.\n * @returns The radio group with the specified name.\n */\n PDFForm.prototype.getRadioGroup = function (name) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(name, 'name', ['string']);\n var field = this.getField(name);\n if (field instanceof _PDFRadioGroup__WEBPACK_IMPORTED_MODULE_6__[\"default\"])\n return field;\n throw new _errors__WEBPACK_IMPORTED_MODULE_9__[\"UnexpectedFieldTypeError\"](name, _PDFRadioGroup__WEBPACK_IMPORTED_MODULE_6__[\"default\"], field);\n };\n /**\n * Get the signature field in this [[PDFForm]] with the given name.\n * For example:\n * ```js\n * const form = pdfDoc.getForm()\n * const signature = form.getSignature('Page1.Foo.Signature[0]')\n * ```\n * An error will be thrown if no field exists with the provided name, or if\n * the field exists but is not a signature.\n * @param name A fully qualified signature name.\n * @returns The signature with the specified name.\n */\n PDFForm.prototype.getSignature = function (name) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(name, 'name', ['string']);\n var field = this.getField(name);\n if (field instanceof _PDFSignature__WEBPACK_IMPORTED_MODULE_7__[\"default\"])\n return field;\n throw new _errors__WEBPACK_IMPORTED_MODULE_9__[\"UnexpectedFieldTypeError\"](name, _PDFSignature__WEBPACK_IMPORTED_MODULE_7__[\"default\"], field);\n };\n /**\n * Get the text field in this [[PDFForm]] with the given name.\n * For example:\n * ```js\n * const form = pdfDoc.getForm()\n * const textField = form.getTextField('Page1.Foo.TextField[0]')\n * textField.setText('Are you designed to act or to be acted upon?')\n * ```\n * An error will be thrown if no field exists with the provided name, or if\n * the field exists but is not a text field.\n * @param name A fully qualified text field name.\n * @returns The text field with the specified name.\n */\n PDFForm.prototype.getTextField = function (name) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(name, 'name', ['string']);\n var field = this.getField(name);\n if (field instanceof _PDFTextField__WEBPACK_IMPORTED_MODULE_8__[\"default\"])\n return field;\n throw new _errors__WEBPACK_IMPORTED_MODULE_9__[\"UnexpectedFieldTypeError\"](name, _PDFTextField__WEBPACK_IMPORTED_MODULE_8__[\"default\"], field);\n };\n /**\n * Create a new button field in this [[PDFForm]] with the given name.\n * For example:\n * ```js\n * const font = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const page = pdfDoc.addPage()\n *\n * const form = pdfDoc.getForm()\n * const button = form.createButton('cool.new.button')\n *\n * button.addToPage('Do Stuff', font, page)\n * ```\n * An error will be thrown if a field already exists with the provided name.\n * @param name The fully qualified name for the new button.\n * @returns The new button field.\n */\n PDFForm.prototype.createButton = function (name) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(name, 'name', ['string']);\n var nameParts = splitFieldName(name);\n var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal);\n var button = _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroPushButton\"].create(this.doc.context);\n button.setPartialName(nameParts.terminal);\n addFieldToParent(parent, [button, button.ref], nameParts.terminal);\n return _PDFButton__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of(button, button.ref, this.doc);\n };\n /**\n * Create a new check box field in this [[PDFForm]] with the given name.\n * For example:\n * ```js\n * const font = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const page = pdfDoc.addPage()\n *\n * const form = pdfDoc.getForm()\n * const checkBox = form.createCheckBox('cool.new.checkBox')\n *\n * checkBox.addToPage(page)\n * ```\n * An error will be thrown if a field already exists with the provided name.\n * @param name The fully qualified name for the new check box.\n * @returns The new check box field.\n */\n PDFForm.prototype.createCheckBox = function (name) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(name, 'name', ['string']);\n var nameParts = splitFieldName(name);\n var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal);\n var checkBox = _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroCheckBox\"].create(this.doc.context);\n checkBox.setPartialName(nameParts.terminal);\n addFieldToParent(parent, [checkBox, checkBox.ref], nameParts.terminal);\n return _PDFCheckBox__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of(checkBox, checkBox.ref, this.doc);\n };\n /**\n * Create a new dropdown field in this [[PDFForm]] with the given name.\n * For example:\n * ```js\n * const font = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const page = pdfDoc.addPage()\n *\n * const form = pdfDoc.getForm()\n * const dropdown = form.createDropdown('cool.new.dropdown')\n *\n * dropdown.addToPage(font, page)\n * ```\n * An error will be thrown if a field already exists with the provided name.\n * @param name The fully qualified name for the new dropdown.\n * @returns The new dropdown field.\n */\n PDFForm.prototype.createDropdown = function (name) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(name, 'name', ['string']);\n var nameParts = splitFieldName(name);\n var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal);\n var comboBox = _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroComboBox\"].create(this.doc.context);\n comboBox.setPartialName(nameParts.terminal);\n addFieldToParent(parent, [comboBox, comboBox.ref], nameParts.terminal);\n return _PDFDropdown__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of(comboBox, comboBox.ref, this.doc);\n };\n /**\n * Create a new option list field in this [[PDFForm]] with the given name.\n * For example:\n * ```js\n * const font = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const page = pdfDoc.addPage()\n *\n * const form = pdfDoc.getForm()\n * const optionList = form.createOptionList('cool.new.optionList')\n *\n * optionList.addToPage(font, page)\n * ```\n * An error will be thrown if a field already exists with the provided name.\n * @param name The fully qualified name for the new option list.\n * @returns The new option list field.\n */\n PDFForm.prototype.createOptionList = function (name) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(name, 'name', ['string']);\n var nameParts = splitFieldName(name);\n var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal);\n var listBox = _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroListBox\"].create(this.doc.context);\n listBox.setPartialName(nameParts.terminal);\n addFieldToParent(parent, [listBox, listBox.ref], nameParts.terminal);\n return _PDFOptionList__WEBPACK_IMPORTED_MODULE_5__[\"default\"].of(listBox, listBox.ref, this.doc);\n };\n /**\n * Create a new radio group field in this [[PDFForm]] with the given name.\n * For example:\n * ```js\n * const font = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const page = pdfDoc.addPage()\n *\n * const form = pdfDoc.getForm()\n * const radioGroup = form.createRadioGroup('cool.new.radioGroup')\n *\n * radioGroup.addOptionToPage('is-dog', page, { y: 0 })\n * radioGroup.addOptionToPage('is-cat', page, { y: 75 })\n * ```\n * An error will be thrown if a field already exists with the provided name.\n * @param name The fully qualified name for the new radio group.\n * @returns The new radio group field.\n */\n PDFForm.prototype.createRadioGroup = function (name) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(name, 'name', ['string']);\n var nameParts = splitFieldName(name);\n var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal);\n var radioButton = _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroRadioButton\"].create(this.doc.context);\n radioButton.setPartialName(nameParts.terminal);\n addFieldToParent(parent, [radioButton, radioButton.ref], nameParts.terminal);\n return _PDFRadioGroup__WEBPACK_IMPORTED_MODULE_6__[\"default\"].of(radioButton, radioButton.ref, this.doc);\n };\n /**\n * Create a new text field in this [[PDFForm]] with the given name.\n * For example:\n * ```js\n * const font = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const page = pdfDoc.addPage()\n *\n * const form = pdfDoc.getForm()\n * const textField = form.createTextField('cool.new.textField')\n *\n * textField.addToPage(font, page)\n * ```\n * An error will be thrown if a field already exists with the provided name.\n * @param name The fully qualified name for the new radio group.\n * @returns The new radio group field.\n */\n PDFForm.prototype.createTextField = function (name) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertIs\"])(name, 'name', ['string']);\n var nameParts = splitFieldName(name);\n var parent = this.findOrCreateNonTerminals(nameParts.nonTerminal);\n var text = _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroText\"].create(this.doc.context);\n text.setPartialName(nameParts.terminal);\n addFieldToParent(parent, [text, text.ref], nameParts.terminal);\n return _PDFTextField__WEBPACK_IMPORTED_MODULE_8__[\"default\"].of(text, text.ref, this.doc);\n };\n /**\n * Flatten all fields in this [[PDFForm]].\n *\n * Flattening a form field will take the current appearance for each of that\n * field's widgets and make them part of their page's content stream. All form\n * fields and annotations associated are then removed. Note that once a form\n * has been flattened its fields can no longer be accessed or edited.\n *\n * This operation is often used after filling form fields to ensure a\n * consistent appearance across different PDF readers and/or printers.\n * Another common use case is to copy a template document with form fields\n * into another document. In this scenario you would load the template\n * document, fill its fields, flatten it, and then copy its pages into the\n * recipient document - the filled fields will be copied over.\n *\n * For example:\n * ```js\n * const form = pdfDoc.getForm();\n * form.flatten();\n * ```\n */\n PDFForm.prototype.flatten = function (options) {\n if (options === void 0) { options = { updateFieldAppearances: true }; }\n if (options.updateFieldAppearances) {\n this.updateFieldAppearances();\n }\n var fields = this.getFields();\n for (var i = 0, lenFields = fields.length; i < lenFields; i++) {\n var field = fields[i];\n var widgets = field.acroField.getWidgets();\n for (var j = 0, lenWidgets = widgets.length; j < lenWidgets; j++) {\n var widget = widgets[j];\n var page = this.findWidgetPage(widget);\n var widgetRef = this.findWidgetAppearanceRef(field, widget);\n var xObjectKey = page.node.newXObject('FlatWidget', widgetRef);\n var rectangle = widget.getRectangle();\n var operators = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([\n Object(_operators__WEBPACK_IMPORTED_MODULE_13__[\"pushGraphicsState\"])(),\n Object(_operators__WEBPACK_IMPORTED_MODULE_13__[\"translate\"])(rectangle.x, rectangle.y)\n ], Object(_operations__WEBPACK_IMPORTED_MODULE_12__[\"rotateInPlace\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, rectangle), { rotation: 0 })), [\n Object(_operators__WEBPACK_IMPORTED_MODULE_13__[\"drawObject\"])(xObjectKey),\n Object(_operators__WEBPACK_IMPORTED_MODULE_13__[\"popGraphicsState\"])(),\n ]).filter(Boolean);\n page.pushOperators.apply(page, operators);\n }\n this.removeField(field);\n }\n };\n /**\n * Remove a field from this [[PDFForm]].\n *\n * For example:\n * ```js\n * const form = pdfDoc.getForm();\n * const ageField = form.getFields().find(x => x.getName() === 'Age');\n * form.removeField(ageField);\n * ```\n */\n PDFForm.prototype.removeField = function (field) {\n var widgets = field.acroField.getWidgets();\n var pages = new Set();\n for (var i = 0, len = widgets.length; i < len; i++) {\n var widget = widgets[i];\n var widgetRef = this.findWidgetAppearanceRef(field, widget);\n var page = this.findWidgetPage(widget);\n pages.add(page);\n page.node.removeAnnot(widgetRef);\n }\n pages.forEach(function (page) { return page.node.removeAnnot(field.ref); });\n this.acroForm.removeField(field.acroField);\n var fieldKids = field.acroField.normalizedEntries().Kids;\n var kidsCount = fieldKids.size();\n for (var childIndex = 0; childIndex < kidsCount; childIndex++) {\n var child = fieldKids.get(childIndex);\n if (child instanceof _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFRef\"]) {\n this.doc.context.delete(child);\n }\n }\n this.doc.context.delete(field.ref);\n };\n /**\n * Update the appearance streams for all widgets of all fields in this\n * [[PDFForm]]. Appearance streams will only be created for a widget if it\n * does not have any existing appearance streams, or the field's value has\n * changed (e.g. by calling [[PDFTextField.setText]] or\n * [[PDFDropdown.select]]).\n *\n * For example:\n * ```js\n * const courier = await pdfDoc.embedFont(StandardFonts.Courier)\n * const form = pdfDoc.getForm()\n * form.updateFieldAppearances(courier)\n * ```\n *\n * **IMPORTANT:** The default value for the `font` parameter is\n * [[StandardFonts.Helvetica]]. Note that this is a WinAnsi font. This means\n * that encoding errors will be thrown if any fields contain text with\n * characters outside the WinAnsi character set (the latin alphabet).\n *\n * Embedding a custom font and passing that as the `font`\n * parameter allows you to generate appearance streams with non WinAnsi\n * characters (assuming your custom font supports them).\n *\n * > **NOTE:** The [[PDFDocument.save]] method will call this method to\n * > update appearances automatically if a form was accessed via the\n * > [[PDFDocument.getForm]] method prior to saving.\n *\n * @param font Optionally, the font to use when creating new appearances.\n */\n PDFForm.prototype.updateFieldAppearances = function (font) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertOrUndefined\"])(font, 'font', [[_PDFFont__WEBPACK_IMPORTED_MODULE_10__[\"default\"], 'PDFFont']]);\n font = font !== null && font !== void 0 ? font : this.getDefaultFont();\n var fields = this.getFields();\n for (var idx = 0, len = fields.length; idx < len; idx++) {\n var field = fields[idx];\n if (field.needsAppearancesUpdate()) {\n field.defaultUpdateAppearances(font);\n }\n }\n };\n /**\n * Mark a field as dirty. This will cause its appearance streams to be\n * updated by [[PDFForm.updateFieldAppearances]].\n * ```js\n * const form = pdfDoc.getForm()\n * const field = form.getField('foo.bar')\n * form.markFieldAsDirty(field.ref)\n * ```\n * @param fieldRef The reference to the field that should be marked.\n */\n PDFForm.prototype.markFieldAsDirty = function (fieldRef) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertOrUndefined\"])(fieldRef, 'fieldRef', [[_core__WEBPACK_IMPORTED_MODULE_14__[\"PDFRef\"], 'PDFRef']]);\n this.dirtyFields.add(fieldRef);\n };\n /**\n * Mark a field as dirty. This will cause its appearance streams to not be\n * updated by [[PDFForm.updateFieldAppearances]].\n * ```js\n * const form = pdfDoc.getForm()\n * const field = form.getField('foo.bar')\n * form.markFieldAsClean(field.ref)\n * ```\n * @param fieldRef The reference to the field that should be marked.\n */\n PDFForm.prototype.markFieldAsClean = function (fieldRef) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertOrUndefined\"])(fieldRef, 'fieldRef', [[_core__WEBPACK_IMPORTED_MODULE_14__[\"PDFRef\"], 'PDFRef']]);\n this.dirtyFields.delete(fieldRef);\n };\n /**\n * Returns `true` is the specified field has been marked as dirty.\n * ```js\n * const form = pdfDoc.getForm()\n * const field = form.getField('foo.bar')\n * if (form.fieldIsDirty(field.ref)) console.log('Field is dirty')\n * ```\n * @param fieldRef The reference to the field that should be checked.\n * @returns Whether or not the specified field is dirty.\n */\n PDFForm.prototype.fieldIsDirty = function (fieldRef) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_15__[\"assertOrUndefined\"])(fieldRef, 'fieldRef', [[_core__WEBPACK_IMPORTED_MODULE_14__[\"PDFRef\"], 'PDFRef']]);\n return this.dirtyFields.has(fieldRef);\n };\n PDFForm.prototype.getDefaultFont = function () {\n return this.defaultFontCache.access();\n };\n PDFForm.prototype.findWidgetPage = function (widget) {\n var pageRef = widget.P();\n var page = this.doc.getPages().find(function (x) { return x.ref === pageRef; });\n if (page === undefined) {\n var widgetRef = this.doc.context.getObjectRef(widget.dict);\n if (widgetRef === undefined) {\n throw new Error('Could not find PDFRef for PDFObject');\n }\n page = this.doc.findPageForAnnotationRef(widgetRef);\n if (page === undefined) {\n throw new Error(\"Could not find page for PDFRef \" + widgetRef);\n }\n }\n return page;\n };\n PDFForm.prototype.findWidgetAppearanceRef = function (field, widget) {\n var _a;\n var refOrDict = widget.getNormalAppearance();\n if (refOrDict instanceof _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFDict\"] &&\n (field instanceof _PDFCheckBox__WEBPACK_IMPORTED_MODULE_3__[\"default\"] || field instanceof _PDFRadioGroup__WEBPACK_IMPORTED_MODULE_6__[\"default\"])) {\n var value = field.acroField.getValue();\n var ref = (_a = refOrDict.get(value)) !== null && _a !== void 0 ? _a : refOrDict.get(_core__WEBPACK_IMPORTED_MODULE_14__[\"PDFName\"].of('Off'));\n if (ref instanceof _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFRef\"]) {\n refOrDict = ref;\n }\n }\n if (!(refOrDict instanceof _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFRef\"])) {\n var name_1 = field.getName();\n throw new Error(\"Failed to extract appearance ref for: \" + name_1);\n }\n return refOrDict;\n };\n PDFForm.prototype.findOrCreateNonTerminals = function (partialNames) {\n var nonTerminal = [\n this.acroForm,\n ];\n for (var idx = 0, len = partialNames.length; idx < len; idx++) {\n var namePart = partialNames[idx];\n if (!namePart)\n throw new _errors__WEBPACK_IMPORTED_MODULE_9__[\"InvalidFieldNamePartError\"](namePart);\n var parent_1 = nonTerminal[0], parentRef = nonTerminal[1];\n var res = this.findNonTerminal(namePart, parent_1);\n if (res) {\n nonTerminal = res;\n }\n else {\n var node = _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroNonTerminal\"].create(this.doc.context);\n node.setPartialName(namePart);\n node.setParent(parentRef);\n var nodeRef = this.doc.context.register(node.dict);\n parent_1.addField(nodeRef);\n nonTerminal = [node, nodeRef];\n }\n }\n return nonTerminal;\n };\n PDFForm.prototype.findNonTerminal = function (partialName, parent) {\n var fields = parent instanceof _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroForm\"]\n ? this.acroForm.getFields()\n : Object(_core__WEBPACK_IMPORTED_MODULE_14__[\"createPDFAcroFields\"])(parent.Kids());\n for (var idx = 0, len = fields.length; idx < len; idx++) {\n var _a = fields[idx], field = _a[0], ref = _a[1];\n if (field.getPartialName() === partialName) {\n if (field instanceof _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroNonTerminal\"])\n return [field, ref];\n throw new _errors__WEBPACK_IMPORTED_MODULE_9__[\"FieldAlreadyExistsError\"](partialName);\n }\n }\n return undefined;\n };\n /**\n * > **NOTE:** You probably don't want to call this method directly. Instead,\n * > consider using the [[PDFDocument.getForm]] method, which will create an\n * > instance of [[PDFForm]] for you.\n *\n * Create an instance of [[PDFForm]] from an existing acroForm and embedder\n *\n * @param acroForm The underlying `PDFAcroForm` for this form.\n * @param doc The document to which the form will belong.\n */\n PDFForm.of = function (acroForm, doc) {\n return new PDFForm(acroForm, doc);\n };\n return PDFForm;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFForm);\nvar convertToPDFField = function (field, ref, doc) {\n if (field instanceof _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroPushButton\"])\n return _PDFButton__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of(field, ref, doc);\n if (field instanceof _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroCheckBox\"])\n return _PDFCheckBox__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of(field, ref, doc);\n if (field instanceof _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroComboBox\"])\n return _PDFDropdown__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of(field, ref, doc);\n if (field instanceof _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroListBox\"])\n return _PDFOptionList__WEBPACK_IMPORTED_MODULE_5__[\"default\"].of(field, ref, doc);\n if (field instanceof _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroText\"])\n return _PDFTextField__WEBPACK_IMPORTED_MODULE_8__[\"default\"].of(field, ref, doc);\n if (field instanceof _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroRadioButton\"]) {\n return _PDFRadioGroup__WEBPACK_IMPORTED_MODULE_6__[\"default\"].of(field, ref, doc);\n }\n if (field instanceof _core__WEBPACK_IMPORTED_MODULE_14__[\"PDFAcroSignature\"]) {\n return _PDFSignature__WEBPACK_IMPORTED_MODULE_7__[\"default\"].of(field, ref, doc);\n }\n return undefined;\n};\nvar splitFieldName = function (fullyQualifiedName) {\n if (fullyQualifiedName.length === 0) {\n throw new Error('PDF field names must not be empty strings');\n }\n var parts = fullyQualifiedName.split('.');\n for (var idx = 0, len = parts.length; idx < len; idx++) {\n if (parts[idx] === '') {\n throw new Error(\"Periods in PDF field names must be separated by at least one character: \\\"\" + fullyQualifiedName + \"\\\"\");\n }\n }\n if (parts.length === 1)\n return { nonTerminal: [], terminal: parts[0] };\n return {\n nonTerminal: parts.slice(0, parts.length - 1),\n terminal: parts[parts.length - 1],\n };\n};\nvar addFieldToParent = function (_a, _b, partialName) {\n var parent = _a[0], parentRef = _a[1];\n var field = _b[0], fieldRef = _b[1];\n var entries = parent.normalizedEntries();\n var fields = Object(_core__WEBPACK_IMPORTED_MODULE_14__[\"createPDFAcroFields\"])('Kids' in entries ? entries.Kids : entries.Fields);\n for (var idx = 0, len = fields.length; idx < len; idx++) {\n if (fields[idx][0].getPartialName() === partialName) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_9__[\"FieldAlreadyExistsError\"](partialName);\n }\n }\n parent.addField(fieldRef);\n field.setParent(parentRef);\n};\n//# sourceMappingURL=PDFForm.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFForm.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFOptionList.js":
/*!****************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFOptionList.js ***!
\****************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFPage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../PDFPage */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFPage.js\");\n/* harmony import */ var _PDFFont__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../PDFFont */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFFont.js\");\n/* harmony import */ var _PDFField__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PDFField */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFField.js\");\n/* harmony import */ var _appearances__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./appearances */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/appearances.js\");\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../colors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/colors.js\");\n/* harmony import */ var _rotations__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../rotations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/rotations.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n\n\n\n/**\n * Represents an option list field of a [[PDFForm]].\n *\n * [[PDFOptionList]] fields are interactive lists of options. The purpose of an\n * option list is to enable users to select one or more options from a set of\n * possible options. Users are able to see the full set of options without\n * first having to click on the field (though scrolling may be necessary).\n * Clicking an option in the list will cause it to be selected and displayed\n * with a highlighted background. Some option lists allow users to select\n * more than one option (see [[PDFOptionList.isMultiselect]]).\n */\nvar PDFOptionList = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFOptionList, _super);\n function PDFOptionList(acroListBox, ref, doc) {\n var _this = _super.call(this, acroListBox, ref, doc) || this;\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(acroListBox, 'acroListBox', [[_core__WEBPACK_IMPORTED_MODULE_7__[\"PDFAcroListBox\"], 'PDFAcroListBox']]);\n _this.acroField = acroListBox;\n return _this;\n }\n /**\n * Get the list of available options for this option list. These options will\n * be displayed to users who view this option list in a PDF reader.\n * For example:\n * ```js\n * const optionList = form.getOptionList('some.optionList.field')\n * const options = optionList.getOptions()\n * console.log('Option List options:', options)\n * ```\n * @returns The options for this option list.\n */\n PDFOptionList.prototype.getOptions = function () {\n var rawOptions = this.acroField.getOptions();\n var options = new Array(rawOptions.length);\n for (var idx = 0, len = options.length; idx < len; idx++) {\n var _a = rawOptions[idx], display = _a.display, value = _a.value;\n options[idx] = (display !== null && display !== void 0 ? display : value).decodeText();\n }\n return options;\n };\n /**\n * Get the selected options for this option list. These are the values that\n * were selected by a human user via a PDF reader, or programatically via\n * software.\n * For example:\n * ```js\n * const optionList = form.getOptionList('some.optionList.field')\n * const selections = optionList.getSelected()\n * console.log('Option List selections:', selections)\n * ```\n * @returns The selected options for this option list.\n */\n PDFOptionList.prototype.getSelected = function () {\n var values = this.acroField.getValues();\n var selected = new Array(values.length);\n for (var idx = 0, len = values.length; idx < len; idx++) {\n selected[idx] = values[idx].decodeText();\n }\n return selected;\n };\n /**\n * Set the list of options that are available for this option list. These are\n * the values that will be available for users to select when they view this\n * option list in a PDF reader. Note that preexisting options for this\n * option list will be removed. Only the values passed as `options` will be\n * available to select.\n *\n * For example:\n * ```js\n * const optionList = form.getOptionList('planets.optionList')\n * optionList.setOptions(['Earth', 'Mars', 'Pluto', 'Venus'])\n * ```\n *\n * This method will mark this option list as dirty, causing its appearance\n * streams to be updated when either [[PDFDocument.save]] or\n * [[PDFForm.updateFieldAppearances]] is called. The updated streams will\n * display the options this field contains inside the widgets of this text\n * field (with selected options highlighted).\n *\n * **IMPORTANT:** The default font used to update appearance streams is\n * [[StandardFonts.Helvetica]]. Note that this is a WinAnsi font. This means\n * that encoding errors will be thrown if this field contains any options\n * with characters outside the WinAnsi character set (the latin alphabet).\n *\n * Embedding a custom font and passing it to\n * [[PDFForm.updateFieldAppearances]] or [[PDFOptionList.updateAppearances]]\n * allows you to generate appearance streams with characters outside the\n * latin alphabet (assuming the custom font supports them).\n *\n * @param options The options that should be available in this option list.\n */\n PDFOptionList.prototype.setOptions = function (options) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(options, 'options', [Array]);\n this.markAsDirty();\n var optionObjects = new Array(options.length);\n for (var idx = 0, len = options.length; idx < len; idx++) {\n optionObjects[idx] = { value: _core__WEBPACK_IMPORTED_MODULE_7__[\"PDFHexString\"].fromText(options[idx]) };\n }\n this.acroField.setOptions(optionObjects);\n };\n /**\n * Add to the list of options that are available for this option list. Users\n * will be able to select these values in a PDF reader. In addition to the\n * values passed as `options`, any preexisting options for this option list\n * will still be available for users to select.\n * For example:\n * ```js\n * const optionList = form.getOptionList('rockets.optionList')\n * optionList.addOptions(['Saturn IV', 'Falcon Heavy'])\n * ```\n * This method will mark this option list as dirty. See\n * [[PDFOptionList.setOptions]] for more details about what this means.\n * @param options New options that should be available in this option list.\n */\n PDFOptionList.prototype.addOptions = function (options) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(options, 'options', ['string', Array]);\n this.markAsDirty();\n var optionsArr = Array.isArray(options) ? options : [options];\n var existingOptions = this.acroField.getOptions();\n var newOptions = new Array(optionsArr.length);\n for (var idx = 0, len = optionsArr.length; idx < len; idx++) {\n newOptions[idx] = { value: _core__WEBPACK_IMPORTED_MODULE_7__[\"PDFHexString\"].fromText(optionsArr[idx]) };\n }\n this.acroField.setOptions(existingOptions.concat(newOptions));\n };\n /**\n * Select one or more values for this option list. This operation is analogous\n * to a human user opening the option list in a PDF reader and clicking on one\n * or more values to select them. This method will update the underlying state\n * of the option list to indicate which values have been selected. PDF\n * libraries and readers will be able to extract these values from the saved\n * document and determine which values were selected.\n * For example:\n * ```js\n * const optionList = form.getOptionList('best.superheroes.optionList')\n * optionList.select(['One Punch Man', 'Iron Man'])\n * ```\n * This method will mark this option list as dirty. See\n * [[PDFOptionList.setOptions]] for more details about what this means.\n * @param options The options to be selected.\n * @param merge Whether or not existing selections should be preserved.\n */\n PDFOptionList.prototype.select = function (options, merge) {\n if (merge === void 0) { merge = false; }\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(options, 'options', ['string', Array]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(merge, 'merge', ['boolean']);\n var optionsArr = Array.isArray(options) ? options : [options];\n var validOptions = this.getOptions();\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIsSubset\"])(optionsArr, 'option', validOptions);\n this.markAsDirty();\n if (optionsArr.length > 1 || (optionsArr.length === 1 && merge)) {\n this.enableMultiselect();\n }\n var values = new Array(optionsArr.length);\n for (var idx = 0, len = optionsArr.length; idx < len; idx++) {\n values[idx] = _core__WEBPACK_IMPORTED_MODULE_7__[\"PDFHexString\"].fromText(optionsArr[idx]);\n }\n if (merge) {\n var existingValues = this.acroField.getValues();\n this.acroField.setValues(existingValues.concat(values));\n }\n else {\n this.acroField.setValues(values);\n }\n };\n /**\n * Clear all selected values for this option list. This operation is\n * equivalent to selecting an empty list. This method will update the\n * underlying state of the option list to indicate that no values have been\n * selected.\n * For example:\n * ```js\n * const optionList = form.getOptionList('some.optionList.field')\n * optionList.clear()\n * ```\n * This method will mark this option list as dirty. See\n * [[PDFOptionList.setOptions]] for more details about what this means.\n */\n PDFOptionList.prototype.clear = function () {\n this.markAsDirty();\n this.acroField.setValues([]);\n };\n /**\n * Set the font size for the text in this field. There needs to be a\n * default appearance string (DA) set with a font value specified\n * for this to work. For example:\n * ```js\n * const optionList = form.getOptionList('some.optionList.field')\n * optionList.setFontSize(4);\n * ```\n * @param fontSize The font size to set the font to.\n */\n /**\n * Set the font size for this field. Larger font sizes will result in larger\n * text being displayed when PDF readers render this option list. Font sizes\n * may be integer or floating point numbers. Supplying a negative font size\n * will cause this method to throw an error.\n *\n * For example:\n * ```js\n * const optionList = form.getOptionList('some.optionList.field')\n * optionList.setFontSize(4)\n * optionList.setFontSize(15.7)\n * ```\n *\n * > This method depends upon the existence of a default appearance\n * > (`/DA`) string. If this field does not have a default appearance string,\n * > or that string does not contain a font size (via the `Tf` operator),\n * > then this method will throw an error.\n *\n * @param fontSize The font size to be used when rendering text in this field.\n */\n PDFOptionList.prototype.setFontSize = function (fontSize) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertPositive\"])(fontSize, 'fontSize');\n this.acroField.setFontSize(fontSize);\n this.markAsDirty();\n };\n /**\n * Returns `true` if the options of this option list are always displayed\n * in alphabetical order, irrespective of the order in which the options\n * were added to the option list. See [[PDFOptionList.enableSorting]] and\n * [[PDFOptionList.disableSorting]]. For example:\n * ```js\n * const optionList = form.getOptionList('some.optionList.field')\n * if (optionList.isSorted()) console.log('Sorting is enabled')\n * ```\n * @returns Whether or not this option list is sorted.\n */\n PDFOptionList.prototype.isSorted = function () {\n return this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].Sort);\n };\n /**\n * Always display the options of this option list in alphabetical order,\n * irrespective of the order in which the options were added to this option\n * list.\n * For example:\n * ```js\n * const optionList = form.getOptionList('some.optionList.field')\n * optionList.enableSorting()\n * ```\n */\n PDFOptionList.prototype.enableSorting = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].Sort, true);\n };\n /**\n * Do not always display the options of this option list in alphabetical\n * order. Instead, display the options in whichever order they were added\n * to this option list. For example:\n * ```js\n * const optionList = form.getOptionList('some.optionList.field')\n * optionList.disableSorting()\n * ```\n */\n PDFOptionList.prototype.disableSorting = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].Sort, false);\n };\n /**\n * Returns `true` if multiple options can be selected from this option list.\n * See [[PDFOptionList.enableMultiselect]] and\n * [[PDFOptionList.disableMultiselect]]. For example:\n * ```js\n * const optionList = form.getOptionList('some.optionList.field')\n * if (optionList.isMultiselect()) console.log('Multiselect is enabled')\n * ```\n * @returns Whether or not multiple options can be selected.\n */\n PDFOptionList.prototype.isMultiselect = function () {\n return this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].MultiSelect);\n };\n /**\n * Allow users to select more than one option from this option list.\n * For example:\n * ```js\n * const optionList = form.getOptionList('some.optionList.field')\n * optionList.enableMultiselect()\n * ```\n */\n PDFOptionList.prototype.enableMultiselect = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].MultiSelect, true);\n };\n /**\n * Do not allow users to select more than one option from this option list.\n * For example:\n * ```js\n * const optionList = form.getOptionList('some.optionList.field')\n * optionList.disableMultiselect()\n * ```\n */\n PDFOptionList.prototype.disableMultiselect = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].MultiSelect, false);\n };\n /**\n * Returns `true` if the option selected by a user is stored, or \"committed\",\n * when the user clicks the option. The alternative is that the user's\n * selection is stored when the user leaves this option list field (by\n * clicking outside of it - on another field, for example). See\n * [[PDFOptionList.enableSelectOnClick]] and\n * [[PDFOptionList.disableSelectOnClick]]. For example:\n * ```js\n * const optionList = form.getOptionList('some.optionList.field')\n * if (optionList.isSelectOnClick()) console.log('Select on click is enabled')\n * ```\n * @returns Whether or not options are selected immediately after they are\n * clicked.\n */\n PDFOptionList.prototype.isSelectOnClick = function () {\n return this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].CommitOnSelChange);\n };\n /**\n * Store the option selected by a user immediately after the user clicks the\n * option. Do not wait for the user to leave this option list field (by\n * clicking outside of it - on another field, for example). For example:\n * ```js\n * const optionList = form.getOptionList('some.optionList.field')\n * optionList.enableSelectOnClick()\n * ```\n */\n PDFOptionList.prototype.enableSelectOnClick = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].CommitOnSelChange, true);\n };\n /**\n * Wait to store the option selected by a user until they leave this option\n * list field (by clicking outside of it - on another field, for example).\n * For example:\n * ```js\n * const optionList = form.getOptionList('some.optionList.field')\n * optionList.disableSelectOnClick()\n * ```\n */\n PDFOptionList.prototype.disableSelectOnClick = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_7__[\"AcroChoiceFlags\"].CommitOnSelChange, false);\n };\n /**\n * Show this option list on the specified page. For example:\n * ```js\n * const ubuntuFont = await pdfDoc.embedFont(ubuntuFontBytes)\n * const page = pdfDoc.addPage()\n *\n * const form = pdfDoc.getForm()\n * const optionList = form.createOptionList('best.gundams')\n * optionList.setOptions(['Exia', 'Dynames', 'Kyrios', 'Virtue'])\n * optionList.select(['Exia', 'Virtue'])\n *\n * optionList.addToPage(page, {\n * x: 50,\n * y: 75,\n * width: 200,\n * height: 100,\n * textColor: rgb(1, 0, 0),\n * backgroundColor: rgb(0, 1, 0),\n * borderColor: rgb(0, 0, 1),\n * borderWidth: 2,\n * rotate: degrees(90),\n * font: ubuntuFont,\n * })\n * ```\n * This will create a new widget for this option list field.\n * @param page The page to which this option list widget should be added.\n * @param options The options to be used when adding this option list widget.\n */\n PDFOptionList.prototype.addToPage = function (page, options) {\n var _a, _b, _c, _d, _e, _f, _g;\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(page, 'page', [[_PDFPage__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'PDFPage']]);\n Object(_PDFField__WEBPACK_IMPORTED_MODULE_3__[\"assertFieldAppearanceOptions\"])(options);\n if (!options)\n options = {};\n if (!('textColor' in options))\n options.textColor = Object(_colors__WEBPACK_IMPORTED_MODULE_5__[\"rgb\"])(0, 0, 0);\n if (!('backgroundColor' in options))\n options.backgroundColor = Object(_colors__WEBPACK_IMPORTED_MODULE_5__[\"rgb\"])(1, 1, 1);\n if (!('borderColor' in options))\n options.borderColor = Object(_colors__WEBPACK_IMPORTED_MODULE_5__[\"rgb\"])(0, 0, 0);\n if (!('borderWidth' in options))\n options.borderWidth = 1;\n // Create a widget for this option list\n var widget = this.createWidget({\n x: (_a = options.x) !== null && _a !== void 0 ? _a : 0,\n y: (_b = options.y) !== null && _b !== void 0 ? _b : 0,\n width: (_c = options.width) !== null && _c !== void 0 ? _c : 200,\n height: (_d = options.height) !== null && _d !== void 0 ? _d : 100,\n textColor: options.textColor,\n backgroundColor: options.backgroundColor,\n borderColor: options.borderColor,\n borderWidth: (_e = options.borderWidth) !== null && _e !== void 0 ? _e : 0,\n rotate: (_f = options.rotate) !== null && _f !== void 0 ? _f : Object(_rotations__WEBPACK_IMPORTED_MODULE_6__[\"degrees\"])(0),\n hidden: options.hidden,\n page: page.ref,\n });\n var widgetRef = this.doc.context.register(widget.dict);\n // Add widget to this field\n this.acroField.addWidget(widgetRef);\n // Set appearance streams for widget\n var font = (_g = options.font) !== null && _g !== void 0 ? _g : this.doc.getForm().getDefaultFont();\n this.updateWidgetAppearance(widget, font);\n // Add widget to the given page\n page.node.addAnnot(widgetRef);\n };\n /**\n * Returns `true` if this option list has been marked as dirty, or if any of\n * this option list's widgets do not have an appearance stream. For example:\n * ```js\n * const optionList = form.getOptionList('some.optionList.field')\n * if (optionList.needsAppearancesUpdate()) console.log('Needs update')\n * ```\n * @returns Whether or not this option list needs an appearance update.\n */\n PDFOptionList.prototype.needsAppearancesUpdate = function () {\n var _a;\n if (this.isDirty())\n return true;\n var widgets = this.acroField.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n var hasAppearances = ((_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal) instanceof _core__WEBPACK_IMPORTED_MODULE_7__[\"PDFStream\"];\n if (!hasAppearances)\n return true;\n }\n return false;\n };\n /**\n * Update the appearance streams for each of this option list's widgets using\n * the default appearance provider for option lists. For example:\n * ```js\n * const helvetica = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const optionList = form.getOptionList('some.optionList.field')\n * optionList.defaultUpdateAppearances(helvetica)\n * ```\n * @param font The font to be used for creating the appearance streams.\n */\n PDFOptionList.prototype.defaultUpdateAppearances = function (font) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(font, 'font', [[_PDFFont__WEBPACK_IMPORTED_MODULE_2__[\"default\"], 'PDFFont']]);\n this.updateAppearances(font);\n };\n /**\n * Update the appearance streams for each of this option list's widgets using\n * the given appearance provider. If no `provider` is passed, the default\n * appearance provider for option lists will be used. For example:\n * ```js\n * const helvetica = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const optionList = form.getOptionList('some.optionList.field')\n * optionList.updateAppearances(helvetica, (field, widget, font) => {\n * ...\n * return drawOptionList(...)\n * })\n * ```\n * @param font The font to be used for creating the appearance streams.\n * @param provider Optionally, the appearance provider to be used for\n * generating the contents of the appearance streams.\n */\n PDFOptionList.prototype.updateAppearances = function (font, provider) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"])(font, 'font', [[_PDFFont__WEBPACK_IMPORTED_MODULE_2__[\"default\"], 'PDFFont']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_8__[\"assertOrUndefined\"])(provider, 'provider', [Function]);\n var widgets = this.acroField.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n this.updateWidgetAppearance(widget, font, provider);\n }\n this.markAsClean();\n };\n // getOption(index: number): string {}\n // getSelectedIndices(): number[] {}\n // removeOptions(option: string | string[]) {}\n // removeIndices(option: number[]) {}\n // deselect(options: string | string[]) {}\n // deselectIndices(optionIndices: number[]) {}\n PDFOptionList.prototype.updateWidgetAppearance = function (widget, font, provider) {\n var apProvider = provider !== null && provider !== void 0 ? provider : _appearances__WEBPACK_IMPORTED_MODULE_4__[\"defaultOptionListAppearanceProvider\"];\n var appearances = Object(_appearances__WEBPACK_IMPORTED_MODULE_4__[\"normalizeAppearance\"])(apProvider(this, widget, font));\n this.updateWidgetAppearanceWithFont(widget, font, appearances);\n };\n /**\n * > **NOTE:** You probably don't want to call this method directly. Instead,\n * > consider using the [[PDFForm.getOptionList]] method, which will create\n * > an instance of [[PDFOptionList]] for you.\n *\n * Create an instance of [[PDFOptionList]] from an existing acroListBox and\n * ref\n *\n * @param acroComboBox The underlying `PDFAcroListBox` for this option list.\n * @param ref The unique reference for this option list.\n * @param doc The document to which this option list will belong.\n */\n PDFOptionList.of = function (acroListBox, ref, doc) {\n return new PDFOptionList(acroListBox, ref, doc);\n };\n return PDFOptionList;\n}(_PDFField__WEBPACK_IMPORTED_MODULE_3__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFOptionList);\n//# sourceMappingURL=PDFOptionList.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFOptionList.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFRadioGroup.js":
/*!****************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFRadioGroup.js ***!
\****************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFPage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../PDFPage */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFPage.js\");\n/* harmony import */ var _PDFField__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFField */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFField.js\");\n/* harmony import */ var _appearances__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./appearances */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/appearances.js\");\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../colors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/colors.js\");\n/* harmony import */ var _rotations__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../rotations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/rotations.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n\n\n/**\n * Represents a radio group field of a [[PDFForm]].\n *\n * [[PDFRadioGroup]] fields are collections of radio buttons. The purpose of a\n * radio group is to enable users to select one option from a set of mutually\n * exclusive choices. Each choice in a radio group is represented by a radio\n * button. Radio buttons each have two states: `on` and `off`. At most one\n * radio button in a group may be in the `on` state at any time. Users can\n * click on a radio button to select it (and thereby automatically deselect any\n * other radio button that might have already been selected). Some radio\n * groups allow users to toggle a selected radio button `off` by clicking on\n * it (see [[PDFRadioGroup.isOffToggleable]]).\n *\n * Note that some radio groups allow multiple radio buttons to be in the `on`\n * state at the same type **if** they represent the same underlying value (see\n * [[PDFRadioGroup.isMutuallyExclusive]]).\n */\nvar PDFRadioGroup = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFRadioGroup, _super);\n function PDFRadioGroup(acroRadioButton, ref, doc) {\n var _this = _super.call(this, acroRadioButton, ref, doc) || this;\n Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"assertIs\"])(acroRadioButton, 'acroRadioButton', [\n [_core__WEBPACK_IMPORTED_MODULE_6__[\"PDFAcroRadioButton\"], 'PDFAcroRadioButton'],\n ]);\n _this.acroField = acroRadioButton;\n return _this;\n }\n /**\n * Get the list of available options for this radio group. Each option is\n * represented by a radio button. These radio buttons are displayed at\n * various locations in the document, potentially on different pages (though\n * typically they are stacked horizontally or vertically on the same page).\n * For example:\n * ```js\n * const radioGroup = form.getRadioGroup('some.radioGroup.field')\n * const options = radioGroup.getOptions()\n * console.log('Radio Group options:', options)\n * ```\n * @returns The options for this radio group.\n */\n PDFRadioGroup.prototype.getOptions = function () {\n var exportValues = this.acroField.getExportValues();\n if (exportValues) {\n var exportOptions = new Array(exportValues.length);\n for (var idx = 0, len = exportValues.length; idx < len; idx++) {\n exportOptions[idx] = exportValues[idx].decodeText();\n }\n return exportOptions;\n }\n var onValues = this.acroField.getOnValues();\n var onOptions = new Array(onValues.length);\n for (var idx = 0, len = onOptions.length; idx < len; idx++) {\n onOptions[idx] = onValues[idx].decodeText();\n }\n return onOptions;\n };\n /**\n * Get the selected option for this radio group. The selected option is\n * represented by the radio button in this group that is turned on. At most\n * one radio button in a group can be selected. If no buttons in this group\n * are selected, `undefined` is returned.\n * For example:\n * ```js\n * const radioGroup = form.getRadioGroup('some.radioGroup.field')\n * const selected = radioGroup.getSelected()\n * console.log('Selected radio button:', selected)\n * ```\n * @returns The selected option for this radio group.\n */\n PDFRadioGroup.prototype.getSelected = function () {\n var value = this.acroField.getValue();\n if (value === _core__WEBPACK_IMPORTED_MODULE_6__[\"PDFName\"].of('Off'))\n return undefined;\n var exportValues = this.acroField.getExportValues();\n if (exportValues) {\n var onValues = this.acroField.getOnValues();\n for (var idx = 0, len = onValues.length; idx < len; idx++) {\n if (onValues[idx] === value)\n return exportValues[idx].decodeText();\n }\n }\n return value.decodeText();\n };\n // // TODO: Figure out why this seems to crash Acrobat. Maybe it's because we\n // // aren't removing the widget reference from the page's Annots?\n // removeOption(option: string) {\n // assertIs(option, 'option', ['string']);\n // // TODO: Assert is valid `option`!\n // const onValues = this.acroField.getOnValues();\n // const exportValues = this.acroField.getExportValues();\n // if (exportValues) {\n // for (let idx = 0, len = exportValues.length; idx < len; idx++) {\n // if (exportValues[idx].decodeText() === option) {\n // this.acroField.removeWidget(idx);\n // this.acroField.removeExportValue(idx);\n // }\n // }\n // } else {\n // for (let idx = 0, len = onValues.length; idx < len; idx++) {\n // const value = onValues[idx];\n // if (value.decodeText() === option) {\n // this.acroField.removeWidget(idx);\n // this.acroField.removeExportValue(idx);\n // }\n // }\n // }\n // }\n /**\n * Select an option for this radio group. This operation is analogous to a\n * human user clicking one of the radio buttons in this group via a PDF\n * reader to toggle it on. This method will update the underlying state of\n * the radio group to indicate which option has been selected. PDF libraries\n * and readers will be able to extract this value from the saved document and\n * determine which option was selected.\n *\n * For example:\n * ```js\n * const radioGroup = form.getRadioGroup('best.superhero.radioGroup')\n * radioGroup.select('One Punch Man')\n * ```\n *\n * This method will mark this radio group as dirty, causing its appearance\n * streams to be updated when either [[PDFDocument.save]] or\n * [[PDFForm.updateFieldAppearances]] is called. The updated appearance\n * streams will display a dot inside the widget of this check box field\n * that represents the selected option.\n *\n * @param option The option to be selected.\n */\n PDFRadioGroup.prototype.select = function (option) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"assertIs\"])(option, 'option', ['string']);\n var validOptions = this.getOptions();\n Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"assertIsOneOf\"])(option, 'option', validOptions);\n this.markAsDirty();\n var onValues = this.acroField.getOnValues();\n var exportValues = this.acroField.getExportValues();\n if (exportValues) {\n for (var idx = 0, len = exportValues.length; idx < len; idx++) {\n if (exportValues[idx].decodeText() === option) {\n this.acroField.setValue(onValues[idx]);\n }\n }\n }\n else {\n for (var idx = 0, len = onValues.length; idx < len; idx++) {\n var value = onValues[idx];\n if (value.decodeText() === option)\n this.acroField.setValue(value);\n }\n }\n };\n /**\n * Clear any selected option for this dropdown. This will result in all\n * radio buttons in this group being toggled off. This method will update\n * the underlying state of the dropdown to indicate that no radio buttons\n * have been selected.\n * For example:\n * ```js\n * const radioGroup = form.getRadioGroup('some.radioGroup.field')\n * radioGroup.clear()\n * ```\n * This method will mark this radio group as dirty. See\n * [[PDFRadioGroup.select]] for more details about what this means.\n */\n PDFRadioGroup.prototype.clear = function () {\n this.markAsDirty();\n this.acroField.setValue(_core__WEBPACK_IMPORTED_MODULE_6__[\"PDFName\"].of('Off'));\n };\n /**\n * Returns `true` if users can click on radio buttons in this group to toggle\n * them off. The alternative is that once a user clicks on a radio button\n * to select it, the only way to deselect it is by selecting on another radio\n * button in the group. See [[PDFRadioGroup.enableOffToggling]] and\n * [[PDFRadioGroup.disableOffToggling]]. For example:\n * ```js\n * const radioGroup = form.getRadioGroup('some.radioGroup.field')\n * if (radioGroup.isOffToggleable()) console.log('Off toggling is enabled')\n * ```\n */\n PDFRadioGroup.prototype.isOffToggleable = function () {\n return !this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_6__[\"AcroButtonFlags\"].NoToggleToOff);\n };\n /**\n * Allow users to click on selected radio buttons in this group to toggle\n * them off. For example:\n * ```js\n * const radioGroup = form.getRadioGroup('some.radioGroup.field')\n * radioGroup.enableOffToggling()\n * ```\n * > **NOTE:** This feature is documented in the PDF specification\n * > (Table 226). However, most PDF readers do not respect this option and\n * > prevent users from toggling radio buttons off even when it is enabled.\n * > At the time of this writing (9/6/2020) Mac's Preview software did\n * > respect the option. Adobe Acrobat, Foxit Reader, and Google Chrome did\n * > not.\n */\n PDFRadioGroup.prototype.enableOffToggling = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_6__[\"AcroButtonFlags\"].NoToggleToOff, false);\n };\n /**\n * Prevent users from clicking on selected radio buttons in this group to\n * toggle them off. Clicking on a selected radio button will have no effect.\n * The only way to deselect a selected radio button is to click on a\n * different radio button in the group. For example:\n * ```js\n * const radioGroup = form.getRadioGroup('some.radioGroup.field')\n * radioGroup.disableOffToggling()\n * ```\n */\n PDFRadioGroup.prototype.disableOffToggling = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_6__[\"AcroButtonFlags\"].NoToggleToOff, true);\n };\n /**\n * Returns `true` if the radio buttons in this group are mutually exclusive.\n * This means that when the user selects a radio button, only that specific\n * button will be turned on. Even if other radio buttons in the group\n * represent the same value, they will not be enabled. The alternative to\n * this is that clicking a radio button will select that button along with\n * any other radio buttons in the group that share the same value. See\n * [[PDFRadioGroup.enableMutualExclusion]] and\n * [[PDFRadioGroup.disableMutualExclusion]].\n * For example:\n * ```js\n * const radioGroup = form.getRadioGroup('some.radioGroup.field')\n * if (radioGroup.isMutuallyExclusive()) console.log('Mutual exclusion is enabled')\n * ```\n */\n PDFRadioGroup.prototype.isMutuallyExclusive = function () {\n return !this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_6__[\"AcroButtonFlags\"].RadiosInUnison);\n };\n /**\n * When the user clicks a radio button in this group it will be selected. In\n * addition, any other radio buttons in this group that share the same\n * underlying value will also be selected. For example:\n * ```js\n * const radioGroup = form.getRadioGroup('some.radioGroup.field')\n * radioGroup.enableMutualExclusion()\n * ```\n * Note that this option must be enabled prior to adding options to the\n * radio group. It does not currently apply retroactively to existing\n * radio buttons in the group.\n */\n PDFRadioGroup.prototype.enableMutualExclusion = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_6__[\"AcroButtonFlags\"].RadiosInUnison, false);\n };\n /**\n * When the user clicks a radio button in this group only it will be selected.\n * No other radio buttons in the group will be selected, even if they share\n * the same underlying value. For example:\n * ```js\n * const radioGroup = form.getRadioGroup('some.radioGroup.field')\n * radioGroup.disableMutualExclusion()\n * ```\n * Note that this option must be disabled prior to adding options to the\n * radio group. It does not currently apply retroactively to existing\n * radio buttons in the group.\n */\n PDFRadioGroup.prototype.disableMutualExclusion = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_6__[\"AcroButtonFlags\"].RadiosInUnison, true);\n };\n /**\n * Add a new radio button to this group on the specified page. For example:\n * ```js\n * const page = pdfDoc.addPage()\n *\n * const form = pdfDoc.getForm()\n * const radioGroup = form.createRadioGroup('best.gundam')\n *\n * const options = {\n * x: 50,\n * width: 25,\n * height: 25,\n * textColor: rgb(1, 0, 0),\n * backgroundColor: rgb(0, 1, 0),\n * borderColor: rgb(0, 0, 1),\n * borderWidth: 2,\n * rotate: degrees(90),\n * }\n *\n * radioGroup.addOptionToPage('Exia', page, { ...options, y: 50 })\n * radioGroup.addOptionToPage('Dynames', page, { ...options, y: 110 })\n * ```\n * This will create a new radio button widget for this radio group field.\n * @param option The option that the radio button widget represents.\n * @param page The page to which the radio button widget should be added.\n * @param options The options to be used when adding the radio button widget.\n */\n PDFRadioGroup.prototype.addOptionToPage = function (option, page, options) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j;\n Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"assertIs\"])(option, 'option', ['string']);\n Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"assertIs\"])(page, 'page', [[_PDFPage__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'PDFPage']]);\n Object(_PDFField__WEBPACK_IMPORTED_MODULE_2__[\"assertFieldAppearanceOptions\"])(options);\n // Create a widget for this radio button\n var widget = this.createWidget({\n x: (_a = options === null || options === void 0 ? void 0 : options.x) !== null && _a !== void 0 ? _a : 0,\n y: (_b = options === null || options === void 0 ? void 0 : options.y) !== null && _b !== void 0 ? _b : 0,\n width: (_c = options === null || options === void 0 ? void 0 : options.width) !== null && _c !== void 0 ? _c : 50,\n height: (_d = options === null || options === void 0 ? void 0 : options.height) !== null && _d !== void 0 ? _d : 50,\n textColor: (_e = options === null || options === void 0 ? void 0 : options.textColor) !== null && _e !== void 0 ? _e : Object(_colors__WEBPACK_IMPORTED_MODULE_4__[\"rgb\"])(0, 0, 0),\n backgroundColor: (_f = options === null || options === void 0 ? void 0 : options.backgroundColor) !== null && _f !== void 0 ? _f : Object(_colors__WEBPACK_IMPORTED_MODULE_4__[\"rgb\"])(1, 1, 1),\n borderColor: (_g = options === null || options === void 0 ? void 0 : options.borderColor) !== null && _g !== void 0 ? _g : Object(_colors__WEBPACK_IMPORTED_MODULE_4__[\"rgb\"])(0, 0, 0),\n borderWidth: (_h = options === null || options === void 0 ? void 0 : options.borderWidth) !== null && _h !== void 0 ? _h : 1,\n rotate: (_j = options === null || options === void 0 ? void 0 : options.rotate) !== null && _j !== void 0 ? _j : Object(_rotations__WEBPACK_IMPORTED_MODULE_5__[\"degrees\"])(0),\n hidden: options === null || options === void 0 ? void 0 : options.hidden,\n page: page.ref,\n });\n var widgetRef = this.doc.context.register(widget.dict);\n // Add widget to this field\n var apStateValue = this.acroField.addWidgetWithOpt(widgetRef, _core__WEBPACK_IMPORTED_MODULE_6__[\"PDFHexString\"].fromText(option), !this.isMutuallyExclusive());\n // Set appearance streams for widget\n widget.setAppearanceState(_core__WEBPACK_IMPORTED_MODULE_6__[\"PDFName\"].of('Off'));\n this.updateWidgetAppearance(widget, apStateValue);\n // Add widget to the given page\n page.node.addAnnot(widgetRef);\n };\n /**\n * Returns `true` if any of this group's radio button widgets do not have an\n * appearance stream for their current state. For example:\n * ```js\n * const radioGroup = form.getRadioGroup('some.radioGroup.field')\n * if (radioGroup.needsAppearancesUpdate()) console.log('Needs update')\n * ```\n * @returns Whether or not this radio group needs an appearance update.\n */\n PDFRadioGroup.prototype.needsAppearancesUpdate = function () {\n var _a;\n var widgets = this.acroField.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n var state = widget.getAppearanceState();\n var normal = (_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal;\n if (!(normal instanceof _core__WEBPACK_IMPORTED_MODULE_6__[\"PDFDict\"]))\n return true;\n if (state && !normal.has(state))\n return true;\n }\n return false;\n };\n /**\n * Update the appearance streams for each of this group's radio button widgets\n * using the default appearance provider for radio groups. For example:\n * ```js\n * const radioGroup = form.getRadioGroup('some.radioGroup.field')\n * radioGroup.defaultUpdateAppearances()\n * ```\n */\n PDFRadioGroup.prototype.defaultUpdateAppearances = function () {\n this.updateAppearances();\n };\n // rg.updateAppearances((field: any, widget: any) => {\n // assert(field === rg);\n // assert(widget instanceof PDFWidgetAnnotation);\n // return { on: [...rectangle, ...circle], off: [...rectangle, ...circle] };\n // });\n /**\n * Update the appearance streams for each of this group's radio button widgets\n * using the given appearance provider. If no `provider` is passed, the\n * default appearance provider for radio groups will be used. For example:\n * ```js\n * const radioGroup = form.getRadioGroup('some.radioGroup.field')\n * radioGroup.updateAppearances((field, widget) => {\n * ...\n * return {\n * normal: { on: drawRadioButton(...), off: drawRadioButton(...) },\n * down: { on: drawRadioButton(...), off: drawRadioButton(...) },\n * }\n * })\n * ```\n * @param provider Optionally, the appearance provider to be used for\n * generating the contents of the appearance streams.\n */\n PDFRadioGroup.prototype.updateAppearances = function (provider) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"assertOrUndefined\"])(provider, 'provider', [Function]);\n var widgets = this.acroField.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n var onValue = widget.getOnValue();\n if (!onValue)\n continue;\n this.updateWidgetAppearance(widget, onValue, provider);\n }\n };\n PDFRadioGroup.prototype.updateWidgetAppearance = function (widget, onValue, provider) {\n var apProvider = provider !== null && provider !== void 0 ? provider : _appearances__WEBPACK_IMPORTED_MODULE_3__[\"defaultRadioGroupAppearanceProvider\"];\n var appearances = Object(_appearances__WEBPACK_IMPORTED_MODULE_3__[\"normalizeAppearance\"])(apProvider(this, widget));\n this.updateOnOffWidgetAppearance(widget, onValue, appearances);\n };\n /**\n * > **NOTE:** You probably don't want to call this method directly. Instead,\n * > consider using the [[PDFForm.getOptionList]] method, which will create an\n * > instance of [[PDFOptionList]] for you.\n *\n * Create an instance of [[PDFOptionList]] from an existing acroRadioButton\n * and ref\n *\n * @param acroRadioButton The underlying `PDFAcroRadioButton` for this\n * radio group.\n * @param ref The unique reference for this radio group.\n * @param doc The document to which this radio group will belong.\n */\n PDFRadioGroup.of = function (acroRadioButton, ref, doc) { return new PDFRadioGroup(acroRadioButton, ref, doc); };\n return PDFRadioGroup;\n}(_PDFField__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFRadioGroup);\n//# sourceMappingURL=PDFRadioGroup.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFRadioGroup.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFSignature.js":
/*!***************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFSignature.js ***!
\***************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFField__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFField */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFField.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n/**\n * Represents a signature field of a [[PDFForm]].\n *\n * [[PDFSignature]] fields are digital signatures. `pdf-lib` does not\n * currently provide any specialized APIs for creating digital signatures or\n * reading the contents of existing digital signatures.\n */\nvar PDFSignature = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFSignature, _super);\n function PDFSignature(acroSignature, ref, doc) {\n var _this = _super.call(this, acroSignature, ref, doc) || this;\n Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"])(acroSignature, 'acroSignature', [\n [_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFAcroSignature\"], 'PDFAcroSignature'],\n ]);\n _this.acroField = acroSignature;\n return _this;\n }\n PDFSignature.prototype.needsAppearancesUpdate = function () {\n return false;\n };\n /**\n * > **NOTE:** You probably don't want to call this method directly. Instead,\n * > consider using the [[PDFForm.getSignature]] method, which will create an\n * > instance of [[PDFSignature]] for you.\n *\n * Create an instance of [[PDFSignature]] from an existing acroSignature and\n * ref\n *\n * @param acroSignature The underlying `PDFAcroSignature` for this signature.\n * @param ref The unique reference for this signature.\n * @param doc The document to which this signature will belong.\n */\n PDFSignature.of = function (acroSignature, ref, doc) { return new PDFSignature(acroSignature, ref, doc); };\n return PDFSignature;\n}(_PDFField__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFSignature);\n//# sourceMappingURL=PDFSignature.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFSignature.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFTextField.js":
/*!***************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFTextField.js ***!
\***************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFPage__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../PDFPage */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFPage.js\");\n/* harmony import */ var _PDFFont__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../PDFFont */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFFont.js\");\n/* harmony import */ var _PDFField__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PDFField */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFField.js\");\n/* harmony import */ var _appearances__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./appearances */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/appearances.js\");\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../colors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/colors.js\");\n/* harmony import */ var _rotations__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../rotations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/rotations.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/errors.js\");\n/* harmony import */ var _image_alignment__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../image/alignment */ \"../simple-mind-map/node_modules/pdf-lib/es/api/image/alignment.js\");\n/* harmony import */ var _text_alignment__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../text/alignment */ \"../simple-mind-map/node_modules/pdf-lib/es/api/text/alignment.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n/**\n * Represents a text field of a [[PDFForm]].\n *\n * [[PDFTextField]] fields are boxes that display text entered by the user. The\n * purpose of a text field is to enable users to enter text or view text values\n * in the document prefilled by software. Users can click on a text field and\n * input text via their keyboard. Some text fields allow multiple lines of text\n * to be entered (see [[PDFTextField.isMultiline]]).\n */\nvar PDFTextField = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFTextField, _super);\n function PDFTextField(acroText, ref, doc) {\n var _this = _super.call(this, acroText, ref, doc) || this;\n Object(_utils__WEBPACK_IMPORTED_MODULE_11__[\"assertIs\"])(acroText, 'acroText', [[_core__WEBPACK_IMPORTED_MODULE_10__[\"PDFAcroText\"], 'PDFAcroText']]);\n _this.acroField = acroText;\n return _this;\n }\n /**\n * Get the text that this field contains. This text is visible to users who\n * view this field in a PDF reader.\n *\n * For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * const text = textField.getText()\n * console.log('Text field contents:', text)\n * ```\n *\n * Note that if this text field contains no underlying value, `undefined`\n * will be returned. Text fields may also contain an underlying value that\n * is simply an empty string (`''`). This detail is largely irrelevant for\n * most applications. In general, you'll want to treat both cases the same\n * way and simply consider the text field to be empty. In either case, the\n * text field will appear empty to users when viewed in a PDF reader.\n *\n * An error will be thrown if this is a rich text field. `pdf-lib` does not\n * support reading rich text fields. Nor do most PDF readers and writers.\n * Rich text fields are based on XFA (XML Forms Architecture). Relatively few\n * PDFs use rich text fields or XFA. Unlike PDF itself, XFA is not an ISO\n * standard. XFA has been deprecated in PDF 2.0:\n * * https://en.wikipedia.org/wiki/XFA\n * * http://blog.pdfshareforms.com/pdf-2-0-release-bid-farewell-xfa-forms/\n *\n * @returns The text contained in this text field.\n */\n PDFTextField.prototype.getText = function () {\n var value = this.acroField.getValue();\n if (!value && this.isRichFormatted()) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_7__[\"RichTextFieldReadError\"](this.getName());\n }\n return value === null || value === void 0 ? void 0 : value.decodeText();\n };\n /**\n * Set the text for this field. This operation is analogous to a human user\n * clicking on the text field in a PDF reader and typing in text via their\n * keyboard. This method will update the underlying state of the text field\n * to indicate what text has been set. PDF libraries and readers will be able\n * to extract these values from the saved document and determine what text\n * was set.\n *\n * For example:\n * ```js\n * const textField = form.getTextField('best.superhero.text.field')\n * textField.setText('One Punch Man')\n * ```\n *\n * This method will mark this text field as dirty, causing its appearance\n * streams to be updated when either [[PDFDocument.save]] or\n * [[PDFForm.updateFieldAppearances]] is called. The updated streams will\n * display the text this field contains inside the widgets of this text\n * field.\n *\n * **IMPORTANT:** The default font used to update appearance streams is\n * [[StandardFonts.Helvetica]]. Note that this is a WinAnsi font. This means\n * that encoding errors will be thrown if this field contains text outside\n * the WinAnsi character set (the latin alphabet).\n *\n * Embedding a custom font and passing it to\n * [[PDFForm.updateFieldAppearances]] or [[PDFTextField.updateAppearances]]\n * allows you to generate appearance streams with characters outside the\n * latin alphabet (assuming the custom font supports them).\n *\n * If this is a rich text field, it will be converted to a standard text\n * field in order to set the text. `pdf-lib` does not support writing rich\n * text strings. Nor do most PDF readers and writers. See\n * [[PDFTextField.getText]] for more information about rich text fields and\n * their deprecation in PDF 2.0.\n *\n * @param text The text this field should contain.\n */\n PDFTextField.prototype.setText = function (text) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_11__[\"assertOrUndefined\"])(text, 'text', ['string']);\n var maxLength = this.getMaxLength();\n if (maxLength !== undefined && text && text.length > maxLength) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_7__[\"ExceededMaxLengthError\"](text.length, maxLength, this.getName());\n }\n this.markAsDirty();\n this.disableRichFormatting();\n if (text) {\n this.acroField.setValue(_core__WEBPACK_IMPORTED_MODULE_10__[\"PDFHexString\"].fromText(text));\n }\n else {\n this.acroField.removeValue();\n }\n };\n /**\n * Get the alignment for this text field. This value represents the\n * justification of the text when it is displayed to the user in PDF readers.\n * There are three possible alignments: left, center, and right. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * const alignment = textField.getAlignment()\n * if (alignment === TextAlignment.Left) console.log('Text is left justified')\n * if (alignment === TextAlignment.Center) console.log('Text is centered')\n * if (alignment === TextAlignment.Right) console.log('Text is right justified')\n * ```\n * @returns The alignment of this text field.\n */\n PDFTextField.prototype.getAlignment = function () {\n var quadding = this.acroField.getQuadding();\n // prettier-ignore\n return (quadding === 0 ? _text_alignment__WEBPACK_IMPORTED_MODULE_9__[\"TextAlignment\"].Left\n : quadding === 1 ? _text_alignment__WEBPACK_IMPORTED_MODULE_9__[\"TextAlignment\"].Center\n : quadding === 2 ? _text_alignment__WEBPACK_IMPORTED_MODULE_9__[\"TextAlignment\"].Right\n : _text_alignment__WEBPACK_IMPORTED_MODULE_9__[\"TextAlignment\"].Left);\n };\n /**\n * Set the alignment for this text field. This will determine the\n * justification of the text when it is displayed to the user in PDF readers.\n * There are three possible alignments: left, center, and right. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n *\n * // Text will be left justified when displayed\n * textField.setAlignment(TextAlignment.Left)\n *\n * // Text will be centered when displayed\n * textField.setAlignment(TextAlignment.Center)\n *\n * // Text will be right justified when displayed\n * textField.setAlignment(TextAlignment.Right)\n * ```\n * This method will mark this text field as dirty. See\n * [[PDFTextField.setText]] for more details about what this means.\n * @param alignment The alignment for this text field.\n */\n PDFTextField.prototype.setAlignment = function (alignment) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_11__[\"assertIsOneOf\"])(alignment, 'alignment', _text_alignment__WEBPACK_IMPORTED_MODULE_9__[\"TextAlignment\"]);\n this.markAsDirty();\n this.acroField.setQuadding(alignment);\n };\n /**\n * Get the maximum length of this field. This value represents the maximum\n * number of characters that can be typed into this field by the user. If\n * this field does not have a maximum length, `undefined` is returned.\n * For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * const maxLength = textField.getMaxLength()\n * if (maxLength === undefined) console.log('No max length')\n * else console.log(`Max length is ${maxLength}`)\n * ```\n * @returns The maximum number of characters allowed in this field, or\n * `undefined` if no limit exists.\n */\n PDFTextField.prototype.getMaxLength = function () {\n return this.acroField.getMaxLength();\n };\n /**\n * Set the maximum length of this field. This limits the number of characters\n * that can be typed into this field by the user. This also limits the length\n * of the string that can be passed to [[PDFTextField.setText]]. This limit\n * can be removed by passing `undefined` as `maxLength`. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n *\n * // Allow between 0 and 5 characters to be entered\n * textField.setMaxLength(5)\n *\n * // Allow any number of characters to be entered\n * textField.setMaxLength(undefined)\n * ```\n * This method will mark this text field as dirty. See\n * [[PDFTextField.setText]] for more details about what this means.\n * @param maxLength The maximum number of characters allowed in this field, or\n * `undefined` to remove the limit.\n */\n PDFTextField.prototype.setMaxLength = function (maxLength) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_11__[\"assertRangeOrUndefined\"])(maxLength, 'maxLength', 0, Number.MAX_SAFE_INTEGER);\n this.markAsDirty();\n if (maxLength === undefined) {\n this.acroField.removeMaxLength();\n }\n else {\n var text = this.getText();\n if (text && text.length > maxLength) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_7__[\"InvalidMaxLengthError\"](text.length, maxLength, this.getName());\n }\n this.acroField.setMaxLength(maxLength);\n }\n };\n /**\n * Remove the maximum length for this text field. This allows any number of\n * characters to be typed into this field by the user. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.removeMaxLength()\n * ```\n * Calling this method is equivalent to passing `undefined` to\n * [[PDFTextField.setMaxLength]].\n */\n PDFTextField.prototype.removeMaxLength = function () {\n this.markAsDirty();\n this.acroField.removeMaxLength();\n };\n /**\n * Display an image inside the bounds of this text field's widgets. For example:\n * ```js\n * const pngImage = await pdfDoc.embedPng(...)\n * const textField = form.getTextField('some.text.field')\n * textField.setImage(pngImage)\n * ```\n * This will update the appearances streams for each of this text field's widgets.\n * @param image The image that should be displayed.\n */\n PDFTextField.prototype.setImage = function (image) {\n var fieldAlignment = this.getAlignment();\n // prettier-ignore\n var alignment = fieldAlignment === _text_alignment__WEBPACK_IMPORTED_MODULE_9__[\"TextAlignment\"].Center ? _image_alignment__WEBPACK_IMPORTED_MODULE_8__[\"ImageAlignment\"].Center\n : fieldAlignment === _text_alignment__WEBPACK_IMPORTED_MODULE_9__[\"TextAlignment\"].Right ? _image_alignment__WEBPACK_IMPORTED_MODULE_8__[\"ImageAlignment\"].Right\n : _image_alignment__WEBPACK_IMPORTED_MODULE_8__[\"ImageAlignment\"].Left;\n var widgets = this.acroField.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n var streamRef = this.createImageAppearanceStream(widget, image, alignment);\n this.updateWidgetAppearances(widget, { normal: streamRef });\n }\n this.markAsClean();\n };\n /**\n * Set the font size for this field. Larger font sizes will result in larger\n * text being displayed when PDF readers render this text field. Font sizes\n * may be integer or floating point numbers. Supplying a negative font size\n * will cause this method to throw an error.\n *\n * For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.setFontSize(4)\n * textField.setFontSize(15.7)\n * ```\n *\n * > This method depends upon the existence of a default appearance\n * > (`/DA`) string. If this field does not have a default appearance string,\n * > or that string does not contain a font size (via the `Tf` operator),\n * > then this method will throw an error.\n *\n * @param fontSize The font size to be used when rendering text in this field.\n */\n PDFTextField.prototype.setFontSize = function (fontSize) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_11__[\"assertPositive\"])(fontSize, 'fontSize');\n this.acroField.setFontSize(fontSize);\n this.markAsDirty();\n };\n /**\n * Returns `true` if each line of text is shown on a new line when this\n * field is displayed in a PDF reader. The alternative is that all lines of\n * text are merged onto a single line when displayed. See\n * [[PDFTextField.enableMultiline]] and [[PDFTextField.disableMultiline]].\n * For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * if (textField.isMultiline()) console.log('Multiline is enabled')\n * ```\n * @returns Whether or not this is a multiline text field.\n */\n PDFTextField.prototype.isMultiline = function () {\n return this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].Multiline);\n };\n /**\n * Display each line of text on a new line when this field is displayed in a\n * PDF reader. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.enableMultiline()\n * ```\n * This method will mark this text field as dirty. See\n * [[PDFTextField.setText]] for more details about what this means.\n */\n PDFTextField.prototype.enableMultiline = function () {\n this.markAsDirty();\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].Multiline, true);\n };\n /**\n * Display each line of text on the same line when this field is displayed\n * in a PDF reader. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.disableMultiline()\n * ```\n * This method will mark this text field as dirty. See\n * [[PDFTextField.setText]] for more details about what this means.\n */\n PDFTextField.prototype.disableMultiline = function () {\n this.markAsDirty();\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].Multiline, false);\n };\n /**\n * Returns `true` if this is a password text field. This means that the field\n * is intended for storing a secure password. See\n * [[PDFTextField.enablePassword]] and [[PDFTextField.disablePassword]].\n * For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * if (textField.isPassword()) console.log('Password is enabled')\n * ```\n * @returns Whether or not this is a password text field.\n */\n PDFTextField.prototype.isPassword = function () {\n return this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].Password);\n };\n /**\n * Indicate that this text field is intended for storing a secure password.\n * For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.enablePassword()\n * ```\n * Values entered into password text fields should not be displayed on the\n * screen by PDF readers. Most PDF readers will display the value as\n * asterisks or bullets. PDF readers should never store values entered by the\n * user into password text fields. Similarly, applications should not\n * write data to a password text field.\n *\n * **Please note that this method does not cause entered values to be\n * encrypted or secured in any way! It simply sets a flag that PDF software\n * and readers can access to determine the _purpose_ of this field.**\n */\n PDFTextField.prototype.enablePassword = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].Password, true);\n };\n /**\n * Indicate that this text field is **not** intended for storing a secure\n * password. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.disablePassword()\n * ```\n */\n PDFTextField.prototype.disablePassword = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].Password, false);\n };\n /**\n * Returns `true` if the contents of this text field represent a file path.\n * See [[PDFTextField.enableFileSelection]] and\n * [[PDFTextField.disableFileSelection]]. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * if (textField.isFileSelector()) console.log('Is a file selector')\n * ```\n * @returns Whether or not this field should contain file paths.\n */\n PDFTextField.prototype.isFileSelector = function () {\n return this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].FileSelect);\n };\n /**\n * Indicate that this text field is intended to store a file path. The\n * contents of the file stored at that path should be submitted as the value\n * of the field. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.enableFileSelection()\n * ```\n */\n PDFTextField.prototype.enableFileSelection = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].FileSelect, true);\n };\n /**\n * Indicate that this text field is **not** intended to store a file path.\n * For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.disableFileSelection()\n * ```\n */\n PDFTextField.prototype.disableFileSelection = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].FileSelect, false);\n };\n /**\n * Returns `true` if the text entered in this field should be spell checked\n * by PDF readers. See [[PDFTextField.enableSpellChecking]] and\n * [[PDFTextField.disableSpellChecking]]. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * if (textField.isSpellChecked()) console.log('Spell checking is enabled')\n * ```\n * @returns Whether or not this field should be spell checked.\n */\n PDFTextField.prototype.isSpellChecked = function () {\n return !this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].DoNotSpellCheck);\n };\n /**\n * Allow PDF readers to spell check the text entered in this field.\n * For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.enableSpellChecking()\n * ```\n */\n PDFTextField.prototype.enableSpellChecking = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].DoNotSpellCheck, false);\n };\n /**\n * Do not allow PDF readers to spell check the text entered in this field.\n * For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.disableSpellChecking()\n * ```\n */\n PDFTextField.prototype.disableSpellChecking = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].DoNotSpellCheck, true);\n };\n /**\n * Returns `true` if PDF readers should allow the user to scroll the text\n * field when its contents do not fit within the field's view bounds. See\n * [[PDFTextField.enableScrolling]] and [[PDFTextField.disableScrolling]].\n * For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * if (textField.isScrollable()) console.log('Scrolling is enabled')\n * ```\n * @returns Whether or not the field is scrollable in PDF readers.\n */\n PDFTextField.prototype.isScrollable = function () {\n return !this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].DoNotScroll);\n };\n /**\n * Allow PDF readers to present a scroll bar to the user when the contents\n * of this text field do not fit within its view bounds. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.enableScrolling()\n * ```\n * A horizontal scroll bar should be shown for singleline fields. A vertical\n * scroll bar should be shown for multiline fields.\n */\n PDFTextField.prototype.enableScrolling = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].DoNotScroll, false);\n };\n /**\n * Do not allow PDF readers to present a scroll bar to the user when the\n * contents of this text field do not fit within its view bounds. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.disableScrolling()\n * ```\n */\n PDFTextField.prototype.disableScrolling = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].DoNotScroll, true);\n };\n /**\n * Returns `true` if this is a combed text field. This means that the field\n * is split into `n` equal size cells with one character in each (where `n`\n * is equal to the max length of the text field). The result is that all\n * characters in this field are displayed an equal distance apart from one\n * another. See [[PDFTextField.enableCombing]] and\n * [[PDFTextField.disableCombing]]. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * if (textField.isCombed()) console.log('Combing is enabled')\n * ```\n * Note that in order for a text field to be combed, the following must be\n * true (in addition to enabling combing):\n * * It must not be a multiline field (see [[PDFTextField.isMultiline]])\n * * It must not be a password field (see [[PDFTextField.isPassword]])\n * * It must not be a file selector field (see [[PDFTextField.isFileSelector]])\n * * It must have a max length defined (see [[PDFTextField.setMaxLength]])\n * @returns Whether or not this field is combed.\n */\n PDFTextField.prototype.isCombed = function () {\n return (this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].Comb) &&\n !this.isMultiline() &&\n !this.isPassword() &&\n !this.isFileSelector() &&\n this.getMaxLength() !== undefined);\n };\n /**\n * Split this field into `n` equal size cells with one character in each\n * (where `n` is equal to the max length of the text field). This will cause\n * all characters in the field to be displayed an equal distance apart from\n * one another. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.enableCombing()\n * ```\n *\n * In addition to calling this method, text fields must have a max length\n * defined in order to be combed (see [[PDFTextField.setMaxLength]]).\n *\n * This method will also call the following three methods internally:\n * * [[PDFTextField.disableMultiline]]\n * * [[PDFTextField.disablePassword]]\n * * [[PDFTextField.disableFileSelection]]\n *\n * This method will mark this text field as dirty. See\n * [[PDFTextField.setText]] for more details about what this means.\n */\n PDFTextField.prototype.enableCombing = function () {\n if (this.getMaxLength() === undefined) {\n var msg = \"PDFTextFields must have a max length in order to be combed\";\n console.warn(msg);\n }\n this.markAsDirty();\n this.disableMultiline();\n this.disablePassword();\n this.disableFileSelection();\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].Comb, true);\n };\n /**\n * Turn off combing for this text field. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.disableCombing()\n * ```\n * See [[PDFTextField.isCombed]] and [[PDFTextField.enableCombing]] for more\n * information about what combing is.\n *\n * This method will mark this text field as dirty. See\n * [[PDFTextField.setText]] for more details about what this means.\n */\n PDFTextField.prototype.disableCombing = function () {\n this.markAsDirty();\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].Comb, false);\n };\n /**\n * Returns `true` if this text field contains rich text. See\n * [[PDFTextField.enableRichFormatting]] and\n * [[PDFTextField.disableRichFormatting]]. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * if (textField.isRichFormatted()) console.log('Rich formatting enabled')\n * ```\n * @returns Whether or not this field contains rich text.\n */\n PDFTextField.prototype.isRichFormatted = function () {\n return this.acroField.hasFlag(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].RichText);\n };\n /**\n * Indicate that this field contains XFA data - or rich text. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.enableRichFormatting()\n * ```\n * Note that `pdf-lib` does not support reading or writing rich text fields.\n * Nor do most PDF readers and writers. Rich text fields are based on XFA\n * (XML Forms Architecture). Relatively few PDFs use rich text fields or XFA.\n * Unlike PDF itself, XFA is not an ISO standard. XFA has been deprecated in\n * PDF 2.0:\n * * https://en.wikipedia.org/wiki/XFA\n * * http://blog.pdfshareforms.com/pdf-2-0-release-bid-farewell-xfa-forms/\n */\n PDFTextField.prototype.enableRichFormatting = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].RichText, true);\n };\n /**\n * Indicate that this is a standard text field that does not XFA data (rich\n * text). For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * textField.disableRichFormatting()\n * ```\n */\n PDFTextField.prototype.disableRichFormatting = function () {\n this.acroField.setFlagTo(_core__WEBPACK_IMPORTED_MODULE_10__[\"AcroTextFlags\"].RichText, false);\n };\n /**\n * Show this text field on the specified page. For example:\n * ```js\n * const ubuntuFont = await pdfDoc.embedFont(ubuntuFontBytes)\n * const page = pdfDoc.addPage()\n *\n * const form = pdfDoc.getForm()\n * const textField = form.createTextField('best.gundam')\n * textField.setText('Exia')\n *\n * textField.addToPage(page, {\n * x: 50,\n * y: 75,\n * width: 200,\n * height: 100,\n * textColor: rgb(1, 0, 0),\n * backgroundColor: rgb(0, 1, 0),\n * borderColor: rgb(0, 0, 1),\n * borderWidth: 2,\n * rotate: degrees(90),\n * font: ubuntuFont,\n * })\n * ```\n * This will create a new widget for this text field.\n * @param page The page to which this text field widget should be added.\n * @param options The options to be used when adding this text field widget.\n */\n PDFTextField.prototype.addToPage = function (page, options) {\n var _a, _b, _c, _d, _e, _f, _g;\n Object(_utils__WEBPACK_IMPORTED_MODULE_11__[\"assertIs\"])(page, 'page', [[_PDFPage__WEBPACK_IMPORTED_MODULE_1__[\"default\"], 'PDFPage']]);\n Object(_PDFField__WEBPACK_IMPORTED_MODULE_3__[\"assertFieldAppearanceOptions\"])(options);\n if (!options)\n options = {};\n if (!('textColor' in options))\n options.textColor = Object(_colors__WEBPACK_IMPORTED_MODULE_5__[\"rgb\"])(0, 0, 0);\n if (!('backgroundColor' in options))\n options.backgroundColor = Object(_colors__WEBPACK_IMPORTED_MODULE_5__[\"rgb\"])(1, 1, 1);\n if (!('borderColor' in options))\n options.borderColor = Object(_colors__WEBPACK_IMPORTED_MODULE_5__[\"rgb\"])(0, 0, 0);\n if (!('borderWidth' in options))\n options.borderWidth = 1;\n // Create a widget for this text field\n var widget = this.createWidget({\n x: (_a = options.x) !== null && _a !== void 0 ? _a : 0,\n y: (_b = options.y) !== null && _b !== void 0 ? _b : 0,\n width: (_c = options.width) !== null && _c !== void 0 ? _c : 200,\n height: (_d = options.height) !== null && _d !== void 0 ? _d : 50,\n textColor: options.textColor,\n backgroundColor: options.backgroundColor,\n borderColor: options.borderColor,\n borderWidth: (_e = options.borderWidth) !== null && _e !== void 0 ? _e : 0,\n rotate: (_f = options.rotate) !== null && _f !== void 0 ? _f : Object(_rotations__WEBPACK_IMPORTED_MODULE_6__[\"degrees\"])(0),\n hidden: options.hidden,\n page: page.ref,\n });\n var widgetRef = this.doc.context.register(widget.dict);\n // Add widget to this field\n this.acroField.addWidget(widgetRef);\n // Set appearance streams for widget\n var font = (_g = options.font) !== null && _g !== void 0 ? _g : this.doc.getForm().getDefaultFont();\n this.updateWidgetAppearance(widget, font);\n // Add widget to the given page\n page.node.addAnnot(widgetRef);\n };\n /**\n * Returns `true` if this text field has been marked as dirty, or if any of\n * this text field's widgets do not have an appearance stream. For example:\n * ```js\n * const textField = form.getTextField('some.text.field')\n * if (textField.needsAppearancesUpdate()) console.log('Needs update')\n * ```\n * @returns Whether or not this text field needs an appearance update.\n */\n PDFTextField.prototype.needsAppearancesUpdate = function () {\n var _a;\n if (this.isDirty())\n return true;\n var widgets = this.acroField.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n var hasAppearances = ((_a = widget.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal) instanceof _core__WEBPACK_IMPORTED_MODULE_10__[\"PDFStream\"];\n if (!hasAppearances)\n return true;\n }\n return false;\n };\n /**\n * Update the appearance streams for each of this text field's widgets using\n * the default appearance provider for text fields. For example:\n * ```js\n * const helvetica = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const textField = form.getTextField('some.text.field')\n * textField.defaultUpdateAppearances(helvetica)\n * ```\n * @param font The font to be used for creating the appearance streams.\n */\n PDFTextField.prototype.defaultUpdateAppearances = function (font) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_11__[\"assertIs\"])(font, 'font', [[_PDFFont__WEBPACK_IMPORTED_MODULE_2__[\"default\"], 'PDFFont']]);\n this.updateAppearances(font);\n };\n /**\n * Update the appearance streams for each of this text field's widgets using\n * the given appearance provider. If no `provider` is passed, the default\n * appearance provider for text fields will be used. For example:\n * ```js\n * const helvetica = await pdfDoc.embedFont(StandardFonts.Helvetica)\n * const textField = form.getTextField('some.text.field')\n * textField.updateAppearances(helvetica, (field, widget, font) => {\n * ...\n * return drawTextField(...)\n * })\n * ```\n * @param font The font to be used for creating the appearance streams.\n * @param provider Optionally, the appearance provider to be used for\n * generating the contents of the appearance streams.\n */\n PDFTextField.prototype.updateAppearances = function (font, provider) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_11__[\"assertIs\"])(font, 'font', [[_PDFFont__WEBPACK_IMPORTED_MODULE_2__[\"default\"], 'PDFFont']]);\n Object(_utils__WEBPACK_IMPORTED_MODULE_11__[\"assertOrUndefined\"])(provider, 'provider', [Function]);\n var widgets = this.acroField.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n this.updateWidgetAppearance(widget, font, provider);\n }\n this.markAsClean();\n };\n PDFTextField.prototype.updateWidgetAppearance = function (widget, font, provider) {\n var apProvider = provider !== null && provider !== void 0 ? provider : _appearances__WEBPACK_IMPORTED_MODULE_4__[\"defaultTextFieldAppearanceProvider\"];\n var appearances = Object(_appearances__WEBPACK_IMPORTED_MODULE_4__[\"normalizeAppearance\"])(apProvider(this, widget, font));\n this.updateWidgetAppearanceWithFont(widget, font, appearances);\n };\n /**\n * > **NOTE:** You probably don't want to call this method directly. Instead,\n * > consider using the [[PDFForm.getTextField]] method, which will create an\n * > instance of [[PDFTextField]] for you.\n *\n * Create an instance of [[PDFTextField]] from an existing acroText and ref\n *\n * @param acroText The underlying `PDFAcroText` for this text field.\n * @param ref The unique reference for this text field.\n * @param doc The document to which this text field will belong.\n */\n PDFTextField.of = function (acroText, ref, doc) {\n return new PDFTextField(acroText, ref, doc);\n };\n return PDFTextField;\n}(_PDFField__WEBPACK_IMPORTED_MODULE_3__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFTextField);\n//# sourceMappingURL=PDFTextField.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFTextField.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/form/appearances.js":
/*!**************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/form/appearances.js ***!
\**************************************************************************/
/*! exports provided: normalizeAppearance, defaultCheckBoxAppearanceProvider, defaultRadioGroupAppearanceProvider, defaultButtonAppearanceProvider, defaultTextFieldAppearanceProvider, defaultDropdownAppearanceProvider, defaultOptionListAppearanceProvider */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"normalizeAppearance\", function() { return normalizeAppearance; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultCheckBoxAppearanceProvider\", function() { return defaultCheckBoxAppearanceProvider; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultRadioGroupAppearanceProvider\", function() { return defaultRadioGroupAppearanceProvider; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultButtonAppearanceProvider\", function() { return defaultButtonAppearanceProvider; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultTextFieldAppearanceProvider\", function() { return defaultTextFieldAppearanceProvider; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultDropdownAppearanceProvider\", function() { return defaultDropdownAppearanceProvider; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defaultOptionListAppearanceProvider\", function() { return defaultOptionListAppearanceProvider; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _operations__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../operations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/operations.js\");\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../colors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/colors.js\");\n/* harmony import */ var _rotations__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../rotations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/rotations.js\");\n/* harmony import */ var _text_layout__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../text/layout */ \"../simple-mind-map/node_modules/pdf-lib/es/api/text/layout.js\");\n/* harmony import */ var _text_alignment__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../text/alignment */ \"../simple-mind-map/node_modules/pdf-lib/es/api/text/alignment.js\");\n/* harmony import */ var _operators__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../operators */ \"../simple-mind-map/node_modules/pdf-lib/es/api/operators.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n\n\n/********************* Appearance Provider Functions **************************/\nvar normalizeAppearance = function (appearance) {\n if ('normal' in appearance)\n return appearance;\n return { normal: appearance };\n};\n// Examples:\n// `/Helv 12 Tf` -> ['/Helv 12 Tf', 'Helv', '12']\n// `/HeBo 8.00 Tf` -> ['/HeBo 8 Tf', 'HeBo', '8.00']\nvar tfRegex = /\\/([^\\0\\t\\n\\f\\r\\ ]+)[\\0\\t\\n\\f\\r\\ ]+(\\d*\\.\\d+|\\d+)[\\0\\t\\n\\f\\r\\ ]+Tf/;\nvar getDefaultFontSize = function (field) {\n var _a, _b;\n var da = (_a = field.getDefaultAppearance()) !== null && _a !== void 0 ? _a : '';\n var daMatch = (_b = Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"findLastMatch\"])(da, tfRegex).match) !== null && _b !== void 0 ? _b : [];\n var defaultFontSize = Number(daMatch[2]);\n return isFinite(defaultFontSize) ? defaultFontSize : undefined;\n};\n// Examples:\n// `0.3 g` -> ['0.3', 'g']\n// `0.3 1 .3 rg` -> ['0.3', '1', '.3', 'rg']\n// `0.3 1 .3 0 k` -> ['0.3', '1', '.3', '0', 'k']\nvar colorRegex = /(\\d*\\.\\d+|\\d+)[\\0\\t\\n\\f\\r\\ ]*(\\d*\\.\\d+|\\d+)?[\\0\\t\\n\\f\\r\\ ]*(\\d*\\.\\d+|\\d+)?[\\0\\t\\n\\f\\r\\ ]*(\\d*\\.\\d+|\\d+)?[\\0\\t\\n\\f\\r\\ ]+(g|rg|k)/;\nvar getDefaultColor = function (field) {\n var _a;\n var da = (_a = field.getDefaultAppearance()) !== null && _a !== void 0 ? _a : '';\n var daMatch = Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"findLastMatch\"])(da, colorRegex).match;\n var _b = daMatch !== null && daMatch !== void 0 ? daMatch : [], c1 = _b[1], c2 = _b[2], c3 = _b[3], c4 = _b[4], colorSpace = _b[5];\n if (colorSpace === 'g' && c1) {\n return Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"grayscale\"])(Number(c1));\n }\n if (colorSpace === 'rg' && c1 && c2 && c3) {\n return Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"rgb\"])(Number(c1), Number(c2), Number(c3));\n }\n if (colorSpace === 'k' && c1 && c2 && c3 && c4) {\n return Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"cmyk\"])(Number(c1), Number(c2), Number(c3), Number(c4));\n }\n return undefined;\n};\nvar updateDefaultAppearance = function (field, color, font, fontSize) {\n var _a;\n if (fontSize === void 0) { fontSize = 0; }\n var da = [\n Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"setFillingColor\"])(color).toString(),\n Object(_operators__WEBPACK_IMPORTED_MODULE_6__[\"setFontAndSize\"])((_a = font === null || font === void 0 ? void 0 : font.name) !== null && _a !== void 0 ? _a : 'dummy__noop', fontSize).toString(),\n ].join('\\n');\n field.setDefaultAppearance(da);\n};\nvar defaultCheckBoxAppearanceProvider = function (checkBox, widget) {\n var _a, _b, _c;\n // The `/DA` entry can be at the widget or field level - so we handle both\n var widgetColor = getDefaultColor(widget);\n var fieldColor = getDefaultColor(checkBox.acroField);\n var rectangle = widget.getRectangle();\n var ap = widget.getAppearanceCharacteristics();\n var bs = widget.getBorderStyle();\n var borderWidth = (_a = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _a !== void 0 ? _a : 0;\n var rotation = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"reduceRotation\"])(ap === null || ap === void 0 ? void 0 : ap.getRotation());\n var _d = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"adjustDimsForRotation\"])(rectangle, rotation), width = _d.width, height = _d.height;\n var rotate = Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"rotateInPlace\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, rectangle), { rotation: rotation }));\n var black = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"rgb\"])(0, 0, 0);\n var borderColor = (_b = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"])(ap === null || ap === void 0 ? void 0 : ap.getBorderColor())) !== null && _b !== void 0 ? _b : black;\n var normalBackgroundColor = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"])(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor());\n var downBackgroundColor = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"])(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor(), 0.8);\n // Update color\n var textColor = (_c = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _c !== void 0 ? _c : black;\n if (widgetColor) {\n updateDefaultAppearance(widget, textColor);\n }\n else {\n updateDefaultAppearance(checkBox.acroField, textColor);\n }\n var options = {\n x: 0 + borderWidth / 2,\n y: 0 + borderWidth / 2,\n width: width - borderWidth,\n height: height - borderWidth,\n thickness: 1.5,\n borderWidth: borderWidth,\n borderColor: borderColor,\n markColor: textColor,\n };\n return {\n normal: {\n on: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(rotate, Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"drawCheckBox\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, options), { color: normalBackgroundColor, filled: true }))),\n off: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(rotate, Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"drawCheckBox\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, options), { color: normalBackgroundColor, filled: false }))),\n },\n down: {\n on: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(rotate, Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"drawCheckBox\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, options), { color: downBackgroundColor, filled: true }))),\n off: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(rotate, Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"drawCheckBox\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, options), { color: downBackgroundColor, filled: false }))),\n },\n };\n};\nvar defaultRadioGroupAppearanceProvider = function (radioGroup, widget) {\n var _a, _b, _c;\n // The `/DA` entry can be at the widget or field level - so we handle both\n var widgetColor = getDefaultColor(widget);\n var fieldColor = getDefaultColor(radioGroup.acroField);\n var rectangle = widget.getRectangle();\n var ap = widget.getAppearanceCharacteristics();\n var bs = widget.getBorderStyle();\n var borderWidth = (_a = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _a !== void 0 ? _a : 0;\n var rotation = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"reduceRotation\"])(ap === null || ap === void 0 ? void 0 : ap.getRotation());\n var _d = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"adjustDimsForRotation\"])(rectangle, rotation), width = _d.width, height = _d.height;\n var rotate = Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"rotateInPlace\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, rectangle), { rotation: rotation }));\n var black = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"rgb\"])(0, 0, 0);\n var borderColor = (_b = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"])(ap === null || ap === void 0 ? void 0 : ap.getBorderColor())) !== null && _b !== void 0 ? _b : black;\n var normalBackgroundColor = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"])(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor());\n var downBackgroundColor = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"])(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor(), 0.8);\n // Update color\n var textColor = (_c = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _c !== void 0 ? _c : black;\n if (widgetColor) {\n updateDefaultAppearance(widget, textColor);\n }\n else {\n updateDefaultAppearance(radioGroup.acroField, textColor);\n }\n var options = {\n x: width / 2,\n y: height / 2,\n width: width - borderWidth,\n height: height - borderWidth,\n borderWidth: borderWidth,\n borderColor: borderColor,\n dotColor: textColor,\n };\n return {\n normal: {\n on: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(rotate, Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"drawRadioButton\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, options), { color: normalBackgroundColor, filled: true }))),\n off: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(rotate, Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"drawRadioButton\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, options), { color: normalBackgroundColor, filled: false }))),\n },\n down: {\n on: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(rotate, Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"drawRadioButton\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, options), { color: downBackgroundColor, filled: true }))),\n off: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(rotate, Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"drawRadioButton\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, options), { color: downBackgroundColor, filled: false }))),\n },\n };\n};\nvar defaultButtonAppearanceProvider = function (button, widget, font) {\n var _a, _b, _c, _d, _e;\n // The `/DA` entry can be at the widget or field level - so we handle both\n var widgetColor = getDefaultColor(widget);\n var fieldColor = getDefaultColor(button.acroField);\n var widgetFontSize = getDefaultFontSize(widget);\n var fieldFontSize = getDefaultFontSize(button.acroField);\n var rectangle = widget.getRectangle();\n var ap = widget.getAppearanceCharacteristics();\n var bs = widget.getBorderStyle();\n var captions = ap === null || ap === void 0 ? void 0 : ap.getCaptions();\n var normalText = (_a = captions === null || captions === void 0 ? void 0 : captions.normal) !== null && _a !== void 0 ? _a : '';\n var downText = (_c = (_b = captions === null || captions === void 0 ? void 0 : captions.down) !== null && _b !== void 0 ? _b : normalText) !== null && _c !== void 0 ? _c : '';\n var borderWidth = (_d = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _d !== void 0 ? _d : 0;\n var rotation = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"reduceRotation\"])(ap === null || ap === void 0 ? void 0 : ap.getRotation());\n var _f = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"adjustDimsForRotation\"])(rectangle, rotation), width = _f.width, height = _f.height;\n var rotate = Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"rotateInPlace\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, rectangle), { rotation: rotation }));\n var black = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"rgb\"])(0, 0, 0);\n var borderColor = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"])(ap === null || ap === void 0 ? void 0 : ap.getBorderColor());\n var normalBackgroundColor = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"])(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor());\n var downBackgroundColor = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"])(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor(), 0.8);\n var bounds = {\n x: borderWidth,\n y: borderWidth,\n width: width - borderWidth * 2,\n height: height - borderWidth * 2,\n };\n var normalLayout = Object(_text_layout__WEBPACK_IMPORTED_MODULE_4__[\"layoutSinglelineText\"])(normalText, {\n alignment: _text_alignment__WEBPACK_IMPORTED_MODULE_5__[\"TextAlignment\"].Center,\n fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize,\n font: font,\n bounds: bounds,\n });\n var downLayout = Object(_text_layout__WEBPACK_IMPORTED_MODULE_4__[\"layoutSinglelineText\"])(downText, {\n alignment: _text_alignment__WEBPACK_IMPORTED_MODULE_5__[\"TextAlignment\"].Center,\n fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize,\n font: font,\n bounds: bounds,\n });\n // Update font size and color\n var fontSize = Math.min(normalLayout.fontSize, downLayout.fontSize);\n var textColor = (_e = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _e !== void 0 ? _e : black;\n if (widgetColor || widgetFontSize !== undefined) {\n updateDefaultAppearance(widget, textColor, font, fontSize);\n }\n else {\n updateDefaultAppearance(button.acroField, textColor, font, fontSize);\n }\n var options = {\n x: 0 + borderWidth / 2,\n y: 0 + borderWidth / 2,\n width: width - borderWidth,\n height: height - borderWidth,\n borderWidth: borderWidth,\n borderColor: borderColor,\n textColor: textColor,\n font: font.name,\n fontSize: fontSize,\n };\n return {\n normal: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(rotate, Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"drawButton\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, options), { color: normalBackgroundColor, textLines: [normalLayout.line] }))),\n down: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(rotate, Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"drawButton\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, options), { color: downBackgroundColor, textLines: [downLayout.line] }))),\n };\n};\nvar defaultTextFieldAppearanceProvider = function (textField, widget, font) {\n var _a, _b, _c, _d;\n // The `/DA` entry can be at the widget or field level - so we handle both\n var widgetColor = getDefaultColor(widget);\n var fieldColor = getDefaultColor(textField.acroField);\n var widgetFontSize = getDefaultFontSize(widget);\n var fieldFontSize = getDefaultFontSize(textField.acroField);\n var rectangle = widget.getRectangle();\n var ap = widget.getAppearanceCharacteristics();\n var bs = widget.getBorderStyle();\n var text = (_a = textField.getText()) !== null && _a !== void 0 ? _a : '';\n var borderWidth = (_b = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _b !== void 0 ? _b : 0;\n var rotation = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"reduceRotation\"])(ap === null || ap === void 0 ? void 0 : ap.getRotation());\n var _e = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"adjustDimsForRotation\"])(rectangle, rotation), width = _e.width, height = _e.height;\n var rotate = Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"rotateInPlace\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, rectangle), { rotation: rotation }));\n var black = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"rgb\"])(0, 0, 0);\n var borderColor = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"])(ap === null || ap === void 0 ? void 0 : ap.getBorderColor());\n var normalBackgroundColor = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"])(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor());\n var textLines;\n var fontSize;\n var padding = textField.isCombed() ? 0 : 1;\n var bounds = {\n x: borderWidth + padding,\n y: borderWidth + padding,\n width: width - (borderWidth + padding) * 2,\n height: height - (borderWidth + padding) * 2,\n };\n if (textField.isMultiline()) {\n var layout = Object(_text_layout__WEBPACK_IMPORTED_MODULE_4__[\"layoutMultilineText\"])(text, {\n alignment: textField.getAlignment(),\n fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize,\n font: font,\n bounds: bounds,\n });\n textLines = layout.lines;\n fontSize = layout.fontSize;\n }\n else if (textField.isCombed()) {\n var layout = Object(_text_layout__WEBPACK_IMPORTED_MODULE_4__[\"layoutCombedText\"])(text, {\n fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize,\n font: font,\n bounds: bounds,\n cellCount: (_c = textField.getMaxLength()) !== null && _c !== void 0 ? _c : 0,\n });\n textLines = layout.cells;\n fontSize = layout.fontSize;\n }\n else {\n var layout = Object(_text_layout__WEBPACK_IMPORTED_MODULE_4__[\"layoutSinglelineText\"])(text, {\n alignment: textField.getAlignment(),\n fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize,\n font: font,\n bounds: bounds,\n });\n textLines = [layout.line];\n fontSize = layout.fontSize;\n }\n // Update font size and color\n var textColor = (_d = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _d !== void 0 ? _d : black;\n if (widgetColor || widgetFontSize !== undefined) {\n updateDefaultAppearance(widget, textColor, font, fontSize);\n }\n else {\n updateDefaultAppearance(textField.acroField, textColor, font, fontSize);\n }\n var options = {\n x: 0 + borderWidth / 2,\n y: 0 + borderWidth / 2,\n width: width - borderWidth,\n height: height - borderWidth,\n borderWidth: borderWidth !== null && borderWidth !== void 0 ? borderWidth : 0,\n borderColor: borderColor,\n textColor: textColor,\n font: font.name,\n fontSize: fontSize,\n color: normalBackgroundColor,\n textLines: textLines,\n padding: padding,\n };\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(rotate, Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"drawTextField\"])(options));\n};\nvar defaultDropdownAppearanceProvider = function (dropdown, widget, font) {\n var _a, _b, _c;\n // The `/DA` entry can be at the widget or field level - so we handle both\n var widgetColor = getDefaultColor(widget);\n var fieldColor = getDefaultColor(dropdown.acroField);\n var widgetFontSize = getDefaultFontSize(widget);\n var fieldFontSize = getDefaultFontSize(dropdown.acroField);\n var rectangle = widget.getRectangle();\n var ap = widget.getAppearanceCharacteristics();\n var bs = widget.getBorderStyle();\n var text = (_a = dropdown.getSelected()[0]) !== null && _a !== void 0 ? _a : '';\n var borderWidth = (_b = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _b !== void 0 ? _b : 0;\n var rotation = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"reduceRotation\"])(ap === null || ap === void 0 ? void 0 : ap.getRotation());\n var _d = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"adjustDimsForRotation\"])(rectangle, rotation), width = _d.width, height = _d.height;\n var rotate = Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"rotateInPlace\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, rectangle), { rotation: rotation }));\n var black = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"rgb\"])(0, 0, 0);\n var borderColor = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"])(ap === null || ap === void 0 ? void 0 : ap.getBorderColor());\n var normalBackgroundColor = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"])(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor());\n var padding = 1;\n var bounds = {\n x: borderWidth + padding,\n y: borderWidth + padding,\n width: width - (borderWidth + padding) * 2,\n height: height - (borderWidth + padding) * 2,\n };\n var _e = Object(_text_layout__WEBPACK_IMPORTED_MODULE_4__[\"layoutSinglelineText\"])(text, {\n alignment: _text_alignment__WEBPACK_IMPORTED_MODULE_5__[\"TextAlignment\"].Left,\n fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize,\n font: font,\n bounds: bounds,\n }), line = _e.line, fontSize = _e.fontSize;\n // Update font size and color\n var textColor = (_c = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _c !== void 0 ? _c : black;\n if (widgetColor || widgetFontSize !== undefined) {\n updateDefaultAppearance(widget, textColor, font, fontSize);\n }\n else {\n updateDefaultAppearance(dropdown.acroField, textColor, font, fontSize);\n }\n var options = {\n x: 0 + borderWidth / 2,\n y: 0 + borderWidth / 2,\n width: width - borderWidth,\n height: height - borderWidth,\n borderWidth: borderWidth !== null && borderWidth !== void 0 ? borderWidth : 0,\n borderColor: borderColor,\n textColor: textColor,\n font: font.name,\n fontSize: fontSize,\n color: normalBackgroundColor,\n textLines: [line],\n padding: padding,\n };\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(rotate, Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"drawTextField\"])(options));\n};\nvar defaultOptionListAppearanceProvider = function (optionList, widget, font) {\n var _a, _b;\n // The `/DA` entry can be at the widget or field level - so we handle both\n var widgetColor = getDefaultColor(widget);\n var fieldColor = getDefaultColor(optionList.acroField);\n var widgetFontSize = getDefaultFontSize(widget);\n var fieldFontSize = getDefaultFontSize(optionList.acroField);\n var rectangle = widget.getRectangle();\n var ap = widget.getAppearanceCharacteristics();\n var bs = widget.getBorderStyle();\n var borderWidth = (_a = bs === null || bs === void 0 ? void 0 : bs.getWidth()) !== null && _a !== void 0 ? _a : 0;\n var rotation = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"reduceRotation\"])(ap === null || ap === void 0 ? void 0 : ap.getRotation());\n var _c = Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"adjustDimsForRotation\"])(rectangle, rotation), width = _c.width, height = _c.height;\n var rotate = Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"rotateInPlace\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, rectangle), { rotation: rotation }));\n var black = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"rgb\"])(0, 0, 0);\n var borderColor = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"])(ap === null || ap === void 0 ? void 0 : ap.getBorderColor());\n var normalBackgroundColor = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"])(ap === null || ap === void 0 ? void 0 : ap.getBackgroundColor());\n var options = optionList.getOptions();\n var selected = optionList.getSelected();\n if (optionList.isSorted())\n options.sort();\n var text = '';\n for (var idx = 0, len = options.length; idx < len; idx++) {\n text += options[idx];\n if (idx < len - 1)\n text += '\\n';\n }\n var padding = 1;\n var bounds = {\n x: borderWidth + padding,\n y: borderWidth + padding,\n width: width - (borderWidth + padding) * 2,\n height: height - (borderWidth + padding) * 2,\n };\n var _d = Object(_text_layout__WEBPACK_IMPORTED_MODULE_4__[\"layoutMultilineText\"])(text, {\n alignment: _text_alignment__WEBPACK_IMPORTED_MODULE_5__[\"TextAlignment\"].Left,\n fontSize: widgetFontSize !== null && widgetFontSize !== void 0 ? widgetFontSize : fieldFontSize,\n font: font,\n bounds: bounds,\n }), lines = _d.lines, fontSize = _d.fontSize, lineHeight = _d.lineHeight;\n var selectedLines = [];\n for (var idx = 0, len = lines.length; idx < len; idx++) {\n var line = lines[idx];\n if (selected.includes(line.text))\n selectedLines.push(idx);\n }\n var blue = Object(_colors__WEBPACK_IMPORTED_MODULE_2__[\"rgb\"])(153 / 255, 193 / 255, 218 / 255);\n // Update font size and color\n var textColor = (_b = widgetColor !== null && widgetColor !== void 0 ? widgetColor : fieldColor) !== null && _b !== void 0 ? _b : black;\n if (widgetColor || widgetFontSize !== undefined) {\n updateDefaultAppearance(widget, textColor, font, fontSize);\n }\n else {\n updateDefaultAppearance(optionList.acroField, textColor, font, fontSize);\n }\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(rotate, Object(_operations__WEBPACK_IMPORTED_MODULE_1__[\"drawOptionList\"])({\n x: 0 + borderWidth / 2,\n y: 0 + borderWidth / 2,\n width: width - borderWidth,\n height: height - borderWidth,\n borderWidth: borderWidth !== null && borderWidth !== void 0 ? borderWidth : 0,\n borderColor: borderColor,\n textColor: textColor,\n font: font.name,\n fontSize: fontSize,\n color: normalBackgroundColor,\n textLines: lines,\n lineHeight: lineHeight,\n selectedColor: blue,\n selectedLines: selectedLines,\n padding: padding,\n }));\n};\n//# sourceMappingURL=appearances.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/form/appearances.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/form/index.js":
/*!********************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/form/index.js ***!
\********************************************************************/
/*! exports provided: normalizeAppearance, defaultCheckBoxAppearanceProvider, defaultRadioGroupAppearanceProvider, defaultButtonAppearanceProvider, defaultTextFieldAppearanceProvider, defaultDropdownAppearanceProvider, defaultOptionListAppearanceProvider, PDFButton, PDFCheckBox, PDFDropdown, PDFField, PDFForm, PDFOptionList, PDFRadioGroup, PDFSignature, PDFTextField */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _appearances__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./appearances */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/appearances.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"normalizeAppearance\", function() { return _appearances__WEBPACK_IMPORTED_MODULE_0__[\"normalizeAppearance\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultCheckBoxAppearanceProvider\", function() { return _appearances__WEBPACK_IMPORTED_MODULE_0__[\"defaultCheckBoxAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultRadioGroupAppearanceProvider\", function() { return _appearances__WEBPACK_IMPORTED_MODULE_0__[\"defaultRadioGroupAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultButtonAppearanceProvider\", function() { return _appearances__WEBPACK_IMPORTED_MODULE_0__[\"defaultButtonAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultTextFieldAppearanceProvider\", function() { return _appearances__WEBPACK_IMPORTED_MODULE_0__[\"defaultTextFieldAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultDropdownAppearanceProvider\", function() { return _appearances__WEBPACK_IMPORTED_MODULE_0__[\"defaultDropdownAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultOptionListAppearanceProvider\", function() { return _appearances__WEBPACK_IMPORTED_MODULE_0__[\"defaultOptionListAppearanceProvider\"]; });\n\n/* harmony import */ var _PDFButton__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFButton */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFButton.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFButton\", function() { return _PDFButton__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _PDFCheckBox__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFCheckBox */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFCheckBox.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFCheckBox\", function() { return _PDFCheckBox__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _PDFDropdown__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PDFDropdown */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFDropdown.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFDropdown\", function() { return _PDFDropdown__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _PDFField__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./PDFField */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFField.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFField\", function() { return _PDFField__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _PDFForm__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PDFForm */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFForm.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFForm\", function() { return _PDFForm__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _PDFOptionList__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./PDFOptionList */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFOptionList.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFOptionList\", function() { return _PDFOptionList__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _PDFRadioGroup__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./PDFRadioGroup */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFRadioGroup.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFRadioGroup\", function() { return _PDFRadioGroup__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _PDFSignature__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./PDFSignature */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFSignature.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFSignature\", function() { return _PDFSignature__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _PDFTextField__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./PDFTextField */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/PDFTextField.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFTextField\", function() { return _PDFTextField__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/form/index.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/image/alignment.js":
/*!*************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/image/alignment.js ***!
\*************************************************************************/
/*! exports provided: ImageAlignment */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ImageAlignment\", function() { return ImageAlignment; });\nvar ImageAlignment;\n(function (ImageAlignment) {\n ImageAlignment[ImageAlignment[\"Left\"] = 0] = \"Left\";\n ImageAlignment[ImageAlignment[\"Center\"] = 1] = \"Center\";\n ImageAlignment[ImageAlignment[\"Right\"] = 2] = \"Right\";\n})(ImageAlignment || (ImageAlignment = {}));\n//# sourceMappingURL=alignment.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/image/alignment.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/image/index.js":
/*!*********************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/image/index.js ***!
\*********************************************************************/
/*! exports provided: ImageAlignment */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _alignment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./alignment */ \"../simple-mind-map/node_modules/pdf-lib/es/api/image/alignment.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ImageAlignment\", function() { return _alignment__WEBPACK_IMPORTED_MODULE_0__[\"ImageAlignment\"]; });\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/image/index.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/index.js":
/*!***************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/index.js ***!
\***************************************************************/
/*! exports provided: normalizeAppearance, defaultCheckBoxAppearanceProvider, defaultRadioGroupAppearanceProvider, defaultButtonAppearanceProvider, defaultTextFieldAppearanceProvider, defaultDropdownAppearanceProvider, defaultOptionListAppearanceProvider, PDFButton, PDFCheckBox, PDFDropdown, PDFField, PDFForm, PDFOptionList, PDFRadioGroup, PDFSignature, PDFTextField, TextAlignment, layoutMultilineText, layoutCombedText, layoutSinglelineText, ColorTypes, grayscale, rgb, cmyk, setFillingColor, setStrokingColor, componentsToColor, colorToComponents, EncryptedPDFError, FontkitNotRegisteredError, ForeignPageError, RemovePageFromEmptyDocumentError, NoSuchFieldError, UnexpectedFieldTypeError, MissingOnValueCheckError, FieldAlreadyExistsError, InvalidFieldNamePartError, FieldExistsAsNonTerminalError, RichTextFieldReadError, CombedTextLayoutError, ExceededMaxLengthError, InvalidMaxLengthError, ImageAlignment, asPDFName, asPDFNumber, asNumber, drawText, drawLinesOfText, drawImage, drawPage, drawLine, drawRectangle, drawEllipsePath, drawEllipse, drawSvgPath, drawCheckMark, rotateInPlace, drawCheckBox, drawRadioButton, drawButton, drawTextLines, drawTextField, drawOptionList, clip, clipEvenOdd, concatTransformationMatrix, translate, scale, rotateRadians, rotateDegrees, skewRadians, skewDegrees, setDashPattern, restoreDashPattern, LineCapStyle, setLineCap, LineJoinStyle, setLineJoin, setGraphicsState, pushGraphicsState, popGraphicsState, setLineWidth, appendBezierCurve, appendQuadraticCurve, closePath, moveTo, lineTo, rectangle, square, stroke, fill, fillAndStroke, endPath, nextLine, moveText, showText, beginText, endText, setFontAndSize, setCharacterSpacing, setWordSpacing, setCharacterSqueeze, setLineHeight, setTextRise, TextRenderingMode, setTextRenderingMode, setTextMatrix, rotateAndSkewTextRadiansAndTranslate, rotateAndSkewTextDegreesAndTranslate, drawObject, setFillingGrayscaleColor, setStrokingGrayscaleColor, setFillingRgbColor, setStrokingRgbColor, setFillingCmykColor, setStrokingCmykColor, beginMarkedContent, endMarkedContent, RotationTypes, radians, degrees, degreesToRadians, radiansToDegrees, toRadians, toDegrees, reduceRotation, adjustDimsForRotation, rotateRectangle, PageSizes, BlendMode, ParseSpeeds, StandardFonts, PDFDocument, PDFFont, PDFImage, PDFPage, PDFEmbeddedPage, PDFJavaScript */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _form__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./form */ \"../simple-mind-map/node_modules/pdf-lib/es/api/form/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"normalizeAppearance\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"normalizeAppearance\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultCheckBoxAppearanceProvider\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"defaultCheckBoxAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultRadioGroupAppearanceProvider\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"defaultRadioGroupAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultButtonAppearanceProvider\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"defaultButtonAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultTextFieldAppearanceProvider\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"defaultTextFieldAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultDropdownAppearanceProvider\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"defaultDropdownAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultOptionListAppearanceProvider\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"defaultOptionListAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFButton\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"PDFButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFCheckBox\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"PDFCheckBox\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFDropdown\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"PDFDropdown\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFField\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"PDFField\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFForm\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"PDFForm\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFOptionList\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"PDFOptionList\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFRadioGroup\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"PDFRadioGroup\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFSignature\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"PDFSignature\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFTextField\", function() { return _form__WEBPACK_IMPORTED_MODULE_0__[\"PDFTextField\"]; });\n\n/* harmony import */ var _text__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./text */ \"../simple-mind-map/node_modules/pdf-lib/es/api/text/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TextAlignment\", function() { return _text__WEBPACK_IMPORTED_MODULE_1__[\"TextAlignment\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"layoutMultilineText\", function() { return _text__WEBPACK_IMPORTED_MODULE_1__[\"layoutMultilineText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"layoutCombedText\", function() { return _text__WEBPACK_IMPORTED_MODULE_1__[\"layoutCombedText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"layoutSinglelineText\", function() { return _text__WEBPACK_IMPORTED_MODULE_1__[\"layoutSinglelineText\"]; });\n\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./colors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/colors.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ColorTypes\", function() { return _colors__WEBPACK_IMPORTED_MODULE_2__[\"ColorTypes\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"grayscale\", function() { return _colors__WEBPACK_IMPORTED_MODULE_2__[\"grayscale\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rgb\", function() { return _colors__WEBPACK_IMPORTED_MODULE_2__[\"rgb\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cmyk\", function() { return _colors__WEBPACK_IMPORTED_MODULE_2__[\"cmyk\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setFillingColor\", function() { return _colors__WEBPACK_IMPORTED_MODULE_2__[\"setFillingColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setStrokingColor\", function() { return _colors__WEBPACK_IMPORTED_MODULE_2__[\"setStrokingColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"componentsToColor\", function() { return _colors__WEBPACK_IMPORTED_MODULE_2__[\"componentsToColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"colorToComponents\", function() { return _colors__WEBPACK_IMPORTED_MODULE_2__[\"colorToComponents\"]; });\n\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./errors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/errors.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EncryptedPDFError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_3__[\"EncryptedPDFError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FontkitNotRegisteredError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_3__[\"FontkitNotRegisteredError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ForeignPageError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_3__[\"ForeignPageError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RemovePageFromEmptyDocumentError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_3__[\"RemovePageFromEmptyDocumentError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NoSuchFieldError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_3__[\"NoSuchFieldError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UnexpectedFieldTypeError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_3__[\"UnexpectedFieldTypeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MissingOnValueCheckError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_3__[\"MissingOnValueCheckError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FieldAlreadyExistsError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_3__[\"FieldAlreadyExistsError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InvalidFieldNamePartError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_3__[\"InvalidFieldNamePartError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FieldExistsAsNonTerminalError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_3__[\"FieldExistsAsNonTerminalError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RichTextFieldReadError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_3__[\"RichTextFieldReadError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CombedTextLayoutError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_3__[\"CombedTextLayoutError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExceededMaxLengthError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_3__[\"ExceededMaxLengthError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InvalidMaxLengthError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_3__[\"InvalidMaxLengthError\"]; });\n\n/* harmony import */ var _image__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./image */ \"../simple-mind-map/node_modules/pdf-lib/es/api/image/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ImageAlignment\", function() { return _image__WEBPACK_IMPORTED_MODULE_4__[\"ImageAlignment\"]; });\n\n/* harmony import */ var _objects__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./objects */ \"../simple-mind-map/node_modules/pdf-lib/es/api/objects.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"asPDFName\", function() { return _objects__WEBPACK_IMPORTED_MODULE_5__[\"asPDFName\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"asPDFNumber\", function() { return _objects__WEBPACK_IMPORTED_MODULE_5__[\"asPDFNumber\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"asNumber\", function() { return _objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"]; });\n\n/* harmony import */ var _operations__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./operations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/operations.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawText\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawLinesOfText\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawLinesOfText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawImage\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawImage\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawPage\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawPage\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawLine\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawLine\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawRectangle\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawRectangle\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawEllipsePath\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawEllipsePath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawEllipse\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawEllipse\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawSvgPath\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawSvgPath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawCheckMark\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawCheckMark\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rotateInPlace\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"rotateInPlace\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawCheckBox\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawCheckBox\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawRadioButton\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawRadioButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawButton\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawTextLines\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawTextLines\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawTextField\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawTextField\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawOptionList\", function() { return _operations__WEBPACK_IMPORTED_MODULE_6__[\"drawOptionList\"]; });\n\n/* harmony import */ var _operators__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./operators */ \"../simple-mind-map/node_modules/pdf-lib/es/api/operators.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clip\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"clip\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clipEvenOdd\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"clipEvenOdd\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"concatTransformationMatrix\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"concatTransformationMatrix\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"translate\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"translate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"scale\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"scale\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rotateRadians\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"rotateRadians\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rotateDegrees\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"rotateDegrees\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"skewRadians\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"skewRadians\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"skewDegrees\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"skewDegrees\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setDashPattern\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setDashPattern\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"restoreDashPattern\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"restoreDashPattern\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LineCapStyle\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"LineCapStyle\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setLineCap\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setLineCap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LineJoinStyle\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"LineJoinStyle\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setLineJoin\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setLineJoin\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setGraphicsState\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setGraphicsState\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pushGraphicsState\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"pushGraphicsState\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"popGraphicsState\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"popGraphicsState\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setLineWidth\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setLineWidth\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"appendBezierCurve\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"appendBezierCurve\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"appendQuadraticCurve\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"appendQuadraticCurve\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"closePath\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"closePath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"moveTo\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"moveTo\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lineTo\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"lineTo\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rectangle\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"rectangle\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"square\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"square\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stroke\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"stroke\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"fill\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"fill\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"fillAndStroke\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"fillAndStroke\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endPath\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"endPath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"nextLine\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"nextLine\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"moveText\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"moveText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"showText\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"showText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"beginText\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"beginText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endText\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"endText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setFontAndSize\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setFontAndSize\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setCharacterSpacing\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setCharacterSpacing\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setWordSpacing\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setWordSpacing\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setCharacterSqueeze\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setCharacterSqueeze\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setLineHeight\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setLineHeight\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setTextRise\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setTextRise\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TextRenderingMode\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"TextRenderingMode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setTextRenderingMode\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setTextRenderingMode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setTextMatrix\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setTextMatrix\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rotateAndSkewTextRadiansAndTranslate\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"rotateAndSkewTextRadiansAndTranslate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rotateAndSkewTextDegreesAndTranslate\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"rotateAndSkewTextDegreesAndTranslate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawObject\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"drawObject\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setFillingGrayscaleColor\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setFillingGrayscaleColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setStrokingGrayscaleColor\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setStrokingGrayscaleColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setFillingRgbColor\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setFillingRgbColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setStrokingRgbColor\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setStrokingRgbColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setFillingCmykColor\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setFillingCmykColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setStrokingCmykColor\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"setStrokingCmykColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"beginMarkedContent\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"beginMarkedContent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endMarkedContent\", function() { return _operators__WEBPACK_IMPORTED_MODULE_7__[\"endMarkedContent\"]; });\n\n/* harmony import */ var _rotations__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./rotations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/rotations.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RotationTypes\", function() { return _rotations__WEBPACK_IMPORTED_MODULE_8__[\"RotationTypes\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"radians\", function() { return _rotations__WEBPACK_IMPORTED_MODULE_8__[\"radians\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"degrees\", function() { return _rotations__WEBPACK_IMPORTED_MODULE_8__[\"degrees\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"degreesToRadians\", function() { return _rotations__WEBPACK_IMPORTED_MODULE_8__[\"degreesToRadians\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"radiansToDegrees\", function() { return _rotations__WEBPACK_IMPORTED_MODULE_8__[\"radiansToDegrees\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toRadians\", function() { return _rotations__WEBPACK_IMPORTED_MODULE_8__[\"toRadians\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toDegrees\", function() { return _rotations__WEBPACK_IMPORTED_MODULE_8__[\"toDegrees\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reduceRotation\", function() { return _rotations__WEBPACK_IMPORTED_MODULE_8__[\"reduceRotation\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"adjustDimsForRotation\", function() { return _rotations__WEBPACK_IMPORTED_MODULE_8__[\"adjustDimsForRotation\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rotateRectangle\", function() { return _rotations__WEBPACK_IMPORTED_MODULE_8__[\"rotateRectangle\"]; });\n\n/* harmony import */ var _sizes__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./sizes */ \"../simple-mind-map/node_modules/pdf-lib/es/api/sizes.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PageSizes\", function() { return _sizes__WEBPACK_IMPORTED_MODULE_9__[\"PageSizes\"]; });\n\n/* harmony import */ var _PDFPageOptions__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./PDFPageOptions */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFPageOptions.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BlendMode\", function() { return _PDFPageOptions__WEBPACK_IMPORTED_MODULE_10__[\"BlendMode\"]; });\n\n/* harmony import */ var _PDFDocumentOptions__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./PDFDocumentOptions */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFDocumentOptions.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ParseSpeeds\", function() { return _PDFDocumentOptions__WEBPACK_IMPORTED_MODULE_11__[\"ParseSpeeds\"]; });\n\n/* harmony import */ var _StandardFonts__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./StandardFonts */ \"../simple-mind-map/node_modules/pdf-lib/es/api/StandardFonts.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StandardFonts\", function() { return _StandardFonts__WEBPACK_IMPORTED_MODULE_12__[\"StandardFonts\"]; });\n\n/* harmony import */ var _PDFDocument__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./PDFDocument */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFDocument.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFDocument\", function() { return _PDFDocument__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony import */ var _PDFFont__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./PDFFont */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFFont.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFFont\", function() { return _PDFFont__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _PDFImage__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./PDFImage */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFImage.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFImage\", function() { return _PDFImage__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _PDFPage__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./PDFPage */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFPage.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFPage\", function() { return _PDFPage__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* harmony import */ var _PDFEmbeddedPage__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./PDFEmbeddedPage */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFEmbeddedPage.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFEmbeddedPage\", function() { return _PDFEmbeddedPage__WEBPACK_IMPORTED_MODULE_17__[\"default\"]; });\n\n/* harmony import */ var _PDFJavaScript__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./PDFJavaScript */ \"../simple-mind-map/node_modules/pdf-lib/es/api/PDFJavaScript.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFJavaScript\", function() { return _PDFJavaScript__WEBPACK_IMPORTED_MODULE_18__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/index.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/objects.js":
/*!*****************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/objects.js ***!
\*****************************************************************/
/*! exports provided: asPDFName, asPDFNumber, asNumber */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asPDFName\", function() { return asPDFName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asPDFNumber\", function() { return asPDFNumber; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asNumber\", function() { return asNumber; });\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n\nvar asPDFName = function (name) {\n return name instanceof _core__WEBPACK_IMPORTED_MODULE_0__[\"PDFName\"] ? name : _core__WEBPACK_IMPORTED_MODULE_0__[\"PDFName\"].of(name);\n};\nvar asPDFNumber = function (num) {\n return num instanceof _core__WEBPACK_IMPORTED_MODULE_0__[\"PDFNumber\"] ? num : _core__WEBPACK_IMPORTED_MODULE_0__[\"PDFNumber\"].of(num);\n};\nvar asNumber = function (num) {\n return num instanceof _core__WEBPACK_IMPORTED_MODULE_0__[\"PDFNumber\"] ? num.asNumber() : num;\n};\n//# sourceMappingURL=objects.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/objects.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/operations.js":
/*!********************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/operations.js ***!
\********************************************************************/
/*! exports provided: drawText, drawLinesOfText, drawImage, drawPage, drawLine, drawRectangle, drawEllipsePath, drawEllipse, drawSvgPath, drawCheckMark, rotateInPlace, drawCheckBox, drawRadioButton, drawButton, drawTextLines, drawTextField, drawOptionList */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawText\", function() { return drawText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawLinesOfText\", function() { return drawLinesOfText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawImage\", function() { return drawImage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawPage\", function() { return drawPage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawLine\", function() { return drawLine; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawRectangle\", function() { return drawRectangle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawEllipsePath\", function() { return drawEllipsePath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawEllipse\", function() { return drawEllipse; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawSvgPath\", function() { return drawSvgPath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawCheckMark\", function() { return drawCheckMark; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rotateInPlace\", function() { return rotateInPlace; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawCheckBox\", function() { return drawCheckBox; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawRadioButton\", function() { return drawRadioButton; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawButton\", function() { return drawButton; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawTextLines\", function() { return drawTextLines; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawTextField\", function() { return drawTextField; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawOptionList\", function() { return drawOptionList; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _colors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./colors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/colors.js\");\n/* harmony import */ var _operators__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./operators */ \"../simple-mind-map/node_modules/pdf-lib/es/api/operators.js\");\n/* harmony import */ var _rotations__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./rotations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/rotations.js\");\n/* harmony import */ var _svgPath__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./svgPath */ \"../simple-mind-map/node_modules/pdf-lib/es/api/svgPath.js\");\n/* harmony import */ var _objects__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./objects */ \"../simple-mind-map/node_modules/pdf-lib/es/api/objects.js\");\n\n\n\n\n\n\nvar drawText = function (line, options) {\n return [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])(),\n options.graphicsState && Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setGraphicsState\"])(options.graphicsState),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"beginText\"])(),\n Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"setFillingColor\"])(options.color),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setFontAndSize\"])(options.font, options.size),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"rotateAndSkewTextRadiansAndTranslate\"])(Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.rotate), Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.xSkew), Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.ySkew), options.x, options.y),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"showText\"])(line),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"endText\"])(),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])(),\n ].filter(Boolean);\n};\nvar drawLinesOfText = function (lines, options) {\n var operators = [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])(),\n options.graphicsState && Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setGraphicsState\"])(options.graphicsState),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"beginText\"])(),\n Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"setFillingColor\"])(options.color),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setFontAndSize\"])(options.font, options.size),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setLineHeight\"])(options.lineHeight),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"rotateAndSkewTextRadiansAndTranslate\"])(Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.rotate), Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.xSkew), Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.ySkew), options.x, options.y),\n ].filter(Boolean);\n for (var idx = 0, len = lines.length; idx < len; idx++) {\n operators.push(Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"showText\"])(lines[idx]), Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"nextLine\"])());\n }\n operators.push(Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"endText\"])(), Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])());\n return operators;\n};\nvar drawImage = function (name, options) {\n return [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])(),\n options.graphicsState && Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setGraphicsState\"])(options.graphicsState),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"translate\"])(options.x, options.y),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"rotateRadians\"])(Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.rotate)),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"scale\"])(options.width, options.height),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"skewRadians\"])(Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.xSkew), Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.ySkew)),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"drawObject\"])(name),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])(),\n ].filter(Boolean);\n};\nvar drawPage = function (name, options) {\n return [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])(),\n options.graphicsState && Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setGraphicsState\"])(options.graphicsState),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"translate\"])(options.x, options.y),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"rotateRadians\"])(Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.rotate)),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"scale\"])(options.xScale, options.yScale),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"skewRadians\"])(Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.xSkew), Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.ySkew)),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"drawObject\"])(name),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])(),\n ].filter(Boolean);\n};\nvar drawLine = function (options) {\n var _a, _b;\n return [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])(),\n options.graphicsState && Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setGraphicsState\"])(options.graphicsState),\n options.color && Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"setStrokingColor\"])(options.color),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setLineWidth\"])(options.thickness),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setDashPattern\"])((_a = options.dashArray) !== null && _a !== void 0 ? _a : [], (_b = options.dashPhase) !== null && _b !== void 0 ? _b : 0),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"moveTo\"])(options.start.x, options.start.y),\n options.lineCap && Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setLineCap\"])(options.lineCap),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"moveTo\"])(options.start.x, options.start.y),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"lineTo\"])(options.end.x, options.end.y),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"stroke\"])(),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])(),\n ].filter(Boolean);\n};\nvar drawRectangle = function (options) {\n var _a, _b;\n return [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])(),\n options.graphicsState && Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setGraphicsState\"])(options.graphicsState),\n options.color && Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"setFillingColor\"])(options.color),\n options.borderColor && Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"setStrokingColor\"])(options.borderColor),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setLineWidth\"])(options.borderWidth),\n options.borderLineCap && Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setLineCap\"])(options.borderLineCap),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setDashPattern\"])((_a = options.borderDashArray) !== null && _a !== void 0 ? _a : [], (_b = options.borderDashPhase) !== null && _b !== void 0 ? _b : 0),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"translate\"])(options.x, options.y),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"rotateRadians\"])(Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.rotate)),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"skewRadians\"])(Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.xSkew), Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.ySkew)),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"moveTo\"])(0, 0),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"lineTo\"])(0, options.height),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"lineTo\"])(options.width, options.height),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"lineTo\"])(options.width, 0),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"closePath\"])(),\n // prettier-ignore\n options.color && options.borderWidth ? Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"fillAndStroke\"])()\n : options.color ? Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"fill\"])()\n : options.borderColor ? Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"stroke\"])()\n : Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"closePath\"])(),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])(),\n ].filter(Boolean);\n};\nvar KAPPA = 4.0 * ((Math.sqrt(2) - 1.0) / 3.0);\n/** @deprecated */\nvar drawEllipsePath = function (config) {\n var x = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(config.x);\n var y = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(config.y);\n var xScale = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(config.xScale);\n var yScale = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(config.yScale);\n x -= xScale;\n y -= yScale;\n var ox = xScale * KAPPA;\n var oy = yScale * KAPPA;\n var xe = x + xScale * 2;\n var ye = y + yScale * 2;\n var xm = x + xScale;\n var ym = y + yScale;\n return [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])(),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"moveTo\"])(x, ym),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"appendBezierCurve\"])(x, ym - oy, xm - ox, y, xm, y),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"appendBezierCurve\"])(xm + ox, y, xe, ym - oy, xe, ym),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"appendBezierCurve\"])(xe, ym + oy, xm + ox, ye, xm, ye),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"appendBezierCurve\"])(xm - ox, ye, x, ym + oy, x, ym),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])(),\n ];\n};\nvar drawEllipseCurves = function (config) {\n var centerX = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(config.x);\n var centerY = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(config.y);\n var xScale = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(config.xScale);\n var yScale = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(config.yScale);\n var x = -xScale;\n var y = -yScale;\n var ox = xScale * KAPPA;\n var oy = yScale * KAPPA;\n var xe = x + xScale * 2;\n var ye = y + yScale * 2;\n var xm = x + xScale;\n var ym = y + yScale;\n return [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"translate\"])(centerX, centerY),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"rotateRadians\"])(Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(config.rotate)),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"moveTo\"])(x, ym),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"appendBezierCurve\"])(x, ym - oy, xm - ox, y, xm, y),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"appendBezierCurve\"])(xm + ox, y, xe, ym - oy, xe, ym),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"appendBezierCurve\"])(xe, ym + oy, xm + ox, ye, xm, ye),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"appendBezierCurve\"])(xm - ox, ye, x, ym + oy, x, ym),\n ];\n};\nvar drawEllipse = function (options) {\n var _a, _b, _c;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])(),\n options.graphicsState && Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setGraphicsState\"])(options.graphicsState),\n options.color && Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"setFillingColor\"])(options.color),\n options.borderColor && Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"setStrokingColor\"])(options.borderColor),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setLineWidth\"])(options.borderWidth),\n options.borderLineCap && Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setLineCap\"])(options.borderLineCap),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setDashPattern\"])((_a = options.borderDashArray) !== null && _a !== void 0 ? _a : [], (_b = options.borderDashPhase) !== null && _b !== void 0 ? _b : 0)\n ], (options.rotate === undefined\n ? drawEllipsePath({\n x: options.x,\n y: options.y,\n xScale: options.xScale,\n yScale: options.yScale,\n })\n : drawEllipseCurves({\n x: options.x,\n y: options.y,\n xScale: options.xScale,\n yScale: options.yScale,\n rotate: (_c = options.rotate) !== null && _c !== void 0 ? _c : Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n })), [\n // prettier-ignore\n options.color && options.borderWidth ? Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"fillAndStroke\"])()\n : options.color ? Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"fill\"])()\n : options.borderColor ? Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"stroke\"])()\n : Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"closePath\"])(),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])(),\n ]).filter(Boolean);\n};\nvar drawSvgPath = function (path, options) {\n var _a, _b, _c;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])(),\n options.graphicsState && Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setGraphicsState\"])(options.graphicsState),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"translate\"])(options.x, options.y),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"rotateRadians\"])(Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])((_a = options.rotate) !== null && _a !== void 0 ? _a : Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0))),\n // SVG path Y axis is opposite pdf-lib's\n options.scale ? Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"scale\"])(options.scale, -options.scale) : Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"scale\"])(1, -1),\n options.color && Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"setFillingColor\"])(options.color),\n options.borderColor && Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"setStrokingColor\"])(options.borderColor),\n options.borderWidth && Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setLineWidth\"])(options.borderWidth),\n options.borderLineCap && Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setLineCap\"])(options.borderLineCap),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setDashPattern\"])((_b = options.borderDashArray) !== null && _b !== void 0 ? _b : [], (_c = options.borderDashPhase) !== null && _c !== void 0 ? _c : 0)\n ], Object(_svgPath__WEBPACK_IMPORTED_MODULE_4__[\"svgPathToOperators\"])(path), [\n // prettier-ignore\n options.color && options.borderWidth ? Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"fillAndStroke\"])()\n : options.color ? Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"fill\"])()\n : options.borderColor ? Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"stroke\"])()\n : Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"closePath\"])(),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])(),\n ]).filter(Boolean);\n};\nvar drawCheckMark = function (options) {\n var size = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.size);\n /*********************** Define Check Mark Points ***************************/\n // A check mark is defined by three points in some coordinate space. Here, we\n // define these points in a unit coordinate system, where the range of the x\n // and y axis are both [-1, 1].\n //\n // Note that we do not hard code `p1y` in case we wish to change the\n // size/shape of the check mark in the future. We want the check mark to\n // always form a right angle. This means that the dot product between (p1-p2)\n // and (p3-p2) should be zero:\n //\n // (p1x-p2x) * (p3x-p2x) + (p1y-p2y) * (p3y-p2y) = 0\n //\n // We can now rejigger this equation to solve for `p1y`:\n //\n // (p1y-p2y) * (p3y-p2y) = -((p1x-p2x) * (p3x-p2x))\n // (p1y-p2y) = -((p1x-p2x) * (p3x-p2x)) / (p3y-p2y)\n // p1y = -((p1x-p2x) * (p3x-p2x)) / (p3y-p2y) + p2y\n //\n // Thanks to my friend Joel Walker (https://github.com/JWalker1995) for\n // devising the above equation and unit coordinate system approach!\n // (x, y) coords of the check mark's bottommost point\n var p2x = -1 + 0.75;\n var p2y = -1 + 0.51;\n // (x, y) coords of the check mark's topmost point\n var p3y = 1 - 0.525;\n var p3x = 1 - 0.31;\n // (x, y) coords of the check mark's center (vertically) point\n var p1x = -1 + 0.325;\n var p1y = -((p1x - p2x) * (p3x - p2x)) / (p3y - p2y) + p2y;\n /****************************************************************************/\n return [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])(),\n options.color && Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"setStrokingColor\"])(options.color),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setLineWidth\"])(options.thickness),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"translate\"])(options.x, options.y),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"moveTo\"])(p1x * size, p1y * size),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"lineTo\"])(p2x * size, p2y * size),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"lineTo\"])(p3x * size, p3y * size),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"stroke\"])(),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])(),\n ].filter(Boolean);\n};\n// prettier-ignore\nvar rotateInPlace = function (options) {\n return options.rotation === 0 ? [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"translate\"])(0, 0),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"rotateDegrees\"])(0)\n ]\n : options.rotation === 90 ? [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"translate\"])(options.width, 0),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"rotateDegrees\"])(90)\n ]\n : options.rotation === 180 ? [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"translate\"])(options.width, options.height),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"rotateDegrees\"])(180)\n ]\n : options.rotation === 270 ? [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"translate\"])(0, options.height),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"rotateDegrees\"])(270)\n ]\n : [];\n}; // Invalid rotation - noop\nvar drawCheckBox = function (options) {\n var outline = drawRectangle({\n x: options.x,\n y: options.y,\n width: options.width,\n height: options.height,\n borderWidth: options.borderWidth,\n color: options.color,\n borderColor: options.borderColor,\n rotate: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n xSkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n ySkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n });\n if (!options.filled)\n return outline;\n var width = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.width);\n var height = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.height);\n var checkMarkSize = Math.min(width, height) / 2;\n var checkMark = drawCheckMark({\n x: width / 2,\n y: height / 2,\n size: checkMarkSize,\n thickness: options.thickness,\n color: options.markColor,\n });\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])()], outline, checkMark, [Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])()]);\n};\nvar drawRadioButton = function (options) {\n var width = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.width);\n var height = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.height);\n var outlineScale = Math.min(width, height) / 2;\n var outline = drawEllipse({\n x: options.x,\n y: options.y,\n xScale: outlineScale,\n yScale: outlineScale,\n color: options.color,\n borderColor: options.borderColor,\n borderWidth: options.borderWidth,\n });\n if (!options.filled)\n return outline;\n var dot = drawEllipse({\n x: options.x,\n y: options.y,\n xScale: outlineScale * 0.45,\n yScale: outlineScale * 0.45,\n color: options.dotColor,\n borderColor: undefined,\n borderWidth: 0,\n });\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])()], outline, dot, [Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])()]);\n};\nvar drawButton = function (options) {\n var x = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.x);\n var y = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.y);\n var width = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.width);\n var height = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.height);\n var background = drawRectangle({\n x: x,\n y: y,\n width: width,\n height: height,\n borderWidth: options.borderWidth,\n color: options.color,\n borderColor: options.borderColor,\n rotate: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n xSkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n ySkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n });\n var lines = drawTextLines(options.textLines, {\n color: options.textColor,\n font: options.font,\n size: options.fontSize,\n rotate: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n xSkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n ySkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n });\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])()], background, lines, [Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])()]);\n};\nvar drawTextLines = function (lines, options) {\n var operators = [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"beginText\"])(),\n Object(_colors__WEBPACK_IMPORTED_MODULE_1__[\"setFillingColor\"])(options.color),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"setFontAndSize\"])(options.font, options.size),\n ];\n for (var idx = 0, len = lines.length; idx < len; idx++) {\n var _a = lines[idx], encoded = _a.encoded, x = _a.x, y = _a.y;\n operators.push(Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"rotateAndSkewTextRadiansAndTranslate\"])(Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.rotate), Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.xSkew), Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"toRadians\"])(options.ySkew), x, y), Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"showText\"])(encoded));\n }\n operators.push(Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"endText\"])());\n return operators;\n};\nvar drawTextField = function (options) {\n var x = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.x);\n var y = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.y);\n var width = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.width);\n var height = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.height);\n var borderWidth = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.borderWidth);\n var padding = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.padding);\n var clipX = x + borderWidth / 2 + padding;\n var clipY = y + borderWidth / 2 + padding;\n var clipWidth = width - (borderWidth / 2 + padding) * 2;\n var clipHeight = height - (borderWidth / 2 + padding) * 2;\n var clippingArea = [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"moveTo\"])(clipX, clipY),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"lineTo\"])(clipX, clipY + clipHeight),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"lineTo\"])(clipX + clipWidth, clipY + clipHeight),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"lineTo\"])(clipX + clipWidth, clipY),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"closePath\"])(),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"clip\"])(),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"endPath\"])(),\n ];\n var background = drawRectangle({\n x: x,\n y: y,\n width: width,\n height: height,\n borderWidth: options.borderWidth,\n color: options.color,\n borderColor: options.borderColor,\n rotate: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n xSkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n ySkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n });\n var lines = drawTextLines(options.textLines, {\n color: options.textColor,\n font: options.font,\n size: options.fontSize,\n rotate: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n xSkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n ySkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n });\n var markedContent = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"beginMarkedContent\"])('Tx'),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])()\n ], lines, [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])(),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"endMarkedContent\"])(),\n ]);\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])()\n ], background, clippingArea, markedContent, [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])(),\n ]);\n};\nvar drawOptionList = function (options) {\n var x = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.x);\n var y = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.y);\n var width = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.width);\n var height = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.height);\n var lineHeight = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.lineHeight);\n var borderWidth = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.borderWidth);\n var padding = Object(_objects__WEBPACK_IMPORTED_MODULE_5__[\"asNumber\"])(options.padding);\n var clipX = x + borderWidth / 2 + padding;\n var clipY = y + borderWidth / 2 + padding;\n var clipWidth = width - (borderWidth / 2 + padding) * 2;\n var clipHeight = height - (borderWidth / 2 + padding) * 2;\n var clippingArea = [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"moveTo\"])(clipX, clipY),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"lineTo\"])(clipX, clipY + clipHeight),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"lineTo\"])(clipX + clipWidth, clipY + clipHeight),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"lineTo\"])(clipX + clipWidth, clipY),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"closePath\"])(),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"clip\"])(),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"endPath\"])(),\n ];\n var background = drawRectangle({\n x: x,\n y: y,\n width: width,\n height: height,\n borderWidth: options.borderWidth,\n color: options.color,\n borderColor: options.borderColor,\n rotate: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n xSkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n ySkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n });\n var highlights = [];\n for (var idx = 0, len = options.selectedLines.length; idx < len; idx++) {\n var line = options.textLines[options.selectedLines[idx]];\n highlights.push.apply(highlights, drawRectangle({\n x: line.x - padding,\n y: line.y - (lineHeight - line.height) / 2,\n width: width - borderWidth,\n height: line.height + (lineHeight - line.height) / 2,\n borderWidth: 0,\n color: options.selectedColor,\n borderColor: undefined,\n rotate: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n xSkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n ySkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n }));\n }\n var lines = drawTextLines(options.textLines, {\n color: options.textColor,\n font: options.font,\n size: options.fontSize,\n rotate: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n xSkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n ySkew: Object(_rotations__WEBPACK_IMPORTED_MODULE_3__[\"degrees\"])(0),\n });\n var markedContent = Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"beginMarkedContent\"])('Tx'),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])()\n ], lines, [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])(),\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"endMarkedContent\"])(),\n ]);\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"pushGraphicsState\"])()\n ], background, highlights, clippingArea, markedContent, [\n Object(_operators__WEBPACK_IMPORTED_MODULE_2__[\"popGraphicsState\"])(),\n ]);\n};\n//# sourceMappingURL=operations.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/operations.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/operators.js":
/*!*******************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/operators.js ***!
\*******************************************************************/
/*! exports provided: clip, clipEvenOdd, concatTransformationMatrix, translate, scale, rotateRadians, rotateDegrees, skewRadians, skewDegrees, setDashPattern, restoreDashPattern, LineCapStyle, setLineCap, LineJoinStyle, setLineJoin, setGraphicsState, pushGraphicsState, popGraphicsState, setLineWidth, appendBezierCurve, appendQuadraticCurve, closePath, moveTo, lineTo, rectangle, square, stroke, fill, fillAndStroke, endPath, nextLine, moveText, showText, beginText, endText, setFontAndSize, setCharacterSpacing, setWordSpacing, setCharacterSqueeze, setLineHeight, setTextRise, TextRenderingMode, setTextRenderingMode, setTextMatrix, rotateAndSkewTextRadiansAndTranslate, rotateAndSkewTextDegreesAndTranslate, drawObject, setFillingGrayscaleColor, setStrokingGrayscaleColor, setFillingRgbColor, setStrokingRgbColor, setFillingCmykColor, setStrokingCmykColor, beginMarkedContent, endMarkedContent */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clip\", function() { return clip; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"clipEvenOdd\", function() { return clipEvenOdd; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"concatTransformationMatrix\", function() { return concatTransformationMatrix; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"translate\", function() { return translate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"scale\", function() { return scale; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rotateRadians\", function() { return rotateRadians; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rotateDegrees\", function() { return rotateDegrees; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"skewRadians\", function() { return skewRadians; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"skewDegrees\", function() { return skewDegrees; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setDashPattern\", function() { return setDashPattern; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"restoreDashPattern\", function() { return restoreDashPattern; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LineCapStyle\", function() { return LineCapStyle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setLineCap\", function() { return setLineCap; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"LineJoinStyle\", function() { return LineJoinStyle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setLineJoin\", function() { return setLineJoin; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setGraphicsState\", function() { return setGraphicsState; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pushGraphicsState\", function() { return pushGraphicsState; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"popGraphicsState\", function() { return popGraphicsState; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setLineWidth\", function() { return setLineWidth; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"appendBezierCurve\", function() { return appendBezierCurve; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"appendQuadraticCurve\", function() { return appendQuadraticCurve; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"closePath\", function() { return closePath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"moveTo\", function() { return moveTo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lineTo\", function() { return lineTo; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rectangle\", function() { return rectangle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"square\", function() { return square; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"stroke\", function() { return stroke; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fill\", function() { return fill; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fillAndStroke\", function() { return fillAndStroke; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"endPath\", function() { return endPath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"nextLine\", function() { return nextLine; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"moveText\", function() { return moveText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"showText\", function() { return showText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"beginText\", function() { return beginText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"endText\", function() { return endText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setFontAndSize\", function() { return setFontAndSize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setCharacterSpacing\", function() { return setCharacterSpacing; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setWordSpacing\", function() { return setWordSpacing; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setCharacterSqueeze\", function() { return setCharacterSqueeze; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setLineHeight\", function() { return setLineHeight; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setTextRise\", function() { return setTextRise; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TextRenderingMode\", function() { return TextRenderingMode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setTextRenderingMode\", function() { return setTextRenderingMode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setTextMatrix\", function() { return setTextMatrix; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rotateAndSkewTextRadiansAndTranslate\", function() { return rotateAndSkewTextRadiansAndTranslate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rotateAndSkewTextDegreesAndTranslate\", function() { return rotateAndSkewTextDegreesAndTranslate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"drawObject\", function() { return drawObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setFillingGrayscaleColor\", function() { return setFillingGrayscaleColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setStrokingGrayscaleColor\", function() { return setStrokingGrayscaleColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setFillingRgbColor\", function() { return setFillingRgbColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setStrokingRgbColor\", function() { return setStrokingRgbColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setFillingCmykColor\", function() { return setFillingCmykColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setStrokingCmykColor\", function() { return setStrokingCmykColor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"beginMarkedContent\", function() { return beginMarkedContent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"endMarkedContent\", function() { return endMarkedContent; });\n/* harmony import */ var _objects__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./objects */ \"../simple-mind-map/node_modules/pdf-lib/es/api/objects.js\");\n/* harmony import */ var _rotations__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./rotations */ \"../simple-mind-map/node_modules/pdf-lib/es/api/rotations.js\");\n/* harmony import */ var _core__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n\n\n\n/* ==================== Clipping Path Operators ==================== */\nvar clip = function () { return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].ClipNonZero); };\nvar clipEvenOdd = function () { return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].ClipEvenOdd); };\n/* ==================== Graphics State Operators ==================== */\nvar cos = Math.cos, sin = Math.sin, tan = Math.tan;\nvar concatTransformationMatrix = function (a, b, c, d, e, f) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].ConcatTransformationMatrix, [\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(a),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(b),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(c),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(d),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(e),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(f),\n ]);\n};\nvar translate = function (xPos, yPos) {\n return concatTransformationMatrix(1, 0, 0, 1, xPos, yPos);\n};\nvar scale = function (xPos, yPos) {\n return concatTransformationMatrix(xPos, 0, 0, yPos, 0, 0);\n};\nvar rotateRadians = function (angle) {\n return concatTransformationMatrix(cos(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(angle)), sin(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(angle)), -sin(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(angle)), cos(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(angle)), 0, 0);\n};\nvar rotateDegrees = function (angle) {\n return rotateRadians(Object(_rotations__WEBPACK_IMPORTED_MODULE_1__[\"degreesToRadians\"])(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(angle)));\n};\nvar skewRadians = function (xSkewAngle, ySkewAngle) {\n return concatTransformationMatrix(1, tan(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(xSkewAngle)), tan(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(ySkewAngle)), 1, 0, 0);\n};\nvar skewDegrees = function (xSkewAngle, ySkewAngle) {\n return skewRadians(Object(_rotations__WEBPACK_IMPORTED_MODULE_1__[\"degreesToRadians\"])(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(xSkewAngle)), Object(_rotations__WEBPACK_IMPORTED_MODULE_1__[\"degreesToRadians\"])(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(ySkewAngle)));\n};\nvar setDashPattern = function (dashArray, dashPhase) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].SetLineDashPattern, [\n \"[\" + dashArray.map(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"]).join(' ') + \"]\",\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(dashPhase),\n ]);\n};\nvar restoreDashPattern = function () { return setDashPattern([], 0); };\nvar LineCapStyle;\n(function (LineCapStyle) {\n LineCapStyle[LineCapStyle[\"Butt\"] = 0] = \"Butt\";\n LineCapStyle[LineCapStyle[\"Round\"] = 1] = \"Round\";\n LineCapStyle[LineCapStyle[\"Projecting\"] = 2] = \"Projecting\";\n})(LineCapStyle || (LineCapStyle = {}));\nvar setLineCap = function (style) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].SetLineCapStyle, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(style)]);\n};\nvar LineJoinStyle;\n(function (LineJoinStyle) {\n LineJoinStyle[LineJoinStyle[\"Miter\"] = 0] = \"Miter\";\n LineJoinStyle[LineJoinStyle[\"Round\"] = 1] = \"Round\";\n LineJoinStyle[LineJoinStyle[\"Bevel\"] = 2] = \"Bevel\";\n})(LineJoinStyle || (LineJoinStyle = {}));\nvar setLineJoin = function (style) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].SetLineJoinStyle, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(style)]);\n};\nvar setGraphicsState = function (state) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].SetGraphicsStateParams, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFName\"])(state)]);\n};\nvar pushGraphicsState = function () { return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].PushGraphicsState); };\nvar popGraphicsState = function () { return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].PopGraphicsState); };\nvar setLineWidth = function (width) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].SetLineWidth, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(width)]);\n};\n/* ==================== Path Construction Operators ==================== */\nvar appendBezierCurve = function (x1, y1, x2, y2, x3, y3) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].AppendBezierCurve, [\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(x1),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(y1),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(x2),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(y2),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(x3),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(y3),\n ]);\n};\nvar appendQuadraticCurve = function (x1, y1, x2, y2) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].CurveToReplicateInitialPoint, [\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(x1),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(y1),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(x2),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(y2),\n ]);\n};\nvar closePath = function () { return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].ClosePath); };\nvar moveTo = function (xPos, yPos) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].MoveTo, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(xPos), Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(yPos)]);\n};\nvar lineTo = function (xPos, yPos) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].LineTo, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(xPos), Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(yPos)]);\n};\n/**\n * @param xPos x coordinate for the lower left corner of the rectangle\n * @param yPos y coordinate for the lower left corner of the rectangle\n * @param width width of the rectangle\n * @param height height of the rectangle\n */\nvar rectangle = function (xPos, yPos, width, height) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].AppendRectangle, [\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(xPos),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(yPos),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(width),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(height),\n ]);\n};\n/**\n * @param xPos x coordinate for the lower left corner of the square\n * @param yPos y coordinate for the lower left corner of the square\n * @param size width and height of the square\n */\nvar square = function (xPos, yPos, size) {\n return rectangle(xPos, yPos, size, size);\n};\n/* ==================== Path Painting Operators ==================== */\nvar stroke = function () { return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].StrokePath); };\nvar fill = function () { return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].FillNonZero); };\nvar fillAndStroke = function () { return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].FillNonZeroAndStroke); };\nvar endPath = function () { return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].EndPath); };\n/* ==================== Text Positioning Operators ==================== */\nvar nextLine = function () { return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].NextLine); };\nvar moveText = function (x, y) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].MoveText, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(x), Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(y)]);\n};\n/* ==================== Text Showing Operators ==================== */\nvar showText = function (text) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].ShowText, [text]);\n};\n/* ==================== Text State Operators ==================== */\nvar beginText = function () { return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].BeginText); };\nvar endText = function () { return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].EndText); };\nvar setFontAndSize = function (name, size) { return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].SetFontAndSize, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFName\"])(name), Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(size)]); };\nvar setCharacterSpacing = function (spacing) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].SetCharacterSpacing, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(spacing)]);\n};\nvar setWordSpacing = function (spacing) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].SetWordSpacing, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(spacing)]);\n};\n/** @param squeeze horizontal character spacing */\nvar setCharacterSqueeze = function (squeeze) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].SetTextHorizontalScaling, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(squeeze)]);\n};\nvar setLineHeight = function (lineHeight) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].SetTextLineHeight, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(lineHeight)]);\n};\nvar setTextRise = function (rise) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].SetTextRise, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(rise)]);\n};\nvar TextRenderingMode;\n(function (TextRenderingMode) {\n TextRenderingMode[TextRenderingMode[\"Fill\"] = 0] = \"Fill\";\n TextRenderingMode[TextRenderingMode[\"Outline\"] = 1] = \"Outline\";\n TextRenderingMode[TextRenderingMode[\"FillAndOutline\"] = 2] = \"FillAndOutline\";\n TextRenderingMode[TextRenderingMode[\"Invisible\"] = 3] = \"Invisible\";\n TextRenderingMode[TextRenderingMode[\"FillAndClip\"] = 4] = \"FillAndClip\";\n TextRenderingMode[TextRenderingMode[\"OutlineAndClip\"] = 5] = \"OutlineAndClip\";\n TextRenderingMode[TextRenderingMode[\"FillAndOutlineAndClip\"] = 6] = \"FillAndOutlineAndClip\";\n TextRenderingMode[TextRenderingMode[\"Clip\"] = 7] = \"Clip\";\n})(TextRenderingMode || (TextRenderingMode = {}));\nvar setTextRenderingMode = function (mode) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].SetTextRenderingMode, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(mode)]);\n};\nvar setTextMatrix = function (a, b, c, d, e, f) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].SetTextMatrix, [\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(a),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(b),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(c),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(d),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(e),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(f),\n ]);\n};\nvar rotateAndSkewTextRadiansAndTranslate = function (rotationAngle, xSkewAngle, ySkewAngle, x, y) {\n return setTextMatrix(cos(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(rotationAngle)), sin(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(rotationAngle)) + tan(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(xSkewAngle)), -sin(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(rotationAngle)) + tan(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(ySkewAngle)), cos(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(rotationAngle)), x, y);\n};\nvar rotateAndSkewTextDegreesAndTranslate = function (rotationAngle, xSkewAngle, ySkewAngle, x, y) {\n return rotateAndSkewTextRadiansAndTranslate(Object(_rotations__WEBPACK_IMPORTED_MODULE_1__[\"degreesToRadians\"])(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(rotationAngle)), Object(_rotations__WEBPACK_IMPORTED_MODULE_1__[\"degreesToRadians\"])(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(xSkewAngle)), Object(_rotations__WEBPACK_IMPORTED_MODULE_1__[\"degreesToRadians\"])(Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"])(ySkewAngle)), x, y);\n};\n/* ==================== XObject Operator ==================== */\nvar drawObject = function (name) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].DrawObject, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFName\"])(name)]);\n};\n/* ==================== Color Operators ==================== */\nvar setFillingGrayscaleColor = function (gray) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].NonStrokingColorGray, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(gray)]);\n};\nvar setStrokingGrayscaleColor = function (gray) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].StrokingColorGray, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(gray)]);\n};\nvar setFillingRgbColor = function (red, green, blue) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].NonStrokingColorRgb, [\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(red),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(green),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(blue),\n ]);\n};\nvar setStrokingRgbColor = function (red, green, blue) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].StrokingColorRgb, [\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(red),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(green),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(blue),\n ]);\n};\nvar setFillingCmykColor = function (cyan, magenta, yellow, key) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].NonStrokingColorCmyk, [\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(cyan),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(magenta),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(yellow),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(key),\n ]);\n};\nvar setStrokingCmykColor = function (cyan, magenta, yellow, key) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].StrokingColorCmyk, [\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(cyan),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(magenta),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(yellow),\n Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"])(key),\n ]);\n};\n/* ==================== Marked Content Operators ==================== */\nvar beginMarkedContent = function (tag) {\n return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].BeginMarkedContent, [Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"asPDFName\"])(tag)]);\n};\nvar endMarkedContent = function () { return _core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperator\"].of(_core__WEBPACK_IMPORTED_MODULE_2__[\"PDFOperatorNames\"].EndMarkedContent); };\n//# sourceMappingURL=operators.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/operators.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/rotations.js":
/*!*******************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/rotations.js ***!
\*******************************************************************/
/*! exports provided: RotationTypes, radians, degrees, degreesToRadians, radiansToDegrees, toRadians, toDegrees, reduceRotation, adjustDimsForRotation, rotateRectangle */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"RotationTypes\", function() { return RotationTypes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"radians\", function() { return radians; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"degrees\", function() { return degrees; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"degreesToRadians\", function() { return degreesToRadians; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"radiansToDegrees\", function() { return radiansToDegrees; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toRadians\", function() { return toRadians; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toDegrees\", function() { return toDegrees; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"reduceRotation\", function() { return reduceRotation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"adjustDimsForRotation\", function() { return adjustDimsForRotation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rotateRectangle\", function() { return rotateRectangle; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\nvar RotationTypes;\n(function (RotationTypes) {\n RotationTypes[\"Degrees\"] = \"degrees\";\n RotationTypes[\"Radians\"] = \"radians\";\n})(RotationTypes || (RotationTypes = {}));\nvar radians = function (radianAngle) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"assertIs\"])(radianAngle, 'radianAngle', ['number']);\n return { type: RotationTypes.Radians, angle: radianAngle };\n};\nvar degrees = function (degreeAngle) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"assertIs\"])(degreeAngle, 'degreeAngle', ['number']);\n return { type: RotationTypes.Degrees, angle: degreeAngle };\n};\nvar Radians = RotationTypes.Radians, Degrees = RotationTypes.Degrees;\nvar degreesToRadians = function (degree) { return (degree * Math.PI) / 180; };\nvar radiansToDegrees = function (radian) { return (radian * 180) / Math.PI; };\n// prettier-ignore\nvar toRadians = function (rotation) {\n return rotation.type === Radians ? rotation.angle\n : rotation.type === Degrees ? degreesToRadians(rotation.angle)\n : Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"error\"])(\"Invalid rotation: \" + JSON.stringify(rotation));\n};\n// prettier-ignore\nvar toDegrees = function (rotation) {\n return rotation.type === Radians ? radiansToDegrees(rotation.angle)\n : rotation.type === Degrees ? rotation.angle\n : Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"error\"])(\"Invalid rotation: \" + JSON.stringify(rotation));\n};\nvar reduceRotation = function (degreeAngle) {\n if (degreeAngle === void 0) { degreeAngle = 0; }\n var quadrants = (degreeAngle / 90) % 4;\n if (quadrants === 0)\n return 0;\n if (quadrants === 1)\n return 90;\n if (quadrants === 2)\n return 180;\n if (quadrants === 3)\n return 270;\n return 0; // `degreeAngle` is not a multiple of 90\n};\nvar adjustDimsForRotation = function (dims, degreeAngle) {\n if (degreeAngle === void 0) { degreeAngle = 0; }\n var rotation = reduceRotation(degreeAngle);\n return rotation === 90 || rotation === 270\n ? { width: dims.height, height: dims.width }\n : { width: dims.width, height: dims.height };\n};\nvar rotateRectangle = function (rectangle, borderWidth, degreeAngle) {\n if (borderWidth === void 0) { borderWidth = 0; }\n if (degreeAngle === void 0) { degreeAngle = 0; }\n var x = rectangle.x, y = rectangle.y, w = rectangle.width, h = rectangle.height;\n var r = reduceRotation(degreeAngle);\n var b = borderWidth / 2;\n // prettier-ignore\n if (r === 0)\n return { x: x - b, y: y - b, width: w, height: h };\n else if (r === 90)\n return { x: x - h + b, y: y - b, width: h, height: w };\n else if (r === 180)\n return { x: x - w + b, y: y - h + b, width: w, height: h };\n else if (r === 270)\n return { x: x - b, y: y - w + b, width: h, height: w };\n else\n return { x: x - b, y: y - b, width: w, height: h };\n};\n//# sourceMappingURL=rotations.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/rotations.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/sizes.js":
/*!***************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/sizes.js ***!
\***************************************************************/
/*! exports provided: PageSizes */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PageSizes\", function() { return PageSizes; });\nvar PageSizes = {\n '4A0': [4767.87, 6740.79],\n '2A0': [3370.39, 4767.87],\n A0: [2383.94, 3370.39],\n A1: [1683.78, 2383.94],\n A2: [1190.55, 1683.78],\n A3: [841.89, 1190.55],\n A4: [595.28, 841.89],\n A5: [419.53, 595.28],\n A6: [297.64, 419.53],\n A7: [209.76, 297.64],\n A8: [147.4, 209.76],\n A9: [104.88, 147.4],\n A10: [73.7, 104.88],\n B0: [2834.65, 4008.19],\n B1: [2004.09, 2834.65],\n B2: [1417.32, 2004.09],\n B3: [1000.63, 1417.32],\n B4: [708.66, 1000.63],\n B5: [498.9, 708.66],\n B6: [354.33, 498.9],\n B7: [249.45, 354.33],\n B8: [175.75, 249.45],\n B9: [124.72, 175.75],\n B10: [87.87, 124.72],\n C0: [2599.37, 3676.54],\n C1: [1836.85, 2599.37],\n C2: [1298.27, 1836.85],\n C3: [918.43, 1298.27],\n C4: [649.13, 918.43],\n C5: [459.21, 649.13],\n C6: [323.15, 459.21],\n C7: [229.61, 323.15],\n C8: [161.57, 229.61],\n C9: [113.39, 161.57],\n C10: [79.37, 113.39],\n RA0: [2437.8, 3458.27],\n RA1: [1729.13, 2437.8],\n RA2: [1218.9, 1729.13],\n RA3: [864.57, 1218.9],\n RA4: [609.45, 864.57],\n SRA0: [2551.18, 3628.35],\n SRA1: [1814.17, 2551.18],\n SRA2: [1275.59, 1814.17],\n SRA3: [907.09, 1275.59],\n SRA4: [637.8, 907.09],\n Executive: [521.86, 756.0],\n Folio: [612.0, 936.0],\n Legal: [612.0, 1008.0],\n Letter: [612.0, 792.0],\n Tabloid: [792.0, 1224.0],\n};\n//# sourceMappingURL=sizes.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/sizes.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/svgPath.js":
/*!*****************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/svgPath.js ***!
\*****************************************************************/
/*! exports provided: svgPathToOperators */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"svgPathToOperators\", function() { return svgPathToOperators; });\n/* harmony import */ var _operators__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./operators */ \"../simple-mind-map/node_modules/pdf-lib/es/api/operators.js\");\n// Originated from pdfkit Copyright (c) 2014 Devon Govett\n// https://github.com/foliojs/pdfkit/blob/1e62e6ffe24b378eb890df507a47610f4c4a7b24/lib/path.js\n// MIT LICENSE\n// Updated for pdf-lib & TypeScript by Jeremy Messenger\n\nvar cx = 0;\nvar cy = 0;\nvar px = 0;\nvar py = 0;\nvar sx = 0;\nvar sy = 0;\nvar parameters = new Map([\n ['A', 7],\n ['a', 7],\n ['C', 6],\n ['c', 6],\n ['H', 1],\n ['h', 1],\n ['L', 2],\n ['l', 2],\n ['M', 2],\n ['m', 2],\n ['Q', 4],\n ['q', 4],\n ['S', 4],\n ['s', 4],\n ['T', 2],\n ['t', 2],\n ['V', 1],\n ['v', 1],\n ['Z', 0],\n ['z', 0],\n]);\nvar parse = function (path) {\n var cmd;\n var ret = [];\n var args = [];\n var curArg = '';\n var foundDecimal = false;\n var params = 0;\n for (var _i = 0, path_1 = path; _i < path_1.length; _i++) {\n var c = path_1[_i];\n if (parameters.has(c)) {\n params = parameters.get(c);\n if (cmd) {\n // save existing command\n if (curArg.length > 0) {\n args[args.length] = +curArg;\n }\n ret[ret.length] = { cmd: cmd, args: args };\n args = [];\n curArg = '';\n foundDecimal = false;\n }\n cmd = c;\n }\n else if ([' ', ','].includes(c) ||\n (c === '-' && curArg.length > 0 && curArg[curArg.length - 1] !== 'e') ||\n (c === '.' && foundDecimal)) {\n if (curArg.length === 0) {\n continue;\n }\n if (args.length === params) {\n // handle reused commands\n ret[ret.length] = { cmd: cmd, args: args };\n args = [+curArg];\n // handle assumed commands\n if (cmd === 'M') {\n cmd = 'L';\n }\n if (cmd === 'm') {\n cmd = 'l';\n }\n }\n else {\n args[args.length] = +curArg;\n }\n foundDecimal = c === '.';\n // fix for negative numbers or repeated decimals with no delimeter between commands\n curArg = ['-', '.'].includes(c) ? c : '';\n }\n else {\n curArg += c;\n if (c === '.') {\n foundDecimal = true;\n }\n }\n }\n // add the last command\n if (curArg.length > 0) {\n if (args.length === params) {\n // handle reused commands\n ret[ret.length] = { cmd: cmd, args: args };\n args = [+curArg];\n // handle assumed commands\n if (cmd === 'M') {\n cmd = 'L';\n }\n if (cmd === 'm') {\n cmd = 'l';\n }\n }\n else {\n args[args.length] = +curArg;\n }\n }\n ret[ret.length] = { cmd: cmd, args: args };\n return ret;\n};\nvar apply = function (commands) {\n // current point, control point, and subpath starting point\n cx = cy = px = py = sx = sy = 0;\n // run the commands\n var cmds = [];\n for (var i = 0; i < commands.length; i++) {\n var c = commands[i];\n if (c.cmd && typeof runners[c.cmd] === 'function') {\n var cmd = runners[c.cmd](c.args);\n if (Array.isArray(cmd)) {\n cmds = cmds.concat(cmd);\n }\n else {\n cmds.push(cmd);\n }\n }\n }\n return cmds;\n};\nvar runners = {\n M: function (a) {\n cx = a[0];\n cy = a[1];\n px = py = null;\n sx = cx;\n sy = cy;\n return Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"moveTo\"])(cx, cy);\n },\n m: function (a) {\n cx += a[0];\n cy += a[1];\n px = py = null;\n sx = cx;\n sy = cy;\n return Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"moveTo\"])(cx, cy);\n },\n C: function (a) {\n cx = a[4];\n cy = a[5];\n px = a[2];\n py = a[3];\n return Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"appendBezierCurve\"])(a[0], a[1], a[2], a[3], a[4], a[5]);\n },\n c: function (a) {\n var cmd = Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"appendBezierCurve\"])(a[0] + cx, a[1] + cy, a[2] + cx, a[3] + cy, a[4] + cx, a[5] + cy);\n px = cx + a[2];\n py = cy + a[3];\n cx += a[4];\n cy += a[5];\n return cmd;\n },\n S: function (a) {\n if (px === null || py === null) {\n px = cx;\n py = cy;\n }\n var cmd = Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"appendBezierCurve\"])(cx - (px - cx), cy - (py - cy), a[0], a[1], a[2], a[3]);\n px = a[0];\n py = a[1];\n cx = a[2];\n cy = a[3];\n return cmd;\n },\n s: function (a) {\n if (px === null || py === null) {\n px = cx;\n py = cy;\n }\n var cmd = Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"appendBezierCurve\"])(cx - (px - cx), cy - (py - cy), cx + a[0], cy + a[1], cx + a[2], cy + a[3]);\n px = cx + a[0];\n py = cy + a[1];\n cx += a[2];\n cy += a[3];\n return cmd;\n },\n Q: function (a) {\n px = a[0];\n py = a[1];\n cx = a[2];\n cy = a[3];\n return Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"appendQuadraticCurve\"])(a[0], a[1], cx, cy);\n },\n q: function (a) {\n var cmd = Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"appendQuadraticCurve\"])(a[0] + cx, a[1] + cy, a[2] + cx, a[3] + cy);\n px = cx + a[0];\n py = cy + a[1];\n cx += a[2];\n cy += a[3];\n return cmd;\n },\n T: function (a) {\n if (px === null || py === null) {\n px = cx;\n py = cy;\n }\n else {\n px = cx - (px - cx);\n py = cy - (py - cy);\n }\n var cmd = Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"appendQuadraticCurve\"])(px, py, a[0], a[1]);\n px = cx - (px - cx);\n py = cy - (py - cy);\n cx = a[0];\n cy = a[1];\n return cmd;\n },\n t: function (a) {\n if (px === null || py === null) {\n px = cx;\n py = cy;\n }\n else {\n px = cx - (px - cx);\n py = cy - (py - cy);\n }\n var cmd = Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"appendQuadraticCurve\"])(px, py, cx + a[0], cy + a[1]);\n cx += a[0];\n cy += a[1];\n return cmd;\n },\n A: function (a) {\n var cmds = solveArc(cx, cy, a);\n cx = a[5];\n cy = a[6];\n return cmds;\n },\n a: function (a) {\n a[5] += cx;\n a[6] += cy;\n var cmds = solveArc(cx, cy, a);\n cx = a[5];\n cy = a[6];\n return cmds;\n },\n L: function (a) {\n cx = a[0];\n cy = a[1];\n px = py = null;\n return Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"lineTo\"])(cx, cy);\n },\n l: function (a) {\n cx += a[0];\n cy += a[1];\n px = py = null;\n return Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"lineTo\"])(cx, cy);\n },\n H: function (a) {\n cx = a[0];\n px = py = null;\n return Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"lineTo\"])(cx, cy);\n },\n h: function (a) {\n cx += a[0];\n px = py = null;\n return Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"lineTo\"])(cx, cy);\n },\n V: function (a) {\n cy = a[0];\n px = py = null;\n return Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"lineTo\"])(cx, cy);\n },\n v: function (a) {\n cy += a[0];\n px = py = null;\n return Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"lineTo\"])(cx, cy);\n },\n Z: function () {\n var cmd = Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"closePath\"])();\n cx = sx;\n cy = sy;\n return cmd;\n },\n z: function () {\n var cmd = Object(_operators__WEBPACK_IMPORTED_MODULE_0__[\"closePath\"])();\n cx = sx;\n cy = sy;\n return cmd;\n },\n};\nvar solveArc = function (x, y, coords) {\n var rx = coords[0], ry = coords[1], rot = coords[2], large = coords[3], sweep = coords[4], ex = coords[5], ey = coords[6];\n var segs = arcToSegments(ex, ey, rx, ry, large, sweep, rot, x, y);\n var cmds = [];\n for (var _i = 0, segs_1 = segs; _i < segs_1.length; _i++) {\n var seg = segs_1[_i];\n var bez = segmentToBezier.apply(void 0, seg);\n cmds.push(_operators__WEBPACK_IMPORTED_MODULE_0__[\"appendBezierCurve\"].apply(void 0, bez));\n }\n return cmds;\n};\n// from Inkscape svgtopdf, thanks!\nvar arcToSegments = function (x, y, rx, ry, large, sweep, rotateX, ox, oy) {\n var th = rotateX * (Math.PI / 180);\n var sinTh = Math.sin(th);\n var cosTh = Math.cos(th);\n rx = Math.abs(rx);\n ry = Math.abs(ry);\n px = cosTh * (ox - x) * 0.5 + sinTh * (oy - y) * 0.5;\n py = cosTh * (oy - y) * 0.5 - sinTh * (ox - x) * 0.5;\n var pl = (px * px) / (rx * rx) + (py * py) / (ry * ry);\n if (pl > 1) {\n pl = Math.sqrt(pl);\n rx *= pl;\n ry *= pl;\n }\n var a00 = cosTh / rx;\n var a01 = sinTh / rx;\n var a10 = -sinTh / ry;\n var a11 = cosTh / ry;\n var x0 = a00 * ox + a01 * oy;\n var y0 = a10 * ox + a11 * oy;\n var x1 = a00 * x + a01 * y;\n var y1 = a10 * x + a11 * y;\n var d = (x1 - x0) * (x1 - x0) + (y1 - y0) * (y1 - y0);\n var sfactorSq = 1 / d - 0.25;\n if (sfactorSq < 0) {\n sfactorSq = 0;\n }\n var sfactor = Math.sqrt(sfactorSq);\n if (sweep === large) {\n sfactor = -sfactor;\n }\n var xc = 0.5 * (x0 + x1) - sfactor * (y1 - y0);\n var yc = 0.5 * (y0 + y1) + sfactor * (x1 - x0);\n var th0 = Math.atan2(y0 - yc, x0 - xc);\n var th1 = Math.atan2(y1 - yc, x1 - xc);\n var thArc = th1 - th0;\n if (thArc < 0 && sweep === 1) {\n thArc += 2 * Math.PI;\n }\n else if (thArc > 0 && sweep === 0) {\n thArc -= 2 * Math.PI;\n }\n var segments = Math.ceil(Math.abs(thArc / (Math.PI * 0.5 + 0.001)));\n var result = [];\n for (var i = 0; i < segments; i++) {\n var th2 = th0 + (i * thArc) / segments;\n var th3 = th0 + ((i + 1) * thArc) / segments;\n result[i] = [xc, yc, th2, th3, rx, ry, sinTh, cosTh];\n }\n return result;\n};\nvar segmentToBezier = function (cx1, cy1, th0, th1, rx, ry, sinTh, cosTh) {\n var a00 = cosTh * rx;\n var a01 = -sinTh * ry;\n var a10 = sinTh * rx;\n var a11 = cosTh * ry;\n var thHalf = 0.5 * (th1 - th0);\n var t = ((8 / 3) * Math.sin(thHalf * 0.5) * Math.sin(thHalf * 0.5)) /\n Math.sin(thHalf);\n var x1 = cx1 + Math.cos(th0) - t * Math.sin(th0);\n var y1 = cy1 + Math.sin(th0) + t * Math.cos(th0);\n var x3 = cx1 + Math.cos(th1);\n var y3 = cy1 + Math.sin(th1);\n var x2 = x3 + t * Math.sin(th1);\n var y2 = y3 - t * Math.cos(th1);\n var result = [\n a00 * x1 + a01 * y1,\n a10 * x1 + a11 * y1,\n a00 * x2 + a01 * y2,\n a10 * x2 + a11 * y2,\n a00 * x3 + a01 * y3,\n a10 * x3 + a11 * y3,\n ];\n return result;\n};\nvar svgPathToOperators = function (path) { return apply(parse(path)); };\n//# sourceMappingURL=svgPath.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/svgPath.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/text/alignment.js":
/*!************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/text/alignment.js ***!
\************************************************************************/
/*! exports provided: TextAlignment */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"TextAlignment\", function() { return TextAlignment; });\nvar TextAlignment;\n(function (TextAlignment) {\n TextAlignment[TextAlignment[\"Left\"] = 0] = \"Left\";\n TextAlignment[TextAlignment[\"Center\"] = 1] = \"Center\";\n TextAlignment[TextAlignment[\"Right\"] = 2] = \"Right\";\n})(TextAlignment || (TextAlignment = {}));\n//# sourceMappingURL=alignment.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/text/alignment.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/text/index.js":
/*!********************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/text/index.js ***!
\********************************************************************/
/*! exports provided: TextAlignment, layoutMultilineText, layoutCombedText, layoutSinglelineText */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _alignment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./alignment */ \"../simple-mind-map/node_modules/pdf-lib/es/api/text/alignment.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TextAlignment\", function() { return _alignment__WEBPACK_IMPORTED_MODULE_0__[\"TextAlignment\"]; });\n\n/* harmony import */ var _layout__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./layout */ \"../simple-mind-map/node_modules/pdf-lib/es/api/text/layout.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"layoutMultilineText\", function() { return _layout__WEBPACK_IMPORTED_MODULE_1__[\"layoutMultilineText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"layoutCombedText\", function() { return _layout__WEBPACK_IMPORTED_MODULE_1__[\"layoutCombedText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"layoutSinglelineText\", function() { return _layout__WEBPACK_IMPORTED_MODULE_1__[\"layoutSinglelineText\"]; });\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/text/index.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/api/text/layout.js":
/*!*********************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/api/text/layout.js ***!
\*********************************************************************/
/*! exports provided: layoutMultilineText, layoutCombedText, layoutSinglelineText */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"layoutMultilineText\", function() { return layoutMultilineText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"layoutCombedText\", function() { return layoutCombedText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"layoutSinglelineText\", function() { return layoutSinglelineText; });\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/api/errors.js\");\n/* harmony import */ var _alignment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./alignment */ \"../simple-mind-map/node_modules/pdf-lib/es/api/text/alignment.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\nvar MIN_FONT_SIZE = 4;\nvar MAX_FONT_SIZE = 500;\nvar computeFontSize = function (lines, font, bounds, multiline) {\n if (multiline === void 0) { multiline = false; }\n var fontSize = MIN_FONT_SIZE;\n while (fontSize < MAX_FONT_SIZE) {\n var linesUsed = 0;\n for (var lineIdx = 0, lineLen = lines.length; lineIdx < lineLen; lineIdx++) {\n linesUsed += 1;\n var line = lines[lineIdx];\n var words = line.split(' ');\n // Layout the words using the current `fontSize`, line wrapping\n // whenever we reach the end of the current line.\n var spaceInLineRemaining = bounds.width;\n for (var idx = 0, len = words.length; idx < len; idx++) {\n var isLastWord = idx === len - 1;\n var word = isLastWord ? words[idx] : words[idx] + ' ';\n var widthOfWord = font.widthOfTextAtSize(word, fontSize);\n spaceInLineRemaining -= widthOfWord;\n if (spaceInLineRemaining <= 0) {\n linesUsed += 1;\n spaceInLineRemaining = bounds.width - widthOfWord;\n }\n }\n }\n // Return if we exceeded the allowed width\n if (!multiline && linesUsed > lines.length)\n return fontSize - 1;\n var height = font.heightAtSize(fontSize);\n var lineHeight = height + height * 0.2;\n var totalHeight = lineHeight * linesUsed;\n // Return if we exceeded the allowed height\n if (totalHeight > Math.abs(bounds.height))\n return fontSize - 1;\n fontSize += 1;\n }\n return fontSize;\n};\nvar computeCombedFontSize = function (line, font, bounds, cellCount) {\n var cellWidth = bounds.width / cellCount;\n var cellHeight = bounds.height;\n var fontSize = MIN_FONT_SIZE;\n var chars = Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"charSplit\"])(line);\n while (fontSize < MAX_FONT_SIZE) {\n for (var idx = 0, len = chars.length; idx < len; idx++) {\n var c = chars[idx];\n var tooLong = font.widthOfTextAtSize(c, fontSize) > cellWidth * 0.75;\n if (tooLong)\n return fontSize - 1;\n }\n var height = font.heightAtSize(fontSize, { descender: false });\n if (height > cellHeight)\n return fontSize - 1;\n fontSize += 1;\n }\n return fontSize;\n};\nvar lastIndexOfWhitespace = function (line) {\n for (var idx = line.length; idx > 0; idx--) {\n if (/\\s/.test(line[idx]))\n return idx;\n }\n return undefined;\n};\nvar splitOutLines = function (input, maxWidth, font, fontSize) {\n var _a;\n var lastWhitespaceIdx = input.length;\n while (lastWhitespaceIdx > 0) {\n var line = input.substring(0, lastWhitespaceIdx);\n var encoded = font.encodeText(line);\n var width = font.widthOfTextAtSize(line, fontSize);\n if (width < maxWidth) {\n var remainder = input.substring(lastWhitespaceIdx) || undefined;\n return { line: line, encoded: encoded, width: width, remainder: remainder };\n }\n lastWhitespaceIdx = (_a = lastIndexOfWhitespace(line)) !== null && _a !== void 0 ? _a : 0;\n }\n // We were unable to split the input enough to get a chunk that would fit\n // within the specified `maxWidth` so we'll just return everything\n return {\n line: input,\n encoded: font.encodeText(input),\n width: font.widthOfTextAtSize(input, fontSize),\n remainder: undefined,\n };\n};\nvar layoutMultilineText = function (text, _a) {\n var alignment = _a.alignment, fontSize = _a.fontSize, font = _a.font, bounds = _a.bounds;\n var lines = Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"lineSplit\"])(Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"cleanText\"])(text));\n if (fontSize === undefined || fontSize === 0) {\n fontSize = computeFontSize(lines, font, bounds, true);\n }\n var height = font.heightAtSize(fontSize);\n var lineHeight = height + height * 0.2;\n var textLines = [];\n var minX = bounds.x;\n var minY = bounds.y;\n var maxX = bounds.x + bounds.width;\n var maxY = bounds.y + bounds.height;\n var y = bounds.y + bounds.height;\n for (var idx = 0, len = lines.length; idx < len; idx++) {\n var prevRemainder = lines[idx];\n while (prevRemainder !== undefined) {\n var _b = splitOutLines(prevRemainder, bounds.width, font, fontSize), line = _b.line, encoded = _b.encoded, width = _b.width, remainder = _b.remainder;\n // prettier-ignore\n var x = (alignment === _alignment__WEBPACK_IMPORTED_MODULE_1__[\"TextAlignment\"].Left ? bounds.x\n : alignment === _alignment__WEBPACK_IMPORTED_MODULE_1__[\"TextAlignment\"].Center ? bounds.x + (bounds.width / 2) - (width / 2)\n : alignment === _alignment__WEBPACK_IMPORTED_MODULE_1__[\"TextAlignment\"].Right ? bounds.x + bounds.width - width\n : bounds.x);\n y -= lineHeight;\n if (x < minX)\n minX = x;\n if (y < minY)\n minY = y;\n if (x + width > maxX)\n maxX = x + width;\n if (y + height > maxY)\n maxY = y + height;\n textLines.push({ text: line, encoded: encoded, width: width, height: height, x: x, y: y });\n // Only trim lines that we had to split ourselves. So we won't trim lines\n // that the user provided themselves with whitespace.\n prevRemainder = remainder === null || remainder === void 0 ? void 0 : remainder.trim();\n }\n }\n return {\n fontSize: fontSize,\n lineHeight: lineHeight,\n lines: textLines,\n bounds: {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n },\n };\n};\nvar layoutCombedText = function (text, _a) {\n var fontSize = _a.fontSize, font = _a.font, bounds = _a.bounds, cellCount = _a.cellCount;\n var line = Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"mergeLines\"])(Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"cleanText\"])(text));\n if (line.length > cellCount) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_0__[\"CombedTextLayoutError\"](line.length, cellCount);\n }\n if (fontSize === undefined || fontSize === 0) {\n fontSize = computeCombedFontSize(line, font, bounds, cellCount);\n }\n var cellWidth = bounds.width / cellCount;\n var height = font.heightAtSize(fontSize, { descender: false });\n var y = bounds.y + (bounds.height / 2 - height / 2);\n var cells = [];\n var minX = bounds.x;\n var minY = bounds.y;\n var maxX = bounds.x + bounds.width;\n var maxY = bounds.y + bounds.height;\n var cellOffset = 0;\n var charOffset = 0;\n while (cellOffset < cellCount) {\n var _b = Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"charAtIndex\"])(line, charOffset), char = _b[0], charLength = _b[1];\n var encoded = font.encodeText(char);\n var width = font.widthOfTextAtSize(char, fontSize);\n var cellCenter = bounds.x + (cellWidth * cellOffset + cellWidth / 2);\n var x = cellCenter - width / 2;\n if (x < minX)\n minX = x;\n if (y < minY)\n minY = y;\n if (x + width > maxX)\n maxX = x + width;\n if (y + height > maxY)\n maxY = y + height;\n cells.push({ text: line, encoded: encoded, width: width, height: height, x: x, y: y });\n cellOffset += 1;\n charOffset += charLength;\n }\n return {\n fontSize: fontSize,\n cells: cells,\n bounds: {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY,\n },\n };\n};\nvar layoutSinglelineText = function (text, _a) {\n var alignment = _a.alignment, fontSize = _a.fontSize, font = _a.font, bounds = _a.bounds;\n var line = Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"mergeLines\"])(Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"cleanText\"])(text));\n if (fontSize === undefined || fontSize === 0) {\n fontSize = computeFontSize([line], font, bounds);\n }\n var encoded = font.encodeText(line);\n var width = font.widthOfTextAtSize(line, fontSize);\n var height = font.heightAtSize(fontSize, { descender: false });\n // prettier-ignore\n var x = (alignment === _alignment__WEBPACK_IMPORTED_MODULE_1__[\"TextAlignment\"].Left ? bounds.x\n : alignment === _alignment__WEBPACK_IMPORTED_MODULE_1__[\"TextAlignment\"].Center ? bounds.x + (bounds.width / 2) - (width / 2)\n : alignment === _alignment__WEBPACK_IMPORTED_MODULE_1__[\"TextAlignment\"].Right ? bounds.x + bounds.width - width\n : bounds.x);\n var y = bounds.y + (bounds.height / 2 - height / 2);\n return {\n fontSize: fontSize,\n line: { text: line, encoded: encoded, width: width, height: height, x: x, y: y },\n bounds: { x: x, y: y, width: width, height: height },\n };\n};\n//# sourceMappingURL=layout.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/api/text/layout.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/PDFContext.js":
/*!*********************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/PDFContext.js ***!
\*********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var pako__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! pako */ \"../simple-mind-map/node_modules/pako/index.js\");\n/* harmony import */ var pako__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(pako__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _document_PDFHeader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./document/PDFHeader */ \"../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFHeader.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony import */ var _objects_PDFBool__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./objects/PDFBool */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFBool.js\");\n/* harmony import */ var _objects_PDFDict__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./objects/PDFDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFNull__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./objects/PDFNull */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNull.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _objects_PDFObject__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./objects/PDFObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js\");\n/* harmony import */ var _objects_PDFRawStream__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./objects/PDFRawStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRawStream.js\");\n/* harmony import */ var _objects_PDFRef__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./objects/PDFRef */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js\");\n/* harmony import */ var _operators_PDFOperator__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./operators/PDFOperator */ \"../simple-mind-map/node_modules/pdf-lib/es/core/operators/PDFOperator.js\");\n/* harmony import */ var _operators_PDFOperatorNames__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./operators/PDFOperatorNames */ \"../simple-mind-map/node_modules/pdf-lib/es/core/operators/PDFOperatorNames.js\");\n/* harmony import */ var _structures_PDFContentStream__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./structures/PDFContentStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFContentStream.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n/* harmony import */ var _utils_rng__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../utils/rng */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/rng.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar byAscendingObjectNumber = function (_a, _b) {\n var a = _a[0];\n var b = _b[0];\n return a.objectNumber - b.objectNumber;\n};\nvar PDFContext = /** @class */ (function () {\n function PDFContext() {\n this.largestObjectNumber = 0;\n this.header = _document_PDFHeader__WEBPACK_IMPORTED_MODULE_2__[\"default\"].forVersion(1, 7);\n this.trailerInfo = {};\n this.indirectObjects = new Map();\n this.rng = _utils_rng__WEBPACK_IMPORTED_MODULE_17__[\"SimpleRNG\"].withSeed(1);\n }\n PDFContext.prototype.assign = function (ref, object) {\n this.indirectObjects.set(ref, object);\n if (ref.objectNumber > this.largestObjectNumber) {\n this.largestObjectNumber = ref.objectNumber;\n }\n };\n PDFContext.prototype.nextRef = function () {\n this.largestObjectNumber += 1;\n return _objects_PDFRef__WEBPACK_IMPORTED_MODULE_12__[\"default\"].of(this.largestObjectNumber);\n };\n PDFContext.prototype.register = function (object) {\n var ref = this.nextRef();\n this.assign(ref, object);\n return ref;\n };\n PDFContext.prototype.delete = function (ref) {\n return this.indirectObjects.delete(ref);\n };\n PDFContext.prototype.lookupMaybe = function (ref) {\n var types = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n types[_i - 1] = arguments[_i];\n }\n // TODO: `preservePDFNull` is for backwards compatibility. Should be\n // removed in next breaking API change.\n var preservePDFNull = types.includes(_objects_PDFNull__WEBPACK_IMPORTED_MODULE_8__[\"default\"]);\n var result = ref instanceof _objects_PDFRef__WEBPACK_IMPORTED_MODULE_12__[\"default\"] ? this.indirectObjects.get(ref) : ref;\n if (!result || (result === _objects_PDFNull__WEBPACK_IMPORTED_MODULE_8__[\"default\"] && !preservePDFNull))\n return undefined;\n for (var idx = 0, len = types.length; idx < len; idx++) {\n var type = types[idx];\n if (type === _objects_PDFNull__WEBPACK_IMPORTED_MODULE_8__[\"default\"]) {\n if (result === _objects_PDFNull__WEBPACK_IMPORTED_MODULE_8__[\"default\"])\n return result;\n }\n else {\n if (result instanceof type)\n return result;\n }\n }\n throw new _errors__WEBPACK_IMPORTED_MODULE_3__[\"UnexpectedObjectTypeError\"](types, result);\n };\n PDFContext.prototype.lookup = function (ref) {\n var types = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n types[_i - 1] = arguments[_i];\n }\n var result = ref instanceof _objects_PDFRef__WEBPACK_IMPORTED_MODULE_12__[\"default\"] ? this.indirectObjects.get(ref) : ref;\n if (types.length === 0)\n return result;\n for (var idx = 0, len = types.length; idx < len; idx++) {\n var type = types[idx];\n if (type === _objects_PDFNull__WEBPACK_IMPORTED_MODULE_8__[\"default\"]) {\n if (result === _objects_PDFNull__WEBPACK_IMPORTED_MODULE_8__[\"default\"])\n return result;\n }\n else {\n if (result instanceof type)\n return result;\n }\n }\n throw new _errors__WEBPACK_IMPORTED_MODULE_3__[\"UnexpectedObjectTypeError\"](types, result);\n };\n PDFContext.prototype.getObjectRef = function (pdfObject) {\n var entries = Array.from(this.indirectObjects.entries());\n for (var idx = 0, len = entries.length; idx < len; idx++) {\n var _a = entries[idx], ref = _a[0], object = _a[1];\n if (object === pdfObject) {\n return ref;\n }\n }\n return undefined;\n };\n PDFContext.prototype.enumerateIndirectObjects = function () {\n return Array.from(this.indirectObjects.entries()).sort(byAscendingObjectNumber);\n };\n PDFContext.prototype.obj = function (literal) {\n if (literal instanceof _objects_PDFObject__WEBPACK_IMPORTED_MODULE_10__[\"default\"]) {\n return literal;\n }\n else if (literal === null || literal === undefined) {\n return _objects_PDFNull__WEBPACK_IMPORTED_MODULE_8__[\"default\"];\n }\n else if (typeof literal === 'string') {\n return _objects_PDFName__WEBPACK_IMPORTED_MODULE_7__[\"default\"].of(literal);\n }\n else if (typeof literal === 'number') {\n return _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_9__[\"default\"].of(literal);\n }\n else if (typeof literal === 'boolean') {\n return literal ? _objects_PDFBool__WEBPACK_IMPORTED_MODULE_5__[\"default\"].True : _objects_PDFBool__WEBPACK_IMPORTED_MODULE_5__[\"default\"].False;\n }\n else if (Array.isArray(literal)) {\n var array = _objects_PDFArray__WEBPACK_IMPORTED_MODULE_4__[\"default\"].withContext(this);\n for (var idx = 0, len = literal.length; idx < len; idx++) {\n array.push(this.obj(literal[idx]));\n }\n return array;\n }\n else {\n var dict = _objects_PDFDict__WEBPACK_IMPORTED_MODULE_6__[\"default\"].withContext(this);\n var keys = Object.keys(literal);\n for (var idx = 0, len = keys.length; idx < len; idx++) {\n var key = keys[idx];\n var value = literal[key];\n if (value !== undefined)\n dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_7__[\"default\"].of(key), this.obj(value));\n }\n return dict;\n }\n };\n PDFContext.prototype.stream = function (contents, dict) {\n if (dict === void 0) { dict = {}; }\n return _objects_PDFRawStream__WEBPACK_IMPORTED_MODULE_11__[\"default\"].of(this.obj(dict), Object(_utils__WEBPACK_IMPORTED_MODULE_16__[\"typedArrayFor\"])(contents));\n };\n PDFContext.prototype.flateStream = function (contents, dict) {\n if (dict === void 0) { dict = {}; }\n return this.stream(pako__WEBPACK_IMPORTED_MODULE_1___default.a.deflate(Object(_utils__WEBPACK_IMPORTED_MODULE_16__[\"typedArrayFor\"])(contents)), Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({}, dict), { Filter: 'FlateDecode' }));\n };\n PDFContext.prototype.contentStream = function (operators, dict) {\n if (dict === void 0) { dict = {}; }\n return _structures_PDFContentStream__WEBPACK_IMPORTED_MODULE_15__[\"default\"].of(this.obj(dict), operators);\n };\n PDFContext.prototype.formXObject = function (operators, dict) {\n if (dict === void 0) { dict = {}; }\n return this.contentStream(operators, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])(Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__assign\"])({ BBox: this.obj([0, 0, 0, 0]), Matrix: this.obj([1, 0, 0, 1, 0, 0]) }, dict), { Type: 'XObject', Subtype: 'Form' }));\n };\n /*\n * Reference to PDFContentStream that contains a single PDFOperator: `q`.\n * Used by [[PDFPageLeaf]] instances to ensure that when content streams are\n * added to a modified PDF, they start in the default, unchanged graphics\n * state.\n */\n PDFContext.prototype.getPushGraphicsStateContentStream = function () {\n if (this.pushGraphicsStateContentStreamRef) {\n return this.pushGraphicsStateContentStreamRef;\n }\n var dict = this.obj({});\n var op = _operators_PDFOperator__WEBPACK_IMPORTED_MODULE_13__[\"default\"].of(_operators_PDFOperatorNames__WEBPACK_IMPORTED_MODULE_14__[\"default\"].PushGraphicsState);\n var stream = _structures_PDFContentStream__WEBPACK_IMPORTED_MODULE_15__[\"default\"].of(dict, [op]);\n this.pushGraphicsStateContentStreamRef = this.register(stream);\n return this.pushGraphicsStateContentStreamRef;\n };\n /*\n * Reference to PDFContentStream that contains a single PDFOperator: `Q`.\n * Used by [[PDFPageLeaf]] instances to ensure that when content streams are\n * added to a modified PDF, they start in the default, unchanged graphics\n * state.\n */\n PDFContext.prototype.getPopGraphicsStateContentStream = function () {\n if (this.popGraphicsStateContentStreamRef) {\n return this.popGraphicsStateContentStreamRef;\n }\n var dict = this.obj({});\n var op = _operators_PDFOperator__WEBPACK_IMPORTED_MODULE_13__[\"default\"].of(_operators_PDFOperatorNames__WEBPACK_IMPORTED_MODULE_14__[\"default\"].PopGraphicsState);\n var stream = _structures_PDFContentStream__WEBPACK_IMPORTED_MODULE_15__[\"default\"].of(dict, [op]);\n this.popGraphicsStateContentStreamRef = this.register(stream);\n return this.popGraphicsStateContentStreamRef;\n };\n PDFContext.prototype.addRandomSuffix = function (prefix, suffixLength) {\n if (suffixLength === void 0) { suffixLength = 4; }\n return prefix + \"-\" + Math.floor(this.rng.nextInt() * Math.pow(10, suffixLength));\n };\n PDFContext.create = function () { return new PDFContext(); };\n return PDFContext;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFContext);\n//# sourceMappingURL=PDFContext.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/PDFContext.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/PDFObjectCopier.js":
/*!**************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/PDFObjectCopier.js ***!
\**************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony import */ var _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./objects/PDFDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFRef__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./objects/PDFRef */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js\");\n/* harmony import */ var _objects_PDFStream__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./objects/PDFStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFStream.js\");\n/* harmony import */ var _structures_PDFPageLeaf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./structures/PDFPageLeaf */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFPageLeaf.js\");\n\n\n\n\n\n\n/**\n * PDFObjectCopier copies PDFObjects from a src context to a dest context.\n * The primary use case for this is to copy pages between PDFs.\n *\n * _Copying_ an object with a PDFObjectCopier is different from _cloning_ an\n * object with its [[PDFObject.clone]] method:\n *\n * ```\n * const src: PDFContext = ...\n * const dest: PDFContext = ...\n * const originalObject: PDFObject = ...\n * const copiedObject = PDFObjectCopier.for(src, dest).copy(originalObject);\n * const clonedObject = originalObject.clone();\n * ```\n *\n * Copying an object is equivalent to cloning it and then copying over any other\n * objects that it references. Note that only dictionaries, arrays, and streams\n * (or structures build from them) can contain indirect references to other\n * objects. Copying a PDFObject that is not a dictionary, array, or stream is\n * supported, but is equivalent to cloning it.\n */\nvar PDFObjectCopier = /** @class */ (function () {\n function PDFObjectCopier(src, dest) {\n var _this = this;\n this.traversedObjects = new Map();\n // prettier-ignore\n this.copy = function (object) { return (object instanceof _structures_PDFPageLeaf__WEBPACK_IMPORTED_MODULE_5__[\"default\"] ? _this.copyPDFPage(object)\n : object instanceof _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__[\"default\"] ? _this.copyPDFDict(object)\n : object instanceof _objects_PDFArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? _this.copyPDFArray(object)\n : object instanceof _objects_PDFStream__WEBPACK_IMPORTED_MODULE_4__[\"default\"] ? _this.copyPDFStream(object)\n : object instanceof _objects_PDFRef__WEBPACK_IMPORTED_MODULE_3__[\"default\"] ? _this.copyPDFIndirectObject(object)\n : object.clone()); };\n this.copyPDFPage = function (originalPage) {\n var clonedPage = originalPage.clone();\n // Move any entries that the originalPage is inheriting from its parent\n // tree nodes directly into originalPage so they are preserved during\n // the copy.\n var InheritableEntries = _structures_PDFPageLeaf__WEBPACK_IMPORTED_MODULE_5__[\"default\"].InheritableEntries;\n for (var idx = 0, len = InheritableEntries.length; idx < len; idx++) {\n var key = _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of(InheritableEntries[idx]);\n var value = clonedPage.getInheritableAttribute(key);\n if (!clonedPage.get(key) && value)\n clonedPage.set(key, value);\n }\n // Remove the parent reference to prevent the whole donor document's page\n // tree from being copied when we only need a single page.\n clonedPage.delete(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Parent'));\n return _this.copyPDFDict(clonedPage);\n };\n this.copyPDFDict = function (originalDict) {\n if (_this.traversedObjects.has(originalDict)) {\n return _this.traversedObjects.get(originalDict);\n }\n var clonedDict = originalDict.clone(_this.dest);\n _this.traversedObjects.set(originalDict, clonedDict);\n var entries = originalDict.entries();\n for (var idx = 0, len = entries.length; idx < len; idx++) {\n var _a = entries[idx], key = _a[0], value = _a[1];\n clonedDict.set(key, _this.copy(value));\n }\n return clonedDict;\n };\n this.copyPDFArray = function (originalArray) {\n if (_this.traversedObjects.has(originalArray)) {\n return _this.traversedObjects.get(originalArray);\n }\n var clonedArray = originalArray.clone(_this.dest);\n _this.traversedObjects.set(originalArray, clonedArray);\n for (var idx = 0, len = originalArray.size(); idx < len; idx++) {\n var value = originalArray.get(idx);\n clonedArray.set(idx, _this.copy(value));\n }\n return clonedArray;\n };\n this.copyPDFStream = function (originalStream) {\n if (_this.traversedObjects.has(originalStream)) {\n return _this.traversedObjects.get(originalStream);\n }\n var clonedStream = originalStream.clone(_this.dest);\n _this.traversedObjects.set(originalStream, clonedStream);\n var entries = originalStream.dict.entries();\n for (var idx = 0, len = entries.length; idx < len; idx++) {\n var _a = entries[idx], key = _a[0], value = _a[1];\n clonedStream.dict.set(key, _this.copy(value));\n }\n return clonedStream;\n };\n this.copyPDFIndirectObject = function (ref) {\n var alreadyMapped = _this.traversedObjects.has(ref);\n if (!alreadyMapped) {\n var newRef = _this.dest.nextRef();\n _this.traversedObjects.set(ref, newRef);\n var dereferencedValue = _this.src.lookup(ref);\n if (dereferencedValue) {\n var cloned = _this.copy(dereferencedValue);\n _this.dest.assign(newRef, cloned);\n }\n }\n return _this.traversedObjects.get(ref);\n };\n this.src = src;\n this.dest = dest;\n }\n PDFObjectCopier.for = function (src, dest) {\n return new PDFObjectCopier(src, dest);\n };\n return PDFObjectCopier;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFObjectCopier);\n//# sourceMappingURL=PDFObjectCopier.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/PDFObjectCopier.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroButton.js":
/*!*********************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroButton.js ***!
\*********************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _objects_PDFString__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFString.js\");\n/* harmony import */ var _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFHexString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js\");\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _PDFAcroTerminal__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PDFAcroTerminal */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroTerminal.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n\n\n\n\n\n\n\nvar PDFAcroButton = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFAcroButton, _super);\n function PDFAcroButton() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PDFAcroButton.prototype.Opt = function () {\n return this.dict.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of('Opt'), _objects_PDFString__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _objects_PDFArray__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n };\n PDFAcroButton.prototype.setOpt = function (opt) {\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of('Opt'), this.dict.context.obj(opt));\n };\n PDFAcroButton.prototype.getExportValues = function () {\n var opt = this.Opt();\n if (!opt)\n return undefined;\n if (opt instanceof _objects_PDFString__WEBPACK_IMPORTED_MODULE_1__[\"default\"] || opt instanceof _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) {\n return [opt];\n }\n var values = [];\n for (var idx = 0, len = opt.size(); idx < len; idx++) {\n var value = opt.lookup(idx);\n if (value instanceof _objects_PDFString__WEBPACK_IMPORTED_MODULE_1__[\"default\"] || value instanceof _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) {\n values.push(value);\n }\n }\n return values;\n };\n PDFAcroButton.prototype.removeExportValue = function (idx) {\n var opt = this.Opt();\n if (!opt)\n return;\n if (opt instanceof _objects_PDFString__WEBPACK_IMPORTED_MODULE_1__[\"default\"] || opt instanceof _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) {\n if (idx !== 0)\n throw new _errors__WEBPACK_IMPORTED_MODULE_6__[\"IndexOutOfBoundsError\"](idx, 0, 0);\n this.setOpt([]);\n }\n else {\n if (idx < 0 || idx > opt.size()) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_6__[\"IndexOutOfBoundsError\"](idx, 0, opt.size());\n }\n opt.remove(idx);\n }\n };\n // Enforce use use of /Opt even if it isn't strictly necessary\n PDFAcroButton.prototype.normalizeExportValues = function () {\n var _a, _b, _c, _d;\n var exportValues = (_a = this.getExportValues()) !== null && _a !== void 0 ? _a : [];\n var Opt = [];\n var widgets = this.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n var exportVal = (_b = exportValues[idx]) !== null && _b !== void 0 ? _b : _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"].fromText((_d = (_c = widget.getOnValue()) === null || _c === void 0 ? void 0 : _c.decodeText()) !== null && _d !== void 0 ? _d : '');\n Opt.push(exportVal);\n }\n this.setOpt(Opt);\n };\n /**\n * Reuses existing opt if one exists with the same value (assuming\n * `useExistingIdx` is `true`). Returns index of existing (or new) opt.\n */\n PDFAcroButton.prototype.addOpt = function (opt, useExistingOptIdx) {\n var _a;\n this.normalizeExportValues();\n var optText = opt.decodeText();\n var existingIdx;\n if (useExistingOptIdx) {\n var exportValues = (_a = this.getExportValues()) !== null && _a !== void 0 ? _a : [];\n for (var idx = 0, len = exportValues.length; idx < len; idx++) {\n var exportVal = exportValues[idx];\n if (exportVal.decodeText() === optText)\n existingIdx = idx;\n }\n }\n var Opt = this.Opt();\n Opt.push(opt);\n return existingIdx !== null && existingIdx !== void 0 ? existingIdx : Opt.size() - 1;\n };\n PDFAcroButton.prototype.addWidgetWithOpt = function (widget, opt, useExistingOptIdx) {\n var optIdx = this.addOpt(opt, useExistingOptIdx);\n var apStateValue = _objects_PDFName__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of(String(optIdx));\n this.addWidget(widget);\n return apStateValue;\n };\n return PDFAcroButton;\n}(_PDFAcroTerminal__WEBPACK_IMPORTED_MODULE_5__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFAcroButton);\n//# sourceMappingURL=PDFAcroButton.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroButton.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroCheckBox.js":
/*!***********************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroCheckBox.js ***!
\***********************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _PDFAcroButton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFAcroButton */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroButton.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n\n\n\n\nvar PDFAcroCheckBox = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFAcroCheckBox, _super);\n function PDFAcroCheckBox() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PDFAcroCheckBox.prototype.setValue = function (value) {\n var _a;\n var onValue = (_a = this.getOnValue()) !== null && _a !== void 0 ? _a : _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('Yes');\n if (value !== onValue && value !== _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('Off')) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_3__[\"InvalidAcroFieldValueError\"]();\n }\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('V'), value);\n var widgets = this.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n var state = widget.getOnValue() === value ? value : _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('Off');\n widget.setAppearanceState(state);\n }\n };\n PDFAcroCheckBox.prototype.getValue = function () {\n var v = this.V();\n if (v instanceof _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n return v;\n return _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('Off');\n };\n PDFAcroCheckBox.prototype.getOnValue = function () {\n var widget = this.getWidgets()[0];\n return widget === null || widget === void 0 ? void 0 : widget.getOnValue();\n };\n PDFAcroCheckBox.fromDict = function (dict, ref) {\n return new PDFAcroCheckBox(dict, ref);\n };\n PDFAcroCheckBox.create = function (context) {\n var dict = context.obj({\n FT: 'Btn',\n Kids: [],\n });\n var ref = context.register(dict);\n return new PDFAcroCheckBox(dict, ref);\n };\n return PDFAcroCheckBox;\n}(_PDFAcroButton__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFAcroCheckBox);\n//# sourceMappingURL=PDFAcroCheckBox.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroCheckBox.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroChoice.js":
/*!*********************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroChoice.js ***!
\*********************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFAcroTerminal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFAcroTerminal */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroTerminal.js\");\n/* harmony import */ var _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFHexString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js\");\n/* harmony import */ var _objects_PDFString__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFString.js\");\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _flags__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./flags */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/flags.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n\n\n\n\n\n\n\n\nvar PDFAcroChoice = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFAcroChoice, _super);\n function PDFAcroChoice() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PDFAcroChoice.prototype.setValues = function (values) {\n if (this.hasFlag(_flags__WEBPACK_IMPORTED_MODULE_6__[\"AcroChoiceFlags\"].Combo) &&\n !this.hasFlag(_flags__WEBPACK_IMPORTED_MODULE_6__[\"AcroChoiceFlags\"].Edit) &&\n !this.valuesAreValid(values)) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_7__[\"InvalidAcroFieldValueError\"]();\n }\n if (values.length === 0) {\n this.dict.delete(_objects_PDFName__WEBPACK_IMPORTED_MODULE_5__[\"default\"].of('V'));\n }\n if (values.length === 1) {\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_5__[\"default\"].of('V'), values[0]);\n }\n if (values.length > 1) {\n if (!this.hasFlag(_flags__WEBPACK_IMPORTED_MODULE_6__[\"AcroChoiceFlags\"].MultiSelect)) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_7__[\"MultiSelectValueError\"]();\n }\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_5__[\"default\"].of('V'), this.dict.context.obj(values));\n }\n this.updateSelectedIndices(values);\n };\n PDFAcroChoice.prototype.valuesAreValid = function (values) {\n var options = this.getOptions();\n var _loop_1 = function (idx, len) {\n var val = values[idx].decodeText();\n if (!options.find(function (o) { return val === (o.display || o.value).decodeText(); })) {\n return { value: false };\n }\n };\n for (var idx = 0, len = values.length; idx < len; idx++) {\n var state_1 = _loop_1(idx, len);\n if (typeof state_1 === \"object\")\n return state_1.value;\n }\n return true;\n };\n PDFAcroChoice.prototype.updateSelectedIndices = function (values) {\n if (values.length > 1) {\n var indices = new Array(values.length);\n var options = this.getOptions();\n var _loop_2 = function (idx, len) {\n var val = values[idx].decodeText();\n indices[idx] = options.findIndex(function (o) { return val === (o.display || o.value).decodeText(); });\n };\n for (var idx = 0, len = values.length; idx < len; idx++) {\n _loop_2(idx, len);\n }\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_5__[\"default\"].of('I'), this.dict.context.obj(indices.sort()));\n }\n else {\n this.dict.delete(_objects_PDFName__WEBPACK_IMPORTED_MODULE_5__[\"default\"].of('I'));\n }\n };\n PDFAcroChoice.prototype.getValues = function () {\n var v = this.V();\n if (v instanceof _objects_PDFString__WEBPACK_IMPORTED_MODULE_3__[\"default\"] || v instanceof _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"])\n return [v];\n if (v instanceof _objects_PDFArray__WEBPACK_IMPORTED_MODULE_4__[\"default\"]) {\n var values = [];\n for (var idx = 0, len = v.size(); idx < len; idx++) {\n var value = v.lookup(idx);\n if (value instanceof _objects_PDFString__WEBPACK_IMPORTED_MODULE_3__[\"default\"] || value instanceof _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) {\n values.push(value);\n }\n }\n return values;\n }\n return [];\n };\n PDFAcroChoice.prototype.Opt = function () {\n return this.dict.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_5__[\"default\"].of('Opt'), _objects_PDFString__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"], _objects_PDFArray__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n };\n PDFAcroChoice.prototype.setOptions = function (options) {\n var newOpt = new Array(options.length);\n for (var idx = 0, len = options.length; idx < len; idx++) {\n var _a = options[idx], value = _a.value, display = _a.display;\n newOpt[idx] = this.dict.context.obj([value, display || value]);\n }\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_5__[\"default\"].of('Opt'), this.dict.context.obj(newOpt));\n };\n PDFAcroChoice.prototype.getOptions = function () {\n var Opt = this.Opt();\n // Not supposed to happen - Opt _should_ always be `PDFArray | undefined`\n if (Opt instanceof _objects_PDFString__WEBPACK_IMPORTED_MODULE_3__[\"default\"] || Opt instanceof _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) {\n return [{ value: Opt, display: Opt }];\n }\n if (Opt instanceof _objects_PDFArray__WEBPACK_IMPORTED_MODULE_4__[\"default\"]) {\n var res = [];\n for (var idx = 0, len = Opt.size(); idx < len; idx++) {\n var item = Opt.lookup(idx);\n // If `item` is a string, use that as both the export and text value\n if (item instanceof _objects_PDFString__WEBPACK_IMPORTED_MODULE_3__[\"default\"] || item instanceof _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) {\n res.push({ value: item, display: item });\n }\n // If `item` is an array of one, treat it the same as just a string,\n // if it's an array of two then `item[0]` is the export value and\n // `item[1]` is the text value\n if (item instanceof _objects_PDFArray__WEBPACK_IMPORTED_MODULE_4__[\"default\"]) {\n if (item.size() > 0) {\n var first = item.lookup(0, _objects_PDFString__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n var second = item.lookupMaybe(1, _objects_PDFString__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n res.push({ value: first, display: second || first });\n }\n }\n }\n return res;\n }\n return [];\n };\n return PDFAcroChoice;\n}(_PDFAcroTerminal__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFAcroChoice);\n//# sourceMappingURL=PDFAcroChoice.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroChoice.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroComboBox.js":
/*!***********************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroComboBox.js ***!
\***********************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFAcroChoice__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFAcroChoice */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroChoice.js\");\n/* harmony import */ var _flags__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./flags */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/flags.js\");\n\n\n\nvar PDFAcroComboBox = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFAcroComboBox, _super);\n function PDFAcroComboBox() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PDFAcroComboBox.fromDict = function (dict, ref) {\n return new PDFAcroComboBox(dict, ref);\n };\n PDFAcroComboBox.create = function (context) {\n var dict = context.obj({\n FT: 'Ch',\n Ff: _flags__WEBPACK_IMPORTED_MODULE_2__[\"AcroChoiceFlags\"].Combo,\n Kids: [],\n });\n var ref = context.register(dict);\n return new PDFAcroComboBox(dict, ref);\n };\n return PDFAcroComboBox;\n}(_PDFAcroChoice__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFAcroComboBox);\n//# sourceMappingURL=PDFAcroComboBox.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroComboBox.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroField.js":
/*!********************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroField.js ***!
\********************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _objects_PDFDict__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../objects/PDFDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js\");\n/* harmony import */ var _objects_PDFString__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFString.js\");\n/* harmony import */ var _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFHexString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony import */ var _objects_PDFRef__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../objects/PDFRef */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n\n\n\n\n\n\n\n\n\n// Examples:\n// `/Helv 12 Tf` -> ['Helv', '12']\n// `/HeBo 8.00 Tf` -> ['HeBo', '8.00']\n// `/HeBo Tf` -> ['HeBo', undefined]\nvar tfRegex = /\\/([^\\0\\t\\n\\f\\r\\ ]+)[\\0\\t\\n\\f\\r\\ ]*(\\d*\\.\\d+|\\d+)?[\\0\\t\\n\\f\\r\\ ]+Tf/;\nvar PDFAcroField = /** @class */ (function () {\n function PDFAcroField(dict, ref) {\n this.dict = dict;\n this.ref = ref;\n }\n PDFAcroField.prototype.T = function () {\n return this.dict.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('T'), _objects_PDFString__WEBPACK_IMPORTED_MODULE_1__[\"default\"], _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n };\n PDFAcroField.prototype.Ff = function () {\n var numberOrRef = this.getInheritableAttribute(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Ff'));\n return this.dict.context.lookupMaybe(numberOrRef, _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n };\n PDFAcroField.prototype.V = function () {\n var valueOrRef = this.getInheritableAttribute(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('V'));\n return this.dict.context.lookup(valueOrRef);\n };\n PDFAcroField.prototype.Kids = function () {\n return this.dict.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Kids'), _objects_PDFArray__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n };\n // Parent(): PDFDict | undefined {\n // return this.dict.lookupMaybe(PDFName.of('Parent'), PDFDict);\n // }\n PDFAcroField.prototype.DA = function () {\n var da = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('DA'));\n if (da instanceof _objects_PDFString__WEBPACK_IMPORTED_MODULE_1__[\"default\"] || da instanceof _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"])\n return da;\n return undefined;\n };\n PDFAcroField.prototype.setKids = function (kids) {\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Kids'), this.dict.context.obj(kids));\n };\n PDFAcroField.prototype.getParent = function () {\n // const parent = this.Parent();\n // if (!parent) return undefined;\n // return new PDFAcroField(parent);\n var parentRef = this.dict.get(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Parent'));\n if (parentRef instanceof _objects_PDFRef__WEBPACK_IMPORTED_MODULE_6__[\"default\"]) {\n var parent_1 = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Parent'), _objects_PDFDict__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n return new PDFAcroField(parent_1, parentRef);\n }\n return undefined;\n };\n PDFAcroField.prototype.setParent = function (parent) {\n if (!parent)\n this.dict.delete(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Parent'));\n else\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Parent'), parent);\n };\n PDFAcroField.prototype.getFullyQualifiedName = function () {\n var parent = this.getParent();\n if (!parent)\n return this.getPartialName();\n return parent.getFullyQualifiedName() + \".\" + this.getPartialName();\n };\n PDFAcroField.prototype.getPartialName = function () {\n var _a;\n return (_a = this.T()) === null || _a === void 0 ? void 0 : _a.decodeText();\n };\n PDFAcroField.prototype.setPartialName = function (partialName) {\n if (!partialName)\n this.dict.delete(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('T'));\n else\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('T'), _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"].fromText(partialName));\n };\n PDFAcroField.prototype.setDefaultAppearance = function (appearance) {\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('DA'), _objects_PDFString__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of(appearance));\n };\n PDFAcroField.prototype.getDefaultAppearance = function () {\n var DA = this.DA();\n if (DA instanceof _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) {\n return DA.decodeText();\n }\n return DA === null || DA === void 0 ? void 0 : DA.asString();\n };\n PDFAcroField.prototype.setFontSize = function (fontSize) {\n var _a;\n var name = (_a = this.getFullyQualifiedName()) !== null && _a !== void 0 ? _a : '';\n var da = this.getDefaultAppearance();\n if (!da)\n throw new _errors__WEBPACK_IMPORTED_MODULE_8__[\"MissingDAEntryError\"](name);\n var daMatch = Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"findLastMatch\"])(da, tfRegex);\n if (!daMatch.match)\n throw new _errors__WEBPACK_IMPORTED_MODULE_8__[\"MissingTfOperatorError\"](name);\n var daStart = da.slice(0, daMatch.pos - daMatch.match[0].length);\n var daEnd = daMatch.pos <= da.length ? da.slice(daMatch.pos) : '';\n var fontName = daMatch.match[1];\n var modifiedDa = daStart + \" /\" + fontName + \" \" + fontSize + \" Tf \" + daEnd;\n this.setDefaultAppearance(modifiedDa);\n };\n PDFAcroField.prototype.getFlags = function () {\n var _a, _b;\n return (_b = (_a = this.Ff()) === null || _a === void 0 ? void 0 : _a.asNumber()) !== null && _b !== void 0 ? _b : 0;\n };\n PDFAcroField.prototype.setFlags = function (flags) {\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Ff'), _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of(flags));\n };\n PDFAcroField.prototype.hasFlag = function (flag) {\n var flags = this.getFlags();\n return (flags & flag) !== 0;\n };\n PDFAcroField.prototype.setFlag = function (flag) {\n var flags = this.getFlags();\n this.setFlags(flags | flag);\n };\n PDFAcroField.prototype.clearFlag = function (flag) {\n var flags = this.getFlags();\n this.setFlags(flags & ~flag);\n };\n PDFAcroField.prototype.setFlagTo = function (flag, enable) {\n if (enable)\n this.setFlag(flag);\n else\n this.clearFlag(flag);\n };\n PDFAcroField.prototype.getInheritableAttribute = function (name) {\n var attribute;\n this.ascend(function (node) {\n if (!attribute)\n attribute = node.dict.get(name);\n });\n return attribute;\n };\n PDFAcroField.prototype.ascend = function (visitor) {\n visitor(this);\n var parent = this.getParent();\n if (parent)\n parent.ascend(visitor);\n };\n return PDFAcroField;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFAcroField);\n//# sourceMappingURL=PDFAcroField.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroField.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroForm.js":
/*!*******************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroForm.js ***!
\*******************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _objects_PDFDict__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../objects/PDFDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js\");\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _PDFAcroNonTerminal__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PDFAcroNonTerminal */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroNonTerminal.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./utils */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/utils.js\");\n\n\n\n\n\nvar PDFAcroForm = /** @class */ (function () {\n function PDFAcroForm(dict) {\n this.dict = dict;\n }\n PDFAcroForm.prototype.Fields = function () {\n var fields = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Fields'));\n if (fields instanceof _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n return fields;\n return undefined;\n };\n PDFAcroForm.prototype.getFields = function () {\n var Fields = this.normalizedEntries().Fields;\n var fields = new Array(Fields.size());\n for (var idx = 0, len = Fields.size(); idx < len; idx++) {\n var ref = Fields.get(idx);\n var dict = Fields.lookup(idx, _objects_PDFDict__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n fields[idx] = [Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"createPDFAcroField\"])(dict, ref), ref];\n }\n return fields;\n };\n PDFAcroForm.prototype.getAllFields = function () {\n var allFields = [];\n var pushFields = function (fields) {\n if (!fields)\n return;\n for (var idx = 0, len = fields.length; idx < len; idx++) {\n var field = fields[idx];\n allFields.push(field);\n var fieldModel = field[0];\n if (fieldModel instanceof _PDFAcroNonTerminal__WEBPACK_IMPORTED_MODULE_3__[\"default\"]) {\n pushFields(Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"createPDFAcroFields\"])(fieldModel.Kids()));\n }\n }\n };\n pushFields(this.getFields());\n return allFields;\n };\n PDFAcroForm.prototype.addField = function (field) {\n var Fields = this.normalizedEntries().Fields;\n Fields === null || Fields === void 0 ? void 0 : Fields.push(field);\n };\n PDFAcroForm.prototype.removeField = function (field) {\n var parent = field.getParent();\n var fields = parent === undefined ? this.normalizedEntries().Fields : parent.Kids();\n var index = fields === null || fields === void 0 ? void 0 : fields.indexOf(field.ref);\n if (fields === undefined || index === undefined) {\n throw new Error(\"Tried to remove inexistent field \" + field.getFullyQualifiedName());\n }\n fields.remove(index);\n if (parent !== undefined && fields.size() === 0) {\n this.removeField(parent);\n }\n };\n PDFAcroForm.prototype.normalizedEntries = function () {\n var Fields = this.Fields();\n if (!Fields) {\n Fields = this.dict.context.obj([]);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Fields'), Fields);\n }\n return { Fields: Fields };\n };\n PDFAcroForm.fromDict = function (dict) { return new PDFAcroForm(dict); };\n PDFAcroForm.create = function (context) {\n var dict = context.obj({ Fields: [] });\n return new PDFAcroForm(dict);\n };\n return PDFAcroForm;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFAcroForm);\n//# sourceMappingURL=PDFAcroForm.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroForm.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroListBox.js":
/*!**********************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroListBox.js ***!
\**********************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFAcroChoice__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFAcroChoice */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroChoice.js\");\n\n\nvar PDFAcroListBox = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFAcroListBox, _super);\n function PDFAcroListBox() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PDFAcroListBox.fromDict = function (dict, ref) {\n return new PDFAcroListBox(dict, ref);\n };\n PDFAcroListBox.create = function (context) {\n var dict = context.obj({\n FT: 'Ch',\n Kids: [],\n });\n var ref = context.register(dict);\n return new PDFAcroListBox(dict, ref);\n };\n return PDFAcroListBox;\n}(_PDFAcroChoice__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFAcroListBox);\n//# sourceMappingURL=PDFAcroListBox.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroListBox.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroNonTerminal.js":
/*!**************************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroNonTerminal.js ***!
\**************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _PDFAcroField__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFAcroField */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroField.js\");\n\n\n\nvar PDFAcroNonTerminal = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFAcroNonTerminal, _super);\n function PDFAcroNonTerminal() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PDFAcroNonTerminal.prototype.addField = function (field) {\n var Kids = this.normalizedEntries().Kids;\n Kids === null || Kids === void 0 ? void 0 : Kids.push(field);\n };\n PDFAcroNonTerminal.prototype.normalizedEntries = function () {\n var Kids = this.Kids();\n if (!Kids) {\n Kids = this.dict.context.obj([]);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('Kids'), Kids);\n }\n return { Kids: Kids };\n };\n PDFAcroNonTerminal.fromDict = function (dict, ref) {\n return new PDFAcroNonTerminal(dict, ref);\n };\n PDFAcroNonTerminal.create = function (context) {\n var dict = context.obj({});\n var ref = context.register(dict);\n return new PDFAcroNonTerminal(dict, ref);\n };\n return PDFAcroNonTerminal;\n}(_PDFAcroField__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFAcroNonTerminal);\n//# sourceMappingURL=PDFAcroNonTerminal.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroNonTerminal.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroPushButton.js":
/*!*************************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroPushButton.js ***!
\*************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFAcroButton__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFAcroButton */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroButton.js\");\n/* harmony import */ var _flags__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./flags */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/flags.js\");\n\n\n\nvar PDFAcroPushButton = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFAcroPushButton, _super);\n function PDFAcroPushButton() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PDFAcroPushButton.fromDict = function (dict, ref) {\n return new PDFAcroPushButton(dict, ref);\n };\n PDFAcroPushButton.create = function (context) {\n var dict = context.obj({\n FT: 'Btn',\n Ff: _flags__WEBPACK_IMPORTED_MODULE_2__[\"AcroButtonFlags\"].PushButton,\n Kids: [],\n });\n var ref = context.register(dict);\n return new PDFAcroPushButton(dict, ref);\n };\n return PDFAcroPushButton;\n}(_PDFAcroButton__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFAcroPushButton);\n//# sourceMappingURL=PDFAcroPushButton.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroPushButton.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroRadioButton.js":
/*!**************************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroRadioButton.js ***!
\**************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _PDFAcroButton__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFAcroButton */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroButton.js\");\n/* harmony import */ var _flags__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./flags */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/flags.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n\n\n\n\n\nvar PDFAcroRadioButton = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFAcroRadioButton, _super);\n function PDFAcroRadioButton() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PDFAcroRadioButton.prototype.setValue = function (value) {\n var onValues = this.getOnValues();\n if (!onValues.includes(value) && value !== _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('Off')) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_4__[\"InvalidAcroFieldValueError\"]();\n }\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('V'), value);\n var widgets = this.getWidgets();\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var widget = widgets[idx];\n var state = widget.getOnValue() === value ? value : _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('Off');\n widget.setAppearanceState(state);\n }\n };\n PDFAcroRadioButton.prototype.getValue = function () {\n var v = this.V();\n if (v instanceof _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n return v;\n return _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('Off');\n };\n PDFAcroRadioButton.prototype.getOnValues = function () {\n var widgets = this.getWidgets();\n var onValues = [];\n for (var idx = 0, len = widgets.length; idx < len; idx++) {\n var onValue = widgets[idx].getOnValue();\n if (onValue)\n onValues.push(onValue);\n }\n return onValues;\n };\n PDFAcroRadioButton.fromDict = function (dict, ref) {\n return new PDFAcroRadioButton(dict, ref);\n };\n PDFAcroRadioButton.create = function (context) {\n var dict = context.obj({\n FT: 'Btn',\n Ff: _flags__WEBPACK_IMPORTED_MODULE_3__[\"AcroButtonFlags\"].Radio,\n Kids: [],\n });\n var ref = context.register(dict);\n return new PDFAcroRadioButton(dict, ref);\n };\n return PDFAcroRadioButton;\n}(_PDFAcroButton__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFAcroRadioButton);\n//# sourceMappingURL=PDFAcroRadioButton.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroRadioButton.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroSignature.js":
/*!************************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroSignature.js ***!
\************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFAcroTerminal__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFAcroTerminal */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroTerminal.js\");\n\n\nvar PDFAcroSignature = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFAcroSignature, _super);\n function PDFAcroSignature() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PDFAcroSignature.fromDict = function (dict, ref) {\n return new PDFAcroSignature(dict, ref);\n };\n return PDFAcroSignature;\n}(_PDFAcroTerminal__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFAcroSignature);\n//# sourceMappingURL=PDFAcroSignature.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroSignature.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroTerminal.js":
/*!***********************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroTerminal.js ***!
\***********************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _PDFAcroField__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PDFAcroField */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroField.js\");\n/* harmony import */ var _annotation_PDFWidgetAnnotation__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../annotation/PDFWidgetAnnotation */ \"../simple-mind-map/node_modules/pdf-lib/es/core/annotation/PDFWidgetAnnotation.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n\n\n\n\n\n\nvar PDFAcroTerminal = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFAcroTerminal, _super);\n function PDFAcroTerminal() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PDFAcroTerminal.prototype.FT = function () {\n var nameOrRef = this.getInheritableAttribute(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('FT'));\n return this.dict.context.lookup(nameOrRef, _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n };\n PDFAcroTerminal.prototype.getWidgets = function () {\n var kidDicts = this.Kids();\n // This field is itself a widget\n if (!kidDicts)\n return [_annotation_PDFWidgetAnnotation__WEBPACK_IMPORTED_MODULE_4__[\"default\"].fromDict(this.dict)];\n // This field's kids are its widgets\n var widgets = new Array(kidDicts.size());\n for (var idx = 0, len = kidDicts.size(); idx < len; idx++) {\n var dict = kidDicts.lookup(idx, _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n widgets[idx] = _annotation_PDFWidgetAnnotation__WEBPACK_IMPORTED_MODULE_4__[\"default\"].fromDict(dict);\n }\n return widgets;\n };\n PDFAcroTerminal.prototype.addWidget = function (ref) {\n var Kids = this.normalizedEntries().Kids;\n Kids.push(ref);\n };\n PDFAcroTerminal.prototype.removeWidget = function (idx) {\n var kidDicts = this.Kids();\n if (!kidDicts) {\n // This field is itself a widget\n if (idx !== 0)\n throw new _errors__WEBPACK_IMPORTED_MODULE_5__[\"IndexOutOfBoundsError\"](idx, 0, 0);\n this.setKids([]);\n }\n else {\n // This field's kids are its widgets\n if (idx < 0 || idx > kidDicts.size()) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_5__[\"IndexOutOfBoundsError\"](idx, 0, kidDicts.size());\n }\n kidDicts.remove(idx);\n }\n };\n PDFAcroTerminal.prototype.normalizedEntries = function () {\n var Kids = this.Kids();\n // If this field is itself a widget (because it was only rendered once in\n // the document, so the field and widget properties were merged) then we\n // add itself to the `Kids` array. The alternative would be to try\n // splitting apart the widget properties and creating a separate object\n // for them.\n if (!Kids) {\n Kids = this.dict.context.obj([this.ref]);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Kids'), Kids);\n }\n return { Kids: Kids };\n };\n PDFAcroTerminal.fromDict = function (dict, ref) {\n return new PDFAcroTerminal(dict, ref);\n };\n return PDFAcroTerminal;\n}(_PDFAcroField__WEBPACK_IMPORTED_MODULE_3__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFAcroTerminal);\n//# sourceMappingURL=PDFAcroTerminal.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroTerminal.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroText.js":
/*!*******************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroText.js ***!
\*******************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _objects_PDFString__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFString.js\");\n/* harmony import */ var _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFHexString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _PDFAcroTerminal__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PDFAcroTerminal */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroTerminal.js\");\n\n\n\n\n\n\nvar PDFAcroText = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFAcroText, _super);\n function PDFAcroText() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PDFAcroText.prototype.MaxLen = function () {\n var maxLen = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of('MaxLen'));\n if (maxLen instanceof _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n return maxLen;\n return undefined;\n };\n PDFAcroText.prototype.Q = function () {\n var q = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of('Q'));\n if (q instanceof _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n return q;\n return undefined;\n };\n PDFAcroText.prototype.setMaxLength = function (maxLength) {\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of('MaxLen'), _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of(maxLength));\n };\n PDFAcroText.prototype.removeMaxLength = function () {\n this.dict.delete(_objects_PDFName__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of('MaxLen'));\n };\n PDFAcroText.prototype.getMaxLength = function () {\n var _a;\n return (_a = this.MaxLen()) === null || _a === void 0 ? void 0 : _a.asNumber();\n };\n PDFAcroText.prototype.setQuadding = function (quadding) {\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of('Q'), _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of(quadding));\n };\n PDFAcroText.prototype.getQuadding = function () {\n var _a;\n return (_a = this.Q()) === null || _a === void 0 ? void 0 : _a.asNumber();\n };\n PDFAcroText.prototype.setValue = function (value) {\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of('V'), value);\n // const widgets = this.getWidgets();\n // for (let idx = 0, len = widgets.length; idx < len; idx++) {\n // const widget = widgets[idx];\n // const state = widget.getOnValue() === value ? value : PDFName.of('Off');\n // widget.setAppearanceState(state);\n // }\n };\n PDFAcroText.prototype.removeValue = function () {\n this.dict.delete(_objects_PDFName__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of('V'));\n };\n PDFAcroText.prototype.getValue = function () {\n var v = this.V();\n if (v instanceof _objects_PDFString__WEBPACK_IMPORTED_MODULE_2__[\"default\"] || v instanceof _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_3__[\"default\"])\n return v;\n return undefined;\n };\n PDFAcroText.fromDict = function (dict, ref) { return new PDFAcroText(dict, ref); };\n PDFAcroText.create = function (context) {\n var dict = context.obj({\n FT: 'Tx',\n Kids: [],\n });\n var ref = context.register(dict);\n return new PDFAcroText(dict, ref);\n };\n return PDFAcroText;\n}(_PDFAcroTerminal__WEBPACK_IMPORTED_MODULE_5__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFAcroText);\n//# sourceMappingURL=PDFAcroText.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroText.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/flags.js":
/*!*************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/flags.js ***!
\*************************************************************************/
/*! exports provided: AcroFieldFlags, AcroButtonFlags, AcroTextFlags, AcroChoiceFlags */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AcroFieldFlags\", function() { return AcroFieldFlags; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AcroButtonFlags\", function() { return AcroButtonFlags; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AcroTextFlags\", function() { return AcroTextFlags; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AcroChoiceFlags\", function() { return AcroChoiceFlags; });\nvar flag = function (bitIndex) { return 1 << bitIndex; };\n/** From PDF spec table 221 */\nvar AcroFieldFlags;\n(function (AcroFieldFlags) {\n /**\n * If set, the user may not change the value of the field. Any associated\n * widget annotations will not interact with the user; that is, they will not\n * respond to mouse clicks or change their appearance in response to mouse\n * motions. This flag is useful for fields whose values are computed or\n * imported from a database.\n */\n AcroFieldFlags[AcroFieldFlags[\"ReadOnly\"] = flag(1 - 1)] = \"ReadOnly\";\n /**\n * If set, the field shall have a value at the time it is exported by a\n * submit-form action (see 12.7.5.2, \"Submit-Form Action\").\n */\n AcroFieldFlags[AcroFieldFlags[\"Required\"] = flag(2 - 1)] = \"Required\";\n /**\n * If set, the field shall not be exported by a submit-form action\n * (see 12.7.5.2, \"Submit-Form Action\").\n */\n AcroFieldFlags[AcroFieldFlags[\"NoExport\"] = flag(3 - 1)] = \"NoExport\";\n})(AcroFieldFlags || (AcroFieldFlags = {}));\n/** From PDF spec table 226 */\nvar AcroButtonFlags;\n(function (AcroButtonFlags) {\n /**\n * (Radio buttons only) If set, exactly one radio button shall be selected at\n * all times; selecting the currently selected button has no effect. If clear,\n * clicking the selected button deselects it, leaving no button selected.\n */\n AcroButtonFlags[AcroButtonFlags[\"NoToggleToOff\"] = flag(15 - 1)] = \"NoToggleToOff\";\n /**\n * If set, the field is a set of radio buttons; if clear, the field is a check\n * box. This flag may be set only if the Pushbutton flag is clear.\n */\n AcroButtonFlags[AcroButtonFlags[\"Radio\"] = flag(16 - 1)] = \"Radio\";\n /**\n * If set, the field is a pushbutton that does not retain a permanent value.\n */\n AcroButtonFlags[AcroButtonFlags[\"PushButton\"] = flag(17 - 1)] = \"PushButton\";\n /**\n * If set, a group of radio buttons within a radio button field that use the\n * same value for the on state will turn on and off in unison; that is if one\n * is checked, they are all checked. If clear, the buttons are mutually\n * exclusive (the same behavior as HTML radio buttons).\n */\n AcroButtonFlags[AcroButtonFlags[\"RadiosInUnison\"] = flag(26 - 1)] = \"RadiosInUnison\";\n})(AcroButtonFlags || (AcroButtonFlags = {}));\n/** From PDF spec table 228 */\nvar AcroTextFlags;\n(function (AcroTextFlags) {\n /**\n * If set, the field may contain multiple lines of text; if clear, the field's\n * text shall be restricted to a single line.\n */\n AcroTextFlags[AcroTextFlags[\"Multiline\"] = flag(13 - 1)] = \"Multiline\";\n /**\n * If set, the field is intended for entering a secure password that should\n * not be echoed visibly to the screen. Characters typed from the keyboard\n * shall instead be echoed in some unreadable form, such as asterisks or\n * bullet characters.\n * > NOTE To protect password confidentiality, readers should never store\n * > the value of the text field in the PDF file if this flag is set.\n */\n AcroTextFlags[AcroTextFlags[\"Password\"] = flag(14 - 1)] = \"Password\";\n /**\n * If set, the text entered in the field represents the pathname of a file\n * whose contents shall be submitted as the value of the field.\n */\n AcroTextFlags[AcroTextFlags[\"FileSelect\"] = flag(21 - 1)] = \"FileSelect\";\n /**\n * If set, text entered in the field shall not be spell-checked.\n */\n AcroTextFlags[AcroTextFlags[\"DoNotSpellCheck\"] = flag(23 - 1)] = \"DoNotSpellCheck\";\n /**\n * If set, the field shall not scroll (horizontally for single-line fields,\n * vertically for multiple-line fields) to accommodate more text than fits\n * within its annotation rectangle. Once the field is full, no further text\n * shall be accepted for interactive form filling; for non-interactive form\n * filling, the filler should take care not to add more character than will\n * visibly fit in the defined area.\n */\n AcroTextFlags[AcroTextFlags[\"DoNotScroll\"] = flag(24 - 1)] = \"DoNotScroll\";\n /**\n * May be set only if the MaxLen entry is present in the text field dictionary\n * (see Table 229) and if the Multiline, Password, and FileSelect flags are\n * clear. If set, the field shall be automatically divided into as many\n * equally spaced positions, or combs, as the value of MaxLen, and the text\n * is laid out into those combs.\n */\n AcroTextFlags[AcroTextFlags[\"Comb\"] = flag(25 - 1)] = \"Comb\";\n /**\n * If set, the value of this field shall be a rich text string\n * (see 12.7.3.4, \"Rich Text Strings\"). If the field has a value, the RV\n * entry of the field dictionary (Table 222) shall specify the rich text\n * string.\n */\n AcroTextFlags[AcroTextFlags[\"RichText\"] = flag(26 - 1)] = \"RichText\";\n})(AcroTextFlags || (AcroTextFlags = {}));\n/** From PDF spec table 230 */\nvar AcroChoiceFlags;\n(function (AcroChoiceFlags) {\n /**\n * If set, the field is a combo box; if clear, the field is a list box.\n */\n AcroChoiceFlags[AcroChoiceFlags[\"Combo\"] = flag(18 - 1)] = \"Combo\";\n /**\n * If set, the combo box shall include an editable text box as well as a\n * drop-down list; if clear, it shall include only a drop-down list. This\n * flag shall be used only if the Combo flag is set.\n */\n AcroChoiceFlags[AcroChoiceFlags[\"Edit\"] = flag(19 - 1)] = \"Edit\";\n /**\n * If set, the field's option items shall be sorted alphabetically. This flag\n * is intended for use by writers, not by readers. Conforming readers shall\n * display the options in the order in which they occur in the Opt array\n * (see Table 231).\n */\n AcroChoiceFlags[AcroChoiceFlags[\"Sort\"] = flag(20 - 1)] = \"Sort\";\n /**\n * If set, more than one of the field's option items may be selected\n * simultaneously; if clear, at most one item shall be selected.\n */\n AcroChoiceFlags[AcroChoiceFlags[\"MultiSelect\"] = flag(22 - 1)] = \"MultiSelect\";\n /**\n * If set, text entered in the field shall not be spell-checked. This flag\n * shall not be used unless the Combo and Edit flags are both set.\n */\n AcroChoiceFlags[AcroChoiceFlags[\"DoNotSpellCheck\"] = flag(23 - 1)] = \"DoNotSpellCheck\";\n /**\n * If set, the new value shall be committed as soon as a selection is made\n * (commonly with the pointing device). In this case, supplying a value for\n * a field involves three actions: selecting the field for fill-in,\n * selecting a choice for the fill-in value, and leaving that field, which\n * finalizes or \"commits\" the data choice and triggers any actions associated\n * with the entry or changing of this data. If this flag is on, then\n * processing does not wait for leaving the field action to occur, but\n * immediately proceeds to the third step.\n *\n * This option enables applications to perform an action once a selection is\n * made, without requiring the user to exit the field. If clear, the new\n * value is not committed until the user exits the field.\n */\n AcroChoiceFlags[AcroChoiceFlags[\"CommitOnSelChange\"] = flag(27 - 1)] = \"CommitOnSelChange\";\n})(AcroChoiceFlags || (AcroChoiceFlags = {}));\n//# sourceMappingURL=flags.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/flags.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/index.js":
/*!*************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/index.js ***!
\*************************************************************************/
/*! exports provided: PDFAcroButton, PDFAcroCheckBox, PDFAcroChoice, PDFAcroComboBox, PDFAcroField, PDFAcroForm, PDFAcroListBox, PDFAcroNonTerminal, PDFAcroPushButton, PDFAcroRadioButton, PDFAcroSignature, PDFAcroTerminal, PDFAcroText, AcroFieldFlags, AcroButtonFlags, AcroTextFlags, AcroChoiceFlags, createPDFAcroFields, createPDFAcroField */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _PDFAcroButton__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PDFAcroButton */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroButton.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroButton\", function() { return _PDFAcroButton__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _PDFAcroCheckBox__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFAcroCheckBox */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroCheckBox.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroCheckBox\", function() { return _PDFAcroCheckBox__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _PDFAcroChoice__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFAcroChoice */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroChoice.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroChoice\", function() { return _PDFAcroChoice__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _PDFAcroComboBox__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PDFAcroComboBox */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroComboBox.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroComboBox\", function() { return _PDFAcroComboBox__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _PDFAcroField__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./PDFAcroField */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroField.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroField\", function() { return _PDFAcroField__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _PDFAcroForm__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PDFAcroForm */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroForm.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroForm\", function() { return _PDFAcroForm__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _PDFAcroListBox__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./PDFAcroListBox */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroListBox.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroListBox\", function() { return _PDFAcroListBox__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _PDFAcroNonTerminal__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./PDFAcroNonTerminal */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroNonTerminal.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroNonTerminal\", function() { return _PDFAcroNonTerminal__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _PDFAcroPushButton__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./PDFAcroPushButton */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroPushButton.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroPushButton\", function() { return _PDFAcroPushButton__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _PDFAcroRadioButton__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./PDFAcroRadioButton */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroRadioButton.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroRadioButton\", function() { return _PDFAcroRadioButton__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _PDFAcroSignature__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./PDFAcroSignature */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroSignature.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroSignature\", function() { return _PDFAcroSignature__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _PDFAcroTerminal__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./PDFAcroTerminal */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroTerminal.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroTerminal\", function() { return _PDFAcroTerminal__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _PDFAcroText__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./PDFAcroText */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroText.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroText\", function() { return _PDFAcroText__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _flags__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./flags */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/flags.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AcroFieldFlags\", function() { return _flags__WEBPACK_IMPORTED_MODULE_13__[\"AcroFieldFlags\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AcroButtonFlags\", function() { return _flags__WEBPACK_IMPORTED_MODULE_13__[\"AcroButtonFlags\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AcroTextFlags\", function() { return _flags__WEBPACK_IMPORTED_MODULE_13__[\"AcroTextFlags\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AcroChoiceFlags\", function() { return _flags__WEBPACK_IMPORTED_MODULE_13__[\"AcroChoiceFlags\"]; });\n\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./utils */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/utils.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPDFAcroFields\", function() { return _utils__WEBPACK_IMPORTED_MODULE_14__[\"createPDFAcroFields\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPDFAcroField\", function() { return _utils__WEBPACK_IMPORTED_MODULE_14__[\"createPDFAcroField\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/index.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/acroform/utils.js":
/*!*************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/acroform/utils.js ***!
\*************************************************************************/
/*! exports provided: createPDFAcroFields, createPDFAcroField */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createPDFAcroFields\", function() { return createPDFAcroFields; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createPDFAcroField\", function() { return createPDFAcroField; });\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony import */ var _objects_PDFRef__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFRef */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js\");\n/* harmony import */ var _PDFAcroTerminal__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PDFAcroTerminal */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroTerminal.js\");\n/* harmony import */ var _PDFAcroNonTerminal__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./PDFAcroNonTerminal */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroNonTerminal.js\");\n/* harmony import */ var _PDFAcroSignature__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./PDFAcroSignature */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroSignature.js\");\n/* harmony import */ var _PDFAcroText__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./PDFAcroText */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroText.js\");\n/* harmony import */ var _PDFAcroPushButton__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./PDFAcroPushButton */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroPushButton.js\");\n/* harmony import */ var _PDFAcroRadioButton__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./PDFAcroRadioButton */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroRadioButton.js\");\n/* harmony import */ var _PDFAcroCheckBox__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./PDFAcroCheckBox */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroCheckBox.js\");\n/* harmony import */ var _PDFAcroComboBox__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./PDFAcroComboBox */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroComboBox.js\");\n/* harmony import */ var _PDFAcroListBox__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./PDFAcroListBox */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/PDFAcroListBox.js\");\n/* harmony import */ var _flags__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./flags */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/flags.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar createPDFAcroFields = function (kidDicts) {\n if (!kidDicts)\n return [];\n var kids = [];\n for (var idx = 0, len = kidDicts.size(); idx < len; idx++) {\n var ref = kidDicts.get(idx);\n var dict = kidDicts.lookup(idx);\n // if (dict instanceof PDFDict) kids.push(PDFAcroField.fromDict(dict));\n if (ref instanceof _objects_PDFRef__WEBPACK_IMPORTED_MODULE_4__[\"default\"] && dict instanceof _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) {\n kids.push([createPDFAcroField(dict, ref), ref]);\n }\n }\n return kids;\n};\nvar createPDFAcroField = function (dict, ref) {\n var isNonTerminal = isNonTerminalAcroField(dict);\n if (isNonTerminal)\n return _PDFAcroNonTerminal__WEBPACK_IMPORTED_MODULE_6__[\"default\"].fromDict(dict, ref);\n return createPDFAcroTerminal(dict, ref);\n};\n// TODO: Maybe just check if the dict is *not* a widget? That might be better.\n// According to the PDF spec:\n//\n// > A field's children in the hierarchy may also include widget annotations\n// > that define its appearance on the page. A field that has children that\n// > are fields is called a non-terminal field. A field that does not have\n// > children that are fields is called a terminal field.\n//\n// The spec is not entirely clear about how to determine whether a given\n// dictionary represents an acrofield or a widget annotation. So we will assume\n// that a dictionary is an acrofield if it is a member of the `/Kids` array\n// and it contains a `/T` entry (widgets do not have `/T` entries). This isn't\n// a bullet proof solution, because the `/T` entry is technically defined as\n// optional for acrofields by the PDF spec. But in practice all acrofields seem\n// to have a `/T` entry defined.\nvar isNonTerminalAcroField = function (dict) {\n var kids = dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Kids'));\n if (kids instanceof _objects_PDFArray__WEBPACK_IMPORTED_MODULE_3__[\"default\"]) {\n for (var idx = 0, len = kids.size(); idx < len; idx++) {\n var kid = kids.lookup(idx);\n var kidIsField = kid instanceof _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__[\"default\"] && kid.has(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('T'));\n if (kidIsField)\n return true;\n }\n }\n return false;\n};\nvar createPDFAcroTerminal = function (dict, ref) {\n var ftNameOrRef = getInheritableAttribute(dict, _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('FT'));\n var type = dict.context.lookup(ftNameOrRef, _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n if (type === _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Btn'))\n return createPDFAcroButton(dict, ref);\n if (type === _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Ch'))\n return createPDFAcroChoice(dict, ref);\n if (type === _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Tx'))\n return _PDFAcroText__WEBPACK_IMPORTED_MODULE_8__[\"default\"].fromDict(dict, ref);\n if (type === _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Sig'))\n return _PDFAcroSignature__WEBPACK_IMPORTED_MODULE_7__[\"default\"].fromDict(dict, ref);\n // We should never reach this line. But there are a lot of weird PDFs out\n // there. So, just to be safe, we'll try to handle things gracefully instead\n // of throwing an error.\n return _PDFAcroTerminal__WEBPACK_IMPORTED_MODULE_5__[\"default\"].fromDict(dict, ref);\n};\nvar createPDFAcroButton = function (dict, ref) {\n var _a;\n var ffNumberOrRef = getInheritableAttribute(dict, _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Ff'));\n var ffNumber = dict.context.lookupMaybe(ffNumberOrRef, _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n var flags = (_a = ffNumber === null || ffNumber === void 0 ? void 0 : ffNumber.asNumber()) !== null && _a !== void 0 ? _a : 0;\n if (flagIsSet(flags, _flags__WEBPACK_IMPORTED_MODULE_14__[\"AcroButtonFlags\"].PushButton)) {\n return _PDFAcroPushButton__WEBPACK_IMPORTED_MODULE_9__[\"default\"].fromDict(dict, ref);\n }\n else if (flagIsSet(flags, _flags__WEBPACK_IMPORTED_MODULE_14__[\"AcroButtonFlags\"].Radio)) {\n return _PDFAcroRadioButton__WEBPACK_IMPORTED_MODULE_10__[\"default\"].fromDict(dict, ref);\n }\n else {\n return _PDFAcroCheckBox__WEBPACK_IMPORTED_MODULE_11__[\"default\"].fromDict(dict, ref);\n }\n};\nvar createPDFAcroChoice = function (dict, ref) {\n var _a;\n var ffNumberOrRef = getInheritableAttribute(dict, _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Ff'));\n var ffNumber = dict.context.lookupMaybe(ffNumberOrRef, _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n var flags = (_a = ffNumber === null || ffNumber === void 0 ? void 0 : ffNumber.asNumber()) !== null && _a !== void 0 ? _a : 0;\n if (flagIsSet(flags, _flags__WEBPACK_IMPORTED_MODULE_14__[\"AcroChoiceFlags\"].Combo)) {\n return _PDFAcroComboBox__WEBPACK_IMPORTED_MODULE_12__[\"default\"].fromDict(dict, ref);\n }\n else {\n return _PDFAcroListBox__WEBPACK_IMPORTED_MODULE_13__[\"default\"].fromDict(dict, ref);\n }\n};\nvar flagIsSet = function (flags, flag) {\n return (flags & flag) !== 0;\n};\nvar getInheritableAttribute = function (startNode, name) {\n var attribute;\n ascend(startNode, function (node) {\n if (!attribute)\n attribute = node.get(name);\n });\n return attribute;\n};\nvar ascend = function (startNode, visitor) {\n visitor(startNode);\n var Parent = startNode.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Parent'), _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n if (Parent)\n ascend(Parent, visitor);\n};\n//# sourceMappingURL=utils.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/acroform/utils.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/annotation/AppearanceCharacteristics.js":
/*!***********************************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/annotation/AppearanceCharacteristics.js ***!
\***********************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony import */ var _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFHexString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js\");\n/* harmony import */ var _objects_PDFString__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFString.js\");\n\n\n\n\n\nvar AppearanceCharacteristics = /** @class */ (function () {\n function AppearanceCharacteristics(dict) {\n this.dict = dict;\n }\n AppearanceCharacteristics.prototype.R = function () {\n var R = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('R'));\n if (R instanceof _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n return R;\n return undefined;\n };\n AppearanceCharacteristics.prototype.BC = function () {\n var BC = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('BC'));\n if (BC instanceof _objects_PDFArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])\n return BC;\n return undefined;\n };\n AppearanceCharacteristics.prototype.BG = function () {\n var BG = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('BG'));\n if (BG instanceof _objects_PDFArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])\n return BG;\n return undefined;\n };\n AppearanceCharacteristics.prototype.CA = function () {\n var CA = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('CA'));\n if (CA instanceof _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_3__[\"default\"] || CA instanceof _objects_PDFString__WEBPACK_IMPORTED_MODULE_4__[\"default\"])\n return CA;\n return undefined;\n };\n AppearanceCharacteristics.prototype.RC = function () {\n var RC = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('RC'));\n if (RC instanceof _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_3__[\"default\"] || RC instanceof _objects_PDFString__WEBPACK_IMPORTED_MODULE_4__[\"default\"])\n return RC;\n return undefined;\n };\n AppearanceCharacteristics.prototype.AC = function () {\n var AC = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('AC'));\n if (AC instanceof _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_3__[\"default\"] || AC instanceof _objects_PDFString__WEBPACK_IMPORTED_MODULE_4__[\"default\"])\n return AC;\n return undefined;\n };\n AppearanceCharacteristics.prototype.getRotation = function () {\n var _a;\n return (_a = this.R()) === null || _a === void 0 ? void 0 : _a.asNumber();\n };\n AppearanceCharacteristics.prototype.getBorderColor = function () {\n var BC = this.BC();\n if (!BC)\n return undefined;\n var components = [];\n for (var idx = 0, len = BC === null || BC === void 0 ? void 0 : BC.size(); idx < len; idx++) {\n var component = BC.get(idx);\n if (component instanceof _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n components.push(component.asNumber());\n }\n return components;\n };\n AppearanceCharacteristics.prototype.getBackgroundColor = function () {\n var BG = this.BG();\n if (!BG)\n return undefined;\n var components = [];\n for (var idx = 0, len = BG === null || BG === void 0 ? void 0 : BG.size(); idx < len; idx++) {\n var component = BG.get(idx);\n if (component instanceof _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n components.push(component.asNumber());\n }\n return components;\n };\n AppearanceCharacteristics.prototype.getCaptions = function () {\n var CA = this.CA();\n var RC = this.RC();\n var AC = this.AC();\n return {\n normal: CA === null || CA === void 0 ? void 0 : CA.decodeText(),\n rollover: RC === null || RC === void 0 ? void 0 : RC.decodeText(),\n down: AC === null || AC === void 0 ? void 0 : AC.decodeText(),\n };\n };\n AppearanceCharacteristics.prototype.setRotation = function (rotation) {\n var R = this.dict.context.obj(rotation);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('R'), R);\n };\n AppearanceCharacteristics.prototype.setBorderColor = function (color) {\n var BC = this.dict.context.obj(color);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('BC'), BC);\n };\n AppearanceCharacteristics.prototype.setBackgroundColor = function (color) {\n var BG = this.dict.context.obj(color);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('BG'), BG);\n };\n AppearanceCharacteristics.prototype.setCaptions = function (captions) {\n var CA = _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_3__[\"default\"].fromText(captions.normal);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('CA'), CA);\n if (captions.rollover) {\n var RC = _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_3__[\"default\"].fromText(captions.rollover);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('RC'), RC);\n }\n else {\n this.dict.delete(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('RC'));\n }\n if (captions.down) {\n var AC = _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_3__[\"default\"].fromText(captions.down);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('AC'), AC);\n }\n else {\n this.dict.delete(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('AC'));\n }\n };\n AppearanceCharacteristics.fromDict = function (dict) {\n return new AppearanceCharacteristics(dict);\n };\n return AppearanceCharacteristics;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (AppearanceCharacteristics);\n//# sourceMappingURL=AppearanceCharacteristics.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/annotation/AppearanceCharacteristics.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/annotation/BorderStyle.js":
/*!*********************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/annotation/BorderStyle.js ***!
\*********************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n\n\n// TODO: Also handle the `/S` and `/D` entries\nvar BorderStyle = /** @class */ (function () {\n function BorderStyle(dict) {\n this.dict = dict;\n }\n BorderStyle.prototype.W = function () {\n var W = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('W'));\n if (W instanceof _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n return W;\n return undefined;\n };\n BorderStyle.prototype.getWidth = function () {\n var _a, _b;\n return (_b = (_a = this.W()) === null || _a === void 0 ? void 0 : _a.asNumber()) !== null && _b !== void 0 ? _b : 1;\n };\n BorderStyle.prototype.setWidth = function (width) {\n var W = this.dict.context.obj(width);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of('W'), W);\n };\n BorderStyle.fromDict = function (dict) { return new BorderStyle(dict); };\n return BorderStyle;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (BorderStyle);\n//# sourceMappingURL=BorderStyle.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/annotation/BorderStyle.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/annotation/PDFAnnotation.js":
/*!***********************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/annotation/PDFAnnotation.js ***!
\***********************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _objects_PDFDict__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../objects/PDFDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFStream__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFStream.js\");\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony import */ var _objects_PDFRef__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFRef */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n\n\n\n\n\n\nvar PDFAnnotation = /** @class */ (function () {\n function PDFAnnotation(dict) {\n this.dict = dict;\n }\n // This is technically required by the PDF spec\n PDFAnnotation.prototype.Rect = function () {\n return this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('Rect'), _objects_PDFArray__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n };\n PDFAnnotation.prototype.AP = function () {\n return this.dict.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('AP'), _objects_PDFDict__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n };\n PDFAnnotation.prototype.F = function () {\n var numberOrRef = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('F'));\n return this.dict.context.lookupMaybe(numberOrRef, _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_5__[\"default\"]);\n };\n PDFAnnotation.prototype.getRectangle = function () {\n var _a;\n var Rect = this.Rect();\n return (_a = Rect === null || Rect === void 0 ? void 0 : Rect.asRectangle()) !== null && _a !== void 0 ? _a : { x: 0, y: 0, width: 0, height: 0 };\n };\n PDFAnnotation.prototype.setRectangle = function (rect) {\n var x = rect.x, y = rect.y, width = rect.width, height = rect.height;\n var Rect = this.dict.context.obj([x, y, x + width, y + height]);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('Rect'), Rect);\n };\n PDFAnnotation.prototype.getAppearanceState = function () {\n var AS = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('AS'));\n if (AS instanceof _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n return AS;\n return undefined;\n };\n PDFAnnotation.prototype.setAppearanceState = function (state) {\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('AS'), state);\n };\n PDFAnnotation.prototype.setAppearances = function (appearances) {\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('AP'), appearances);\n };\n PDFAnnotation.prototype.ensureAP = function () {\n var AP = this.AP();\n if (!AP) {\n AP = this.dict.context.obj({});\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('AP'), AP);\n }\n return AP;\n };\n PDFAnnotation.prototype.getNormalAppearance = function () {\n var AP = this.ensureAP();\n var N = AP.get(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('N'));\n if (N instanceof _objects_PDFRef__WEBPACK_IMPORTED_MODULE_4__[\"default\"] || N instanceof _objects_PDFDict__WEBPACK_IMPORTED_MODULE_0__[\"default\"])\n return N;\n throw new Error(\"Unexpected N type: \" + (N === null || N === void 0 ? void 0 : N.constructor.name));\n };\n /** @param appearance A PDFDict or PDFStream (direct or ref) */\n PDFAnnotation.prototype.setNormalAppearance = function (appearance) {\n var AP = this.ensureAP();\n AP.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('N'), appearance);\n };\n /** @param appearance A PDFDict or PDFStream (direct or ref) */\n PDFAnnotation.prototype.setRolloverAppearance = function (appearance) {\n var AP = this.ensureAP();\n AP.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('R'), appearance);\n };\n /** @param appearance A PDFDict or PDFStream (direct or ref) */\n PDFAnnotation.prototype.setDownAppearance = function (appearance) {\n var AP = this.ensureAP();\n AP.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('D'), appearance);\n };\n PDFAnnotation.prototype.removeRolloverAppearance = function () {\n var AP = this.AP();\n AP === null || AP === void 0 ? void 0 : AP.delete(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('R'));\n };\n PDFAnnotation.prototype.removeDownAppearance = function () {\n var AP = this.AP();\n AP === null || AP === void 0 ? void 0 : AP.delete(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('D'));\n };\n PDFAnnotation.prototype.getAppearances = function () {\n var AP = this.AP();\n if (!AP)\n return undefined;\n var N = AP.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('N'), _objects_PDFDict__WEBPACK_IMPORTED_MODULE_0__[\"default\"], _objects_PDFStream__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n var R = AP.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('R'), _objects_PDFDict__WEBPACK_IMPORTED_MODULE_0__[\"default\"], _objects_PDFStream__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n var D = AP.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('D'), _objects_PDFDict__WEBPACK_IMPORTED_MODULE_0__[\"default\"], _objects_PDFStream__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n return { normal: N, rollover: R, down: D };\n };\n PDFAnnotation.prototype.getFlags = function () {\n var _a, _b;\n return (_b = (_a = this.F()) === null || _a === void 0 ? void 0 : _a.asNumber()) !== null && _b !== void 0 ? _b : 0;\n };\n PDFAnnotation.prototype.setFlags = function (flags) {\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('F'), _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_5__[\"default\"].of(flags));\n };\n PDFAnnotation.prototype.hasFlag = function (flag) {\n var flags = this.getFlags();\n return (flags & flag) !== 0;\n };\n PDFAnnotation.prototype.setFlag = function (flag) {\n var flags = this.getFlags();\n this.setFlags(flags | flag);\n };\n PDFAnnotation.prototype.clearFlag = function (flag) {\n var flags = this.getFlags();\n this.setFlags(flags & ~flag);\n };\n PDFAnnotation.prototype.setFlagTo = function (flag, enable) {\n if (enable)\n this.setFlag(flag);\n else\n this.clearFlag(flag);\n };\n PDFAnnotation.fromDict = function (dict) { return new PDFAnnotation(dict); };\n return PDFAnnotation;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFAnnotation);\n//# sourceMappingURL=PDFAnnotation.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/annotation/PDFAnnotation.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/annotation/PDFWidgetAnnotation.js":
/*!*****************************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/annotation/PDFWidgetAnnotation.js ***!
\*****************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFRef__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFRef */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js\");\n/* harmony import */ var _objects_PDFString__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFString.js\");\n/* harmony import */ var _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../objects/PDFHexString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js\");\n/* harmony import */ var _BorderStyle__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./BorderStyle */ \"../simple-mind-map/node_modules/pdf-lib/es/core/annotation/BorderStyle.js\");\n/* harmony import */ var _PDFAnnotation__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./PDFAnnotation */ \"../simple-mind-map/node_modules/pdf-lib/es/core/annotation/PDFAnnotation.js\");\n/* harmony import */ var _AppearanceCharacteristics__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./AppearanceCharacteristics */ \"../simple-mind-map/node_modules/pdf-lib/es/core/annotation/AppearanceCharacteristics.js\");\n\n\n\n\n\n\n\n\n\nvar PDFWidgetAnnotation = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFWidgetAnnotation, _super);\n function PDFWidgetAnnotation() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PDFWidgetAnnotation.prototype.MK = function () {\n var MK = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('MK'));\n if (MK instanceof _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n return MK;\n return undefined;\n };\n PDFWidgetAnnotation.prototype.BS = function () {\n var BS = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('BS'));\n if (BS instanceof _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n return BS;\n return undefined;\n };\n PDFWidgetAnnotation.prototype.DA = function () {\n var da = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('DA'));\n if (da instanceof _objects_PDFString__WEBPACK_IMPORTED_MODULE_4__[\"default\"] || da instanceof _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_5__[\"default\"])\n return da;\n return undefined;\n };\n PDFWidgetAnnotation.prototype.P = function () {\n var P = this.dict.get(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('P'));\n if (P instanceof _objects_PDFRef__WEBPACK_IMPORTED_MODULE_3__[\"default\"])\n return P;\n return undefined;\n };\n PDFWidgetAnnotation.prototype.setP = function (page) {\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('P'), page);\n };\n PDFWidgetAnnotation.prototype.setDefaultAppearance = function (appearance) {\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('DA'), _objects_PDFString__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of(appearance));\n };\n PDFWidgetAnnotation.prototype.getDefaultAppearance = function () {\n var DA = this.DA();\n if (DA instanceof _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_5__[\"default\"]) {\n return DA.decodeText();\n }\n return DA === null || DA === void 0 ? void 0 : DA.asString();\n };\n PDFWidgetAnnotation.prototype.getAppearanceCharacteristics = function () {\n var MK = this.MK();\n if (MK)\n return _AppearanceCharacteristics__WEBPACK_IMPORTED_MODULE_8__[\"default\"].fromDict(MK);\n return undefined;\n };\n PDFWidgetAnnotation.prototype.getOrCreateAppearanceCharacteristics = function () {\n var MK = this.MK();\n if (MK)\n return _AppearanceCharacteristics__WEBPACK_IMPORTED_MODULE_8__[\"default\"].fromDict(MK);\n var ac = _AppearanceCharacteristics__WEBPACK_IMPORTED_MODULE_8__[\"default\"].fromDict(this.dict.context.obj({}));\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('MK'), ac.dict);\n return ac;\n };\n PDFWidgetAnnotation.prototype.getBorderStyle = function () {\n var BS = this.BS();\n if (BS)\n return _BorderStyle__WEBPACK_IMPORTED_MODULE_6__[\"default\"].fromDict(BS);\n return undefined;\n };\n PDFWidgetAnnotation.prototype.getOrCreateBorderStyle = function () {\n var BS = this.BS();\n if (BS)\n return _BorderStyle__WEBPACK_IMPORTED_MODULE_6__[\"default\"].fromDict(BS);\n var bs = _BorderStyle__WEBPACK_IMPORTED_MODULE_6__[\"default\"].fromDict(this.dict.context.obj({}));\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('BS'), bs.dict);\n return bs;\n };\n PDFWidgetAnnotation.prototype.getOnValue = function () {\n var _a;\n var normal = (_a = this.getAppearances()) === null || _a === void 0 ? void 0 : _a.normal;\n if (normal instanceof _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) {\n var keys = normal.keys();\n for (var idx = 0, len = keys.length; idx < len; idx++) {\n var key = keys[idx];\n if (key !== _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Off'))\n return key;\n }\n }\n return undefined;\n };\n PDFWidgetAnnotation.fromDict = function (dict) {\n return new PDFWidgetAnnotation(dict);\n };\n PDFWidgetAnnotation.create = function (context, parent) {\n var dict = context.obj({\n Type: 'Annot',\n Subtype: 'Widget',\n Rect: [0, 0, 0, 0],\n Parent: parent,\n });\n return new PDFWidgetAnnotation(dict);\n };\n return PDFWidgetAnnotation;\n}(_PDFAnnotation__WEBPACK_IMPORTED_MODULE_7__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFWidgetAnnotation);\n//# sourceMappingURL=PDFWidgetAnnotation.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/annotation/PDFWidgetAnnotation.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/annotation/flags.js":
/*!***************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/annotation/flags.js ***!
\***************************************************************************/
/*! exports provided: AnnotationFlags */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AnnotationFlags\", function() { return AnnotationFlags; });\nvar flag = function (bitIndex) { return 1 << bitIndex; };\n/** From PDF spec table 165 */\nvar AnnotationFlags;\n(function (AnnotationFlags) {\n /**\n * If set, do not display the annotation if it does not belong to one of the\n * standard annotation types and no annotation handler is available. If clear,\n * display such an unknown annotation using an appearance stream specified by\n * its appearance dictionary, if any.\n */\n AnnotationFlags[AnnotationFlags[\"Invisible\"] = flag(1 - 1)] = \"Invisible\";\n /**\n * If set, do not display or print the annotation or allow it to interact with\n * the user, regardless of its annotation type or whether an annotation\n * handler is available.\n *\n * In cases where screen space is limited, the ability to hide and show\n * annotations selectively can be used in combination with appearance streams\n * to display auxiliary pop-up information similar in function to online help\n * systems.\n */\n AnnotationFlags[AnnotationFlags[\"Hidden\"] = flag(2 - 1)] = \"Hidden\";\n /**\n * If set, print the annotation when the page is printed. If clear, never\n * print the annotation, regardless of whether it is displayed on the screen.\n *\n * This can be useful for annotations representing interactive pushbuttons,\n * which would serve no meaningful purpose on the printed page.\n */\n AnnotationFlags[AnnotationFlags[\"Print\"] = flag(3 - 1)] = \"Print\";\n /**\n * If set, do not scale the annotation’s appearance to match the magnification\n * of the page. The location of the annotation on the page (defined by the\n * upper-left corner of its annotation rectangle) shall remain fixed,\n * regardless of the page magnification.\n */\n AnnotationFlags[AnnotationFlags[\"NoZoom\"] = flag(4 - 1)] = \"NoZoom\";\n /**\n * If set, do not rotate the annotation’s appearance to match the rotation of\n * the page. The upper-left corner of the annotation rectangle shall remain in\n * a fixed location on the page, regardless of the page rotation.\n */\n AnnotationFlags[AnnotationFlags[\"NoRotate\"] = flag(5 - 1)] = \"NoRotate\";\n /**\n * If set, do not display the annotation on the screen or allow it to interact\n * with the user. The annotation may be printed (depending on the setting of\n * the Print flag) but should be considered hidden for purposes of on-screen\n * display and user interaction.\n */\n AnnotationFlags[AnnotationFlags[\"NoView\"] = flag(6 - 1)] = \"NoView\";\n /**\n * If set, do not allow the annotation to interact with the user. The\n * annotation may be displayed or printed (depending on the settings of the\n * NoView and Print flags) but should not respond to mouse clicks or change\n * its appearance in response to mouse motions.\n *\n * This flag shall be ignored for widget annotations; its function is\n * subsumed by the ReadOnly flag of the associated form field.\n */\n AnnotationFlags[AnnotationFlags[\"ReadOnly\"] = flag(7 - 1)] = \"ReadOnly\";\n /**\n * If set, do not allow the annotation to be deleted or its properties\n * (including position and size) to be modified by the user. However, this\n * flag does not restrict changes to the annotation’s contents, such as the\n * value of a form field.\n */\n AnnotationFlags[AnnotationFlags[\"Locked\"] = flag(8 - 1)] = \"Locked\";\n /**\n * If set, invert the interpretation of the NoView flag for certain events.\n *\n * A typical use is to have an annotation that appears only when a mouse\n * cursor is held over it.\n */\n AnnotationFlags[AnnotationFlags[\"ToggleNoView\"] = flag(9 - 1)] = \"ToggleNoView\";\n /**\n * If set, do not allow the contents of the annotation to be modified by the\n * user. This flag does not restrict deletion of the annotation or changes to\n * other annotation properties, such as position and size.\n */\n AnnotationFlags[AnnotationFlags[\"LockedContents\"] = flag(10 - 1)] = \"LockedContents\";\n})(AnnotationFlags || (AnnotationFlags = {}));\n//# sourceMappingURL=flags.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/annotation/flags.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/annotation/index.js":
/*!***************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/annotation/index.js ***!
\***************************************************************************/
/*! exports provided: PDFAnnotation, PDFWidgetAnnotation, AppearanceCharacteristics, AnnotationFlags */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _PDFAnnotation__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./PDFAnnotation */ \"../simple-mind-map/node_modules/pdf-lib/es/core/annotation/PDFAnnotation.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAnnotation\", function() { return _PDFAnnotation__WEBPACK_IMPORTED_MODULE_0__[\"default\"]; });\n\n/* harmony import */ var _PDFWidgetAnnotation__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFWidgetAnnotation */ \"../simple-mind-map/node_modules/pdf-lib/es/core/annotation/PDFWidgetAnnotation.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFWidgetAnnotation\", function() { return _PDFWidgetAnnotation__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _AppearanceCharacteristics__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./AppearanceCharacteristics */ \"../simple-mind-map/node_modules/pdf-lib/es/core/annotation/AppearanceCharacteristics.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppearanceCharacteristics\", function() { return _AppearanceCharacteristics__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _flags__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./flags */ \"../simple-mind-map/node_modules/pdf-lib/es/core/annotation/flags.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnnotationFlags\", function() { return _flags__WEBPACK_IMPORTED_MODULE_3__[\"AnnotationFlags\"]; });\n\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/annotation/index.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFCrossRefSection.js":
/*!**************************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFCrossRefSection.js ***!
\**************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _objects_PDFRef__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../objects/PDFRef */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n/**\n * Entries should be added using the [[addEntry]] and [[addDeletedEntry]]\n * methods **in order of ascending object number**.\n */\nvar PDFCrossRefSection = /** @class */ (function () {\n function PDFCrossRefSection(firstEntry) {\n this.subsections = firstEntry ? [[firstEntry]] : [];\n this.chunkIdx = 0;\n this.chunkLength = firstEntry ? 1 : 0;\n }\n PDFCrossRefSection.prototype.addEntry = function (ref, offset) {\n this.append({ ref: ref, offset: offset, deleted: false });\n };\n PDFCrossRefSection.prototype.addDeletedEntry = function (ref, nextFreeObjectNumber) {\n this.append({ ref: ref, offset: nextFreeObjectNumber, deleted: true });\n };\n PDFCrossRefSection.prototype.toString = function () {\n var section = \"xref\\n\";\n for (var rangeIdx = 0, rangeLen = this.subsections.length; rangeIdx < rangeLen; rangeIdx++) {\n var range = this.subsections[rangeIdx];\n section += range[0].ref.objectNumber + \" \" + range.length + \"\\n\";\n for (var entryIdx = 0, entryLen = range.length; entryIdx < entryLen; entryIdx++) {\n var entry = range[entryIdx];\n section += Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"padStart\"])(String(entry.offset), 10, '0');\n section += ' ';\n section += Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"padStart\"])(String(entry.ref.generationNumber), 5, '0');\n section += ' ';\n section += entry.deleted ? 'f' : 'n';\n section += ' \\n';\n }\n }\n return section;\n };\n PDFCrossRefSection.prototype.sizeInBytes = function () {\n var size = 5;\n for (var idx = 0, len = this.subsections.length; idx < len; idx++) {\n var subsection = this.subsections[idx];\n var subsectionLength = subsection.length;\n var firstEntry = subsection[0];\n size += 2;\n size += String(firstEntry.ref.objectNumber).length;\n size += String(subsectionLength).length;\n size += 20 * subsectionLength;\n }\n return size;\n };\n PDFCrossRefSection.prototype.copyBytesInto = function (buffer, offset) {\n var initialOffset = offset;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].x;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].r;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].e;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].f;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Newline;\n offset += this.copySubsectionsIntoBuffer(this.subsections, buffer, offset);\n return offset - initialOffset;\n };\n PDFCrossRefSection.prototype.copySubsectionsIntoBuffer = function (subsections, buffer, offset) {\n var initialOffset = offset;\n var length = subsections.length;\n for (var idx = 0; idx < length; idx++) {\n var subsection = this.subsections[idx];\n var firstObjectNumber = String(subsection[0].ref.objectNumber);\n offset += Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"copyStringIntoBuffer\"])(firstObjectNumber, buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Space;\n var rangeLength = String(subsection.length);\n offset += Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"copyStringIntoBuffer\"])(rangeLength, buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Newline;\n offset += this.copyEntriesIntoBuffer(subsection, buffer, offset);\n }\n return offset - initialOffset;\n };\n PDFCrossRefSection.prototype.copyEntriesIntoBuffer = function (entries, buffer, offset) {\n var length = entries.length;\n for (var idx = 0; idx < length; idx++) {\n var entry = entries[idx];\n var entryOffset = Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"padStart\"])(String(entry.offset), 10, '0');\n offset += Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"copyStringIntoBuffer\"])(entryOffset, buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Space;\n var entryGen = Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"padStart\"])(String(entry.ref.generationNumber), 5, '0');\n offset += Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"copyStringIntoBuffer\"])(entryGen, buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Space;\n buffer[offset++] = entry.deleted ? _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].f : _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].n;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Space;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Newline;\n }\n return 20 * length;\n };\n PDFCrossRefSection.prototype.append = function (currEntry) {\n if (this.chunkLength === 0) {\n this.subsections.push([currEntry]);\n this.chunkIdx = 0;\n this.chunkLength = 1;\n return;\n }\n var chunk = this.subsections[this.chunkIdx];\n var prevEntry = chunk[this.chunkLength - 1];\n if (currEntry.ref.objectNumber - prevEntry.ref.objectNumber > 1) {\n this.subsections.push([currEntry]);\n this.chunkIdx += 1;\n this.chunkLength = 1;\n }\n else {\n chunk.push(currEntry);\n this.chunkLength += 1;\n }\n };\n PDFCrossRefSection.create = function () {\n return new PDFCrossRefSection({\n ref: _objects_PDFRef__WEBPACK_IMPORTED_MODULE_0__[\"default\"].of(0, 65535),\n offset: 0,\n deleted: true,\n });\n };\n PDFCrossRefSection.createEmpty = function () { return new PDFCrossRefSection(); };\n return PDFCrossRefSection;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFCrossRefSection);\n//# sourceMappingURL=PDFCrossRefSection.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFCrossRefSection.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFHeader.js":
/*!*****************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFHeader.js ***!
\*****************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\nvar PDFHeader = /** @class */ (function () {\n function PDFHeader(major, minor) {\n this.major = String(major);\n this.minor = String(minor);\n }\n PDFHeader.prototype.toString = function () {\n var bc = Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"charFromCode\"])(129);\n return \"%PDF-\" + this.major + \".\" + this.minor + \"\\n%\" + bc + bc + bc + bc;\n };\n PDFHeader.prototype.sizeInBytes = function () {\n return 12 + this.major.length + this.minor.length;\n };\n PDFHeader.prototype.copyBytesInto = function (buffer, offset) {\n var initialOffset = offset;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Percent;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].P;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].D;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].F;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Dash;\n offset += Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"copyStringIntoBuffer\"])(this.major, buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Period;\n offset += Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"copyStringIntoBuffer\"])(this.minor, buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Newline;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Percent;\n buffer[offset++] = 129;\n buffer[offset++] = 129;\n buffer[offset++] = 129;\n buffer[offset++] = 129;\n return offset - initialOffset;\n };\n PDFHeader.forVersion = function (major, minor) {\n return new PDFHeader(major, minor);\n };\n return PDFHeader;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFHeader);\n//# sourceMappingURL=PDFHeader.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFHeader.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFTrailer.js":
/*!******************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFTrailer.js ***!
\******************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\nvar PDFTrailer = /** @class */ (function () {\n function PDFTrailer(lastXRefOffset) {\n this.lastXRefOffset = String(lastXRefOffset);\n }\n PDFTrailer.prototype.toString = function () {\n return \"startxref\\n\" + this.lastXRefOffset + \"\\n%%EOF\";\n };\n PDFTrailer.prototype.sizeInBytes = function () {\n return 16 + this.lastXRefOffset.length;\n };\n PDFTrailer.prototype.copyBytesInto = function (buffer, offset) {\n var initialOffset = offset;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].s;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].t;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].a;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].r;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].t;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].x;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].r;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].e;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].f;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Newline;\n offset += Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"copyStringIntoBuffer\"])(this.lastXRefOffset, buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Newline;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Percent;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Percent;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].E;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].O;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].F;\n return offset - initialOffset;\n };\n PDFTrailer.forLastCrossRefSectionOffset = function (offset) {\n return new PDFTrailer(offset);\n };\n return PDFTrailer;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFTrailer);\n//# sourceMappingURL=PDFTrailer.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFTrailer.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFTrailerDict.js":
/*!**********************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFTrailerDict.js ***!
\**********************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n\nvar PDFTrailerDict = /** @class */ (function () {\n function PDFTrailerDict(dict) {\n this.dict = dict;\n }\n PDFTrailerDict.prototype.toString = function () {\n return \"trailer\\n\" + this.dict.toString();\n };\n PDFTrailerDict.prototype.sizeInBytes = function () {\n return 8 + this.dict.sizeInBytes();\n };\n PDFTrailerDict.prototype.copyBytesInto = function (buffer, offset) {\n var initialOffset = offset;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].t;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].r;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].a;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].i;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].l;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].e;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].r;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Newline;\n offset += this.dict.copyBytesInto(buffer, offset);\n return offset - initialOffset;\n };\n PDFTrailerDict.of = function (dict) { return new PDFTrailerDict(dict); };\n return PDFTrailerDict;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFTrailerDict);\n//# sourceMappingURL=PDFTrailerDict.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFTrailerDict.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/embedders/CMap.js":
/*!*************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/embedders/CMap.js ***!
\*************************************************************************/
/*! exports provided: createCmap */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createCmap\", function() { return createCmap; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n/* harmony import */ var _utils_unicode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/unicode */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/unicode.js\");\n\n\n/** `glyphs` should be an array of unique glyphs */\nvar createCmap = function (glyphs, glyphId) {\n var bfChars = new Array(glyphs.length);\n for (var idx = 0, len = glyphs.length; idx < len; idx++) {\n var glyph = glyphs[idx];\n var id = cmapHexFormat(cmapHexString(glyphId(glyph)));\n var unicode = cmapHexFormat.apply(void 0, glyph.codePoints.map(cmapCodePointFormat));\n bfChars[idx] = [id, unicode];\n }\n return fillCmapTemplate(bfChars);\n};\n/* =============================== Templates ================================ */\nvar fillCmapTemplate = function (bfChars) { return \"/CIDInit /ProcSet findresource begin\\n12 dict begin\\nbegincmap\\n/CIDSystemInfo <<\\n /Registry (Adobe)\\n /Ordering (UCS)\\n /Supplement 0\\n>> def\\n/CMapName /Adobe-Identity-UCS def\\n/CMapType 2 def\\n1 begincodespacerange\\n<0000>\\nendcodespacerange\\n\" + bfChars.length + \" beginbfchar\\n\" + bfChars.map(function (_a) {\n var glyphId = _a[0], codePoint = _a[1];\n return glyphId + \" \" + codePoint;\n}).join('\\n') + \"\\nendbfchar\\nendcmap\\nCMapName currentdict /CMap defineresource pop\\nend\\nend\"; };\n/* =============================== Utilities ================================ */\nvar cmapHexFormat = function () {\n var values = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n values[_i] = arguments[_i];\n }\n return \"<\" + values.join('') + \">\";\n};\nvar cmapHexString = function (value) { return Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"toHexStringOfMinLength\"])(value, 4); };\nvar cmapCodePointFormat = function (codePoint) {\n if (Object(_utils_unicode__WEBPACK_IMPORTED_MODULE_1__[\"isWithinBMP\"])(codePoint))\n return cmapHexString(codePoint);\n if (Object(_utils_unicode__WEBPACK_IMPORTED_MODULE_1__[\"hasSurrogates\"])(codePoint)) {\n var hs = Object(_utils_unicode__WEBPACK_IMPORTED_MODULE_1__[\"highSurrogate\"])(codePoint);\n var ls = Object(_utils_unicode__WEBPACK_IMPORTED_MODULE_1__[\"lowSurrogate\"])(codePoint);\n return \"\" + cmapHexString(hs) + cmapHexString(ls);\n }\n var hex = Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"toHexString\"])(codePoint);\n var msg = \"0x\" + hex + \" is not a valid UTF-8 or UTF-16 codepoint.\";\n throw new Error(msg);\n};\n//# sourceMappingURL=CMap.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/embedders/CMap.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/embedders/CustomFontEmbedder.js":
/*!***************************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/embedders/CustomFontEmbedder.js ***!
\***************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _CMap__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CMap */ \"../simple-mind-map/node_modules/pdf-lib/es/core/embedders/CMap.js\");\n/* harmony import */ var _FontFlags__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./FontFlags */ \"../simple-mind-map/node_modules/pdf-lib/es/core/embedders/FontFlags.js\");\n/* harmony import */ var _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFHexString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js\");\n/* harmony import */ var _objects_PDFString__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFString.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n/**\n * A note of thanks to the developers of https://github.com/foliojs/pdfkit, as\n * this class borrows from:\n * https://github.com/devongovett/pdfkit/blob/e71edab0dd4657b5a767804ba86c94c58d01fbca/lib/image/jpeg.coffee\n */\nvar CustomFontEmbedder = /** @class */ (function () {\n function CustomFontEmbedder(font, fontData, customName, fontFeatures) {\n var _this = this;\n this.allGlyphsInFontSortedById = function () {\n var glyphs = new Array(_this.font.characterSet.length);\n for (var idx = 0, len = glyphs.length; idx < len; idx++) {\n var codePoint = _this.font.characterSet[idx];\n glyphs[idx] = _this.font.glyphForCodePoint(codePoint);\n }\n return Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"sortedUniq\"])(glyphs.sort(_utils__WEBPACK_IMPORTED_MODULE_5__[\"byAscendingId\"]), function (g) { return g.id; });\n };\n this.font = font;\n this.scale = 1000 / this.font.unitsPerEm;\n this.fontData = fontData;\n this.fontName = this.font.postscriptName || 'Font';\n this.customName = customName;\n this.fontFeatures = fontFeatures;\n this.baseFontName = '';\n this.glyphCache = _utils__WEBPACK_IMPORTED_MODULE_5__[\"Cache\"].populatedBy(this.allGlyphsInFontSortedById);\n }\n CustomFontEmbedder.for = function (fontkit, fontData, customName, fontFeatures) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var font;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, fontkit.create(fontData)];\n case 1:\n font = _a.sent();\n return [2 /*return*/, new CustomFontEmbedder(font, fontData, customName, fontFeatures)];\n }\n });\n });\n };\n /**\n * Encode the JavaScript string into this font. (JavaScript encodes strings in\n * Unicode, but embedded fonts use their own custom encodings)\n */\n CustomFontEmbedder.prototype.encodeText = function (text) {\n var glyphs = this.font.layout(text, this.fontFeatures).glyphs;\n var hexCodes = new Array(glyphs.length);\n for (var idx = 0, len = glyphs.length; idx < len; idx++) {\n hexCodes[idx] = Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"toHexStringOfMinLength\"])(glyphs[idx].id, 4);\n }\n return _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of(hexCodes.join(''));\n };\n // The advanceWidth takes into account kerning automatically, so we don't\n // have to do that manually like we do for the standard fonts.\n CustomFontEmbedder.prototype.widthOfTextAtSize = function (text, size) {\n var glyphs = this.font.layout(text, this.fontFeatures).glyphs;\n var totalWidth = 0;\n for (var idx = 0, len = glyphs.length; idx < len; idx++) {\n totalWidth += glyphs[idx].advanceWidth * this.scale;\n }\n var scale = size / 1000;\n return totalWidth * scale;\n };\n CustomFontEmbedder.prototype.heightOfFontAtSize = function (size, options) {\n if (options === void 0) { options = {}; }\n var _a = options.descender, descender = _a === void 0 ? true : _a;\n var _b = this.font, ascent = _b.ascent, descent = _b.descent, bbox = _b.bbox;\n var yTop = (ascent || bbox.maxY) * this.scale;\n var yBottom = (descent || bbox.minY) * this.scale;\n var height = yTop - yBottom;\n if (!descender)\n height -= Math.abs(descent) || 0;\n return (height / 1000) * size;\n };\n CustomFontEmbedder.prototype.sizeOfFontAtHeight = function (height) {\n var _a = this.font, ascent = _a.ascent, descent = _a.descent, bbox = _a.bbox;\n var yTop = (ascent || bbox.maxY) * this.scale;\n var yBottom = (descent || bbox.minY) * this.scale;\n return (1000 * height) / (yTop - yBottom);\n };\n CustomFontEmbedder.prototype.embedIntoContext = function (context, ref) {\n this.baseFontName =\n this.customName || context.addRandomSuffix(this.fontName);\n return this.embedFontDict(context, ref);\n };\n CustomFontEmbedder.prototype.embedFontDict = function (context, ref) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var cidFontDictRef, unicodeCMapRef, fontDict;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.embedCIDFontDict(context)];\n case 1:\n cidFontDictRef = _a.sent();\n unicodeCMapRef = this.embedUnicodeCmap(context);\n fontDict = context.obj({\n Type: 'Font',\n Subtype: 'Type0',\n BaseFont: this.baseFontName,\n Encoding: 'Identity-H',\n DescendantFonts: [cidFontDictRef],\n ToUnicode: unicodeCMapRef,\n });\n if (ref) {\n context.assign(ref, fontDict);\n return [2 /*return*/, ref];\n }\n else {\n return [2 /*return*/, context.register(fontDict)];\n }\n return [2 /*return*/];\n }\n });\n });\n };\n CustomFontEmbedder.prototype.isCFF = function () {\n return this.font.cff;\n };\n CustomFontEmbedder.prototype.embedCIDFontDict = function (context) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var fontDescriptorRef, cidFontDict;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.embedFontDescriptor(context)];\n case 1:\n fontDescriptorRef = _a.sent();\n cidFontDict = context.obj({\n Type: 'Font',\n Subtype: this.isCFF() ? 'CIDFontType0' : 'CIDFontType2',\n CIDToGIDMap: 'Identity',\n BaseFont: this.baseFontName,\n CIDSystemInfo: {\n Registry: _objects_PDFString__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of('Adobe'),\n Ordering: _objects_PDFString__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of('Identity'),\n Supplement: 0,\n },\n FontDescriptor: fontDescriptorRef,\n W: this.computeWidths(),\n });\n return [2 /*return*/, context.register(cidFontDict)];\n }\n });\n });\n };\n CustomFontEmbedder.prototype.embedFontDescriptor = function (context) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var fontStreamRef, scale, _a, italicAngle, ascent, descent, capHeight, xHeight, _b, minX, minY, maxX, maxY, fontDescriptor;\n var _c;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_d) {\n switch (_d.label) {\n case 0: return [4 /*yield*/, this.embedFontStream(context)];\n case 1:\n fontStreamRef = _d.sent();\n scale = this.scale;\n _a = this.font, italicAngle = _a.italicAngle, ascent = _a.ascent, descent = _a.descent, capHeight = _a.capHeight, xHeight = _a.xHeight;\n _b = this.font.bbox, minX = _b.minX, minY = _b.minY, maxX = _b.maxX, maxY = _b.maxY;\n fontDescriptor = context.obj((_c = {\n Type: 'FontDescriptor',\n FontName: this.baseFontName,\n Flags: Object(_FontFlags__WEBPACK_IMPORTED_MODULE_2__[\"deriveFontFlags\"])(this.font),\n FontBBox: [minX * scale, minY * scale, maxX * scale, maxY * scale],\n ItalicAngle: italicAngle,\n Ascent: ascent * scale,\n Descent: descent * scale,\n CapHeight: (capHeight || ascent) * scale,\n XHeight: (xHeight || 0) * scale,\n // Not sure how to compute/find this, nor is anybody else really:\n // https://stackoverflow.com/questions/35485179/stemv-value-of-the-truetype-font\n StemV: 0\n },\n _c[this.isCFF() ? 'FontFile3' : 'FontFile2'] = fontStreamRef,\n _c));\n return [2 /*return*/, context.register(fontDescriptor)];\n }\n });\n });\n };\n CustomFontEmbedder.prototype.serializeFont = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n return [2 /*return*/, this.fontData];\n });\n });\n };\n CustomFontEmbedder.prototype.embedFontStream = function (context) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var fontStream, _a, _b;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_c) {\n switch (_c.label) {\n case 0:\n _b = (_a = context).flateStream;\n return [4 /*yield*/, this.serializeFont()];\n case 1:\n fontStream = _b.apply(_a, [_c.sent(), {\n Subtype: this.isCFF() ? 'CIDFontType0C' : undefined,\n }]);\n return [2 /*return*/, context.register(fontStream)];\n }\n });\n });\n };\n CustomFontEmbedder.prototype.embedUnicodeCmap = function (context) {\n var cmap = Object(_CMap__WEBPACK_IMPORTED_MODULE_1__[\"createCmap\"])(this.glyphCache.access(), this.glyphId.bind(this));\n var cmapStream = context.flateStream(cmap);\n return context.register(cmapStream);\n };\n CustomFontEmbedder.prototype.glyphId = function (glyph) {\n return glyph ? glyph.id : -1;\n };\n CustomFontEmbedder.prototype.computeWidths = function () {\n var glyphs = this.glyphCache.access();\n var widths = [];\n var currSection = [];\n for (var idx = 0, len = glyphs.length; idx < len; idx++) {\n var currGlyph = glyphs[idx];\n var prevGlyph = glyphs[idx - 1];\n var currGlyphId = this.glyphId(currGlyph);\n var prevGlyphId = this.glyphId(prevGlyph);\n if (idx === 0) {\n widths.push(currGlyphId);\n }\n else if (currGlyphId - prevGlyphId !== 1) {\n widths.push(currSection);\n widths.push(currGlyphId);\n currSection = [];\n }\n currSection.push(currGlyph.advanceWidth * this.scale);\n }\n widths.push(currSection);\n return widths;\n };\n return CustomFontEmbedder;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (CustomFontEmbedder);\n//# sourceMappingURL=CustomFontEmbedder.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/embedders/CustomFontEmbedder.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/embedders/CustomFontSubsetEmbedder.js":
/*!*********************************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/embedders/CustomFontSubsetEmbedder.js ***!
\*********************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _CustomFontEmbedder__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CustomFontEmbedder */ \"../simple-mind-map/node_modules/pdf-lib/es/core/embedders/CustomFontEmbedder.js\");\n/* harmony import */ var _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFHexString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n/**\n * A note of thanks to the developers of https://github.com/foliojs/pdfkit, as\n * this class borrows from:\n * https://github.com/devongovett/pdfkit/blob/e71edab0dd4657b5a767804ba86c94c58d01fbca/lib/image/jpeg.coffee\n */\nvar CustomFontSubsetEmbedder = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(CustomFontSubsetEmbedder, _super);\n function CustomFontSubsetEmbedder(font, fontData, customFontName, fontFeatures) {\n var _this = _super.call(this, font, fontData, customFontName, fontFeatures) || this;\n _this.subset = _this.font.createSubset();\n _this.glyphs = [];\n _this.glyphCache = _utils__WEBPACK_IMPORTED_MODULE_3__[\"Cache\"].populatedBy(function () { return _this.glyphs; });\n _this.glyphIdMap = new Map();\n return _this;\n }\n CustomFontSubsetEmbedder.for = function (fontkit, fontData, customFontName, fontFeatures) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var font;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, fontkit.create(fontData)];\n case 1:\n font = _a.sent();\n return [2 /*return*/, new CustomFontSubsetEmbedder(font, fontData, customFontName, fontFeatures)];\n }\n });\n });\n };\n CustomFontSubsetEmbedder.prototype.encodeText = function (text) {\n var glyphs = this.font.layout(text, this.fontFeatures).glyphs;\n var hexCodes = new Array(glyphs.length);\n for (var idx = 0, len = glyphs.length; idx < len; idx++) {\n var glyph = glyphs[idx];\n var subsetGlyphId = this.subset.includeGlyph(glyph);\n this.glyphs[subsetGlyphId - 1] = glyph;\n this.glyphIdMap.set(glyph.id, subsetGlyphId);\n hexCodes[idx] = Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"toHexStringOfMinLength\"])(subsetGlyphId, 4);\n }\n this.glyphCache.invalidate();\n return _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of(hexCodes.join(''));\n };\n CustomFontSubsetEmbedder.prototype.isCFF = function () {\n return this.subset.cff;\n };\n CustomFontSubsetEmbedder.prototype.glyphId = function (glyph) {\n return glyph ? this.glyphIdMap.get(glyph.id) : -1;\n };\n CustomFontSubsetEmbedder.prototype.serializeFont = function () {\n var _this = this;\n return new Promise(function (resolve, reject) {\n var parts = [];\n _this.subset\n .encodeStream()\n .on('data', function (bytes) { return parts.push(bytes); })\n .on('end', function () { return resolve(Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"mergeUint8Arrays\"])(parts)); })\n .on('error', function (err) { return reject(err); });\n });\n };\n return CustomFontSubsetEmbedder;\n}(_CustomFontEmbedder__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (CustomFontSubsetEmbedder);\n//# sourceMappingURL=CustomFontSubsetEmbedder.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/embedders/CustomFontSubsetEmbedder.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/embedders/FileEmbedder.js":
/*!*********************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/embedders/FileEmbedder.js ***!
\*********************************************************************************/
/*! exports provided: AFRelationship, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"AFRelationship\", function() { return AFRelationship; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _objects_PDFString__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFString.js\");\n/* harmony import */ var _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFHexString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js\");\n\n\n\n/**\n * From the PDF-A3 specification, section **3.1. Requirements - General**.\n * See:\n * * https://www.pdfa.org/wp-content/uploads/2018/10/PDF20_AN002-AF.pdf\n */\nvar AFRelationship;\n(function (AFRelationship) {\n AFRelationship[\"Source\"] = \"Source\";\n AFRelationship[\"Data\"] = \"Data\";\n AFRelationship[\"Alternative\"] = \"Alternative\";\n AFRelationship[\"Supplement\"] = \"Supplement\";\n AFRelationship[\"EncryptedPayload\"] = \"EncryptedPayload\";\n AFRelationship[\"FormData\"] = \"EncryptedPayload\";\n AFRelationship[\"Schema\"] = \"Schema\";\n AFRelationship[\"Unspecified\"] = \"Unspecified\";\n})(AFRelationship || (AFRelationship = {}));\nvar FileEmbedder = /** @class */ (function () {\n function FileEmbedder(fileData, fileName, options) {\n if (options === void 0) { options = {}; }\n this.fileData = fileData;\n this.fileName = fileName;\n this.options = options;\n }\n FileEmbedder.for = function (bytes, fileName, options) {\n if (options === void 0) { options = {}; }\n return new FileEmbedder(bytes, fileName, options);\n };\n FileEmbedder.prototype.embedIntoContext = function (context, ref) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var _a, mimeType, description, creationDate, modificationDate, afRelationship, embeddedFileStream, embeddedFileStreamRef, fileSpecDict;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_b) {\n _a = this.options, mimeType = _a.mimeType, description = _a.description, creationDate = _a.creationDate, modificationDate = _a.modificationDate, afRelationship = _a.afRelationship;\n embeddedFileStream = context.flateStream(this.fileData, {\n Type: 'EmbeddedFile',\n Subtype: mimeType !== null && mimeType !== void 0 ? mimeType : undefined,\n Params: {\n Size: this.fileData.length,\n CreationDate: creationDate\n ? _objects_PDFString__WEBPACK_IMPORTED_MODULE_1__[\"default\"].fromDate(creationDate)\n : undefined,\n ModDate: modificationDate\n ? _objects_PDFString__WEBPACK_IMPORTED_MODULE_1__[\"default\"].fromDate(modificationDate)\n : undefined,\n },\n });\n embeddedFileStreamRef = context.register(embeddedFileStream);\n fileSpecDict = context.obj({\n Type: 'Filespec',\n F: _objects_PDFString__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of(this.fileName),\n UF: _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"].fromText(this.fileName),\n EF: { F: embeddedFileStreamRef },\n Desc: description ? _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_2__[\"default\"].fromText(description) : undefined,\n AFRelationship: afRelationship !== null && afRelationship !== void 0 ? afRelationship : undefined,\n });\n if (ref) {\n context.assign(ref, fileSpecDict);\n return [2 /*return*/, ref];\n }\n else {\n return [2 /*return*/, context.register(fileSpecDict)];\n }\n return [2 /*return*/];\n });\n });\n };\n return FileEmbedder;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (FileEmbedder);\n//# sourceMappingURL=FileEmbedder.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/embedders/FileEmbedder.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/embedders/FontFlags.js":
/*!******************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/embedders/FontFlags.js ***!
\******************************************************************************/
/*! exports provided: deriveFontFlags */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"deriveFontFlags\", function() { return deriveFontFlags; });\n// prettier-ignore\nvar makeFontFlags = function (options) {\n var flags = 0;\n var flipBit = function (bit) { flags |= (1 << (bit - 1)); };\n if (options.fixedPitch)\n flipBit(1);\n if (options.serif)\n flipBit(2);\n if (options.symbolic)\n flipBit(3);\n if (options.script)\n flipBit(4);\n if (options.nonsymbolic)\n flipBit(6);\n if (options.italic)\n flipBit(7);\n if (options.allCap)\n flipBit(17);\n if (options.smallCap)\n flipBit(18);\n if (options.forceBold)\n flipBit(19);\n return flags;\n};\n// From: https://github.com/foliojs/pdfkit/blob/83f5f7243172a017adcf6a7faa5547c55982c57b/lib/font/embedded.js#L123-L129\nvar deriveFontFlags = function (font) {\n var familyClass = font['OS/2'] ? font['OS/2'].sFamilyClass : 0;\n var flags = makeFontFlags({\n fixedPitch: font.post.isFixedPitch,\n serif: 1 <= familyClass && familyClass <= 7,\n symbolic: true,\n script: familyClass === 10,\n italic: font.head.macStyle.italic,\n });\n return flags;\n};\n//# sourceMappingURL=FontFlags.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/embedders/FontFlags.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/embedders/JavaScriptEmbedder.js":
/*!***************************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/embedders/JavaScriptEmbedder.js ***!
\***************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFHexString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js\");\n\n\nvar JavaScriptEmbedder = /** @class */ (function () {\n function JavaScriptEmbedder(script, scriptName) {\n this.script = script;\n this.scriptName = scriptName;\n }\n JavaScriptEmbedder.for = function (script, scriptName) {\n return new JavaScriptEmbedder(script, scriptName);\n };\n JavaScriptEmbedder.prototype.embedIntoContext = function (context, ref) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var jsActionDict;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n jsActionDict = context.obj({\n Type: 'Action',\n S: 'JavaScript',\n JS: _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_1__[\"default\"].fromText(this.script),\n });\n if (ref) {\n context.assign(ref, jsActionDict);\n return [2 /*return*/, ref];\n }\n else {\n return [2 /*return*/, context.register(jsActionDict)];\n }\n return [2 /*return*/];\n });\n });\n };\n return JavaScriptEmbedder;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (JavaScriptEmbedder);\n//# sourceMappingURL=JavaScriptEmbedder.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/embedders/JavaScriptEmbedder.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/embedders/JpegEmbedder.js":
/*!*********************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/embedders/JpegEmbedder.js ***!
\*********************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n\n// prettier-ignore\nvar MARKERS = [\n 0xffc0, 0xffc1, 0xffc2,\n 0xffc3, 0xffc5, 0xffc6,\n 0xffc7, 0xffc8, 0xffc9,\n 0xffca, 0xffcb, 0xffcc,\n 0xffcd, 0xffce, 0xffcf,\n];\nvar ColorSpace;\n(function (ColorSpace) {\n ColorSpace[\"DeviceGray\"] = \"DeviceGray\";\n ColorSpace[\"DeviceRGB\"] = \"DeviceRGB\";\n ColorSpace[\"DeviceCMYK\"] = \"DeviceCMYK\";\n})(ColorSpace || (ColorSpace = {}));\nvar ChannelToColorSpace = {\n 1: ColorSpace.DeviceGray,\n 3: ColorSpace.DeviceRGB,\n 4: ColorSpace.DeviceCMYK,\n};\n/**\n * A note of thanks to the developers of https://github.com/foliojs/pdfkit, as\n * this class borrows from:\n * https://github.com/foliojs/pdfkit/blob/a6af76467ce06bd6a2af4aa7271ccac9ff152a7d/lib/image/jpeg.js\n */\nvar JpegEmbedder = /** @class */ (function () {\n function JpegEmbedder(imageData, bitsPerComponent, width, height, colorSpace) {\n this.imageData = imageData;\n this.bitsPerComponent = bitsPerComponent;\n this.width = width;\n this.height = height;\n this.colorSpace = colorSpace;\n }\n JpegEmbedder.for = function (imageData) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var dataView, soi, pos, marker, bitsPerComponent, height, width, channelByte, channelName, colorSpace;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n dataView = new DataView(imageData.buffer);\n soi = dataView.getUint16(0);\n if (soi !== 0xffd8)\n throw new Error('SOI not found in JPEG');\n pos = 2;\n while (pos < dataView.byteLength) {\n marker = dataView.getUint16(pos);\n pos += 2;\n if (MARKERS.includes(marker))\n break;\n pos += dataView.getUint16(pos);\n }\n if (!MARKERS.includes(marker))\n throw new Error('Invalid JPEG');\n pos += 2;\n bitsPerComponent = dataView.getUint8(pos++);\n height = dataView.getUint16(pos);\n pos += 2;\n width = dataView.getUint16(pos);\n pos += 2;\n channelByte = dataView.getUint8(pos++);\n channelName = ChannelToColorSpace[channelByte];\n if (!channelName)\n throw new Error('Unknown JPEG channel.');\n colorSpace = channelName;\n return [2 /*return*/, new JpegEmbedder(imageData, bitsPerComponent, width, height, colorSpace)];\n });\n });\n };\n JpegEmbedder.prototype.embedIntoContext = function (context, ref) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var xObject;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n xObject = context.stream(this.imageData, {\n Type: 'XObject',\n Subtype: 'Image',\n BitsPerComponent: this.bitsPerComponent,\n Width: this.width,\n Height: this.height,\n ColorSpace: this.colorSpace,\n Filter: 'DCTDecode',\n // CMYK JPEG streams in PDF are typically stored complemented,\n // with 1 as 'off' and 0 as 'on' (PDF 32000-1:2008, 8.6.4.4).\n //\n // Standalone CMYK JPEG (usually exported by Photoshop) are\n // stored inverse, with 0 as 'off' and 1 as 'on', like RGB.\n //\n // Applying a swap here as a hedge that most bytes passing\n // through this method will benefit from it.\n Decode: this.colorSpace === ColorSpace.DeviceCMYK\n ? [1, 0, 1, 0, 1, 0, 1, 0]\n : undefined,\n });\n if (ref) {\n context.assign(ref, xObject);\n return [2 /*return*/, ref];\n }\n else {\n return [2 /*return*/, context.register(xObject)];\n }\n return [2 /*return*/];\n });\n });\n };\n return JpegEmbedder;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (JpegEmbedder);\n//# sourceMappingURL=JpegEmbedder.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/embedders/JpegEmbedder.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/embedders/PDFPageEmbedder.js":
/*!************************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/embedders/PDFPageEmbedder.js ***!
\************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _objects_PDFRawStream__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFRawStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRawStream.js\");\n/* harmony import */ var _objects_PDFStream__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFStream.js\");\n/* harmony import */ var _streams_decode__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../streams/decode */ \"../simple-mind-map/node_modules/pdf-lib/es/core/streams/decode.js\");\n/* harmony import */ var _structures_PDFContentStream__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../structures/PDFContentStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFContentStream.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n\n\n\nvar fullPageBoundingBox = function (page) {\n var mediaBox = page.MediaBox();\n var width = mediaBox.lookup(2, _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_2__[\"default\"]).asNumber() -\n mediaBox.lookup(0, _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_2__[\"default\"]).asNumber();\n var height = mediaBox.lookup(3, _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_2__[\"default\"]).asNumber() -\n mediaBox.lookup(1, _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_2__[\"default\"]).asNumber();\n return { left: 0, bottom: 0, right: width, top: height };\n};\n// Returns the identity matrix, modified to position the content of the given\n// bounding box at (0, 0).\nvar boundingBoxAdjustedMatrix = function (bb) { return [1, 0, 0, 1, -bb.left, -bb.bottom]; };\nvar PDFPageEmbedder = /** @class */ (function () {\n function PDFPageEmbedder(page, boundingBox, transformationMatrix) {\n this.page = page;\n var bb = boundingBox !== null && boundingBox !== void 0 ? boundingBox : fullPageBoundingBox(page);\n this.width = bb.right - bb.left;\n this.height = bb.top - bb.bottom;\n this.boundingBox = bb;\n this.transformationMatrix = transformationMatrix !== null && transformationMatrix !== void 0 ? transformationMatrix : boundingBoxAdjustedMatrix(bb);\n }\n PDFPageEmbedder.for = function (page, boundingBox, transformationMatrix) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n return [2 /*return*/, new PDFPageEmbedder(page, boundingBox, transformationMatrix)];\n });\n });\n };\n PDFPageEmbedder.prototype.embedIntoContext = function (context, ref) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var _a, Contents, Resources, decodedContents, _b, left, bottom, right, top, xObject;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_c) {\n _a = this.page.normalizedEntries(), Contents = _a.Contents, Resources = _a.Resources;\n if (!Contents)\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"MissingPageContentsEmbeddingError\"]();\n decodedContents = this.decodeContents(Contents);\n _b = this.boundingBox, left = _b.left, bottom = _b.bottom, right = _b.right, top = _b.top;\n xObject = context.flateStream(decodedContents, {\n Type: 'XObject',\n Subtype: 'Form',\n FormType: 1,\n BBox: [left, bottom, right, top],\n Matrix: this.transformationMatrix,\n Resources: Resources,\n });\n if (ref) {\n context.assign(ref, xObject);\n return [2 /*return*/, ref];\n }\n else {\n return [2 /*return*/, context.register(xObject)];\n }\n return [2 /*return*/];\n });\n });\n };\n // `contents` is an array of streams which are merged to include them in the XObject.\n // This methods extracts each stream and joins them with a newline character.\n PDFPageEmbedder.prototype.decodeContents = function (contents) {\n var newline = Uint8Array.of(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_7__[\"default\"].Newline);\n var decodedContents = [];\n for (var idx = 0, len = contents.size(); idx < len; idx++) {\n var stream = contents.lookup(idx, _objects_PDFStream__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n var content = void 0;\n if (stream instanceof _objects_PDFRawStream__WEBPACK_IMPORTED_MODULE_3__[\"default\"]) {\n content = Object(_streams_decode__WEBPACK_IMPORTED_MODULE_5__[\"decodePDFRawStream\"])(stream).decode();\n }\n else if (stream instanceof _structures_PDFContentStream__WEBPACK_IMPORTED_MODULE_6__[\"default\"]) {\n content = stream.getUnencodedContents();\n }\n else {\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"UnrecognizedStreamTypeError\"](stream);\n }\n decodedContents.push(content, newline);\n }\n return _utils__WEBPACK_IMPORTED_MODULE_8__[\"mergeIntoTypedArray\"].apply(void 0, decodedContents);\n };\n return PDFPageEmbedder;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFPageEmbedder);\n//# sourceMappingURL=PDFPageEmbedder.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/embedders/PDFPageEmbedder.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/embedders/PngEmbedder.js":
/*!********************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/embedders/PngEmbedder.js ***!
\********************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _utils_png__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/png */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/png.js\");\n\n\n/**\n * A note of thanks to the developers of https://github.com/foliojs/pdfkit, as\n * this class borrows from:\n * https://github.com/devongovett/pdfkit/blob/e71edab0dd4657b5a767804ba86c94c58d01fbca/lib/image/png.coffee\n */\nvar PngEmbedder = /** @class */ (function () {\n function PngEmbedder(png) {\n this.image = png;\n this.bitsPerComponent = png.bitsPerComponent;\n this.width = png.width;\n this.height = png.height;\n this.colorSpace = 'DeviceRGB';\n }\n PngEmbedder.for = function (imageData) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var png;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n png = _utils_png__WEBPACK_IMPORTED_MODULE_1__[\"PNG\"].load(imageData);\n return [2 /*return*/, new PngEmbedder(png)];\n });\n });\n };\n PngEmbedder.prototype.embedIntoContext = function (context, ref) {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var SMask, xObject;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n SMask = this.embedAlphaChannel(context);\n xObject = context.flateStream(this.image.rgbChannel, {\n Type: 'XObject',\n Subtype: 'Image',\n BitsPerComponent: this.image.bitsPerComponent,\n Width: this.image.width,\n Height: this.image.height,\n ColorSpace: this.colorSpace,\n SMask: SMask,\n });\n if (ref) {\n context.assign(ref, xObject);\n return [2 /*return*/, ref];\n }\n else {\n return [2 /*return*/, context.register(xObject)];\n }\n return [2 /*return*/];\n });\n });\n };\n PngEmbedder.prototype.embedAlphaChannel = function (context) {\n if (!this.image.alphaChannel)\n return undefined;\n var xObject = context.flateStream(this.image.alphaChannel, {\n Type: 'XObject',\n Subtype: 'Image',\n Height: this.image.height,\n Width: this.image.width,\n BitsPerComponent: this.image.bitsPerComponent,\n ColorSpace: 'DeviceGray',\n Decode: [0, 1],\n });\n return context.register(xObject);\n };\n return PngEmbedder;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PngEmbedder);\n//# sourceMappingURL=PngEmbedder.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/embedders/PngEmbedder.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/embedders/StandardFontEmbedder.js":
/*!*****************************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/embedders/StandardFontEmbedder.js ***!
\*****************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _pdf_lib_standard_fonts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @pdf-lib/standard-fonts */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/index.js\");\n/* harmony import */ var _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFHexString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n/**\n * A note of thanks to the developers of https://github.com/foliojs/pdfkit, as\n * this class borrows from:\n * https://github.com/foliojs/pdfkit/blob/f91bdd61c164a72ea06be1a43dc0a412afc3925f/lib/font/afm.coffee\n */\nvar StandardFontEmbedder = /** @class */ (function () {\n function StandardFontEmbedder(fontName, customName) {\n // prettier-ignore\n this.encoding = (fontName === _pdf_lib_standard_fonts__WEBPACK_IMPORTED_MODULE_0__[\"FontNames\"].ZapfDingbats ? _pdf_lib_standard_fonts__WEBPACK_IMPORTED_MODULE_0__[\"Encodings\"].ZapfDingbats\n : fontName === _pdf_lib_standard_fonts__WEBPACK_IMPORTED_MODULE_0__[\"FontNames\"].Symbol ? _pdf_lib_standard_fonts__WEBPACK_IMPORTED_MODULE_0__[\"Encodings\"].Symbol\n : _pdf_lib_standard_fonts__WEBPACK_IMPORTED_MODULE_0__[\"Encodings\"].WinAnsi);\n this.font = _pdf_lib_standard_fonts__WEBPACK_IMPORTED_MODULE_0__[\"Font\"].load(fontName);\n this.fontName = this.font.FontName;\n this.customName = customName;\n }\n /**\n * Encode the JavaScript string into this font. (JavaScript encodes strings in\n * Unicode, but standard fonts use either WinAnsi, ZapfDingbats, or Symbol\n * encodings)\n */\n StandardFontEmbedder.prototype.encodeText = function (text) {\n var glyphs = this.encodeTextAsGlyphs(text);\n var hexCodes = new Array(glyphs.length);\n for (var idx = 0, len = glyphs.length; idx < len; idx++) {\n hexCodes[idx] = Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"toHexString\"])(glyphs[idx].code);\n }\n return _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of(hexCodes.join(''));\n };\n StandardFontEmbedder.prototype.widthOfTextAtSize = function (text, size) {\n var glyphs = this.encodeTextAsGlyphs(text);\n var totalWidth = 0;\n for (var idx = 0, len = glyphs.length; idx < len; idx++) {\n var left = glyphs[idx].name;\n var right = (glyphs[idx + 1] || {}).name;\n var kernAmount = this.font.getXAxisKerningForPair(left, right) || 0;\n totalWidth += this.widthOfGlyph(left) + kernAmount;\n }\n var scale = size / 1000;\n return totalWidth * scale;\n };\n StandardFontEmbedder.prototype.heightOfFontAtSize = function (size, options) {\n if (options === void 0) { options = {}; }\n var _a = options.descender, descender = _a === void 0 ? true : _a;\n var _b = this.font, Ascender = _b.Ascender, Descender = _b.Descender, FontBBox = _b.FontBBox;\n var yTop = Ascender || FontBBox[3];\n var yBottom = Descender || FontBBox[1];\n var height = yTop - yBottom;\n if (!descender)\n height += Descender || 0;\n return (height / 1000) * size;\n };\n StandardFontEmbedder.prototype.sizeOfFontAtHeight = function (height) {\n var _a = this.font, Ascender = _a.Ascender, Descender = _a.Descender, FontBBox = _a.FontBBox;\n var yTop = Ascender || FontBBox[3];\n var yBottom = Descender || FontBBox[1];\n return (1000 * height) / (yTop - yBottom);\n };\n StandardFontEmbedder.prototype.embedIntoContext = function (context, ref) {\n var fontDict = context.obj({\n Type: 'Font',\n Subtype: 'Type1',\n BaseFont: this.customName || this.fontName,\n Encoding: this.encoding === _pdf_lib_standard_fonts__WEBPACK_IMPORTED_MODULE_0__[\"Encodings\"].WinAnsi ? 'WinAnsiEncoding' : undefined,\n });\n if (ref) {\n context.assign(ref, fontDict);\n return ref;\n }\n else {\n return context.register(fontDict);\n }\n };\n StandardFontEmbedder.prototype.widthOfGlyph = function (glyphName) {\n // Default to 250 if font doesn't specify a width\n return this.font.getWidthOfGlyph(glyphName) || 250;\n };\n StandardFontEmbedder.prototype.encodeTextAsGlyphs = function (text) {\n var codePoints = Array.from(text);\n var glyphs = new Array(codePoints.length);\n for (var idx = 0, len = codePoints.length; idx < len; idx++) {\n var codePoint = Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"toCodePoint\"])(codePoints[idx]);\n glyphs[idx] = this.encoding.encodeUnicodeCodePoint(codePoint);\n }\n return glyphs;\n };\n StandardFontEmbedder.for = function (fontName, customName) {\n return new StandardFontEmbedder(fontName, customName);\n };\n return StandardFontEmbedder;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (StandardFontEmbedder);\n//# sourceMappingURL=StandardFontEmbedder.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/embedders/StandardFontEmbedder.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/errors.js":
/*!*****************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/errors.js ***!
\*****************************************************************/
/*! exports provided: MethodNotImplementedError, PrivateConstructorError, UnexpectedObjectTypeError, UnsupportedEncodingError, ReparseError, MissingCatalogError, MissingPageContentsEmbeddingError, UnrecognizedStreamTypeError, PageEmbeddingMismatchedContextError, PDFArrayIsNotRectangleError, InvalidPDFDateStringError, InvalidTargetIndexError, CorruptPageTreeError, IndexOutOfBoundsError, InvalidAcroFieldValueError, MultiSelectValueError, MissingDAEntryError, MissingTfOperatorError, NumberParsingError, PDFParsingError, NextByteAssertionError, PDFObjectParsingError, PDFInvalidObjectParsingError, PDFStreamParsingError, UnbalancedParenthesisError, StalledParserError, MissingPDFHeaderError, MissingKeywordError */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MethodNotImplementedError\", function() { return MethodNotImplementedError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PrivateConstructorError\", function() { return PrivateConstructorError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UnexpectedObjectTypeError\", function() { return UnexpectedObjectTypeError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UnsupportedEncodingError\", function() { return UnsupportedEncodingError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ReparseError\", function() { return ReparseError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MissingCatalogError\", function() { return MissingCatalogError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MissingPageContentsEmbeddingError\", function() { return MissingPageContentsEmbeddingError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UnrecognizedStreamTypeError\", function() { return UnrecognizedStreamTypeError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PageEmbeddingMismatchedContextError\", function() { return PageEmbeddingMismatchedContextError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PDFArrayIsNotRectangleError\", function() { return PDFArrayIsNotRectangleError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"InvalidPDFDateStringError\", function() { return InvalidPDFDateStringError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"InvalidTargetIndexError\", function() { return InvalidTargetIndexError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"CorruptPageTreeError\", function() { return CorruptPageTreeError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"IndexOutOfBoundsError\", function() { return IndexOutOfBoundsError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"InvalidAcroFieldValueError\", function() { return InvalidAcroFieldValueError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MultiSelectValueError\", function() { return MultiSelectValueError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MissingDAEntryError\", function() { return MissingDAEntryError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MissingTfOperatorError\", function() { return MissingTfOperatorError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NumberParsingError\", function() { return NumberParsingError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PDFParsingError\", function() { return PDFParsingError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NextByteAssertionError\", function() { return NextByteAssertionError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PDFObjectParsingError\", function() { return PDFObjectParsingError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PDFInvalidObjectParsingError\", function() { return PDFInvalidObjectParsingError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PDFStreamParsingError\", function() { return PDFStreamParsingError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"UnbalancedParenthesisError\", function() { return UnbalancedParenthesisError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"StalledParserError\", function() { return StalledParserError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MissingPDFHeaderError\", function() { return MissingPDFHeaderError; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"MissingKeywordError\", function() { return MissingKeywordError; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\nvar MethodNotImplementedError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MethodNotImplementedError, _super);\n function MethodNotImplementedError(className, methodName) {\n var _this = this;\n var msg = \"Method \" + className + \".\" + methodName + \"() not implemented\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return MethodNotImplementedError;\n}(Error));\n\nvar PrivateConstructorError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PrivateConstructorError, _super);\n function PrivateConstructorError(className) {\n var _this = this;\n var msg = \"Cannot construct \" + className + \" - it has a private constructor\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return PrivateConstructorError;\n}(Error));\n\nvar UnexpectedObjectTypeError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(UnexpectedObjectTypeError, _super);\n function UnexpectedObjectTypeError(expected, actual) {\n var _this = this;\n var name = function (t) { var _a, _b; return (_a = t === null || t === void 0 ? void 0 : t.name) !== null && _a !== void 0 ? _a : (_b = t === null || t === void 0 ? void 0 : t.constructor) === null || _b === void 0 ? void 0 : _b.name; };\n var expectedTypes = Array.isArray(expected)\n ? expected.map(name)\n : [name(expected)];\n var msg = \"Expected instance of \" + expectedTypes.join(' or ') + \", \" +\n (\"but got instance of \" + (actual ? name(actual) : actual));\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return UnexpectedObjectTypeError;\n}(Error));\n\nvar UnsupportedEncodingError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(UnsupportedEncodingError, _super);\n function UnsupportedEncodingError(encoding) {\n var _this = this;\n var msg = encoding + \" stream encoding not supported\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return UnsupportedEncodingError;\n}(Error));\n\nvar ReparseError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(ReparseError, _super);\n function ReparseError(className, methodName) {\n var _this = this;\n var msg = \"Cannot call \" + className + \".\" + methodName + \"() more than once\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return ReparseError;\n}(Error));\n\nvar MissingCatalogError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MissingCatalogError, _super);\n function MissingCatalogError(ref) {\n var _this = this;\n var msg = \"Missing catalog (ref=\" + ref + \")\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return MissingCatalogError;\n}(Error));\n\nvar MissingPageContentsEmbeddingError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MissingPageContentsEmbeddingError, _super);\n function MissingPageContentsEmbeddingError() {\n var _this = this;\n var msg = \"Can't embed page with missing Contents\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return MissingPageContentsEmbeddingError;\n}(Error));\n\nvar UnrecognizedStreamTypeError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(UnrecognizedStreamTypeError, _super);\n function UnrecognizedStreamTypeError(stream) {\n var _a, _b, _c;\n var _this = this;\n var streamType = (_c = (_b = (_a = stream === null || stream === void 0 ? void 0 : stream.contructor) === null || _a === void 0 ? void 0 : _a.name) !== null && _b !== void 0 ? _b : stream === null || stream === void 0 ? void 0 : stream.name) !== null && _c !== void 0 ? _c : stream;\n var msg = \"Unrecognized stream type: \" + streamType;\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return UnrecognizedStreamTypeError;\n}(Error));\n\nvar PageEmbeddingMismatchedContextError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PageEmbeddingMismatchedContextError, _super);\n function PageEmbeddingMismatchedContextError() {\n var _this = this;\n var msg = \"Found mismatched contexts while embedding pages. All pages in the array passed to `PDFDocument.embedPages()` must be from the same document.\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return PageEmbeddingMismatchedContextError;\n}(Error));\n\nvar PDFArrayIsNotRectangleError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFArrayIsNotRectangleError, _super);\n function PDFArrayIsNotRectangleError(size) {\n var _this = this;\n var msg = \"Attempted to convert PDFArray with \" + size + \" elements to rectangle, but must have exactly 4 elements.\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return PDFArrayIsNotRectangleError;\n}(Error));\n\nvar InvalidPDFDateStringError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(InvalidPDFDateStringError, _super);\n function InvalidPDFDateStringError(value) {\n var _this = this;\n var msg = \"Attempted to convert \\\"\" + value + \"\\\" to a date, but it does not match the PDF date string format.\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return InvalidPDFDateStringError;\n}(Error));\n\nvar InvalidTargetIndexError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(InvalidTargetIndexError, _super);\n function InvalidTargetIndexError(targetIndex, Count) {\n var _this = this;\n var msg = \"Invalid targetIndex specified: targetIndex=\" + targetIndex + \" must be less than Count=\" + Count;\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return InvalidTargetIndexError;\n}(Error));\n\nvar CorruptPageTreeError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(CorruptPageTreeError, _super);\n function CorruptPageTreeError(targetIndex, operation) {\n var _this = this;\n var msg = \"Failed to \" + operation + \" at targetIndex=\" + targetIndex + \" due to corrupt page tree: It is likely that one or more 'Count' entries are invalid\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return CorruptPageTreeError;\n}(Error));\n\nvar IndexOutOfBoundsError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(IndexOutOfBoundsError, _super);\n function IndexOutOfBoundsError(index, min, max) {\n var _this = this;\n var msg = \"index should be at least \" + min + \" and at most \" + max + \", but was actually \" + index;\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return IndexOutOfBoundsError;\n}(Error));\n\nvar InvalidAcroFieldValueError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(InvalidAcroFieldValueError, _super);\n function InvalidAcroFieldValueError() {\n var _this = this;\n var msg = \"Attempted to set invalid field value\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return InvalidAcroFieldValueError;\n}(Error));\n\nvar MultiSelectValueError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MultiSelectValueError, _super);\n function MultiSelectValueError() {\n var _this = this;\n var msg = \"Attempted to select multiple values for single-select field\";\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return MultiSelectValueError;\n}(Error));\n\nvar MissingDAEntryError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MissingDAEntryError, _super);\n function MissingDAEntryError(fieldName) {\n var _this = this;\n var msg = \"No /DA (default appearance) entry found for field: \" + fieldName;\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return MissingDAEntryError;\n}(Error));\n\nvar MissingTfOperatorError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MissingTfOperatorError, _super);\n function MissingTfOperatorError(fieldName) {\n var _this = this;\n var msg = \"No Tf operator found for DA of field: \" + fieldName;\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return MissingTfOperatorError;\n}(Error));\n\nvar NumberParsingError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(NumberParsingError, _super);\n function NumberParsingError(pos, value) {\n var _this = this;\n var msg = \"Failed to parse number \" +\n (\"(line:\" + pos.line + \" col:\" + pos.column + \" offset=\" + pos.offset + \"): \\\"\" + value + \"\\\"\");\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return NumberParsingError;\n}(Error));\n\nvar PDFParsingError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFParsingError, _super);\n function PDFParsingError(pos, details) {\n var _this = this;\n var msg = \"Failed to parse PDF document \" +\n (\"(line:\" + pos.line + \" col:\" + pos.column + \" offset=\" + pos.offset + \"): \" + details);\n _this = _super.call(this, msg) || this;\n return _this;\n }\n return PDFParsingError;\n}(Error));\n\nvar NextByteAssertionError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(NextByteAssertionError, _super);\n function NextByteAssertionError(pos, expectedByte, actualByte) {\n var _this = this;\n var msg = \"Expected next byte to be \" + expectedByte + \" but it was actually \" + actualByte;\n _this = _super.call(this, pos, msg) || this;\n return _this;\n }\n return NextByteAssertionError;\n}(PDFParsingError));\n\nvar PDFObjectParsingError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFObjectParsingError, _super);\n function PDFObjectParsingError(pos, byte) {\n var _this = this;\n var msg = \"Failed to parse PDF object starting with the following byte: \" + byte;\n _this = _super.call(this, pos, msg) || this;\n return _this;\n }\n return PDFObjectParsingError;\n}(PDFParsingError));\n\nvar PDFInvalidObjectParsingError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFInvalidObjectParsingError, _super);\n function PDFInvalidObjectParsingError(pos) {\n var _this = this;\n var msg = \"Failed to parse invalid PDF object\";\n _this = _super.call(this, pos, msg) || this;\n return _this;\n }\n return PDFInvalidObjectParsingError;\n}(PDFParsingError));\n\nvar PDFStreamParsingError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFStreamParsingError, _super);\n function PDFStreamParsingError(pos) {\n var _this = this;\n var msg = \"Failed to parse PDF stream\";\n _this = _super.call(this, pos, msg) || this;\n return _this;\n }\n return PDFStreamParsingError;\n}(PDFParsingError));\n\nvar UnbalancedParenthesisError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(UnbalancedParenthesisError, _super);\n function UnbalancedParenthesisError(pos) {\n var _this = this;\n var msg = \"Failed to parse PDF literal string due to unbalanced parenthesis\";\n _this = _super.call(this, pos, msg) || this;\n return _this;\n }\n return UnbalancedParenthesisError;\n}(PDFParsingError));\n\nvar StalledParserError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(StalledParserError, _super);\n function StalledParserError(pos) {\n var _this = this;\n var msg = \"Parser stalled\";\n _this = _super.call(this, pos, msg) || this;\n return _this;\n }\n return StalledParserError;\n}(PDFParsingError));\n\nvar MissingPDFHeaderError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MissingPDFHeaderError, _super);\n function MissingPDFHeaderError(pos) {\n var _this = this;\n var msg = \"No PDF header found\";\n _this = _super.call(this, pos, msg) || this;\n return _this;\n }\n return MissingPDFHeaderError;\n}(PDFParsingError));\n\nvar MissingKeywordError = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(MissingKeywordError, _super);\n function MissingKeywordError(pos, keyword) {\n var _this = this;\n var msg = \"Did not find expected keyword '\" + Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"arrayAsString\"])(keyword) + \"'\";\n _this = _super.call(this, pos, msg) || this;\n return _this;\n }\n return MissingKeywordError;\n}(PDFParsingError));\n\n//# sourceMappingURL=errors.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/errors.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/index.js":
/*!****************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/index.js ***!
\****************************************************************/
/*! exports provided: MethodNotImplementedError, PrivateConstructorError, UnexpectedObjectTypeError, UnsupportedEncodingError, ReparseError, MissingCatalogError, MissingPageContentsEmbeddingError, UnrecognizedStreamTypeError, PageEmbeddingMismatchedContextError, PDFArrayIsNotRectangleError, InvalidPDFDateStringError, InvalidTargetIndexError, CorruptPageTreeError, IndexOutOfBoundsError, InvalidAcroFieldValueError, MultiSelectValueError, MissingDAEntryError, MissingTfOperatorError, NumberParsingError, PDFParsingError, NextByteAssertionError, PDFObjectParsingError, PDFInvalidObjectParsingError, PDFStreamParsingError, UnbalancedParenthesisError, StalledParserError, MissingPDFHeaderError, MissingKeywordError, CharCodes, PDFContext, PDFObjectCopier, PDFWriter, PDFStreamWriter, PDFHeader, PDFTrailer, PDFTrailerDict, PDFCrossRefSection, StandardFontEmbedder, CustomFontEmbedder, CustomFontSubsetEmbedder, FileEmbedder, AFRelationship, JpegEmbedder, PngEmbedder, PDFPageEmbedder, ViewerPreferences, NonFullScreenPageMode, ReadingDirection, PrintScaling, Duplex, PDFObject, PDFBool, PDFNumber, PDFString, PDFHexString, PDFName, PDFNull, PDFArray, PDFDict, PDFRef, PDFInvalidObject, PDFStream, PDFRawStream, PDFCatalog, PDFContentStream, PDFCrossRefStream, PDFObjectStream, PDFPageTree, PDFPageLeaf, PDFFlateStream, PDFOperator, PDFOperatorNames, PDFObjectParser, PDFObjectStreamParser, PDFParser, PDFXRefStreamParser, decodePDFRawStream, PDFAnnotation, PDFWidgetAnnotation, AppearanceCharacteristics, AnnotationFlags, PDFAcroButton, PDFAcroCheckBox, PDFAcroChoice, PDFAcroComboBox, PDFAcroField, PDFAcroForm, PDFAcroListBox, PDFAcroNonTerminal, PDFAcroPushButton, PDFAcroRadioButton, PDFAcroSignature, PDFAcroTerminal, PDFAcroText, AcroFieldFlags, AcroButtonFlags, AcroTextFlags, AcroChoiceFlags, createPDFAcroFields, createPDFAcroField */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MethodNotImplementedError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"MethodNotImplementedError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PrivateConstructorError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"PrivateConstructorError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UnexpectedObjectTypeError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"UnexpectedObjectTypeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UnsupportedEncodingError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"UnsupportedEncodingError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ReparseError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"ReparseError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MissingCatalogError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"MissingCatalogError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MissingPageContentsEmbeddingError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"MissingPageContentsEmbeddingError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UnrecognizedStreamTypeError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"UnrecognizedStreamTypeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PageEmbeddingMismatchedContextError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"PageEmbeddingMismatchedContextError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFArrayIsNotRectangleError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"PDFArrayIsNotRectangleError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InvalidPDFDateStringError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"InvalidPDFDateStringError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InvalidTargetIndexError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"InvalidTargetIndexError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CorruptPageTreeError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"CorruptPageTreeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"IndexOutOfBoundsError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"IndexOutOfBoundsError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InvalidAcroFieldValueError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"InvalidAcroFieldValueError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultiSelectValueError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"MultiSelectValueError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MissingDAEntryError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"MissingDAEntryError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MissingTfOperatorError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"MissingTfOperatorError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NumberParsingError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"NumberParsingError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFParsingError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"PDFParsingError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NextByteAssertionError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"NextByteAssertionError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFObjectParsingError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"PDFObjectParsingError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFInvalidObjectParsingError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"PDFInvalidObjectParsingError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFStreamParsingError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"PDFStreamParsingError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UnbalancedParenthesisError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"UnbalancedParenthesisError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StalledParserError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"StalledParserError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MissingPDFHeaderError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"MissingPDFHeaderError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MissingKeywordError\", function() { return _errors__WEBPACK_IMPORTED_MODULE_0__[\"MissingKeywordError\"]; });\n\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CharCodes\", function() { return _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"]; });\n\n/* harmony import */ var _PDFContext__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFContext */ \"../simple-mind-map/node_modules/pdf-lib/es/core/PDFContext.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFContext\", function() { return _PDFContext__WEBPACK_IMPORTED_MODULE_2__[\"default\"]; });\n\n/* harmony import */ var _PDFObjectCopier__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PDFObjectCopier */ \"../simple-mind-map/node_modules/pdf-lib/es/core/PDFObjectCopier.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFObjectCopier\", function() { return _PDFObjectCopier__WEBPACK_IMPORTED_MODULE_3__[\"default\"]; });\n\n/* harmony import */ var _writers_PDFWriter__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./writers/PDFWriter */ \"../simple-mind-map/node_modules/pdf-lib/es/core/writers/PDFWriter.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFWriter\", function() { return _writers_PDFWriter__WEBPACK_IMPORTED_MODULE_4__[\"default\"]; });\n\n/* harmony import */ var _writers_PDFStreamWriter__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./writers/PDFStreamWriter */ \"../simple-mind-map/node_modules/pdf-lib/es/core/writers/PDFStreamWriter.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFStreamWriter\", function() { return _writers_PDFStreamWriter__WEBPACK_IMPORTED_MODULE_5__[\"default\"]; });\n\n/* harmony import */ var _document_PDFHeader__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./document/PDFHeader */ \"../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFHeader.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFHeader\", function() { return _document_PDFHeader__WEBPACK_IMPORTED_MODULE_6__[\"default\"]; });\n\n/* harmony import */ var _document_PDFTrailer__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./document/PDFTrailer */ \"../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFTrailer.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFTrailer\", function() { return _document_PDFTrailer__WEBPACK_IMPORTED_MODULE_7__[\"default\"]; });\n\n/* harmony import */ var _document_PDFTrailerDict__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./document/PDFTrailerDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFTrailerDict.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFTrailerDict\", function() { return _document_PDFTrailerDict__WEBPACK_IMPORTED_MODULE_8__[\"default\"]; });\n\n/* harmony import */ var _document_PDFCrossRefSection__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./document/PDFCrossRefSection */ \"../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFCrossRefSection.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFCrossRefSection\", function() { return _document_PDFCrossRefSection__WEBPACK_IMPORTED_MODULE_9__[\"default\"]; });\n\n/* harmony import */ var _embedders_StandardFontEmbedder__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./embedders/StandardFontEmbedder */ \"../simple-mind-map/node_modules/pdf-lib/es/core/embedders/StandardFontEmbedder.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StandardFontEmbedder\", function() { return _embedders_StandardFontEmbedder__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n/* harmony import */ var _embedders_CustomFontEmbedder__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./embedders/CustomFontEmbedder */ \"../simple-mind-map/node_modules/pdf-lib/es/core/embedders/CustomFontEmbedder.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CustomFontEmbedder\", function() { return _embedders_CustomFontEmbedder__WEBPACK_IMPORTED_MODULE_11__[\"default\"]; });\n\n/* harmony import */ var _embedders_CustomFontSubsetEmbedder__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./embedders/CustomFontSubsetEmbedder */ \"../simple-mind-map/node_modules/pdf-lib/es/core/embedders/CustomFontSubsetEmbedder.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CustomFontSubsetEmbedder\", function() { return _embedders_CustomFontSubsetEmbedder__WEBPACK_IMPORTED_MODULE_12__[\"default\"]; });\n\n/* harmony import */ var _embedders_FileEmbedder__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./embedders/FileEmbedder */ \"../simple-mind-map/node_modules/pdf-lib/es/core/embedders/FileEmbedder.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FileEmbedder\", function() { return _embedders_FileEmbedder__WEBPACK_IMPORTED_MODULE_13__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AFRelationship\", function() { return _embedders_FileEmbedder__WEBPACK_IMPORTED_MODULE_13__[\"AFRelationship\"]; });\n\n/* harmony import */ var _embedders_JpegEmbedder__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./embedders/JpegEmbedder */ \"../simple-mind-map/node_modules/pdf-lib/es/core/embedders/JpegEmbedder.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JpegEmbedder\", function() { return _embedders_JpegEmbedder__WEBPACK_IMPORTED_MODULE_14__[\"default\"]; });\n\n/* harmony import */ var _embedders_PngEmbedder__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./embedders/PngEmbedder */ \"../simple-mind-map/node_modules/pdf-lib/es/core/embedders/PngEmbedder.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PngEmbedder\", function() { return _embedders_PngEmbedder__WEBPACK_IMPORTED_MODULE_15__[\"default\"]; });\n\n/* harmony import */ var _embedders_PDFPageEmbedder__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./embedders/PDFPageEmbedder */ \"../simple-mind-map/node_modules/pdf-lib/es/core/embedders/PDFPageEmbedder.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFPageEmbedder\", function() { return _embedders_PDFPageEmbedder__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n/* harmony import */ var _interactive_ViewerPreferences__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ./interactive/ViewerPreferences */ \"../simple-mind-map/node_modules/pdf-lib/es/core/interactive/ViewerPreferences.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ViewerPreferences\", function() { return _interactive_ViewerPreferences__WEBPACK_IMPORTED_MODULE_17__[\"default\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NonFullScreenPageMode\", function() { return _interactive_ViewerPreferences__WEBPACK_IMPORTED_MODULE_17__[\"NonFullScreenPageMode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ReadingDirection\", function() { return _interactive_ViewerPreferences__WEBPACK_IMPORTED_MODULE_17__[\"ReadingDirection\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PrintScaling\", function() { return _interactive_ViewerPreferences__WEBPACK_IMPORTED_MODULE_17__[\"PrintScaling\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Duplex\", function() { return _interactive_ViewerPreferences__WEBPACK_IMPORTED_MODULE_17__[\"Duplex\"]; });\n\n/* harmony import */ var _objects_PDFObject__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ./objects/PDFObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFObject\", function() { return _objects_PDFObject__WEBPACK_IMPORTED_MODULE_18__[\"default\"]; });\n\n/* harmony import */ var _objects_PDFBool__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ./objects/PDFBool */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFBool.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFBool\", function() { return _objects_PDFBool__WEBPACK_IMPORTED_MODULE_19__[\"default\"]; });\n\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ./objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFNumber\", function() { return _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_20__[\"default\"]; });\n\n/* harmony import */ var _objects_PDFString__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ./objects/PDFString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFString.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFString\", function() { return _objects_PDFString__WEBPACK_IMPORTED_MODULE_21__[\"default\"]; });\n\n/* harmony import */ var _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ./objects/PDFHexString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFHexString\", function() { return _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_22__[\"default\"]; });\n\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_23__ = __webpack_require__(/*! ./objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFName\", function() { return _objects_PDFName__WEBPACK_IMPORTED_MODULE_23__[\"default\"]; });\n\n/* harmony import */ var _objects_PDFNull__WEBPACK_IMPORTED_MODULE_24__ = __webpack_require__(/*! ./objects/PDFNull */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNull.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFNull\", function() { return _objects_PDFNull__WEBPACK_IMPORTED_MODULE_24__[\"default\"]; });\n\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_25__ = __webpack_require__(/*! ./objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFArray\", function() { return _objects_PDFArray__WEBPACK_IMPORTED_MODULE_25__[\"default\"]; });\n\n/* harmony import */ var _objects_PDFDict__WEBPACK_IMPORTED_MODULE_26__ = __webpack_require__(/*! ./objects/PDFDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFDict\", function() { return _objects_PDFDict__WEBPACK_IMPORTED_MODULE_26__[\"default\"]; });\n\n/* harmony import */ var _objects_PDFRef__WEBPACK_IMPORTED_MODULE_27__ = __webpack_require__(/*! ./objects/PDFRef */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFRef\", function() { return _objects_PDFRef__WEBPACK_IMPORTED_MODULE_27__[\"default\"]; });\n\n/* harmony import */ var _objects_PDFInvalidObject__WEBPACK_IMPORTED_MODULE_28__ = __webpack_require__(/*! ./objects/PDFInvalidObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFInvalidObject.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFInvalidObject\", function() { return _objects_PDFInvalidObject__WEBPACK_IMPORTED_MODULE_28__[\"default\"]; });\n\n/* harmony import */ var _objects_PDFStream__WEBPACK_IMPORTED_MODULE_29__ = __webpack_require__(/*! ./objects/PDFStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFStream.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFStream\", function() { return _objects_PDFStream__WEBPACK_IMPORTED_MODULE_29__[\"default\"]; });\n\n/* harmony import */ var _objects_PDFRawStream__WEBPACK_IMPORTED_MODULE_30__ = __webpack_require__(/*! ./objects/PDFRawStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRawStream.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFRawStream\", function() { return _objects_PDFRawStream__WEBPACK_IMPORTED_MODULE_30__[\"default\"]; });\n\n/* harmony import */ var _structures_PDFCatalog__WEBPACK_IMPORTED_MODULE_31__ = __webpack_require__(/*! ./structures/PDFCatalog */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFCatalog.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFCatalog\", function() { return _structures_PDFCatalog__WEBPACK_IMPORTED_MODULE_31__[\"default\"]; });\n\n/* harmony import */ var _structures_PDFContentStream__WEBPACK_IMPORTED_MODULE_32__ = __webpack_require__(/*! ./structures/PDFContentStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFContentStream.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFContentStream\", function() { return _structures_PDFContentStream__WEBPACK_IMPORTED_MODULE_32__[\"default\"]; });\n\n/* harmony import */ var _structures_PDFCrossRefStream__WEBPACK_IMPORTED_MODULE_33__ = __webpack_require__(/*! ./structures/PDFCrossRefStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFCrossRefStream.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFCrossRefStream\", function() { return _structures_PDFCrossRefStream__WEBPACK_IMPORTED_MODULE_33__[\"default\"]; });\n\n/* harmony import */ var _structures_PDFObjectStream__WEBPACK_IMPORTED_MODULE_34__ = __webpack_require__(/*! ./structures/PDFObjectStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFObjectStream.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFObjectStream\", function() { return _structures_PDFObjectStream__WEBPACK_IMPORTED_MODULE_34__[\"default\"]; });\n\n/* harmony import */ var _structures_PDFPageTree__WEBPACK_IMPORTED_MODULE_35__ = __webpack_require__(/*! ./structures/PDFPageTree */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFPageTree.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFPageTree\", function() { return _structures_PDFPageTree__WEBPACK_IMPORTED_MODULE_35__[\"default\"]; });\n\n/* harmony import */ var _structures_PDFPageLeaf__WEBPACK_IMPORTED_MODULE_36__ = __webpack_require__(/*! ./structures/PDFPageLeaf */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFPageLeaf.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFPageLeaf\", function() { return _structures_PDFPageLeaf__WEBPACK_IMPORTED_MODULE_36__[\"default\"]; });\n\n/* harmony import */ var _structures_PDFFlateStream__WEBPACK_IMPORTED_MODULE_37__ = __webpack_require__(/*! ./structures/PDFFlateStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFFlateStream.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFFlateStream\", function() { return _structures_PDFFlateStream__WEBPACK_IMPORTED_MODULE_37__[\"default\"]; });\n\n/* harmony import */ var _operators_PDFOperator__WEBPACK_IMPORTED_MODULE_38__ = __webpack_require__(/*! ./operators/PDFOperator */ \"../simple-mind-map/node_modules/pdf-lib/es/core/operators/PDFOperator.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFOperator\", function() { return _operators_PDFOperator__WEBPACK_IMPORTED_MODULE_38__[\"default\"]; });\n\n/* harmony import */ var _operators_PDFOperatorNames__WEBPACK_IMPORTED_MODULE_39__ = __webpack_require__(/*! ./operators/PDFOperatorNames */ \"../simple-mind-map/node_modules/pdf-lib/es/core/operators/PDFOperatorNames.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFOperatorNames\", function() { return _operators_PDFOperatorNames__WEBPACK_IMPORTED_MODULE_39__[\"default\"]; });\n\n/* harmony import */ var _parser_PDFObjectParser__WEBPACK_IMPORTED_MODULE_40__ = __webpack_require__(/*! ./parser/PDFObjectParser */ \"../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFObjectParser.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFObjectParser\", function() { return _parser_PDFObjectParser__WEBPACK_IMPORTED_MODULE_40__[\"default\"]; });\n\n/* harmony import */ var _parser_PDFObjectStreamParser__WEBPACK_IMPORTED_MODULE_41__ = __webpack_require__(/*! ./parser/PDFObjectStreamParser */ \"../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFObjectStreamParser.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFObjectStreamParser\", function() { return _parser_PDFObjectStreamParser__WEBPACK_IMPORTED_MODULE_41__[\"default\"]; });\n\n/* harmony import */ var _parser_PDFParser__WEBPACK_IMPORTED_MODULE_42__ = __webpack_require__(/*! ./parser/PDFParser */ \"../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFParser.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFParser\", function() { return _parser_PDFParser__WEBPACK_IMPORTED_MODULE_42__[\"default\"]; });\n\n/* harmony import */ var _parser_PDFXRefStreamParser__WEBPACK_IMPORTED_MODULE_43__ = __webpack_require__(/*! ./parser/PDFXRefStreamParser */ \"../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFXRefStreamParser.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFXRefStreamParser\", function() { return _parser_PDFXRefStreamParser__WEBPACK_IMPORTED_MODULE_43__[\"default\"]; });\n\n/* harmony import */ var _streams_decode__WEBPACK_IMPORTED_MODULE_44__ = __webpack_require__(/*! ./streams/decode */ \"../simple-mind-map/node_modules/pdf-lib/es/core/streams/decode.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"decodePDFRawStream\", function() { return _streams_decode__WEBPACK_IMPORTED_MODULE_44__[\"decodePDFRawStream\"]; });\n\n/* harmony import */ var _annotation__WEBPACK_IMPORTED_MODULE_45__ = __webpack_require__(/*! ./annotation */ \"../simple-mind-map/node_modules/pdf-lib/es/core/annotation/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAnnotation\", function() { return _annotation__WEBPACK_IMPORTED_MODULE_45__[\"PDFAnnotation\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFWidgetAnnotation\", function() { return _annotation__WEBPACK_IMPORTED_MODULE_45__[\"PDFWidgetAnnotation\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppearanceCharacteristics\", function() { return _annotation__WEBPACK_IMPORTED_MODULE_45__[\"AppearanceCharacteristics\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnnotationFlags\", function() { return _annotation__WEBPACK_IMPORTED_MODULE_45__[\"AnnotationFlags\"]; });\n\n/* harmony import */ var _acroform__WEBPACK_IMPORTED_MODULE_46__ = __webpack_require__(/*! ./acroform */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroButton\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"PDFAcroButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroCheckBox\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"PDFAcroCheckBox\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroChoice\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"PDFAcroChoice\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroComboBox\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"PDFAcroComboBox\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroField\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"PDFAcroField\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroForm\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"PDFAcroForm\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroListBox\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"PDFAcroListBox\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroNonTerminal\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"PDFAcroNonTerminal\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroPushButton\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"PDFAcroPushButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroRadioButton\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"PDFAcroRadioButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroSignature\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"PDFAcroSignature\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroTerminal\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"PDFAcroTerminal\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroText\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"PDFAcroText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AcroFieldFlags\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"AcroFieldFlags\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AcroButtonFlags\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"AcroButtonFlags\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AcroTextFlags\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"AcroTextFlags\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AcroChoiceFlags\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"AcroChoiceFlags\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPDFAcroFields\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"createPDFAcroFields\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPDFAcroField\", function() { return _acroform__WEBPACK_IMPORTED_MODULE_46__[\"createPDFAcroField\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/index.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/interactive/ViewerPreferences.js":
/*!****************************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/interactive/ViewerPreferences.js ***!
\****************************************************************************************/
/*! exports provided: NonFullScreenPageMode, ReadingDirection, PrintScaling, Duplex, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"NonFullScreenPageMode\", function() { return NonFullScreenPageMode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"ReadingDirection\", function() { return ReadingDirection; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PrintScaling\", function() { return PrintScaling; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Duplex\", function() { return Duplex; });\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony import */ var _objects_PDFBool__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFBool */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFBool.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\nvar asEnum = function (rawValue, enumType) {\n if (rawValue === undefined)\n return undefined;\n return enumType[rawValue];\n};\nvar NonFullScreenPageMode;\n(function (NonFullScreenPageMode) {\n /**\n * After exiting FullScreen mode, neither the document outline nor thumbnail\n * images should be visible.\n */\n NonFullScreenPageMode[\"UseNone\"] = \"UseNone\";\n /** After exiting FullScreen mode, the document outline should be visible. */\n NonFullScreenPageMode[\"UseOutlines\"] = \"UseOutlines\";\n /** After exiting FullScreen mode, thumbnail images should be visible. */\n NonFullScreenPageMode[\"UseThumbs\"] = \"UseThumbs\";\n /**\n * After exiting FullScreen mode, the optional content group panel should be\n * visible.\n */\n NonFullScreenPageMode[\"UseOC\"] = \"UseOC\";\n})(NonFullScreenPageMode || (NonFullScreenPageMode = {}));\nvar ReadingDirection;\n(function (ReadingDirection) {\n /** The predominant reading order is Left to Right. */\n ReadingDirection[\"L2R\"] = \"L2R\";\n /**\n * The predominant reading order is Right to left (including vertical writing\n * systems, such as Chinese, Japanese and Korean).\n */\n ReadingDirection[\"R2L\"] = \"R2L\";\n})(ReadingDirection || (ReadingDirection = {}));\nvar PrintScaling;\n(function (PrintScaling) {\n /** No page scaling. */\n PrintScaling[\"None\"] = \"None\";\n /* Use the PDF reader's default print scaling. */\n PrintScaling[\"AppDefault\"] = \"AppDefault\";\n})(PrintScaling || (PrintScaling = {}));\nvar Duplex;\n(function (Duplex) {\n /** The PDF reader should print single-sided. */\n Duplex[\"Simplex\"] = \"Simplex\";\n /**\n * The PDF reader should print double sided and flip on the short edge of the\n * sheet.\n */\n Duplex[\"DuplexFlipShortEdge\"] = \"DuplexFlipShortEdge\";\n /**\n * The PDF reader should print double sided and flip on the long edge of the\n * sheet.\n */\n Duplex[\"DuplexFlipLongEdge\"] = \"DuplexFlipLongEdge\";\n})(Duplex || (Duplex = {}));\nvar ViewerPreferences = /** @class */ (function () {\n /** @ignore */\n function ViewerPreferences(dict) {\n this.dict = dict;\n }\n ViewerPreferences.prototype.lookupBool = function (key) {\n var returnObj = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of(key));\n if (returnObj instanceof _objects_PDFBool__WEBPACK_IMPORTED_MODULE_1__[\"default\"])\n return returnObj;\n return undefined;\n };\n ViewerPreferences.prototype.lookupName = function (key) {\n var returnObj = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of(key));\n if (returnObj instanceof _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"])\n return returnObj;\n return undefined;\n };\n /** @ignore */\n ViewerPreferences.prototype.HideToolbar = function () {\n return this.lookupBool('HideToolbar');\n };\n /** @ignore */\n ViewerPreferences.prototype.HideMenubar = function () {\n return this.lookupBool('HideMenubar');\n };\n /** @ignore */\n ViewerPreferences.prototype.HideWindowUI = function () {\n return this.lookupBool('HideWindowUI');\n };\n /** @ignore */\n ViewerPreferences.prototype.FitWindow = function () {\n return this.lookupBool('FitWindow');\n };\n /** @ignore */\n ViewerPreferences.prototype.CenterWindow = function () {\n return this.lookupBool('CenterWindow');\n };\n /** @ignore */\n ViewerPreferences.prototype.DisplayDocTitle = function () {\n return this.lookupBool('DisplayDocTitle');\n };\n /** @ignore */\n ViewerPreferences.prototype.NonFullScreenPageMode = function () {\n return this.lookupName('NonFullScreenPageMode');\n };\n /** @ignore */\n ViewerPreferences.prototype.Direction = function () {\n return this.lookupName('Direction');\n };\n /** @ignore */\n ViewerPreferences.prototype.PrintScaling = function () {\n return this.lookupName('PrintScaling');\n };\n /** @ignore */\n ViewerPreferences.prototype.Duplex = function () {\n return this.lookupName('Duplex');\n };\n /** @ignore */\n ViewerPreferences.prototype.PickTrayByPDFSize = function () {\n return this.lookupBool('PickTrayByPDFSize');\n };\n /** @ignore */\n ViewerPreferences.prototype.PrintPageRange = function () {\n var PrintPageRange = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('PrintPageRange'));\n if (PrintPageRange instanceof _objects_PDFArray__WEBPACK_IMPORTED_MODULE_0__[\"default\"])\n return PrintPageRange;\n return undefined;\n };\n /** @ignore */\n ViewerPreferences.prototype.NumCopies = function () {\n var NumCopies = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('NumCopies'));\n if (NumCopies instanceof _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_3__[\"default\"])\n return NumCopies;\n return undefined;\n };\n /**\n * Returns `true` if PDF readers should hide the toolbar menus when displaying\n * this document.\n * @returns Whether or not toolbars should be hidden.\n */\n ViewerPreferences.prototype.getHideToolbar = function () {\n var _a, _b;\n return (_b = (_a = this.HideToolbar()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false;\n };\n /**\n * Returns `true` if PDF readers should hide the menu bar when displaying this\n * document.\n * @returns Whether or not the menu bar should be hidden.\n */\n ViewerPreferences.prototype.getHideMenubar = function () {\n var _a, _b;\n return (_b = (_a = this.HideMenubar()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false;\n };\n /**\n * Returns `true` if PDF readers should hide the user interface elements in\n * the document's window (such as scroll bars and navigation controls),\n * leaving only the document's contents displayed.\n * @returns Whether or not user interface elements should be hidden.\n */\n ViewerPreferences.prototype.getHideWindowUI = function () {\n var _a, _b;\n return (_b = (_a = this.HideWindowUI()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false;\n };\n /**\n * Returns `true` if PDF readers should resize the document's window to fit\n * the size of the first displayed page.\n * @returns Whether or not the window should be resized to fit.\n */\n ViewerPreferences.prototype.getFitWindow = function () {\n var _a, _b;\n return (_b = (_a = this.FitWindow()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false;\n };\n /**\n * Returns `true` if PDF readers should position the document's window in the\n * center of the screen.\n * @returns Whether or not to center the document window.\n */\n ViewerPreferences.prototype.getCenterWindow = function () {\n var _a, _b;\n return (_b = (_a = this.CenterWindow()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false;\n };\n /**\n * Returns `true` if the window's title bar should display the document\n * `Title`, taken from the document metadata (see [[PDFDocument.getTitle]]).\n * Returns `false` if the title bar should instead display the filename of the\n * PDF file.\n * @returns Whether to display the document title.\n */\n ViewerPreferences.prototype.getDisplayDocTitle = function () {\n var _a, _b;\n return (_b = (_a = this.DisplayDocTitle()) === null || _a === void 0 ? void 0 : _a.asBoolean()) !== null && _b !== void 0 ? _b : false;\n };\n /**\n * Returns the page mode, which tells the PDF reader how to display the\n * document after exiting full-screen mode.\n * @returns The page mode after exiting full-screen mode.\n */\n ViewerPreferences.prototype.getNonFullScreenPageMode = function () {\n var _a, _b;\n var mode = (_a = this.NonFullScreenPageMode()) === null || _a === void 0 ? void 0 : _a.decodeText();\n return (_b = asEnum(mode, NonFullScreenPageMode)) !== null && _b !== void 0 ? _b : NonFullScreenPageMode.UseNone;\n };\n /**\n * Returns the predominant reading order for text.\n * @returns The text reading order.\n */\n ViewerPreferences.prototype.getReadingDirection = function () {\n var _a, _b;\n var direction = (_a = this.Direction()) === null || _a === void 0 ? void 0 : _a.decodeText();\n return (_b = asEnum(direction, ReadingDirection)) !== null && _b !== void 0 ? _b : ReadingDirection.L2R;\n };\n /**\n * Returns the page scaling option that the PDF reader should select when the\n * print dialog is displayed.\n * @returns The page scaling option.\n */\n ViewerPreferences.prototype.getPrintScaling = function () {\n var _a, _b;\n var scaling = (_a = this.PrintScaling()) === null || _a === void 0 ? void 0 : _a.decodeText();\n return (_b = asEnum(scaling, PrintScaling)) !== null && _b !== void 0 ? _b : PrintScaling.AppDefault;\n };\n /**\n * Returns the paper handling option that should be used when printing the\n * file from the print dialog.\n * @returns The paper handling option.\n */\n ViewerPreferences.prototype.getDuplex = function () {\n var _a;\n var duplex = (_a = this.Duplex()) === null || _a === void 0 ? void 0 : _a.decodeText();\n return asEnum(duplex, Duplex);\n };\n /**\n * Returns `true` if the PDF page size should be used to select the input\n * paper tray.\n * @returns Whether or not the PDF page size should be used to select the\n * input paper tray.\n */\n ViewerPreferences.prototype.getPickTrayByPDFSize = function () {\n var _a;\n return (_a = this.PickTrayByPDFSize()) === null || _a === void 0 ? void 0 : _a.asBoolean();\n };\n /**\n * Returns an array of page number ranges, which are the values used to\n * initialize the print dialog box when the file is printed. Each range\n * specifies the first (`start`) and last (`end`) pages in a sub-range of\n * pages to be printed. The first page of the PDF file is denoted by 0.\n * For example:\n * ```js\n * const viewerPrefs = pdfDoc.catalog.getOrCreateViewerPreferences()\n * const includesPage3 = viewerPrefs\n * .getPrintRanges()\n * .some(pr => pr.start =< 2 && pr.end >= 2)\n * if (includesPage3) console.log('printRange includes page 3')\n * ```\n * @returns An array of objects, each with the properties `start` and `end`,\n * denoting page indices. If not, specified an empty array is\n * returned.\n */\n ViewerPreferences.prototype.getPrintPageRange = function () {\n var rng = this.PrintPageRange();\n if (!rng)\n return [];\n var pageRanges = [];\n for (var i = 0; i < rng.size(); i += 2) {\n // Despite the spec clearly stating that \"The first page of the PDF file\n // shall be donoted by 1\", several test PDFs (spec 1.7) created in\n // Acrobat XI 11.0 and also read with Reader DC 2020.013 indicate this is\n // actually a 0 based index.\n var start = rng.lookup(i, _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).asNumber();\n var end = rng.lookup(i + 1, _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).asNumber();\n pageRanges.push({ start: start, end: end });\n }\n return pageRanges;\n };\n /**\n * Returns the number of copies to be printed when the print dialog is opened\n * for this document.\n * @returns The default number of copies to be printed.\n */\n ViewerPreferences.prototype.getNumCopies = function () {\n var _a, _b;\n return (_b = (_a = this.NumCopies()) === null || _a === void 0 ? void 0 : _a.asNumber()) !== null && _b !== void 0 ? _b : 1;\n };\n /**\n * Choose whether the PDF reader's toolbars should be hidden while the\n * document is active.\n * @param hideToolbar `true` if the toolbar should be hidden.\n */\n ViewerPreferences.prototype.setHideToolbar = function (hideToolbar) {\n var HideToolbar = this.dict.context.obj(hideToolbar);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('HideToolbar'), HideToolbar);\n };\n /**\n * Choose whether the PDF reader's menu bar should be hidden while the\n * document is active.\n * @param hideMenubar `true` if the menu bar should be hidden.\n */\n ViewerPreferences.prototype.setHideMenubar = function (hideMenubar) {\n var HideMenubar = this.dict.context.obj(hideMenubar);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('HideMenubar'), HideMenubar);\n };\n /**\n * Choose whether the PDF reader should hide user interface elements in the\n * document's window (such as scroll bars and navigation controls), leaving\n * only the document's contents displayed.\n * @param hideWindowUI `true` if the user interface elements should be hidden.\n */\n ViewerPreferences.prototype.setHideWindowUI = function (hideWindowUI) {\n var HideWindowUI = this.dict.context.obj(hideWindowUI);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('HideWindowUI'), HideWindowUI);\n };\n /**\n * Choose whether the PDF reader should resize the document's window to fit\n * the size of the first displayed page.\n * @param fitWindow `true` if the window should be resized.\n */\n ViewerPreferences.prototype.setFitWindow = function (fitWindow) {\n var FitWindow = this.dict.context.obj(fitWindow);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('FitWindow'), FitWindow);\n };\n /**\n * Choose whether the PDF reader should position the document's window in the\n * center of the screen.\n * @param centerWindow `true` if the window should be centered.\n */\n ViewerPreferences.prototype.setCenterWindow = function (centerWindow) {\n var CenterWindow = this.dict.context.obj(centerWindow);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('CenterWindow'), CenterWindow);\n };\n /**\n * Choose whether the window's title bar should display the document `Title`\n * taken from the document metadata (see [[PDFDocument.setTitle]]). If\n * `false`, the title bar should instead display the PDF filename.\n * @param displayTitle `true` if the document title should be displayed.\n */\n ViewerPreferences.prototype.setDisplayDocTitle = function (displayTitle) {\n var DisplayDocTitle = this.dict.context.obj(displayTitle);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('DisplayDocTitle'), DisplayDocTitle);\n };\n /**\n * Choose how the PDF reader should display the document upon exiting\n * full-screen mode. This entry is meaningful only if the value of the\n * `PageMode` entry in the document's [[PDFCatalog]] is `FullScreen`.\n *\n * For example:\n * ```js\n * import { PDFDocument, NonFullScreenPageMode, PDFName } from 'pdf-lib'\n *\n * const pdfDoc = await PDFDocument.create()\n *\n * // Set the PageMode\n * pdfDoc.catalog.set(PDFName.of('PageMode'),PDFName.of('FullScreen'))\n *\n * // Set what happens when full-screen is closed\n * const viewerPrefs = pdfDoc.catalog.getOrCreateViewerPreferences()\n * viewerPrefs.setNonFullScreenPageMode(NonFullScreenPageMode.UseOutlines)\n * ```\n *\n * @param nonFullScreenPageMode How the document should be displayed upon\n * exiting full screen mode.\n */\n ViewerPreferences.prototype.setNonFullScreenPageMode = function (nonFullScreenPageMode) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"assertIsOneOf\"])(nonFullScreenPageMode, 'nonFullScreenPageMode', NonFullScreenPageMode);\n var mode = _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of(nonFullScreenPageMode);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('NonFullScreenPageMode'), mode);\n };\n /**\n * Choose the predominant reading order for text.\n *\n * This entry has no direct effect on the document's contents or page\n * numbering, but may be used to determine the relative positioning of pages\n * when displayed side by side or printed n-up.\n *\n * For example:\n * ```js\n * import { PDFDocument, ReadingDirection } from 'pdf-lib'\n *\n * const pdfDoc = await PDFDocument.create()\n * const viewerPrefs = pdfDoc.catalog.getOrCreateViewerPreferences()\n * viewerPrefs.setReadingDirection(ReadingDirection.R2L)\n * ```\n *\n * @param readingDirection The reading order for text.\n */\n ViewerPreferences.prototype.setReadingDirection = function (readingDirection) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"assertIsOneOf\"])(readingDirection, 'readingDirection', ReadingDirection);\n var direction = _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of(readingDirection);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Direction'), direction);\n };\n /**\n * Choose the page scaling option that should be selected when a print dialog\n * is displayed for this document.\n *\n * For example:\n * ```js\n * import { PDFDocument, PrintScaling } from 'pdf-lib'\n *\n * const pdfDoc = await PDFDocument.create()\n * const viewerPrefs = pdfDoc.catalog.getOrCreateViewerPreferences()\n * viewerPrefs.setPrintScaling(PrintScaling.None)\n * ```\n *\n * @param printScaling The print scaling option.\n */\n ViewerPreferences.prototype.setPrintScaling = function (printScaling) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"assertIsOneOf\"])(printScaling, 'printScaling', PrintScaling);\n var scaling = _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of(printScaling);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('PrintScaling'), scaling);\n };\n /**\n * Choose the paper handling option that should be selected by default in the\n * print dialog.\n *\n * For example:\n * ```js\n * import { PDFDocument, Duplex } from 'pdf-lib'\n *\n * const pdfDoc = await PDFDocument.create()\n * const viewerPrefs = pdfDoc.catalog.getOrCreateViewerPreferences()\n * viewerPrefs.setDuplex(Duplex.DuplexFlipShortEdge)\n * ```\n *\n * @param duplex The double or single sided printing option.\n */\n ViewerPreferences.prototype.setDuplex = function (duplex) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"assertIsOneOf\"])(duplex, 'duplex', Duplex);\n var dup = _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of(duplex);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Duplex'), dup);\n };\n /**\n * Choose whether the PDF document's page size should be used to select the\n * input paper tray when printing. This setting influences only the preset\n * values used to populate the print dialog presented by a PDF reader.\n *\n * If PickTrayByPDFSize is true, the check box in the print dialog associated\n * with input paper tray should be checked. This setting has no effect on\n * operating systems that do not provide the ability to pick the input tray\n * by size.\n *\n * @param pickTrayByPDFSize `true` if the document's page size should be used\n * to select the input paper tray.\n */\n ViewerPreferences.prototype.setPickTrayByPDFSize = function (pickTrayByPDFSize) {\n var PickTrayByPDFSize = this.dict.context.obj(pickTrayByPDFSize);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('PickTrayByPDFSize'), PickTrayByPDFSize);\n };\n /**\n * Choose the page numbers used to initialize the print dialog box when the\n * file is printed. The first page of the PDF file is denoted by 0.\n *\n * For example:\n * ```js\n * import { PDFDocument } from 'pdf-lib'\n *\n * const pdfDoc = await PDFDocument.create()\n * const viewerPrefs = pdfDoc.catalog.getOrCreateViewerPreferences()\n *\n * // We can set the default print range to only the first page\n * viewerPrefs.setPrintPageRange({ start: 0, end: 0 })\n *\n * // Or we can supply noncontiguous ranges (e.g. pages 1, 3, and 5-7)\n * viewerPrefs.setPrintPageRange([\n * { start: 0, end: 0 },\n * { start: 2, end: 2 },\n * { start: 4, end: 6 },\n * ])\n * ```\n *\n * @param printPageRange An object or array of objects, each with the\n * properties `start` and `end`, denoting a range of\n * page indices.\n */\n ViewerPreferences.prototype.setPrintPageRange = function (printPageRange) {\n if (!Array.isArray(printPageRange))\n printPageRange = [printPageRange];\n var flatRange = [];\n for (var idx = 0, len = printPageRange.length; idx < len; idx++) {\n flatRange.push(printPageRange[idx].start);\n flatRange.push(printPageRange[idx].end);\n }\n Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"assertEachIs\"])(flatRange, 'printPageRange', ['number']);\n var pageRanges = this.dict.context.obj(flatRange);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('PrintPageRange'), pageRanges);\n };\n /**\n * Choose the default number of copies to be printed when the print dialog is\n * opened for this file.\n * @param numCopies The default number of copies.\n */\n ViewerPreferences.prototype.setNumCopies = function (numCopies) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"assertRange\"])(numCopies, 'numCopies', 1, Number.MAX_VALUE);\n Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"assertInteger\"])(numCopies, 'numCopies');\n var NumCopies = this.dict.context.obj(numCopies);\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('NumCopies'), NumCopies);\n };\n /** @ignore */\n ViewerPreferences.fromDict = function (dict) {\n return new ViewerPreferences(dict);\n };\n /** @ignore */\n ViewerPreferences.create = function (context) {\n var dict = context.obj({});\n return new ViewerPreferences(dict);\n };\n return ViewerPreferences;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (ViewerPreferences);\n//# sourceMappingURL=ViewerPreferences.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/interactive/ViewerPreferences.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js":
/*!***************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js ***!
\***************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFNumber__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _PDFObject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n\n\n\n\n\nvar PDFArray = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFArray, _super);\n function PDFArray(context) {\n var _this = _super.call(this) || this;\n _this.array = [];\n _this.context = context;\n return _this;\n }\n PDFArray.prototype.size = function () {\n return this.array.length;\n };\n PDFArray.prototype.push = function (object) {\n this.array.push(object);\n };\n PDFArray.prototype.insert = function (index, object) {\n this.array.splice(index, 0, object);\n };\n PDFArray.prototype.indexOf = function (object) {\n var index = this.array.indexOf(object);\n return index === -1 ? undefined : index;\n };\n PDFArray.prototype.remove = function (index) {\n this.array.splice(index, 1);\n };\n PDFArray.prototype.set = function (idx, object) {\n this.array[idx] = object;\n };\n PDFArray.prototype.get = function (index) {\n return this.array[index];\n };\n PDFArray.prototype.lookupMaybe = function (index) {\n var _a;\n var types = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n types[_i - 1] = arguments[_i];\n }\n return (_a = this.context).lookupMaybe.apply(_a, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([this.get(index)], types));\n };\n PDFArray.prototype.lookup = function (index) {\n var _a;\n var types = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n types[_i - 1] = arguments[_i];\n }\n return (_a = this.context).lookup.apply(_a, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([this.get(index)], types));\n };\n PDFArray.prototype.asRectangle = function () {\n if (this.size() !== 4)\n throw new _errors__WEBPACK_IMPORTED_MODULE_4__[\"PDFArrayIsNotRectangleError\"](this.size());\n var lowerLeftX = this.lookup(0, _PDFNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"]).asNumber();\n var lowerLeftY = this.lookup(1, _PDFNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"]).asNumber();\n var upperRightX = this.lookup(2, _PDFNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"]).asNumber();\n var upperRightY = this.lookup(3, _PDFNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"]).asNumber();\n var x = lowerLeftX;\n var y = lowerLeftY;\n var width = upperRightX - lowerLeftX;\n var height = upperRightY - lowerLeftY;\n return { x: x, y: y, width: width, height: height };\n };\n PDFArray.prototype.asArray = function () {\n return this.array.slice();\n };\n PDFArray.prototype.clone = function (context) {\n var clone = PDFArray.withContext(context || this.context);\n for (var idx = 0, len = this.size(); idx < len; idx++) {\n clone.push(this.array[idx]);\n }\n return clone;\n };\n PDFArray.prototype.toString = function () {\n var arrayString = '[ ';\n for (var idx = 0, len = this.size(); idx < len; idx++) {\n arrayString += this.get(idx).toString();\n arrayString += ' ';\n }\n arrayString += ']';\n return arrayString;\n };\n PDFArray.prototype.sizeInBytes = function () {\n var size = 3;\n for (var idx = 0, len = this.size(); idx < len; idx++) {\n size += this.get(idx).sizeInBytes() + 1;\n }\n return size;\n };\n PDFArray.prototype.copyBytesInto = function (buffer, offset) {\n var initialOffset = offset;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].LeftSquareBracket;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Space;\n for (var idx = 0, len = this.size(); idx < len; idx++) {\n offset += this.get(idx).copyBytesInto(buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Space;\n }\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].RightSquareBracket;\n return offset - initialOffset;\n };\n PDFArray.prototype.scalePDFNumbers = function (x, y) {\n for (var idx = 0, len = this.size(); idx < len; idx++) {\n var el = this.lookup(idx);\n if (el instanceof _PDFNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) {\n var factor = idx % 2 === 0 ? x : y;\n this.set(idx, _PDFNumber__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of(el.asNumber() * factor));\n }\n }\n };\n PDFArray.withContext = function (context) { return new PDFArray(context); };\n return PDFArray;\n}(_PDFObject__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFArray);\n//# sourceMappingURL=PDFArray.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFBool.js":
/*!**************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFBool.js ***!
\**************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony import */ var _PDFObject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n\n\n\n\nvar ENFORCER = {};\nvar PDFBool = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFBool, _super);\n function PDFBool(enforcer, value) {\n var _this = this;\n if (enforcer !== ENFORCER)\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"PrivateConstructorError\"]('PDFBool');\n _this = _super.call(this) || this;\n _this.value = value;\n return _this;\n }\n PDFBool.prototype.asBoolean = function () {\n return this.value;\n };\n PDFBool.prototype.clone = function () {\n return this;\n };\n PDFBool.prototype.toString = function () {\n return String(this.value);\n };\n PDFBool.prototype.sizeInBytes = function () {\n return this.value ? 4 : 5;\n };\n PDFBool.prototype.copyBytesInto = function (buffer, offset) {\n if (this.value) {\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].t;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].r;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].u;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].e;\n return 4;\n }\n else {\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].f;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].a;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].l;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].s;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].e;\n return 5;\n }\n };\n PDFBool.True = new PDFBool(ENFORCER, true);\n PDFBool.False = new PDFBool(ENFORCER, false);\n return PDFBool;\n}(_PDFObject__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFBool);\n//# sourceMappingURL=PDFBool.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFBool.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js":
/*!**************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js ***!
\**************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFName__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _PDFNull__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFNull */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNull.js\");\n/* harmony import */ var _PDFObject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PDFObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n\n\n\n\n\nvar PDFDict = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFDict, _super);\n function PDFDict(map, context) {\n var _this = _super.call(this) || this;\n _this.dict = map;\n _this.context = context;\n return _this;\n }\n PDFDict.prototype.keys = function () {\n return Array.from(this.dict.keys());\n };\n PDFDict.prototype.values = function () {\n return Array.from(this.dict.values());\n };\n PDFDict.prototype.entries = function () {\n return Array.from(this.dict.entries());\n };\n PDFDict.prototype.set = function (key, value) {\n this.dict.set(key, value);\n };\n PDFDict.prototype.get = function (key, \n // TODO: `preservePDFNull` is for backwards compatibility. Should be\n // removed in next breaking API change.\n preservePDFNull) {\n if (preservePDFNull === void 0) { preservePDFNull = false; }\n var value = this.dict.get(key);\n if (value === _PDFNull__WEBPACK_IMPORTED_MODULE_2__[\"default\"] && !preservePDFNull)\n return undefined;\n return value;\n };\n PDFDict.prototype.has = function (key) {\n var value = this.dict.get(key);\n return value !== undefined && value !== _PDFNull__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n };\n PDFDict.prototype.lookupMaybe = function (key) {\n var _a;\n var types = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n types[_i - 1] = arguments[_i];\n }\n // TODO: `preservePDFNull` is for backwards compatibility. Should be\n // removed in next breaking API change.\n var preservePDFNull = types.includes(_PDFNull__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n var value = (_a = this.context).lookupMaybe.apply(_a, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([this.get(key, preservePDFNull)], types));\n if (value === _PDFNull__WEBPACK_IMPORTED_MODULE_2__[\"default\"] && !preservePDFNull)\n return undefined;\n return value;\n };\n PDFDict.prototype.lookup = function (key) {\n var _a;\n var types = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n types[_i - 1] = arguments[_i];\n }\n // TODO: `preservePDFNull` is for backwards compatibility. Should be\n // removed in next breaking API change.\n var preservePDFNull = types.includes(_PDFNull__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n var value = (_a = this.context).lookup.apply(_a, Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([this.get(key, preservePDFNull)], types));\n if (value === _PDFNull__WEBPACK_IMPORTED_MODULE_2__[\"default\"] && !preservePDFNull)\n return undefined;\n return value;\n };\n PDFDict.prototype.delete = function (key) {\n return this.dict.delete(key);\n };\n PDFDict.prototype.asMap = function () {\n return new Map(this.dict);\n };\n /** Generate a random key that doesn't exist in current key set */\n PDFDict.prototype.uniqueKey = function (tag) {\n if (tag === void 0) { tag = ''; }\n var existingKeys = this.keys();\n var key = _PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of(this.context.addRandomSuffix(tag, 10));\n while (existingKeys.includes(key)) {\n key = _PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of(this.context.addRandomSuffix(tag, 10));\n }\n return key;\n };\n PDFDict.prototype.clone = function (context) {\n var clone = PDFDict.withContext(context || this.context);\n var entries = this.entries();\n for (var idx = 0, len = entries.length; idx < len; idx++) {\n var _a = entries[idx], key = _a[0], value = _a[1];\n clone.set(key, value);\n }\n return clone;\n };\n PDFDict.prototype.toString = function () {\n var dictString = '<<\\n';\n var entries = this.entries();\n for (var idx = 0, len = entries.length; idx < len; idx++) {\n var _a = entries[idx], key = _a[0], value = _a[1];\n dictString += key.toString() + ' ' + value.toString() + '\\n';\n }\n dictString += '>>';\n return dictString;\n };\n PDFDict.prototype.sizeInBytes = function () {\n var size = 5;\n var entries = this.entries();\n for (var idx = 0, len = entries.length; idx < len; idx++) {\n var _a = entries[idx], key = _a[0], value = _a[1];\n size += key.sizeInBytes() + value.sizeInBytes() + 2;\n }\n return size;\n };\n PDFDict.prototype.copyBytesInto = function (buffer, offset) {\n var initialOffset = offset;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_4__[\"default\"].LessThan;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_4__[\"default\"].LessThan;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Newline;\n var entries = this.entries();\n for (var idx = 0, len = entries.length; idx < len; idx++) {\n var _a = entries[idx], key = _a[0], value = _a[1];\n offset += key.copyBytesInto(buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Space;\n offset += value.copyBytesInto(buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Newline;\n }\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_4__[\"default\"].GreaterThan;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_4__[\"default\"].GreaterThan;\n return offset - initialOffset;\n };\n PDFDict.withContext = function (context) { return new PDFDict(new Map(), context); };\n PDFDict.fromMapWithContext = function (map, context) {\n return new PDFDict(map, context);\n };\n return PDFDict;\n}(_PDFObject__WEBPACK_IMPORTED_MODULE_3__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFDict);\n//# sourceMappingURL=PDFDict.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js":
/*!*******************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js ***!
\*******************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n\n\n\n\n\nvar PDFHexString = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFHexString, _super);\n function PDFHexString(value) {\n var _this = _super.call(this) || this;\n _this.value = value;\n return _this;\n }\n PDFHexString.prototype.asBytes = function () {\n // Append a zero if the number of digits is odd. See PDF spec 7.3.4.3\n var hex = this.value + (this.value.length % 2 === 1 ? '0' : '');\n var hexLength = hex.length;\n var bytes = new Uint8Array(hex.length / 2);\n var hexOffset = 0;\n var bytesOffset = 0;\n // Interpret each pair of hex digits as a single byte\n while (hexOffset < hexLength) {\n var byte = parseInt(hex.substring(hexOffset, hexOffset + 2), 16);\n bytes[bytesOffset] = byte;\n hexOffset += 2;\n bytesOffset += 1;\n }\n return bytes;\n };\n PDFHexString.prototype.decodeText = function () {\n var bytes = this.asBytes();\n if (Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"hasUtf16BOM\"])(bytes))\n return Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"utf16Decode\"])(bytes);\n return Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"pdfDocEncodingDecode\"])(bytes);\n };\n PDFHexString.prototype.decodeDate = function () {\n var text = this.decodeText();\n var date = Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"parseDate\"])(text);\n if (!date)\n throw new _errors__WEBPACK_IMPORTED_MODULE_4__[\"InvalidPDFDateStringError\"](text);\n return date;\n };\n PDFHexString.prototype.asString = function () {\n return this.value;\n };\n PDFHexString.prototype.clone = function () {\n return PDFHexString.of(this.value);\n };\n PDFHexString.prototype.toString = function () {\n return \"<\" + this.value + \">\";\n };\n PDFHexString.prototype.sizeInBytes = function () {\n return this.value.length + 2;\n };\n PDFHexString.prototype.copyBytesInto = function (buffer, offset) {\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].LessThan;\n offset += Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"copyStringIntoBuffer\"])(this.value, buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].GreaterThan;\n return this.value.length + 2;\n };\n PDFHexString.of = function (value) { return new PDFHexString(value); };\n PDFHexString.fromText = function (value) {\n var encoded = Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"utf16Encode\"])(value);\n var hex = '';\n for (var idx = 0, len = encoded.length; idx < len; idx++) {\n hex += Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"toHexStringOfMinLength\"])(encoded[idx], 4);\n }\n return new PDFHexString(hex);\n };\n return PDFHexString;\n}(_PDFObject__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFHexString);\n//# sourceMappingURL=PDFHexString.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFInvalidObject.js":
/*!***********************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFInvalidObject.js ***!
\***********************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js\");\n\n\nvar PDFInvalidObject = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFInvalidObject, _super);\n function PDFInvalidObject(data) {\n var _this = _super.call(this) || this;\n _this.data = data;\n return _this;\n }\n PDFInvalidObject.prototype.clone = function () {\n return PDFInvalidObject.of(this.data.slice());\n };\n PDFInvalidObject.prototype.toString = function () {\n return \"PDFInvalidObject(\" + this.data.length + \" bytes)\";\n };\n PDFInvalidObject.prototype.sizeInBytes = function () {\n return this.data.length;\n };\n PDFInvalidObject.prototype.copyBytesInto = function (buffer, offset) {\n var length = this.data.length;\n for (var idx = 0; idx < length; idx++) {\n buffer[offset++] = this.data[idx];\n }\n return length;\n };\n PDFInvalidObject.of = function (data) { return new PDFInvalidObject(data); };\n return PDFInvalidObject;\n}(_PDFObject__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFInvalidObject);\n//# sourceMappingURL=PDFInvalidObject.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFInvalidObject.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js":
/*!**************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js ***!
\**************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony import */ var _PDFObject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony import */ var _syntax_Irregular__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../syntax/Irregular */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Irregular.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\nvar decodeName = function (name) {\n return name.replace(/#([\\dABCDEF]{2})/g, function (_, hex) { return Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"charFromHexCode\"])(hex); });\n};\nvar isRegularChar = function (charCode) {\n return charCode >= _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ExclamationPoint &&\n charCode <= _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Tilde &&\n !_syntax_Irregular__WEBPACK_IMPORTED_MODULE_4__[\"IsIrregular\"][charCode];\n};\nvar ENFORCER = {};\nvar pool = new Map();\nvar PDFName = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFName, _super);\n function PDFName(enforcer, name) {\n var _this = this;\n if (enforcer !== ENFORCER)\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"PrivateConstructorError\"]('PDFName');\n _this = _super.call(this) || this;\n var encodedName = '/';\n for (var idx = 0, len = name.length; idx < len; idx++) {\n var character = name[idx];\n var code = Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"toCharCode\"])(character);\n encodedName += isRegularChar(code) ? character : \"#\" + Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"toHexString\"])(code);\n }\n _this.encodedName = encodedName;\n return _this;\n }\n PDFName.prototype.asBytes = function () {\n var bytes = [];\n var hex = '';\n var escaped = false;\n var pushByte = function (byte) {\n if (byte !== undefined)\n bytes.push(byte);\n escaped = false;\n };\n for (var idx = 1, len = this.encodedName.length; idx < len; idx++) {\n var char = this.encodedName[idx];\n var byte = Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"toCharCode\"])(char);\n var nextChar = this.encodedName[idx + 1];\n if (!escaped) {\n if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Hash)\n escaped = true;\n else\n pushByte(byte);\n }\n else {\n if ((byte >= _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Zero && byte <= _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Nine) ||\n (byte >= _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].a && byte <= _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].f) ||\n (byte >= _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].A && byte <= _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_3__[\"default\"].F)) {\n hex += char;\n if (hex.length === 2 ||\n !((nextChar >= '0' && nextChar <= '9') ||\n (nextChar >= 'a' && nextChar <= 'f') ||\n (nextChar >= 'A' && nextChar <= 'F'))) {\n pushByte(parseInt(hex, 16));\n hex = '';\n }\n }\n else {\n pushByte(byte);\n }\n }\n }\n return new Uint8Array(bytes);\n };\n // TODO: This should probably use `utf8Decode()`\n // TODO: Polyfill Array.from?\n PDFName.prototype.decodeText = function () {\n var bytes = this.asBytes();\n return String.fromCharCode.apply(String, Array.from(bytes));\n };\n PDFName.prototype.asString = function () {\n return this.encodedName;\n };\n /** @deprecated in favor of [[PDFName.asString]] */\n PDFName.prototype.value = function () {\n return this.encodedName;\n };\n PDFName.prototype.clone = function () {\n return this;\n };\n PDFName.prototype.toString = function () {\n return this.encodedName;\n };\n PDFName.prototype.sizeInBytes = function () {\n return this.encodedName.length;\n };\n PDFName.prototype.copyBytesInto = function (buffer, offset) {\n offset += Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"copyStringIntoBuffer\"])(this.encodedName, buffer, offset);\n return this.encodedName.length;\n };\n PDFName.of = function (name) {\n var decodedValue = decodeName(name);\n var instance = pool.get(decodedValue);\n if (!instance) {\n instance = new PDFName(ENFORCER, decodedValue);\n pool.set(decodedValue, instance);\n }\n return instance;\n };\n /* tslint:disable member-ordering */\n PDFName.Length = PDFName.of('Length');\n PDFName.FlateDecode = PDFName.of('FlateDecode');\n PDFName.Resources = PDFName.of('Resources');\n PDFName.Font = PDFName.of('Font');\n PDFName.XObject = PDFName.of('XObject');\n PDFName.ExtGState = PDFName.of('ExtGState');\n PDFName.Contents = PDFName.of('Contents');\n PDFName.Type = PDFName.of('Type');\n PDFName.Parent = PDFName.of('Parent');\n PDFName.MediaBox = PDFName.of('MediaBox');\n PDFName.Page = PDFName.of('Page');\n PDFName.Annots = PDFName.of('Annots');\n PDFName.TrimBox = PDFName.of('TrimBox');\n PDFName.ArtBox = PDFName.of('ArtBox');\n PDFName.BleedBox = PDFName.of('BleedBox');\n PDFName.CropBox = PDFName.of('CropBox');\n PDFName.Rotate = PDFName.of('Rotate');\n PDFName.Title = PDFName.of('Title');\n PDFName.Author = PDFName.of('Author');\n PDFName.Subject = PDFName.of('Subject');\n PDFName.Creator = PDFName.of('Creator');\n PDFName.Keywords = PDFName.of('Keywords');\n PDFName.Producer = PDFName.of('Producer');\n PDFName.CreationDate = PDFName.of('CreationDate');\n PDFName.ModDate = PDFName.of('ModDate');\n return PDFName;\n}(_PDFObject__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFName);\n//# sourceMappingURL=PDFName.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNull.js":
/*!**************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNull.js ***!
\**************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n\n\n\nvar PDFNull = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFNull, _super);\n function PDFNull() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PDFNull.prototype.asNull = function () {\n return null;\n };\n PDFNull.prototype.clone = function () {\n return this;\n };\n PDFNull.prototype.toString = function () {\n return 'null';\n };\n PDFNull.prototype.sizeInBytes = function () {\n return 4;\n };\n PDFNull.prototype.copyBytesInto = function (buffer, offset) {\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].n;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].u;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].l;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].l;\n return 4;\n };\n return PDFNull;\n}(_PDFObject__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (new PDFNull());\n//# sourceMappingURL=PDFNull.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNull.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js":
/*!****************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js ***!
\****************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _utils_index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/index */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n/* harmony import */ var _PDFObject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js\");\n\n\n\nvar PDFNumber = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFNumber, _super);\n function PDFNumber(value) {\n var _this = _super.call(this) || this;\n _this.numberValue = value;\n _this.stringValue = Object(_utils_index__WEBPACK_IMPORTED_MODULE_1__[\"numberToString\"])(value);\n return _this;\n }\n PDFNumber.prototype.asNumber = function () {\n return this.numberValue;\n };\n /** @deprecated in favor of [[PDFNumber.asNumber]] */\n PDFNumber.prototype.value = function () {\n return this.numberValue;\n };\n PDFNumber.prototype.clone = function () {\n return PDFNumber.of(this.numberValue);\n };\n PDFNumber.prototype.toString = function () {\n return this.stringValue;\n };\n PDFNumber.prototype.sizeInBytes = function () {\n return this.stringValue.length;\n };\n PDFNumber.prototype.copyBytesInto = function (buffer, offset) {\n offset += Object(_utils_index__WEBPACK_IMPORTED_MODULE_1__[\"copyStringIntoBuffer\"])(this.stringValue, buffer, offset);\n return this.stringValue.length;\n };\n PDFNumber.of = function (value) { return new PDFNumber(value); };\n return PDFNumber;\n}(_PDFObject__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFNumber);\n//# sourceMappingURL=PDFNumber.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js":
/*!****************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js ***!
\****************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n\nvar PDFObject = /** @class */ (function () {\n function PDFObject() {\n }\n PDFObject.prototype.clone = function (_context) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_0__[\"MethodNotImplementedError\"](this.constructor.name, 'clone');\n };\n PDFObject.prototype.toString = function () {\n throw new _errors__WEBPACK_IMPORTED_MODULE_0__[\"MethodNotImplementedError\"](this.constructor.name, 'toString');\n };\n PDFObject.prototype.sizeInBytes = function () {\n throw new _errors__WEBPACK_IMPORTED_MODULE_0__[\"MethodNotImplementedError\"](this.constructor.name, 'sizeInBytes');\n };\n PDFObject.prototype.copyBytesInto = function (_buffer, _offset) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_0__[\"MethodNotImplementedError\"](this.constructor.name, 'copyBytesInto');\n };\n return PDFObject;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFObject);\n//# sourceMappingURL=PDFObject.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRawStream.js":
/*!*******************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRawStream.js ***!
\*******************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFStream__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFStream.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\nvar PDFRawStream = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFRawStream, _super);\n function PDFRawStream(dict, contents) {\n var _this = _super.call(this, dict) || this;\n _this.contents = contents;\n return _this;\n }\n PDFRawStream.prototype.asUint8Array = function () {\n return this.contents.slice();\n };\n PDFRawStream.prototype.clone = function (context) {\n return PDFRawStream.of(this.dict.clone(context), this.contents.slice());\n };\n PDFRawStream.prototype.getContentsString = function () {\n return Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"arrayAsString\"])(this.contents);\n };\n PDFRawStream.prototype.getContents = function () {\n return this.contents;\n };\n PDFRawStream.prototype.getContentsSize = function () {\n return this.contents.length;\n };\n PDFRawStream.of = function (dict, contents) {\n return new PDFRawStream(dict, contents);\n };\n return PDFRawStream;\n}(_PDFStream__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFRawStream);\n//# sourceMappingURL=PDFRawStream.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRawStream.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js":
/*!*************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js ***!
\*************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony import */ var _PDFObject__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\nvar ENFORCER = {};\nvar pool = new Map();\nvar PDFRef = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFRef, _super);\n function PDFRef(enforcer, objectNumber, generationNumber) {\n var _this = this;\n if (enforcer !== ENFORCER)\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"PrivateConstructorError\"]('PDFRef');\n _this = _super.call(this) || this;\n _this.objectNumber = objectNumber;\n _this.generationNumber = generationNumber;\n _this.tag = objectNumber + \" \" + generationNumber + \" R\";\n return _this;\n }\n PDFRef.prototype.clone = function () {\n return this;\n };\n PDFRef.prototype.toString = function () {\n return this.tag;\n };\n PDFRef.prototype.sizeInBytes = function () {\n return this.tag.length;\n };\n PDFRef.prototype.copyBytesInto = function (buffer, offset) {\n offset += Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"copyStringIntoBuffer\"])(this.tag, buffer, offset);\n return this.tag.length;\n };\n PDFRef.of = function (objectNumber, generationNumber) {\n if (generationNumber === void 0) { generationNumber = 0; }\n var tag = objectNumber + \" \" + generationNumber + \" R\";\n var instance = pool.get(tag);\n if (!instance) {\n instance = new PDFRef(ENFORCER, objectNumber, generationNumber);\n pool.set(tag, instance);\n }\n return instance;\n };\n return PDFRef;\n}(_PDFObject__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFRef);\n//# sourceMappingURL=PDFRef.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFStream.js":
/*!****************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFStream.js ***!
\****************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony import */ var _PDFName__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _PDFNumber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _PDFObject__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./PDFObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n\n\n\n\n\n\nvar PDFStream = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFStream, _super);\n function PDFStream(dict) {\n var _this = _super.call(this) || this;\n _this.dict = dict;\n return _this;\n }\n PDFStream.prototype.clone = function (_context) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"MethodNotImplementedError\"](this.constructor.name, 'clone');\n };\n PDFStream.prototype.getContentsString = function () {\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"MethodNotImplementedError\"](this.constructor.name, 'getContentsString');\n };\n PDFStream.prototype.getContents = function () {\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"MethodNotImplementedError\"](this.constructor.name, 'getContents');\n };\n PDFStream.prototype.getContentsSize = function () {\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"MethodNotImplementedError\"](this.constructor.name, 'getContentsSize');\n };\n PDFStream.prototype.updateDict = function () {\n var contentsSize = this.getContentsSize();\n this.dict.set(_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Length, _PDFNumber__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of(contentsSize));\n };\n PDFStream.prototype.sizeInBytes = function () {\n this.updateDict();\n return this.dict.sizeInBytes() + this.getContentsSize() + 18;\n };\n PDFStream.prototype.toString = function () {\n this.updateDict();\n var streamString = this.dict.toString();\n streamString += '\\nstream\\n';\n streamString += this.getContentsString();\n streamString += '\\nendstream';\n return streamString;\n };\n PDFStream.prototype.copyBytesInto = function (buffer, offset) {\n this.updateDict();\n var initialOffset = offset;\n offset += this.dict.copyBytesInto(buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].Newline;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].s;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].t;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].r;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].e;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].a;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].m;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].Newline;\n var contents = this.getContents();\n for (var idx = 0, len = contents.length; idx < len; idx++) {\n buffer[offset++] = contents[idx];\n }\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].Newline;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].e;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].n;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].d;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].s;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].t;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].r;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].e;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].a;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_5__[\"default\"].m;\n return offset - initialOffset;\n };\n return PDFStream;\n}(_PDFObject__WEBPACK_IMPORTED_MODULE_4__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFStream);\n//# sourceMappingURL=PDFStream.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFStream.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFString.js":
/*!****************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFString.js ***!
\****************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFObject__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n\n\n\n\n\nvar PDFString = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFString, _super);\n function PDFString(value) {\n var _this = _super.call(this) || this;\n _this.value = value;\n return _this;\n }\n PDFString.prototype.asBytes = function () {\n var bytes = [];\n var octal = '';\n var escaped = false;\n var pushByte = function (byte) {\n if (byte !== undefined)\n bytes.push(byte);\n escaped = false;\n };\n for (var idx = 0, len = this.value.length; idx < len; idx++) {\n var char = this.value[idx];\n var byte = Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"toCharCode\"])(char);\n var nextChar = this.value[idx + 1];\n if (!escaped) {\n if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].BackSlash)\n escaped = true;\n else\n pushByte(byte);\n }\n else {\n if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Newline)\n pushByte();\n else if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].CarriageReturn)\n pushByte();\n else if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].n)\n pushByte(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Newline);\n else if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].r)\n pushByte(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].CarriageReturn);\n else if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].t)\n pushByte(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Tab);\n else if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].b)\n pushByte(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Backspace);\n else if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].f)\n pushByte(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].FormFeed);\n else if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].LeftParen)\n pushByte(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].LeftParen);\n else if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].RightParen)\n pushByte(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].RightParen);\n else if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Backspace)\n pushByte(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].BackSlash);\n else if (byte >= _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Zero && byte <= _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Seven) {\n octal += char;\n if (octal.length === 3 || !(nextChar >= '0' && nextChar <= '7')) {\n pushByte(parseInt(octal, 8));\n octal = '';\n }\n }\n else {\n pushByte(byte);\n }\n }\n }\n return new Uint8Array(bytes);\n };\n PDFString.prototype.decodeText = function () {\n var bytes = this.asBytes();\n if (Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"hasUtf16BOM\"])(bytes))\n return Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"utf16Decode\"])(bytes);\n return Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"pdfDocEncodingDecode\"])(bytes);\n };\n PDFString.prototype.decodeDate = function () {\n var text = this.decodeText();\n var date = Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"parseDate\"])(text);\n if (!date)\n throw new _errors__WEBPACK_IMPORTED_MODULE_4__[\"InvalidPDFDateStringError\"](text);\n return date;\n };\n PDFString.prototype.asString = function () {\n return this.value;\n };\n PDFString.prototype.clone = function () {\n return PDFString.of(this.value);\n };\n PDFString.prototype.toString = function () {\n return \"(\" + this.value + \")\";\n };\n PDFString.prototype.sizeInBytes = function () {\n return this.value.length + 2;\n };\n PDFString.prototype.copyBytesInto = function (buffer, offset) {\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].LeftParen;\n offset += Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"copyStringIntoBuffer\"])(this.value, buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].RightParen;\n return this.value.length + 2;\n };\n // The PDF spec allows newlines and parens to appear directly within a literal\n // string. These character _may_ be escaped. But they do not _have_ to be. So\n // for simplicity, we will not bother escaping them.\n PDFString.of = function (value) { return new PDFString(value); };\n PDFString.fromDate = function (date) {\n var year = Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"padStart\"])(String(date.getUTCFullYear()), 4, '0');\n var month = Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"padStart\"])(String(date.getUTCMonth() + 1), 2, '0');\n var day = Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"padStart\"])(String(date.getUTCDate()), 2, '0');\n var hours = Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"padStart\"])(String(date.getUTCHours()), 2, '0');\n var mins = Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"padStart\"])(String(date.getUTCMinutes()), 2, '0');\n var secs = Object(_utils__WEBPACK_IMPORTED_MODULE_3__[\"padStart\"])(String(date.getUTCSeconds()), 2, '0');\n return new PDFString(\"D:\" + year + month + day + hours + mins + secs + \"Z\");\n };\n return PDFString;\n}(_PDFObject__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFString);\n//# sourceMappingURL=PDFString.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFString.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/operators/PDFOperator.js":
/*!********************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/operators/PDFOperator.js ***!
\********************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _objects_PDFObject__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../objects/PDFObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFObject.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\nvar PDFOperator = /** @class */ (function () {\n function PDFOperator(name, args) {\n this.name = name;\n this.args = args || [];\n }\n PDFOperator.prototype.clone = function (context) {\n var args = new Array(this.args.length);\n for (var idx = 0, len = args.length; idx < len; idx++) {\n var arg = this.args[idx];\n args[idx] = arg instanceof _objects_PDFObject__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? arg.clone(context) : arg;\n }\n return PDFOperator.of(this.name, args);\n };\n PDFOperator.prototype.toString = function () {\n var value = '';\n for (var idx = 0, len = this.args.length; idx < len; idx++) {\n value += String(this.args[idx]) + ' ';\n }\n value += this.name;\n return value;\n };\n PDFOperator.prototype.sizeInBytes = function () {\n var size = 0;\n for (var idx = 0, len = this.args.length; idx < len; idx++) {\n var arg = this.args[idx];\n size += (arg instanceof _objects_PDFObject__WEBPACK_IMPORTED_MODULE_0__[\"default\"] ? arg.sizeInBytes() : arg.length) + 1;\n }\n size += this.name.length;\n return size;\n };\n PDFOperator.prototype.copyBytesInto = function (buffer, offset) {\n var initialOffset = offset;\n for (var idx = 0, len = this.args.length; idx < len; idx++) {\n var arg = this.args[idx];\n if (arg instanceof _objects_PDFObject__WEBPACK_IMPORTED_MODULE_0__[\"default\"]) {\n offset += arg.copyBytesInto(buffer, offset);\n }\n else {\n offset += Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"copyStringIntoBuffer\"])(arg, buffer, offset);\n }\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Space;\n }\n offset += Object(_utils__WEBPACK_IMPORTED_MODULE_2__[\"copyStringIntoBuffer\"])(this.name, buffer, offset);\n return offset - initialOffset;\n };\n PDFOperator.of = function (name, args) {\n return new PDFOperator(name, args);\n };\n return PDFOperator;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFOperator);\n//# sourceMappingURL=PDFOperator.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/operators/PDFOperator.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/operators/PDFOperatorNames.js":
/*!*************************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/operators/PDFOperatorNames.js ***!
\*************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar PDFOperatorNames;\n(function (PDFOperatorNames) {\n // Non Stroking Color Operators\n PDFOperatorNames[\"NonStrokingColor\"] = \"sc\";\n PDFOperatorNames[\"NonStrokingColorN\"] = \"scn\";\n PDFOperatorNames[\"NonStrokingColorRgb\"] = \"rg\";\n PDFOperatorNames[\"NonStrokingColorGray\"] = \"g\";\n PDFOperatorNames[\"NonStrokingColorCmyk\"] = \"k\";\n PDFOperatorNames[\"NonStrokingColorspace\"] = \"cs\";\n // Stroking Color Operators\n PDFOperatorNames[\"StrokingColor\"] = \"SC\";\n PDFOperatorNames[\"StrokingColorN\"] = \"SCN\";\n PDFOperatorNames[\"StrokingColorRgb\"] = \"RG\";\n PDFOperatorNames[\"StrokingColorGray\"] = \"G\";\n PDFOperatorNames[\"StrokingColorCmyk\"] = \"K\";\n PDFOperatorNames[\"StrokingColorspace\"] = \"CS\";\n // Marked Content Operators\n PDFOperatorNames[\"BeginMarkedContentSequence\"] = \"BDC\";\n PDFOperatorNames[\"BeginMarkedContent\"] = \"BMC\";\n PDFOperatorNames[\"EndMarkedContent\"] = \"EMC\";\n PDFOperatorNames[\"MarkedContentPointWithProps\"] = \"DP\";\n PDFOperatorNames[\"MarkedContentPoint\"] = \"MP\";\n PDFOperatorNames[\"DrawObject\"] = \"Do\";\n // Graphics State Operators\n PDFOperatorNames[\"ConcatTransformationMatrix\"] = \"cm\";\n PDFOperatorNames[\"PopGraphicsState\"] = \"Q\";\n PDFOperatorNames[\"PushGraphicsState\"] = \"q\";\n PDFOperatorNames[\"SetFlatness\"] = \"i\";\n PDFOperatorNames[\"SetGraphicsStateParams\"] = \"gs\";\n PDFOperatorNames[\"SetLineCapStyle\"] = \"J\";\n PDFOperatorNames[\"SetLineDashPattern\"] = \"d\";\n PDFOperatorNames[\"SetLineJoinStyle\"] = \"j\";\n PDFOperatorNames[\"SetLineMiterLimit\"] = \"M\";\n PDFOperatorNames[\"SetLineWidth\"] = \"w\";\n PDFOperatorNames[\"SetTextMatrix\"] = \"Tm\";\n PDFOperatorNames[\"SetRenderingIntent\"] = \"ri\";\n // Graphics Operators\n PDFOperatorNames[\"AppendRectangle\"] = \"re\";\n PDFOperatorNames[\"BeginInlineImage\"] = \"BI\";\n PDFOperatorNames[\"BeginInlineImageData\"] = \"ID\";\n PDFOperatorNames[\"EndInlineImage\"] = \"EI\";\n PDFOperatorNames[\"ClipEvenOdd\"] = \"W*\";\n PDFOperatorNames[\"ClipNonZero\"] = \"W\";\n PDFOperatorNames[\"CloseAndStroke\"] = \"s\";\n PDFOperatorNames[\"CloseFillEvenOddAndStroke\"] = \"b*\";\n PDFOperatorNames[\"CloseFillNonZeroAndStroke\"] = \"b\";\n PDFOperatorNames[\"ClosePath\"] = \"h\";\n PDFOperatorNames[\"AppendBezierCurve\"] = \"c\";\n PDFOperatorNames[\"CurveToReplicateFinalPoint\"] = \"y\";\n PDFOperatorNames[\"CurveToReplicateInitialPoint\"] = \"v\";\n PDFOperatorNames[\"EndPath\"] = \"n\";\n PDFOperatorNames[\"FillEvenOddAndStroke\"] = \"B*\";\n PDFOperatorNames[\"FillEvenOdd\"] = \"f*\";\n PDFOperatorNames[\"FillNonZeroAndStroke\"] = \"B\";\n PDFOperatorNames[\"FillNonZero\"] = \"f\";\n PDFOperatorNames[\"LegacyFillNonZero\"] = \"F\";\n PDFOperatorNames[\"LineTo\"] = \"l\";\n PDFOperatorNames[\"MoveTo\"] = \"m\";\n PDFOperatorNames[\"ShadingFill\"] = \"sh\";\n PDFOperatorNames[\"StrokePath\"] = \"S\";\n // Text Operators\n PDFOperatorNames[\"BeginText\"] = \"BT\";\n PDFOperatorNames[\"EndText\"] = \"ET\";\n PDFOperatorNames[\"MoveText\"] = \"Td\";\n PDFOperatorNames[\"MoveTextSetLeading\"] = \"TD\";\n PDFOperatorNames[\"NextLine\"] = \"T*\";\n PDFOperatorNames[\"SetCharacterSpacing\"] = \"Tc\";\n PDFOperatorNames[\"SetFontAndSize\"] = \"Tf\";\n PDFOperatorNames[\"SetTextHorizontalScaling\"] = \"Tz\";\n PDFOperatorNames[\"SetTextLineHeight\"] = \"TL\";\n PDFOperatorNames[\"SetTextRenderingMode\"] = \"Tr\";\n PDFOperatorNames[\"SetTextRise\"] = \"Ts\";\n PDFOperatorNames[\"SetWordSpacing\"] = \"Tw\";\n PDFOperatorNames[\"ShowText\"] = \"Tj\";\n PDFOperatorNames[\"ShowTextAdjusted\"] = \"TJ\";\n PDFOperatorNames[\"ShowTextLine\"] = \"'\";\n PDFOperatorNames[\"ShowTextLineAndSpace\"] = \"\\\"\";\n // Type3 Font Operators\n PDFOperatorNames[\"Type3D0\"] = \"d0\";\n PDFOperatorNames[\"Type3D1\"] = \"d1\";\n // Compatibility Section Operators\n PDFOperatorNames[\"BeginCompatibilitySection\"] = \"BX\";\n PDFOperatorNames[\"EndCompatibilitySection\"] = \"EX\";\n})(PDFOperatorNames || (PDFOperatorNames = {}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFOperatorNames);\n//# sourceMappingURL=PDFOperatorNames.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/operators/PDFOperatorNames.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/parser/BaseParser.js":
/*!****************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/parser/BaseParser.js ***!
\****************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony import */ var _syntax_Numeric__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../syntax/Numeric */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Numeric.js\");\n/* harmony import */ var _syntax_Whitespace__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../syntax/Whitespace */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Whitespace.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\nvar Newline = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Newline, CarriageReturn = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].CarriageReturn;\n// TODO: Throw error if eof is reached before finishing object parse...\nvar BaseParser = /** @class */ (function () {\n function BaseParser(bytes, capNumbers) {\n if (capNumbers === void 0) { capNumbers = false; }\n this.bytes = bytes;\n this.capNumbers = capNumbers;\n }\n BaseParser.prototype.parseRawInt = function () {\n var value = '';\n while (!this.bytes.done()) {\n var byte = this.bytes.peek();\n if (!_syntax_Numeric__WEBPACK_IMPORTED_MODULE_2__[\"IsDigit\"][byte])\n break;\n value += Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"charFromCode\"])(this.bytes.next());\n }\n var numberValue = Number(value);\n if (!value || !isFinite(numberValue)) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_0__[\"NumberParsingError\"](this.bytes.position(), value);\n }\n return numberValue;\n };\n // TODO: Maybe handle exponential format?\n // TODO: Compare performance of string concatenation to charFromCode(...bytes)\n BaseParser.prototype.parseRawNumber = function () {\n var value = '';\n // Parse integer-part, the leading (+ | - | . | 0-9)\n while (!this.bytes.done()) {\n var byte = this.bytes.peek();\n if (!_syntax_Numeric__WEBPACK_IMPORTED_MODULE_2__[\"IsNumeric\"][byte])\n break;\n value += Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"charFromCode\"])(this.bytes.next());\n if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Period)\n break;\n }\n // Parse decimal-part, the trailing (0-9)\n while (!this.bytes.done()) {\n var byte = this.bytes.peek();\n if (!_syntax_Numeric__WEBPACK_IMPORTED_MODULE_2__[\"IsDigit\"][byte])\n break;\n value += Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"charFromCode\"])(this.bytes.next());\n }\n var numberValue = Number(value);\n if (!value || !isFinite(numberValue)) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_0__[\"NumberParsingError\"](this.bytes.position(), value);\n }\n if (numberValue > Number.MAX_SAFE_INTEGER) {\n if (this.capNumbers) {\n var msg = \"Parsed number that is too large for some PDF readers: \" + value + \", using Number.MAX_SAFE_INTEGER instead.\";\n console.warn(msg);\n return Number.MAX_SAFE_INTEGER;\n }\n else {\n var msg = \"Parsed number that is too large for some PDF readers: \" + value + \", not capping.\";\n console.warn(msg);\n }\n }\n return numberValue;\n };\n BaseParser.prototype.skipWhitespace = function () {\n while (!this.bytes.done() && _syntax_Whitespace__WEBPACK_IMPORTED_MODULE_3__[\"IsWhitespace\"][this.bytes.peek()]) {\n this.bytes.next();\n }\n };\n BaseParser.prototype.skipLine = function () {\n while (!this.bytes.done()) {\n var byte = this.bytes.peek();\n if (byte === Newline || byte === CarriageReturn)\n return;\n this.bytes.next();\n }\n };\n BaseParser.prototype.skipComment = function () {\n if (this.bytes.peek() !== _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Percent)\n return false;\n while (!this.bytes.done()) {\n var byte = this.bytes.peek();\n if (byte === Newline || byte === CarriageReturn)\n return true;\n this.bytes.next();\n }\n return true;\n };\n BaseParser.prototype.skipWhitespaceAndComments = function () {\n this.skipWhitespace();\n while (this.skipComment())\n this.skipWhitespace();\n };\n BaseParser.prototype.matchKeyword = function (keyword) {\n var initialOffset = this.bytes.offset();\n for (var idx = 0, len = keyword.length; idx < len; idx++) {\n if (this.bytes.done() || this.bytes.next() !== keyword[idx]) {\n this.bytes.moveTo(initialOffset);\n return false;\n }\n }\n return true;\n };\n return BaseParser;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (BaseParser);\n//# sourceMappingURL=BaseParser.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/parser/BaseParser.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/parser/ByteStream.js":
/*!****************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/parser/ByteStream.js ***!
\****************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony import */ var _streams_decode__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../streams/decode */ \"../simple-mind-map/node_modules/pdf-lib/es/core/streams/decode.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n\n\n\n// TODO: See how line/col tracking affects performance\nvar ByteStream = /** @class */ (function () {\n function ByteStream(bytes) {\n this.idx = 0;\n this.line = 0;\n this.column = 0;\n this.bytes = bytes;\n this.length = this.bytes.length;\n }\n ByteStream.prototype.moveTo = function (offset) {\n this.idx = offset;\n };\n ByteStream.prototype.next = function () {\n var byte = this.bytes[this.idx++];\n if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Newline) {\n this.line += 1;\n this.column = 0;\n }\n else {\n this.column += 1;\n }\n return byte;\n };\n ByteStream.prototype.assertNext = function (expected) {\n if (this.peek() !== expected) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_0__[\"NextByteAssertionError\"](this.position(), expected, this.peek());\n }\n return this.next();\n };\n ByteStream.prototype.peek = function () {\n return this.bytes[this.idx];\n };\n ByteStream.prototype.peekAhead = function (steps) {\n return this.bytes[this.idx + steps];\n };\n ByteStream.prototype.peekAt = function (offset) {\n return this.bytes[offset];\n };\n ByteStream.prototype.done = function () {\n return this.idx >= this.length;\n };\n ByteStream.prototype.offset = function () {\n return this.idx;\n };\n ByteStream.prototype.slice = function (start, end) {\n return this.bytes.slice(start, end);\n };\n ByteStream.prototype.position = function () {\n return { line: this.line, column: this.column, offset: this.idx };\n };\n ByteStream.of = function (bytes) { return new ByteStream(bytes); };\n ByteStream.fromPDFRawStream = function (rawStream) {\n return ByteStream.of(Object(_streams_decode__WEBPACK_IMPORTED_MODULE_1__[\"decodePDFRawStream\"])(rawStream).decode());\n };\n return ByteStream;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (ByteStream);\n//# sourceMappingURL=ByteStream.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/parser/ByteStream.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFObjectParser.js":
/*!*********************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFObjectParser.js ***!
\*********************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony import */ var _objects_PDFBool__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFBool */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFBool.js\");\n/* harmony import */ var _objects_PDFDict__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js\");\n/* harmony import */ var _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../objects/PDFHexString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFHexString.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFNull__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../objects/PDFNull */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNull.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _objects_PDFRawStream__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../objects/PDFRawStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRawStream.js\");\n/* harmony import */ var _objects_PDFRef__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ../objects/PDFRef */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js\");\n/* harmony import */ var _objects_PDFString__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../objects/PDFString */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFString.js\");\n/* harmony import */ var _BaseParser__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./BaseParser */ \"../simple-mind-map/node_modules/pdf-lib/es/core/parser/BaseParser.js\");\n/* harmony import */ var _ByteStream__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./ByteStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/parser/ByteStream.js\");\n/* harmony import */ var _structures_PDFCatalog__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../structures/PDFCatalog */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFCatalog.js\");\n/* harmony import */ var _structures_PDFPageLeaf__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../structures/PDFPageLeaf */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFPageLeaf.js\");\n/* harmony import */ var _structures_PDFPageTree__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../structures/PDFPageTree */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFPageTree.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony import */ var _syntax_Delimiters__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../syntax/Delimiters */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Delimiters.js\");\n/* harmony import */ var _syntax_Keywords__WEBPACK_IMPORTED_MODULE_19__ = __webpack_require__(/*! ../syntax/Keywords */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Keywords.js\");\n/* harmony import */ var _syntax_Numeric__WEBPACK_IMPORTED_MODULE_20__ = __webpack_require__(/*! ../syntax/Numeric */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Numeric.js\");\n/* harmony import */ var _syntax_Whitespace__WEBPACK_IMPORTED_MODULE_21__ = __webpack_require__(/*! ../syntax/Whitespace */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Whitespace.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_22__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n// TODO: Throw error if eof is reached before finishing object parse...\nvar PDFObjectParser = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFObjectParser, _super);\n function PDFObjectParser(byteStream, context, capNumbers) {\n if (capNumbers === void 0) { capNumbers = false; }\n var _this = _super.call(this, byteStream, capNumbers) || this;\n _this.context = context;\n return _this;\n }\n // TODO: Is it possible to reduce duplicate parsing for ref lookaheads?\n PDFObjectParser.prototype.parseObject = function () {\n this.skipWhitespaceAndComments();\n if (this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_19__[\"Keywords\"].true))\n return _objects_PDFBool__WEBPACK_IMPORTED_MODULE_3__[\"default\"].True;\n if (this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_19__[\"Keywords\"].false))\n return _objects_PDFBool__WEBPACK_IMPORTED_MODULE_3__[\"default\"].False;\n if (this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_19__[\"Keywords\"].null))\n return _objects_PDFNull__WEBPACK_IMPORTED_MODULE_7__[\"default\"];\n var byte = this.bytes.peek();\n if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].LessThan &&\n this.bytes.peekAhead(1) === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].LessThan) {\n return this.parseDictOrStream();\n }\n if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].LessThan)\n return this.parseHexString();\n if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].LeftParen)\n return this.parseString();\n if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].ForwardSlash)\n return this.parseName();\n if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].LeftSquareBracket)\n return this.parseArray();\n if (_syntax_Numeric__WEBPACK_IMPORTED_MODULE_20__[\"IsNumeric\"][byte])\n return this.parseNumberOrRef();\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"PDFObjectParsingError\"](this.bytes.position(), byte);\n };\n PDFObjectParser.prototype.parseNumberOrRef = function () {\n var firstNum = this.parseRawNumber();\n this.skipWhitespaceAndComments();\n var lookaheadStart = this.bytes.offset();\n if (_syntax_Numeric__WEBPACK_IMPORTED_MODULE_20__[\"IsDigit\"][this.bytes.peek()]) {\n var secondNum = this.parseRawNumber();\n this.skipWhitespaceAndComments();\n if (this.bytes.peek() === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].R) {\n this.bytes.assertNext(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].R);\n return _objects_PDFRef__WEBPACK_IMPORTED_MODULE_10__[\"default\"].of(firstNum, secondNum);\n }\n }\n this.bytes.moveTo(lookaheadStart);\n return _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_8__[\"default\"].of(firstNum);\n };\n // TODO: Maybe update PDFHexString.of() logic to remove whitespace and validate input?\n PDFObjectParser.prototype.parseHexString = function () {\n var value = '';\n this.bytes.assertNext(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].LessThan);\n while (!this.bytes.done() && this.bytes.peek() !== _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].GreaterThan) {\n value += Object(_utils__WEBPACK_IMPORTED_MODULE_22__[\"charFromCode\"])(this.bytes.next());\n }\n this.bytes.assertNext(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].GreaterThan);\n return _objects_PDFHexString__WEBPACK_IMPORTED_MODULE_5__[\"default\"].of(value);\n };\n PDFObjectParser.prototype.parseString = function () {\n var nestingLvl = 0;\n var isEscaped = false;\n var value = '';\n while (!this.bytes.done()) {\n var byte = this.bytes.next();\n value += Object(_utils__WEBPACK_IMPORTED_MODULE_22__[\"charFromCode\"])(byte);\n // Check for unescaped parenthesis\n if (!isEscaped) {\n if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].LeftParen)\n nestingLvl += 1;\n if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].RightParen)\n nestingLvl -= 1;\n }\n // Track whether current character is being escaped or not\n if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].BackSlash) {\n isEscaped = !isEscaped;\n }\n else if (isEscaped) {\n isEscaped = false;\n }\n // Once (if) the unescaped parenthesis balance out, return their contents\n if (nestingLvl === 0) {\n // Remove the outer parens so they aren't part of the contents\n return _objects_PDFString__WEBPACK_IMPORTED_MODULE_11__[\"default\"].of(value.substring(1, value.length - 1));\n }\n }\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"UnbalancedParenthesisError\"](this.bytes.position());\n };\n // TODO: Compare performance of string concatenation to charFromCode(...bytes)\n // TODO: Maybe preallocate small Uint8Array if can use charFromCode?\n PDFObjectParser.prototype.parseName = function () {\n this.bytes.assertNext(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].ForwardSlash);\n var name = '';\n while (!this.bytes.done()) {\n var byte = this.bytes.peek();\n if (_syntax_Whitespace__WEBPACK_IMPORTED_MODULE_21__[\"IsWhitespace\"][byte] || _syntax_Delimiters__WEBPACK_IMPORTED_MODULE_18__[\"IsDelimiter\"][byte])\n break;\n name += Object(_utils__WEBPACK_IMPORTED_MODULE_22__[\"charFromCode\"])(byte);\n this.bytes.next();\n }\n return _objects_PDFName__WEBPACK_IMPORTED_MODULE_6__[\"default\"].of(name);\n };\n PDFObjectParser.prototype.parseArray = function () {\n this.bytes.assertNext(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].LeftSquareBracket);\n this.skipWhitespaceAndComments();\n var pdfArray = _objects_PDFArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"].withContext(this.context);\n while (this.bytes.peek() !== _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].RightSquareBracket) {\n var element = this.parseObject();\n pdfArray.push(element);\n this.skipWhitespaceAndComments();\n }\n this.bytes.assertNext(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].RightSquareBracket);\n return pdfArray;\n };\n PDFObjectParser.prototype.parseDict = function () {\n this.bytes.assertNext(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].LessThan);\n this.bytes.assertNext(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].LessThan);\n this.skipWhitespaceAndComments();\n var dict = new Map();\n while (!this.bytes.done() &&\n this.bytes.peek() !== _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].GreaterThan &&\n this.bytes.peekAhead(1) !== _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].GreaterThan) {\n var key = this.parseName();\n var value = this.parseObject();\n dict.set(key, value);\n this.skipWhitespaceAndComments();\n }\n this.skipWhitespaceAndComments();\n this.bytes.assertNext(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].GreaterThan);\n this.bytes.assertNext(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_17__[\"default\"].GreaterThan);\n var Type = dict.get(_objects_PDFName__WEBPACK_IMPORTED_MODULE_6__[\"default\"].of('Type'));\n if (Type === _objects_PDFName__WEBPACK_IMPORTED_MODULE_6__[\"default\"].of('Catalog')) {\n return _structures_PDFCatalog__WEBPACK_IMPORTED_MODULE_14__[\"default\"].fromMapWithContext(dict, this.context);\n }\n else if (Type === _objects_PDFName__WEBPACK_IMPORTED_MODULE_6__[\"default\"].of('Pages')) {\n return _structures_PDFPageTree__WEBPACK_IMPORTED_MODULE_16__[\"default\"].fromMapWithContext(dict, this.context);\n }\n else if (Type === _objects_PDFName__WEBPACK_IMPORTED_MODULE_6__[\"default\"].of('Page')) {\n return _structures_PDFPageLeaf__WEBPACK_IMPORTED_MODULE_15__[\"default\"].fromMapWithContext(dict, this.context);\n }\n else {\n return _objects_PDFDict__WEBPACK_IMPORTED_MODULE_4__[\"default\"].fromMapWithContext(dict, this.context);\n }\n };\n PDFObjectParser.prototype.parseDictOrStream = function () {\n var startPos = this.bytes.position();\n var dict = this.parseDict();\n this.skipWhitespaceAndComments();\n if (!this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_19__[\"Keywords\"].streamEOF1) &&\n !this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_19__[\"Keywords\"].streamEOF2) &&\n !this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_19__[\"Keywords\"].streamEOF3) &&\n !this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_19__[\"Keywords\"].streamEOF4) &&\n !this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_19__[\"Keywords\"].stream)) {\n return dict;\n }\n var start = this.bytes.offset();\n var end;\n var Length = dict.get(_objects_PDFName__WEBPACK_IMPORTED_MODULE_6__[\"default\"].of('Length'));\n if (Length instanceof _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_8__[\"default\"]) {\n end = start + Length.asNumber();\n this.bytes.moveTo(end);\n this.skipWhitespaceAndComments();\n if (!this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_19__[\"Keywords\"].endstream)) {\n this.bytes.moveTo(start);\n end = this.findEndOfStreamFallback(startPos);\n }\n }\n else {\n end = this.findEndOfStreamFallback(startPos);\n }\n var contents = this.bytes.slice(start, end);\n return _objects_PDFRawStream__WEBPACK_IMPORTED_MODULE_9__[\"default\"].of(dict, contents);\n };\n PDFObjectParser.prototype.findEndOfStreamFallback = function (startPos) {\n // Move to end of stream, while handling nested streams\n var nestingLvl = 1;\n var end = this.bytes.offset();\n while (!this.bytes.done()) {\n end = this.bytes.offset();\n if (this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_19__[\"Keywords\"].stream)) {\n nestingLvl += 1;\n }\n else if (this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_19__[\"Keywords\"].EOF1endstream) ||\n this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_19__[\"Keywords\"].EOF2endstream) ||\n this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_19__[\"Keywords\"].EOF3endstream) ||\n this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_19__[\"Keywords\"].endstream)) {\n nestingLvl -= 1;\n }\n else {\n this.bytes.next();\n }\n if (nestingLvl === 0)\n break;\n }\n if (nestingLvl !== 0)\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"PDFStreamParsingError\"](startPos);\n return end;\n };\n PDFObjectParser.forBytes = function (bytes, context, capNumbers) { return new PDFObjectParser(_ByteStream__WEBPACK_IMPORTED_MODULE_13__[\"default\"].of(bytes), context, capNumbers); };\n PDFObjectParser.forByteStream = function (byteStream, context, capNumbers) {\n if (capNumbers === void 0) { capNumbers = false; }\n return new PDFObjectParser(byteStream, context, capNumbers);\n };\n return PDFObjectParser;\n}(_BaseParser__WEBPACK_IMPORTED_MODULE_12__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFObjectParser);\n//# sourceMappingURL=PDFObjectParser.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFObjectParser.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFObjectStreamParser.js":
/*!***************************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFObjectStreamParser.js ***!
\***************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _objects_PDFRef__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFRef */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js\");\n/* harmony import */ var _ByteStream__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ByteStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/parser/ByteStream.js\");\n/* harmony import */ var _PDFObjectParser__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./PDFObjectParser */ \"../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFObjectParser.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n\n\nvar PDFObjectStreamParser = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFObjectStreamParser, _super);\n function PDFObjectStreamParser(rawStream, shouldWaitForTick) {\n var _this = _super.call(this, _ByteStream__WEBPACK_IMPORTED_MODULE_5__[\"default\"].fromPDFRawStream(rawStream), rawStream.dict.context) || this;\n var dict = rawStream.dict;\n _this.alreadyParsed = false;\n _this.shouldWaitForTick = shouldWaitForTick || (function () { return false; });\n _this.firstOffset = dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('First'), _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).asNumber();\n _this.objectCount = dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('N'), _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).asNumber();\n return _this;\n }\n PDFObjectStreamParser.prototype.parseIntoContext = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var offsetsAndObjectNumbers, idx, len, _a, objectNumber, offset, object, ref;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (this.alreadyParsed) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_1__[\"ReparseError\"]('PDFObjectStreamParser', 'parseIntoContext');\n }\n this.alreadyParsed = true;\n offsetsAndObjectNumbers = this.parseOffsetsAndObjectNumbers();\n idx = 0, len = offsetsAndObjectNumbers.length;\n _b.label = 1;\n case 1:\n if (!(idx < len)) return [3 /*break*/, 4];\n _a = offsetsAndObjectNumbers[idx], objectNumber = _a.objectNumber, offset = _a.offset;\n this.bytes.moveTo(this.firstOffset + offset);\n object = this.parseObject();\n ref = _objects_PDFRef__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of(objectNumber, 0);\n this.context.assign(ref, object);\n if (!this.shouldWaitForTick()) return [3 /*break*/, 3];\n return [4 /*yield*/, Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"waitForTick\"])()];\n case 2:\n _b.sent();\n _b.label = 3;\n case 3:\n idx++;\n return [3 /*break*/, 1];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n PDFObjectStreamParser.prototype.parseOffsetsAndObjectNumbers = function () {\n var offsetsAndObjectNumbers = [];\n for (var idx = 0, len = this.objectCount; idx < len; idx++) {\n this.skipWhitespaceAndComments();\n var objectNumber = this.parseRawInt();\n this.skipWhitespaceAndComments();\n var offset = this.parseRawInt();\n offsetsAndObjectNumbers.push({ objectNumber: objectNumber, offset: offset });\n }\n return offsetsAndObjectNumbers;\n };\n PDFObjectStreamParser.forStream = function (rawStream, shouldWaitForTick) { return new PDFObjectStreamParser(rawStream, shouldWaitForTick); };\n return PDFObjectStreamParser;\n}(_PDFObjectParser__WEBPACK_IMPORTED_MODULE_6__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFObjectStreamParser);\n//# sourceMappingURL=PDFObjectStreamParser.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFObjectStreamParser.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFParser.js":
/*!***************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFParser.js ***!
\***************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _document_PDFCrossRefSection__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../document/PDFCrossRefSection */ \"../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFCrossRefSection.js\");\n/* harmony import */ var _document_PDFHeader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../document/PDFHeader */ \"../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFHeader.js\");\n/* harmony import */ var _document_PDFTrailer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../document/PDFTrailer */ \"../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFTrailer.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony import */ var _objects_PDFDict__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../objects/PDFDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js\");\n/* harmony import */ var _objects_PDFInvalidObject__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../objects/PDFInvalidObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFInvalidObject.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFRawStream__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../objects/PDFRawStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRawStream.js\");\n/* harmony import */ var _objects_PDFRef__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../objects/PDFRef */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js\");\n/* harmony import */ var _ByteStream__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./ByteStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/parser/ByteStream.js\");\n/* harmony import */ var _PDFObjectParser__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./PDFObjectParser */ \"../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFObjectParser.js\");\n/* harmony import */ var _PDFObjectStreamParser__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./PDFObjectStreamParser */ \"../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFObjectStreamParser.js\");\n/* harmony import */ var _PDFXRefStreamParser__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./PDFXRefStreamParser */ \"../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFXRefStreamParser.js\");\n/* harmony import */ var _PDFContext__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ../PDFContext */ \"../simple-mind-map/node_modules/pdf-lib/es/core/PDFContext.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony import */ var _syntax_Keywords__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ../syntax/Keywords */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Keywords.js\");\n/* harmony import */ var _syntax_Numeric__WEBPACK_IMPORTED_MODULE_17__ = __webpack_require__(/*! ../syntax/Numeric */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Numeric.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_18__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nvar PDFParser = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFParser, _super);\n function PDFParser(pdfBytes, objectsPerTick, throwOnInvalidObject, capNumbers) {\n if (objectsPerTick === void 0) { objectsPerTick = Infinity; }\n if (throwOnInvalidObject === void 0) { throwOnInvalidObject = false; }\n if (capNumbers === void 0) { capNumbers = false; }\n var _this = _super.call(this, _ByteStream__WEBPACK_IMPORTED_MODULE_10__[\"default\"].of(pdfBytes), _PDFContext__WEBPACK_IMPORTED_MODULE_14__[\"default\"].create(), capNumbers) || this;\n _this.alreadyParsed = false;\n _this.parsedObjects = 0;\n _this.shouldWaitForTick = function () {\n _this.parsedObjects += 1;\n return _this.parsedObjects % _this.objectsPerTick === 0;\n };\n _this.objectsPerTick = objectsPerTick;\n _this.throwOnInvalidObject = throwOnInvalidObject;\n return _this;\n }\n PDFParser.prototype.parseDocument = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var prevOffset, offset;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (this.alreadyParsed) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_4__[\"ReparseError\"]('PDFParser', 'parseDocument');\n }\n this.alreadyParsed = true;\n this.context.header = this.parseHeader();\n _a.label = 1;\n case 1:\n if (!!this.bytes.done()) return [3 /*break*/, 3];\n return [4 /*yield*/, this.parseDocumentSection()];\n case 2:\n _a.sent();\n offset = this.bytes.offset();\n if (offset === prevOffset) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_4__[\"StalledParserError\"](this.bytes.position());\n }\n prevOffset = offset;\n return [3 /*break*/, 1];\n case 3:\n this.maybeRecoverRoot();\n if (this.context.lookup(_objects_PDFRef__WEBPACK_IMPORTED_MODULE_9__[\"default\"].of(0))) {\n console.warn('Removing parsed object: 0 0 R');\n this.context.delete(_objects_PDFRef__WEBPACK_IMPORTED_MODULE_9__[\"default\"].of(0));\n }\n return [2 /*return*/, this.context];\n }\n });\n });\n };\n PDFParser.prototype.maybeRecoverRoot = function () {\n var isValidCatalog = function (obj) {\n return obj instanceof _objects_PDFDict__WEBPACK_IMPORTED_MODULE_5__[\"default\"] &&\n obj.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_7__[\"default\"].of('Type')) === _objects_PDFName__WEBPACK_IMPORTED_MODULE_7__[\"default\"].of('Catalog');\n };\n var catalog = this.context.lookup(this.context.trailerInfo.Root);\n if (!isValidCatalog(catalog)) {\n var indirectObjects = this.context.enumerateIndirectObjects();\n for (var idx = 0, len = indirectObjects.length; idx < len; idx++) {\n var _a = indirectObjects[idx], ref = _a[0], object = _a[1];\n if (isValidCatalog(object)) {\n this.context.trailerInfo.Root = ref;\n }\n }\n }\n };\n PDFParser.prototype.parseHeader = function () {\n while (!this.bytes.done()) {\n if (this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_16__[\"Keywords\"].header)) {\n var major = this.parseRawInt();\n this.bytes.assertNext(_syntax_CharCodes__WEBPACK_IMPORTED_MODULE_15__[\"default\"].Period);\n var minor = this.parseRawInt();\n var header = _document_PDFHeader__WEBPACK_IMPORTED_MODULE_2__[\"default\"].forVersion(major, minor);\n this.skipBinaryHeaderComment();\n return header;\n }\n this.bytes.next();\n }\n throw new _errors__WEBPACK_IMPORTED_MODULE_4__[\"MissingPDFHeaderError\"](this.bytes.position());\n };\n PDFParser.prototype.parseIndirectObjectHeader = function () {\n this.skipWhitespaceAndComments();\n var objectNumber = this.parseRawInt();\n this.skipWhitespaceAndComments();\n var generationNumber = this.parseRawInt();\n this.skipWhitespaceAndComments();\n if (!this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_16__[\"Keywords\"].obj)) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_4__[\"MissingKeywordError\"](this.bytes.position(), _syntax_Keywords__WEBPACK_IMPORTED_MODULE_16__[\"Keywords\"].obj);\n }\n return _objects_PDFRef__WEBPACK_IMPORTED_MODULE_9__[\"default\"].of(objectNumber, generationNumber);\n };\n PDFParser.prototype.matchIndirectObjectHeader = function () {\n var initialOffset = this.bytes.offset();\n try {\n this.parseIndirectObjectHeader();\n return true;\n }\n catch (e) {\n this.bytes.moveTo(initialOffset);\n return false;\n }\n };\n PDFParser.prototype.parseIndirectObject = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var ref, object;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0:\n ref = this.parseIndirectObjectHeader();\n this.skipWhitespaceAndComments();\n object = this.parseObject();\n this.skipWhitespaceAndComments();\n // if (!this.matchKeyword(Keywords.endobj)) {\n // throw new MissingKeywordError(this.bytes.position(), Keywords.endobj);\n // }\n // TODO: Log a warning if this fails...\n this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_16__[\"Keywords\"].endobj);\n if (!(object instanceof _objects_PDFRawStream__WEBPACK_IMPORTED_MODULE_8__[\"default\"] &&\n object.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_7__[\"default\"].of('Type')) === _objects_PDFName__WEBPACK_IMPORTED_MODULE_7__[\"default\"].of('ObjStm'))) return [3 /*break*/, 2];\n return [4 /*yield*/, _PDFObjectStreamParser__WEBPACK_IMPORTED_MODULE_12__[\"default\"].forStream(object, this.shouldWaitForTick).parseIntoContext()];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n if (object instanceof _objects_PDFRawStream__WEBPACK_IMPORTED_MODULE_8__[\"default\"] &&\n object.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_7__[\"default\"].of('Type')) === _objects_PDFName__WEBPACK_IMPORTED_MODULE_7__[\"default\"].of('XRef')) {\n _PDFXRefStreamParser__WEBPACK_IMPORTED_MODULE_13__[\"default\"].forStream(object).parseIntoContext();\n }\n else {\n this.context.assign(ref, object);\n }\n _a.label = 3;\n case 3: return [2 /*return*/, ref];\n }\n });\n });\n };\n // TODO: Improve and clean this up\n PDFParser.prototype.tryToParseInvalidIndirectObject = function () {\n var startPos = this.bytes.position();\n var msg = \"Trying to parse invalid object: \" + JSON.stringify(startPos) + \")\";\n if (this.throwOnInvalidObject)\n throw new Error(msg);\n console.warn(msg);\n var ref = this.parseIndirectObjectHeader();\n console.warn(\"Invalid object ref: \" + ref);\n this.skipWhitespaceAndComments();\n var start = this.bytes.offset();\n var failed = true;\n while (!this.bytes.done()) {\n if (this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_16__[\"Keywords\"].endobj)) {\n failed = false;\n }\n if (!failed)\n break;\n this.bytes.next();\n }\n if (failed)\n throw new _errors__WEBPACK_IMPORTED_MODULE_4__[\"PDFInvalidObjectParsingError\"](startPos);\n var end = this.bytes.offset() - _syntax_Keywords__WEBPACK_IMPORTED_MODULE_16__[\"Keywords\"].endobj.length;\n var object = _objects_PDFInvalidObject__WEBPACK_IMPORTED_MODULE_6__[\"default\"].of(this.bytes.slice(start, end));\n this.context.assign(ref, object);\n return ref;\n };\n PDFParser.prototype.parseIndirectObjects = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var initialOffset, e_1;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.skipWhitespaceAndComments();\n _a.label = 1;\n case 1:\n if (!(!this.bytes.done() && _syntax_Numeric__WEBPACK_IMPORTED_MODULE_17__[\"IsDigit\"][this.bytes.peek()])) return [3 /*break*/, 8];\n initialOffset = this.bytes.offset();\n _a.label = 2;\n case 2:\n _a.trys.push([2, 4, , 5]);\n return [4 /*yield*/, this.parseIndirectObject()];\n case 3:\n _a.sent();\n return [3 /*break*/, 5];\n case 4:\n e_1 = _a.sent();\n // TODO: Add tracing/logging mechanism to track when this happens!\n this.bytes.moveTo(initialOffset);\n this.tryToParseInvalidIndirectObject();\n return [3 /*break*/, 5];\n case 5:\n this.skipWhitespaceAndComments();\n // TODO: Can this be done only when needed, to avoid harming performance?\n this.skipJibberish();\n if (!this.shouldWaitForTick()) return [3 /*break*/, 7];\n return [4 /*yield*/, Object(_utils__WEBPACK_IMPORTED_MODULE_18__[\"waitForTick\"])()];\n case 6:\n _a.sent();\n _a.label = 7;\n case 7: return [3 /*break*/, 1];\n case 8: return [2 /*return*/];\n }\n });\n });\n };\n PDFParser.prototype.maybeParseCrossRefSection = function () {\n this.skipWhitespaceAndComments();\n if (!this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_16__[\"Keywords\"].xref))\n return;\n this.skipWhitespaceAndComments();\n var objectNumber = -1;\n var xref = _document_PDFCrossRefSection__WEBPACK_IMPORTED_MODULE_1__[\"default\"].createEmpty();\n while (!this.bytes.done() && _syntax_Numeric__WEBPACK_IMPORTED_MODULE_17__[\"IsDigit\"][this.bytes.peek()]) {\n var firstInt = this.parseRawInt();\n this.skipWhitespaceAndComments();\n var secondInt = this.parseRawInt();\n this.skipWhitespaceAndComments();\n var byte = this.bytes.peek();\n if (byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_15__[\"default\"].n || byte === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_15__[\"default\"].f) {\n var ref = _objects_PDFRef__WEBPACK_IMPORTED_MODULE_9__[\"default\"].of(objectNumber, secondInt);\n if (this.bytes.next() === _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_15__[\"default\"].n) {\n xref.addEntry(ref, firstInt);\n }\n else {\n // this.context.delete(ref);\n xref.addDeletedEntry(ref, firstInt);\n }\n objectNumber += 1;\n }\n else {\n objectNumber = firstInt;\n }\n this.skipWhitespaceAndComments();\n }\n return xref;\n };\n PDFParser.prototype.maybeParseTrailerDict = function () {\n this.skipWhitespaceAndComments();\n if (!this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_16__[\"Keywords\"].trailer))\n return;\n this.skipWhitespaceAndComments();\n var dict = this.parseDict();\n var context = this.context;\n context.trailerInfo = {\n Root: dict.get(_objects_PDFName__WEBPACK_IMPORTED_MODULE_7__[\"default\"].of('Root')) || context.trailerInfo.Root,\n Encrypt: dict.get(_objects_PDFName__WEBPACK_IMPORTED_MODULE_7__[\"default\"].of('Encrypt')) || context.trailerInfo.Encrypt,\n Info: dict.get(_objects_PDFName__WEBPACK_IMPORTED_MODULE_7__[\"default\"].of('Info')) || context.trailerInfo.Info,\n ID: dict.get(_objects_PDFName__WEBPACK_IMPORTED_MODULE_7__[\"default\"].of('ID')) || context.trailerInfo.ID,\n };\n };\n PDFParser.prototype.maybeParseTrailer = function () {\n this.skipWhitespaceAndComments();\n if (!this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_16__[\"Keywords\"].startxref))\n return;\n this.skipWhitespaceAndComments();\n var offset = this.parseRawInt();\n this.skipWhitespace();\n this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_16__[\"Keywords\"].eof);\n this.skipWhitespaceAndComments();\n this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_16__[\"Keywords\"].eof);\n this.skipWhitespaceAndComments();\n return _document_PDFTrailer__WEBPACK_IMPORTED_MODULE_3__[\"default\"].forLastCrossRefSectionOffset(offset);\n };\n PDFParser.prototype.parseDocumentSection = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.parseIndirectObjects()];\n case 1:\n _a.sent();\n this.maybeParseCrossRefSection();\n this.maybeParseTrailerDict();\n this.maybeParseTrailer();\n // TODO: Can this be done only when needed, to avoid harming performance?\n this.skipJibberish();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * This operation is not necessary for valid PDF files. But some invalid PDFs\n * contain jibberish in between indirect objects. This method is designed to\n * skip past that jibberish, should it exist, until it reaches the next\n * indirect object header, an xref table section, or the file trailer.\n */\n PDFParser.prototype.skipJibberish = function () {\n this.skipWhitespaceAndComments();\n while (!this.bytes.done()) {\n var initialOffset = this.bytes.offset();\n var byte = this.bytes.peek();\n var isAlphaNumeric = byte >= _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_15__[\"default\"].Space && byte <= _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_15__[\"default\"].Tilde;\n if (isAlphaNumeric) {\n if (this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_16__[\"Keywords\"].xref) ||\n this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_16__[\"Keywords\"].trailer) ||\n this.matchKeyword(_syntax_Keywords__WEBPACK_IMPORTED_MODULE_16__[\"Keywords\"].startxref) ||\n this.matchIndirectObjectHeader()) {\n this.bytes.moveTo(initialOffset);\n break;\n }\n }\n this.bytes.next();\n }\n };\n /**\n * Skips the binary comment following a PDF header. The specification\n * defines this binary comment (section 7.5.2 File Header) as a sequence of 4\n * or more bytes that are 128 or greater, and which are preceded by a \"%\".\n *\n * This would imply that to strip out this binary comment, we could check for\n * a sequence of bytes starting with \"%\", and remove all subsequent bytes that\n * are 128 or greater. This works for many documents that properly comply with\n * the spec. But in the wild, there are PDFs that omit the leading \"%\", and\n * include bytes that are less than 128 (e.g. 0 or 1). So in order to parse\n * these headers correctly, we just throw out all bytes leading up to the\n * first indirect object header.\n */\n PDFParser.prototype.skipBinaryHeaderComment = function () {\n this.skipWhitespaceAndComments();\n try {\n var initialOffset = this.bytes.offset();\n this.parseIndirectObjectHeader();\n this.bytes.moveTo(initialOffset);\n }\n catch (e) {\n this.bytes.next();\n this.skipWhitespaceAndComments();\n }\n };\n PDFParser.forBytesWithOptions = function (pdfBytes, objectsPerTick, throwOnInvalidObject, capNumbers) {\n return new PDFParser(pdfBytes, objectsPerTick, throwOnInvalidObject, capNumbers);\n };\n return PDFParser;\n}(_PDFObjectParser__WEBPACK_IMPORTED_MODULE_11__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFParser);\n//# sourceMappingURL=PDFParser.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFParser.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFXRefStreamParser.js":
/*!*************************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFXRefStreamParser.js ***!
\*************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _objects_PDFRef__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFRef */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js\");\n/* harmony import */ var _ByteStream__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./ByteStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/parser/ByteStream.js\");\n\n\n\n\n\n\nvar PDFXRefStreamParser = /** @class */ (function () {\n function PDFXRefStreamParser(rawStream) {\n this.alreadyParsed = false;\n this.dict = rawStream.dict;\n this.bytes = _ByteStream__WEBPACK_IMPORTED_MODULE_5__[\"default\"].fromPDFRawStream(rawStream);\n this.context = this.dict.context;\n var Size = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Size'), _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_3__[\"default\"]);\n var Index = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Index'));\n if (Index instanceof _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) {\n this.subsections = [];\n for (var idx = 0, len = Index.size(); idx < len; idx += 2) {\n var firstObjectNumber = Index.lookup(idx + 0, _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).asNumber();\n var length_1 = Index.lookup(idx + 1, _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).asNumber();\n this.subsections.push({ firstObjectNumber: firstObjectNumber, length: length_1 });\n }\n }\n else {\n this.subsections = [{ firstObjectNumber: 0, length: Size.asNumber() }];\n }\n var W = this.dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('W'), _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n this.byteWidths = [-1, -1, -1];\n for (var idx = 0, len = W.size(); idx < len; idx++) {\n this.byteWidths[idx] = W.lookup(idx, _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_3__[\"default\"]).asNumber();\n }\n }\n PDFXRefStreamParser.prototype.parseIntoContext = function () {\n if (this.alreadyParsed) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_0__[\"ReparseError\"]('PDFXRefStreamParser', 'parseIntoContext');\n }\n this.alreadyParsed = true;\n this.context.trailerInfo = {\n Root: this.dict.get(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Root')),\n Encrypt: this.dict.get(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Encrypt')),\n Info: this.dict.get(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Info')),\n ID: this.dict.get(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('ID')),\n };\n var entries = this.parseEntries();\n // for (let idx = 0, len = entries.length; idx < len; idx++) {\n // const entry = entries[idx];\n // if (entry.deleted) this.context.delete(entry.ref);\n // }\n return entries;\n };\n PDFXRefStreamParser.prototype.parseEntries = function () {\n var entries = [];\n var _a = this.byteWidths, typeFieldWidth = _a[0], offsetFieldWidth = _a[1], genFieldWidth = _a[2];\n for (var subsectionIdx = 0, subsectionLen = this.subsections.length; subsectionIdx < subsectionLen; subsectionIdx++) {\n var _b = this.subsections[subsectionIdx], firstObjectNumber = _b.firstObjectNumber, length_2 = _b.length;\n for (var objIdx = 0; objIdx < length_2; objIdx++) {\n var type = 0;\n for (var idx = 0, len = typeFieldWidth; idx < len; idx++) {\n type = (type << 8) | this.bytes.next();\n }\n var offset = 0;\n for (var idx = 0, len = offsetFieldWidth; idx < len; idx++) {\n offset = (offset << 8) | this.bytes.next();\n }\n var generationNumber = 0;\n for (var idx = 0, len = genFieldWidth; idx < len; idx++) {\n generationNumber = (generationNumber << 8) | this.bytes.next();\n }\n // When the `type` field is absent, it defaults to 1\n if (typeFieldWidth === 0)\n type = 1;\n var objectNumber = firstObjectNumber + objIdx;\n var entry = {\n ref: _objects_PDFRef__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of(objectNumber, generationNumber),\n offset: offset,\n deleted: type === 0,\n inObjectStream: type === 2,\n };\n entries.push(entry);\n }\n }\n return entries;\n };\n PDFXRefStreamParser.forStream = function (rawStream) {\n return new PDFXRefStreamParser(rawStream);\n };\n return PDFXRefStreamParser;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFXRefStreamParser);\n//# sourceMappingURL=PDFXRefStreamParser.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/parser/PDFXRefStreamParser.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/streams/Ascii85Stream.js":
/*!********************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/streams/Ascii85Stream.js ***!
\********************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _DecodeStream__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DecodeStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/streams/DecodeStream.js\");\n/*\n * Copyright 2012 Mozilla Foundation\n *\n * The Ascii85Stream class contained in this file is a TypeScript port of the\n * JavaScript Ascii85Stream class in Mozilla's pdf.js project, made available\n * under the Apache 2.0 open source license.\n */\n\n\nvar isSpace = function (ch) {\n return ch === 0x20 || ch === 0x09 || ch === 0x0d || ch === 0x0a;\n};\nvar Ascii85Stream = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(Ascii85Stream, _super);\n function Ascii85Stream(stream, maybeLength) {\n var _this = _super.call(this, maybeLength) || this;\n _this.stream = stream;\n _this.input = new Uint8Array(5);\n // Most streams increase in size when decoded, but Ascii85 streams\n // typically shrink by ~20%.\n if (maybeLength) {\n maybeLength = 0.8 * maybeLength;\n }\n return _this;\n }\n Ascii85Stream.prototype.readBlock = function () {\n var TILDA_CHAR = 0x7e; // '~'\n var Z_LOWER_CHAR = 0x7a; // 'z'\n var EOF = -1;\n var stream = this.stream;\n var c = stream.getByte();\n while (isSpace(c)) {\n c = stream.getByte();\n }\n if (c === EOF || c === TILDA_CHAR) {\n this.eof = true;\n return;\n }\n var bufferLength = this.bufferLength;\n var buffer;\n var i;\n // special code for z\n if (c === Z_LOWER_CHAR) {\n buffer = this.ensureBuffer(bufferLength + 4);\n for (i = 0; i < 4; ++i) {\n buffer[bufferLength + i] = 0;\n }\n this.bufferLength += 4;\n }\n else {\n var input = this.input;\n input[0] = c;\n for (i = 1; i < 5; ++i) {\n c = stream.getByte();\n while (isSpace(c)) {\n c = stream.getByte();\n }\n input[i] = c;\n if (c === EOF || c === TILDA_CHAR) {\n break;\n }\n }\n buffer = this.ensureBuffer(bufferLength + i - 1);\n this.bufferLength += i - 1;\n // partial ending;\n if (i < 5) {\n for (; i < 5; ++i) {\n input[i] = 0x21 + 84;\n }\n this.eof = true;\n }\n var t = 0;\n for (i = 0; i < 5; ++i) {\n t = t * 85 + (input[i] - 0x21);\n }\n for (i = 3; i >= 0; --i) {\n buffer[bufferLength + i] = t & 0xff;\n t >>= 8;\n }\n }\n };\n return Ascii85Stream;\n}(_DecodeStream__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (Ascii85Stream);\n//# sourceMappingURL=Ascii85Stream.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/streams/Ascii85Stream.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/streams/AsciiHexStream.js":
/*!*********************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/streams/AsciiHexStream.js ***!
\*********************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _DecodeStream__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DecodeStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/streams/DecodeStream.js\");\n/*\n * Copyright 2012 Mozilla Foundation\n *\n * The AsciiHexStream class contained in this file is a TypeScript port of the\n * JavaScript AsciiHexStream class in Mozilla's pdf.js project, made available\n * under the Apache 2.0 open source license.\n */\n\n\nvar AsciiHexStream = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(AsciiHexStream, _super);\n function AsciiHexStream(stream, maybeLength) {\n var _this = _super.call(this, maybeLength) || this;\n _this.stream = stream;\n _this.firstDigit = -1;\n // Most streams increase in size when decoded, but AsciiHex streams shrink\n // by 50%.\n if (maybeLength) {\n maybeLength = 0.5 * maybeLength;\n }\n return _this;\n }\n AsciiHexStream.prototype.readBlock = function () {\n var UPSTREAM_BLOCK_SIZE = 8000;\n var bytes = this.stream.getBytes(UPSTREAM_BLOCK_SIZE);\n if (!bytes.length) {\n this.eof = true;\n return;\n }\n var maxDecodeLength = (bytes.length + 1) >> 1;\n var buffer = this.ensureBuffer(this.bufferLength + maxDecodeLength);\n var bufferLength = this.bufferLength;\n var firstDigit = this.firstDigit;\n for (var i = 0, ii = bytes.length; i < ii; i++) {\n var ch = bytes[i];\n var digit = void 0;\n if (ch >= 0x30 && ch <= 0x39) {\n // '0'-'9'\n digit = ch & 0x0f;\n }\n else if ((ch >= 0x41 && ch <= 0x46) || (ch >= 0x61 && ch <= 0x66)) {\n // 'A'-'Z', 'a'-'z'\n digit = (ch & 0x0f) + 9;\n }\n else if (ch === 0x3e) {\n // '>'\n this.eof = true;\n break;\n }\n else {\n // probably whitespace\n continue; // ignoring\n }\n if (firstDigit < 0) {\n firstDigit = digit;\n }\n else {\n buffer[bufferLength++] = (firstDigit << 4) | digit;\n firstDigit = -1;\n }\n }\n if (firstDigit >= 0 && this.eof) {\n // incomplete byte\n buffer[bufferLength++] = firstDigit << 4;\n firstDigit = -1;\n }\n this.firstDigit = firstDigit;\n this.bufferLength = bufferLength;\n };\n return AsciiHexStream;\n}(_DecodeStream__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (AsciiHexStream);\n//# sourceMappingURL=AsciiHexStream.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/streams/AsciiHexStream.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/streams/DecodeStream.js":
/*!*******************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/streams/DecodeStream.js ***!
\*******************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony import */ var _Stream__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Stream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/streams/Stream.js\");\n\n\n/*\n * Copyright 2012 Mozilla Foundation\n *\n * The DecodeStream class contained in this file is a TypeScript port of the\n * JavaScript DecodeStream class in Mozilla's pdf.js project, made available\n * under the Apache 2.0 open source license.\n */\n// Lots of DecodeStreams are created whose buffers are never used. For these\n// we share a single empty buffer. This is (a) space-efficient and (b) avoids\n// having special cases that would be required if we used |null| for an empty\n// buffer.\nvar emptyBuffer = new Uint8Array(0);\n/**\n * Super class for the decoding streams\n */\nvar DecodeStream = /** @class */ (function () {\n function DecodeStream(maybeMinBufferLength) {\n this.pos = 0;\n this.bufferLength = 0;\n this.eof = false;\n this.buffer = emptyBuffer;\n this.minBufferLength = 512;\n if (maybeMinBufferLength) {\n // Compute the first power of two that is as big as maybeMinBufferLength.\n while (this.minBufferLength < maybeMinBufferLength) {\n this.minBufferLength *= 2;\n }\n }\n }\n Object.defineProperty(DecodeStream.prototype, \"isEmpty\", {\n get: function () {\n while (!this.eof && this.bufferLength === 0) {\n this.readBlock();\n }\n return this.bufferLength === 0;\n },\n enumerable: false,\n configurable: true\n });\n DecodeStream.prototype.getByte = function () {\n var pos = this.pos;\n while (this.bufferLength <= pos) {\n if (this.eof) {\n return -1;\n }\n this.readBlock();\n }\n return this.buffer[this.pos++];\n };\n DecodeStream.prototype.getUint16 = function () {\n var b0 = this.getByte();\n var b1 = this.getByte();\n if (b0 === -1 || b1 === -1) {\n return -1;\n }\n return (b0 << 8) + b1;\n };\n DecodeStream.prototype.getInt32 = function () {\n var b0 = this.getByte();\n var b1 = this.getByte();\n var b2 = this.getByte();\n var b3 = this.getByte();\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n };\n DecodeStream.prototype.getBytes = function (length, forceClamped) {\n if (forceClamped === void 0) { forceClamped = false; }\n var end;\n var pos = this.pos;\n if (length) {\n this.ensureBuffer(pos + length);\n end = pos + length;\n while (!this.eof && this.bufferLength < end) {\n this.readBlock();\n }\n var bufEnd = this.bufferLength;\n if (end > bufEnd) {\n end = bufEnd;\n }\n }\n else {\n while (!this.eof) {\n this.readBlock();\n }\n end = this.bufferLength;\n }\n this.pos = end;\n var subarray = this.buffer.subarray(pos, end);\n // `this.buffer` is either a `Uint8Array` or `Uint8ClampedArray` here.\n return forceClamped && !(subarray instanceof Uint8ClampedArray)\n ? new Uint8ClampedArray(subarray)\n : subarray;\n };\n DecodeStream.prototype.peekByte = function () {\n var peekedByte = this.getByte();\n this.pos--;\n return peekedByte;\n };\n DecodeStream.prototype.peekBytes = function (length, forceClamped) {\n if (forceClamped === void 0) { forceClamped = false; }\n var bytes = this.getBytes(length, forceClamped);\n this.pos -= bytes.length;\n return bytes;\n };\n DecodeStream.prototype.skip = function (n) {\n if (!n) {\n n = 1;\n }\n this.pos += n;\n };\n DecodeStream.prototype.reset = function () {\n this.pos = 0;\n };\n DecodeStream.prototype.makeSubStream = function (start, length /* dict */) {\n var end = start + length;\n while (this.bufferLength <= end && !this.eof) {\n this.readBlock();\n }\n return new _Stream__WEBPACK_IMPORTED_MODULE_1__[\"default\"](this.buffer, start, length /* dict */);\n };\n DecodeStream.prototype.decode = function () {\n while (!this.eof)\n this.readBlock();\n return this.buffer.subarray(0, this.bufferLength);\n };\n DecodeStream.prototype.readBlock = function () {\n throw new _errors__WEBPACK_IMPORTED_MODULE_0__[\"MethodNotImplementedError\"](this.constructor.name, 'readBlock');\n };\n DecodeStream.prototype.ensureBuffer = function (requested) {\n var buffer = this.buffer;\n if (requested <= buffer.byteLength) {\n return buffer;\n }\n var size = this.minBufferLength;\n while (size < requested) {\n size *= 2;\n }\n var buffer2 = new Uint8Array(size);\n buffer2.set(buffer);\n return (this.buffer = buffer2);\n };\n return DecodeStream;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (DecodeStream);\n//# sourceMappingURL=DecodeStream.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/streams/DecodeStream.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/streams/FlateStream.js":
/*!******************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/streams/FlateStream.js ***!
\******************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _DecodeStream__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DecodeStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/streams/DecodeStream.js\");\n/*\n * Copyright 1996-2003 Glyph & Cog, LLC\n *\n * The flate stream implementation contained in this file is a JavaScript port\n * of XPDF's implementation, made available under the Apache 2.0 open source\n * license.\n */\n\n/*\n * Copyright 2012 Mozilla Foundation\n *\n * The FlateStream class contained in this file is a TypeScript port of the\n * JavaScript FlateStream class in Mozilla's pdf.js project, made available\n * under the Apache 2.0 open source license.\n */\n/* tslint:disable no-conditional-assignment */\n\n// prettier-ignore\nvar codeLenCodeMap = new Int32Array([\n 16, 17, 18, 0, 8, 7, 9, 6, 10, 5, 11, 4, 12, 3, 13, 2, 14, 1, 15\n]);\n// prettier-ignore\nvar lengthDecode = new Int32Array([\n 0x00003, 0x00004, 0x00005, 0x00006, 0x00007, 0x00008, 0x00009, 0x0000a,\n 0x1000b, 0x1000d, 0x1000f, 0x10011, 0x20013, 0x20017, 0x2001b, 0x2001f,\n 0x30023, 0x3002b, 0x30033, 0x3003b, 0x40043, 0x40053, 0x40063, 0x40073,\n 0x50083, 0x500a3, 0x500c3, 0x500e3, 0x00102, 0x00102, 0x00102\n]);\n// prettier-ignore\nvar distDecode = new Int32Array([\n 0x00001, 0x00002, 0x00003, 0x00004, 0x10005, 0x10007, 0x20009, 0x2000d,\n 0x30011, 0x30019, 0x40021, 0x40031, 0x50041, 0x50061, 0x60081, 0x600c1,\n 0x70101, 0x70181, 0x80201, 0x80301, 0x90401, 0x90601, 0xa0801, 0xa0c01,\n 0xb1001, 0xb1801, 0xc2001, 0xc3001, 0xd4001, 0xd6001\n]);\n// prettier-ignore\nvar fixedLitCodeTab = [new Int32Array([\n 0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c0,\n 0x70108, 0x80060, 0x80020, 0x900a0, 0x80000, 0x80080, 0x80040, 0x900e0,\n 0x70104, 0x80058, 0x80018, 0x90090, 0x70114, 0x80078, 0x80038, 0x900d0,\n 0x7010c, 0x80068, 0x80028, 0x900b0, 0x80008, 0x80088, 0x80048, 0x900f0,\n 0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c8,\n 0x7010a, 0x80064, 0x80024, 0x900a8, 0x80004, 0x80084, 0x80044, 0x900e8,\n 0x70106, 0x8005c, 0x8001c, 0x90098, 0x70116, 0x8007c, 0x8003c, 0x900d8,\n 0x7010e, 0x8006c, 0x8002c, 0x900b8, 0x8000c, 0x8008c, 0x8004c, 0x900f8,\n 0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c4,\n 0x70109, 0x80062, 0x80022, 0x900a4, 0x80002, 0x80082, 0x80042, 0x900e4,\n 0x70105, 0x8005a, 0x8001a, 0x90094, 0x70115, 0x8007a, 0x8003a, 0x900d4,\n 0x7010d, 0x8006a, 0x8002a, 0x900b4, 0x8000a, 0x8008a, 0x8004a, 0x900f4,\n 0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cc,\n 0x7010b, 0x80066, 0x80026, 0x900ac, 0x80006, 0x80086, 0x80046, 0x900ec,\n 0x70107, 0x8005e, 0x8001e, 0x9009c, 0x70117, 0x8007e, 0x8003e, 0x900dc,\n 0x7010f, 0x8006e, 0x8002e, 0x900bc, 0x8000e, 0x8008e, 0x8004e, 0x900fc,\n 0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c2,\n 0x70108, 0x80061, 0x80021, 0x900a2, 0x80001, 0x80081, 0x80041, 0x900e2,\n 0x70104, 0x80059, 0x80019, 0x90092, 0x70114, 0x80079, 0x80039, 0x900d2,\n 0x7010c, 0x80069, 0x80029, 0x900b2, 0x80009, 0x80089, 0x80049, 0x900f2,\n 0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900ca,\n 0x7010a, 0x80065, 0x80025, 0x900aa, 0x80005, 0x80085, 0x80045, 0x900ea,\n 0x70106, 0x8005d, 0x8001d, 0x9009a, 0x70116, 0x8007d, 0x8003d, 0x900da,\n 0x7010e, 0x8006d, 0x8002d, 0x900ba, 0x8000d, 0x8008d, 0x8004d, 0x900fa,\n 0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c6,\n 0x70109, 0x80063, 0x80023, 0x900a6, 0x80003, 0x80083, 0x80043, 0x900e6,\n 0x70105, 0x8005b, 0x8001b, 0x90096, 0x70115, 0x8007b, 0x8003b, 0x900d6,\n 0x7010d, 0x8006b, 0x8002b, 0x900b6, 0x8000b, 0x8008b, 0x8004b, 0x900f6,\n 0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900ce,\n 0x7010b, 0x80067, 0x80027, 0x900ae, 0x80007, 0x80087, 0x80047, 0x900ee,\n 0x70107, 0x8005f, 0x8001f, 0x9009e, 0x70117, 0x8007f, 0x8003f, 0x900de,\n 0x7010f, 0x8006f, 0x8002f, 0x900be, 0x8000f, 0x8008f, 0x8004f, 0x900fe,\n 0x70100, 0x80050, 0x80010, 0x80118, 0x70110, 0x80070, 0x80030, 0x900c1,\n 0x70108, 0x80060, 0x80020, 0x900a1, 0x80000, 0x80080, 0x80040, 0x900e1,\n 0x70104, 0x80058, 0x80018, 0x90091, 0x70114, 0x80078, 0x80038, 0x900d1,\n 0x7010c, 0x80068, 0x80028, 0x900b1, 0x80008, 0x80088, 0x80048, 0x900f1,\n 0x70102, 0x80054, 0x80014, 0x8011c, 0x70112, 0x80074, 0x80034, 0x900c9,\n 0x7010a, 0x80064, 0x80024, 0x900a9, 0x80004, 0x80084, 0x80044, 0x900e9,\n 0x70106, 0x8005c, 0x8001c, 0x90099, 0x70116, 0x8007c, 0x8003c, 0x900d9,\n 0x7010e, 0x8006c, 0x8002c, 0x900b9, 0x8000c, 0x8008c, 0x8004c, 0x900f9,\n 0x70101, 0x80052, 0x80012, 0x8011a, 0x70111, 0x80072, 0x80032, 0x900c5,\n 0x70109, 0x80062, 0x80022, 0x900a5, 0x80002, 0x80082, 0x80042, 0x900e5,\n 0x70105, 0x8005a, 0x8001a, 0x90095, 0x70115, 0x8007a, 0x8003a, 0x900d5,\n 0x7010d, 0x8006a, 0x8002a, 0x900b5, 0x8000a, 0x8008a, 0x8004a, 0x900f5,\n 0x70103, 0x80056, 0x80016, 0x8011e, 0x70113, 0x80076, 0x80036, 0x900cd,\n 0x7010b, 0x80066, 0x80026, 0x900ad, 0x80006, 0x80086, 0x80046, 0x900ed,\n 0x70107, 0x8005e, 0x8001e, 0x9009d, 0x70117, 0x8007e, 0x8003e, 0x900dd,\n 0x7010f, 0x8006e, 0x8002e, 0x900bd, 0x8000e, 0x8008e, 0x8004e, 0x900fd,\n 0x70100, 0x80051, 0x80011, 0x80119, 0x70110, 0x80071, 0x80031, 0x900c3,\n 0x70108, 0x80061, 0x80021, 0x900a3, 0x80001, 0x80081, 0x80041, 0x900e3,\n 0x70104, 0x80059, 0x80019, 0x90093, 0x70114, 0x80079, 0x80039, 0x900d3,\n 0x7010c, 0x80069, 0x80029, 0x900b3, 0x80009, 0x80089, 0x80049, 0x900f3,\n 0x70102, 0x80055, 0x80015, 0x8011d, 0x70112, 0x80075, 0x80035, 0x900cb,\n 0x7010a, 0x80065, 0x80025, 0x900ab, 0x80005, 0x80085, 0x80045, 0x900eb,\n 0x70106, 0x8005d, 0x8001d, 0x9009b, 0x70116, 0x8007d, 0x8003d, 0x900db,\n 0x7010e, 0x8006d, 0x8002d, 0x900bb, 0x8000d, 0x8008d, 0x8004d, 0x900fb,\n 0x70101, 0x80053, 0x80013, 0x8011b, 0x70111, 0x80073, 0x80033, 0x900c7,\n 0x70109, 0x80063, 0x80023, 0x900a7, 0x80003, 0x80083, 0x80043, 0x900e7,\n 0x70105, 0x8005b, 0x8001b, 0x90097, 0x70115, 0x8007b, 0x8003b, 0x900d7,\n 0x7010d, 0x8006b, 0x8002b, 0x900b7, 0x8000b, 0x8008b, 0x8004b, 0x900f7,\n 0x70103, 0x80057, 0x80017, 0x8011f, 0x70113, 0x80077, 0x80037, 0x900cf,\n 0x7010b, 0x80067, 0x80027, 0x900af, 0x80007, 0x80087, 0x80047, 0x900ef,\n 0x70107, 0x8005f, 0x8001f, 0x9009f, 0x70117, 0x8007f, 0x8003f, 0x900df,\n 0x7010f, 0x8006f, 0x8002f, 0x900bf, 0x8000f, 0x8008f, 0x8004f, 0x900ff\n ]), 9];\n// prettier-ignore\nvar fixedDistCodeTab = [new Int32Array([\n 0x50000, 0x50010, 0x50008, 0x50018, 0x50004, 0x50014, 0x5000c, 0x5001c,\n 0x50002, 0x50012, 0x5000a, 0x5001a, 0x50006, 0x50016, 0x5000e, 0x00000,\n 0x50001, 0x50011, 0x50009, 0x50019, 0x50005, 0x50015, 0x5000d, 0x5001d,\n 0x50003, 0x50013, 0x5000b, 0x5001b, 0x50007, 0x50017, 0x5000f, 0x00000\n ]), 5];\nvar FlateStream = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(FlateStream, _super);\n function FlateStream(stream, maybeLength) {\n var _this = _super.call(this, maybeLength) || this;\n _this.stream = stream;\n var cmf = stream.getByte();\n var flg = stream.getByte();\n if (cmf === -1 || flg === -1) {\n throw new Error(\"Invalid header in flate stream: \" + cmf + \", \" + flg);\n }\n if ((cmf & 0x0f) !== 0x08) {\n throw new Error(\"Unknown compression method in flate stream: \" + cmf + \", \" + flg);\n }\n if (((cmf << 8) + flg) % 31 !== 0) {\n throw new Error(\"Bad FCHECK in flate stream: \" + cmf + \", \" + flg);\n }\n if (flg & 0x20) {\n throw new Error(\"FDICT bit set in flate stream: \" + cmf + \", \" + flg);\n }\n _this.codeSize = 0;\n _this.codeBuf = 0;\n return _this;\n }\n FlateStream.prototype.readBlock = function () {\n var buffer;\n var len;\n var str = this.stream;\n // read block header\n var hdr = this.getBits(3);\n if (hdr & 1) {\n this.eof = true;\n }\n hdr >>= 1;\n if (hdr === 0) {\n // uncompressed block\n var b = void 0;\n if ((b = str.getByte()) === -1) {\n throw new Error('Bad block header in flate stream');\n }\n var blockLen = b;\n if ((b = str.getByte()) === -1) {\n throw new Error('Bad block header in flate stream');\n }\n blockLen |= b << 8;\n if ((b = str.getByte()) === -1) {\n throw new Error('Bad block header in flate stream');\n }\n var check = b;\n if ((b = str.getByte()) === -1) {\n throw new Error('Bad block header in flate stream');\n }\n check |= b << 8;\n if (check !== (~blockLen & 0xffff) && (blockLen !== 0 || check !== 0)) {\n // Ignoring error for bad \"empty\" block (see issue 1277)\n throw new Error('Bad uncompressed block length in flate stream');\n }\n this.codeBuf = 0;\n this.codeSize = 0;\n var bufferLength = this.bufferLength;\n buffer = this.ensureBuffer(bufferLength + blockLen);\n var end = bufferLength + blockLen;\n this.bufferLength = end;\n if (blockLen === 0) {\n if (str.peekByte() === -1) {\n this.eof = true;\n }\n }\n else {\n for (var n = bufferLength; n < end; ++n) {\n if ((b = str.getByte()) === -1) {\n this.eof = true;\n break;\n }\n buffer[n] = b;\n }\n }\n return;\n }\n var litCodeTable;\n var distCodeTable;\n if (hdr === 1) {\n // compressed block, fixed codes\n litCodeTable = fixedLitCodeTab;\n distCodeTable = fixedDistCodeTab;\n }\n else if (hdr === 2) {\n // compressed block, dynamic codes\n var numLitCodes = this.getBits(5) + 257;\n var numDistCodes = this.getBits(5) + 1;\n var numCodeLenCodes = this.getBits(4) + 4;\n // build the code lengths code table\n var codeLenCodeLengths = new Uint8Array(codeLenCodeMap.length);\n var i = void 0;\n for (i = 0; i < numCodeLenCodes; ++i) {\n codeLenCodeLengths[codeLenCodeMap[i]] = this.getBits(3);\n }\n var codeLenCodeTab = this.generateHuffmanTable(codeLenCodeLengths);\n // build the literal and distance code tables\n len = 0;\n i = 0;\n var codes = numLitCodes + numDistCodes;\n var codeLengths = new Uint8Array(codes);\n var bitsLength = void 0;\n var bitsOffset = void 0;\n var what = void 0;\n while (i < codes) {\n var code = this.getCode(codeLenCodeTab);\n if (code === 16) {\n bitsLength = 2;\n bitsOffset = 3;\n what = len;\n }\n else if (code === 17) {\n bitsLength = 3;\n bitsOffset = 3;\n what = len = 0;\n }\n else if (code === 18) {\n bitsLength = 7;\n bitsOffset = 11;\n what = len = 0;\n }\n else {\n codeLengths[i++] = len = code;\n continue;\n }\n var repeatLength = this.getBits(bitsLength) + bitsOffset;\n while (repeatLength-- > 0) {\n codeLengths[i++] = what;\n }\n }\n litCodeTable = this.generateHuffmanTable(codeLengths.subarray(0, numLitCodes));\n distCodeTable = this.generateHuffmanTable(codeLengths.subarray(numLitCodes, codes));\n }\n else {\n throw new Error('Unknown block type in flate stream');\n }\n buffer = this.buffer;\n var limit = buffer ? buffer.length : 0;\n var pos = this.bufferLength;\n while (true) {\n var code1 = this.getCode(litCodeTable);\n if (code1 < 256) {\n if (pos + 1 >= limit) {\n buffer = this.ensureBuffer(pos + 1);\n limit = buffer.length;\n }\n buffer[pos++] = code1;\n continue;\n }\n if (code1 === 256) {\n this.bufferLength = pos;\n return;\n }\n code1 -= 257;\n code1 = lengthDecode[code1];\n var code2 = code1 >> 16;\n if (code2 > 0) {\n code2 = this.getBits(code2);\n }\n len = (code1 & 0xffff) + code2;\n code1 = this.getCode(distCodeTable);\n code1 = distDecode[code1];\n code2 = code1 >> 16;\n if (code2 > 0) {\n code2 = this.getBits(code2);\n }\n var dist = (code1 & 0xffff) + code2;\n if (pos + len >= limit) {\n buffer = this.ensureBuffer(pos + len);\n limit = buffer.length;\n }\n for (var k = 0; k < len; ++k, ++pos) {\n buffer[pos] = buffer[pos - dist];\n }\n }\n };\n FlateStream.prototype.getBits = function (bits) {\n var str = this.stream;\n var codeSize = this.codeSize;\n var codeBuf = this.codeBuf;\n var b;\n while (codeSize < bits) {\n if ((b = str.getByte()) === -1) {\n throw new Error('Bad encoding in flate stream');\n }\n codeBuf |= b << codeSize;\n codeSize += 8;\n }\n b = codeBuf & ((1 << bits) - 1);\n this.codeBuf = codeBuf >> bits;\n this.codeSize = codeSize -= bits;\n return b;\n };\n FlateStream.prototype.getCode = function (table) {\n var str = this.stream;\n var codes = table[0];\n var maxLen = table[1];\n var codeSize = this.codeSize;\n var codeBuf = this.codeBuf;\n var b;\n while (codeSize < maxLen) {\n if ((b = str.getByte()) === -1) {\n // premature end of stream. code might however still be valid.\n // codeSize < codeLen check below guards against incomplete codeVal.\n break;\n }\n codeBuf |= b << codeSize;\n codeSize += 8;\n }\n var code = codes[codeBuf & ((1 << maxLen) - 1)];\n if (typeof codes === 'number') {\n console.log('FLATE:', code);\n }\n var codeLen = code >> 16;\n var codeVal = code & 0xffff;\n if (codeLen < 1 || codeSize < codeLen) {\n throw new Error('Bad encoding in flate stream');\n }\n this.codeBuf = codeBuf >> codeLen;\n this.codeSize = codeSize - codeLen;\n return codeVal;\n };\n FlateStream.prototype.generateHuffmanTable = function (lengths) {\n var n = lengths.length;\n // find max code length\n var maxLen = 0;\n var i;\n for (i = 0; i < n; ++i) {\n if (lengths[i] > maxLen) {\n maxLen = lengths[i];\n }\n }\n // build the table\n var size = 1 << maxLen;\n var codes = new Int32Array(size);\n for (var len = 1, code = 0, skip = 2; len <= maxLen; ++len, code <<= 1, skip <<= 1) {\n for (var val = 0; val < n; ++val) {\n if (lengths[val] === len) {\n // bit-reverse the code\n var code2 = 0;\n var t = code;\n for (i = 0; i < len; ++i) {\n code2 = (code2 << 1) | (t & 1);\n t >>= 1;\n }\n // fill the table entries\n for (i = code2; i < size; i += skip) {\n codes[i] = (len << 16) | val;\n }\n ++code;\n }\n }\n }\n return [codes, maxLen];\n };\n return FlateStream;\n}(_DecodeStream__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (FlateStream);\n//# sourceMappingURL=FlateStream.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/streams/FlateStream.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/streams/LZWStream.js":
/*!****************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/streams/LZWStream.js ***!
\****************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _DecodeStream__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DecodeStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/streams/DecodeStream.js\");\n/*\n * Copyright 2012 Mozilla Foundation\n *\n * The LZWStream class contained in this file is a TypeScript port of the\n * JavaScript LZWStream class in Mozilla's pdf.js project, made available\n * under the Apache 2.0 open source license.\n */\n\n\nvar LZWStream = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(LZWStream, _super);\n function LZWStream(stream, maybeLength, earlyChange) {\n var _this = _super.call(this, maybeLength) || this;\n _this.stream = stream;\n _this.cachedData = 0;\n _this.bitsCached = 0;\n var maxLzwDictionarySize = 4096;\n var lzwState = {\n earlyChange: earlyChange,\n codeLength: 9,\n nextCode: 258,\n dictionaryValues: new Uint8Array(maxLzwDictionarySize),\n dictionaryLengths: new Uint16Array(maxLzwDictionarySize),\n dictionaryPrevCodes: new Uint16Array(maxLzwDictionarySize),\n currentSequence: new Uint8Array(maxLzwDictionarySize),\n currentSequenceLength: 0,\n };\n for (var i = 0; i < 256; ++i) {\n lzwState.dictionaryValues[i] = i;\n lzwState.dictionaryLengths[i] = 1;\n }\n _this.lzwState = lzwState;\n return _this;\n }\n LZWStream.prototype.readBlock = function () {\n var blockSize = 512;\n var estimatedDecodedSize = blockSize * 2;\n var decodedSizeDelta = blockSize;\n var i;\n var j;\n var q;\n var lzwState = this.lzwState;\n if (!lzwState) {\n return; // eof was found\n }\n var earlyChange = lzwState.earlyChange;\n var nextCode = lzwState.nextCode;\n var dictionaryValues = lzwState.dictionaryValues;\n var dictionaryLengths = lzwState.dictionaryLengths;\n var dictionaryPrevCodes = lzwState.dictionaryPrevCodes;\n var codeLength = lzwState.codeLength;\n var prevCode = lzwState.prevCode;\n var currentSequence = lzwState.currentSequence;\n var currentSequenceLength = lzwState.currentSequenceLength;\n var decodedLength = 0;\n var currentBufferLength = this.bufferLength;\n var buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize);\n for (i = 0; i < blockSize; i++) {\n var code = this.readBits(codeLength);\n var hasPrev = currentSequenceLength > 0;\n if (!code || code < 256) {\n currentSequence[0] = code;\n currentSequenceLength = 1;\n }\n else if (code >= 258) {\n if (code < nextCode) {\n currentSequenceLength = dictionaryLengths[code];\n for (j = currentSequenceLength - 1, q = code; j >= 0; j--) {\n currentSequence[j] = dictionaryValues[q];\n q = dictionaryPrevCodes[q];\n }\n }\n else {\n currentSequence[currentSequenceLength++] = currentSequence[0];\n }\n }\n else if (code === 256) {\n codeLength = 9;\n nextCode = 258;\n currentSequenceLength = 0;\n continue;\n }\n else {\n this.eof = true;\n delete this.lzwState;\n break;\n }\n if (hasPrev) {\n dictionaryPrevCodes[nextCode] = prevCode;\n dictionaryLengths[nextCode] = dictionaryLengths[prevCode] + 1;\n dictionaryValues[nextCode] = currentSequence[0];\n nextCode++;\n codeLength =\n (nextCode + earlyChange) & (nextCode + earlyChange - 1)\n ? codeLength\n : Math.min(Math.log(nextCode + earlyChange) / 0.6931471805599453 + 1, 12) | 0;\n }\n prevCode = code;\n decodedLength += currentSequenceLength;\n if (estimatedDecodedSize < decodedLength) {\n do {\n estimatedDecodedSize += decodedSizeDelta;\n } while (estimatedDecodedSize < decodedLength);\n buffer = this.ensureBuffer(this.bufferLength + estimatedDecodedSize);\n }\n for (j = 0; j < currentSequenceLength; j++) {\n buffer[currentBufferLength++] = currentSequence[j];\n }\n }\n lzwState.nextCode = nextCode;\n lzwState.codeLength = codeLength;\n lzwState.prevCode = prevCode;\n lzwState.currentSequenceLength = currentSequenceLength;\n this.bufferLength = currentBufferLength;\n };\n LZWStream.prototype.readBits = function (n) {\n var bitsCached = this.bitsCached;\n var cachedData = this.cachedData;\n while (bitsCached < n) {\n var c = this.stream.getByte();\n if (c === -1) {\n this.eof = true;\n return null;\n }\n cachedData = (cachedData << 8) | c;\n bitsCached += 8;\n }\n this.bitsCached = bitsCached -= n;\n this.cachedData = cachedData;\n return (cachedData >>> bitsCached) & ((1 << n) - 1);\n };\n return LZWStream;\n}(_DecodeStream__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (LZWStream);\n//# sourceMappingURL=LZWStream.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/streams/LZWStream.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/streams/RunLengthStream.js":
/*!**********************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/streams/RunLengthStream.js ***!
\**********************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _DecodeStream__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./DecodeStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/streams/DecodeStream.js\");\n/*\n * Copyright 2012 Mozilla Foundation\n *\n * The RunLengthStream class contained in this file is a TypeScript port of the\n * JavaScript RunLengthStream class in Mozilla's pdf.js project, made available\n * under the Apache 2.0 open source license.\n */\n\n\nvar RunLengthStream = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(RunLengthStream, _super);\n function RunLengthStream(stream, maybeLength) {\n var _this = _super.call(this, maybeLength) || this;\n _this.stream = stream;\n return _this;\n }\n RunLengthStream.prototype.readBlock = function () {\n // The repeatHeader has following format. The first byte defines type of run\n // and amount of bytes to repeat/copy: n = 0 through 127 - copy next n bytes\n // (in addition to the second byte from the header), n = 129 through 255 -\n // duplicate the second byte from the header (257 - n) times, n = 128 - end.\n var repeatHeader = this.stream.getBytes(2);\n if (!repeatHeader || repeatHeader.length < 2 || repeatHeader[0] === 128) {\n this.eof = true;\n return;\n }\n var buffer;\n var bufferLength = this.bufferLength;\n var n = repeatHeader[0];\n if (n < 128) {\n // copy n bytes\n buffer = this.ensureBuffer(bufferLength + n + 1);\n buffer[bufferLength++] = repeatHeader[1];\n if (n > 0) {\n var source = this.stream.getBytes(n);\n buffer.set(source, bufferLength);\n bufferLength += n;\n }\n }\n else {\n n = 257 - n;\n var b = repeatHeader[1];\n buffer = this.ensureBuffer(bufferLength + n + 1);\n for (var i = 0; i < n; i++) {\n buffer[bufferLength++] = b;\n }\n }\n this.bufferLength = bufferLength;\n };\n return RunLengthStream;\n}(_DecodeStream__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (RunLengthStream);\n//# sourceMappingURL=RunLengthStream.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/streams/RunLengthStream.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/streams/Stream.js":
/*!*************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/streams/Stream.js ***!
\*************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/*\n * Copyright 2012 Mozilla Foundation\n *\n * The Stream class contained in this file is a TypeScript port of the\n * JavaScript Stream class in Mozilla's pdf.js project, made available\n * under the Apache 2.0 open source license.\n */\nvar Stream = /** @class */ (function () {\n function Stream(buffer, start, length) {\n this.bytes = buffer;\n this.start = start || 0;\n this.pos = this.start;\n this.end = !!start && !!length ? start + length : this.bytes.length;\n }\n Object.defineProperty(Stream.prototype, \"length\", {\n get: function () {\n return this.end - this.start;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Stream.prototype, \"isEmpty\", {\n get: function () {\n return this.length === 0;\n },\n enumerable: false,\n configurable: true\n });\n Stream.prototype.getByte = function () {\n if (this.pos >= this.end) {\n return -1;\n }\n return this.bytes[this.pos++];\n };\n Stream.prototype.getUint16 = function () {\n var b0 = this.getByte();\n var b1 = this.getByte();\n if (b0 === -1 || b1 === -1) {\n return -1;\n }\n return (b0 << 8) + b1;\n };\n Stream.prototype.getInt32 = function () {\n var b0 = this.getByte();\n var b1 = this.getByte();\n var b2 = this.getByte();\n var b3 = this.getByte();\n return (b0 << 24) + (b1 << 16) + (b2 << 8) + b3;\n };\n // Returns subarray of original buffer, should only be read.\n Stream.prototype.getBytes = function (length, forceClamped) {\n if (forceClamped === void 0) { forceClamped = false; }\n var bytes = this.bytes;\n var pos = this.pos;\n var strEnd = this.end;\n if (!length) {\n var subarray = bytes.subarray(pos, strEnd);\n // `this.bytes` is always a `Uint8Array` here.\n return forceClamped ? new Uint8ClampedArray(subarray) : subarray;\n }\n else {\n var end = pos + length;\n if (end > strEnd) {\n end = strEnd;\n }\n this.pos = end;\n var subarray = bytes.subarray(pos, end);\n // `this.bytes` is always a `Uint8Array` here.\n return forceClamped ? new Uint8ClampedArray(subarray) : subarray;\n }\n };\n Stream.prototype.peekByte = function () {\n var peekedByte = this.getByte();\n this.pos--;\n return peekedByte;\n };\n Stream.prototype.peekBytes = function (length, forceClamped) {\n if (forceClamped === void 0) { forceClamped = false; }\n var bytes = this.getBytes(length, forceClamped);\n this.pos -= bytes.length;\n return bytes;\n };\n Stream.prototype.skip = function (n) {\n if (!n) {\n n = 1;\n }\n this.pos += n;\n };\n Stream.prototype.reset = function () {\n this.pos = this.start;\n };\n Stream.prototype.moveStart = function () {\n this.start = this.pos;\n };\n Stream.prototype.makeSubStream = function (start, length) {\n return new Stream(this.bytes, start, length);\n };\n Stream.prototype.decode = function () {\n return this.bytes;\n };\n return Stream;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (Stream);\n//# sourceMappingURL=Stream.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/streams/Stream.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/streams/decode.js":
/*!*************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/streams/decode.js ***!
\*************************************************************************/
/*! exports provided: decodePDFRawStream */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"decodePDFRawStream\", function() { return decodePDFRawStream; });\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony import */ var _objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _Ascii85Stream__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Ascii85Stream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/streams/Ascii85Stream.js\");\n/* harmony import */ var _AsciiHexStream__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./AsciiHexStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/streams/AsciiHexStream.js\");\n/* harmony import */ var _FlateStream__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./FlateStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/streams/FlateStream.js\");\n/* harmony import */ var _LZWStream__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./LZWStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/streams/LZWStream.js\");\n/* harmony import */ var _RunLengthStream__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./RunLengthStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/streams/RunLengthStream.js\");\n/* harmony import */ var _Stream__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Stream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/streams/Stream.js\");\n\n\n\n\n\n\n\n\n\n\n\nvar decodeStream = function (stream, encoding, params) {\n if (encoding === _objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('FlateDecode')) {\n return new _FlateStream__WEBPACK_IMPORTED_MODULE_7__[\"default\"](stream);\n }\n if (encoding === _objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('LZWDecode')) {\n var earlyChange = 1;\n if (params instanceof _objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) {\n var EarlyChange = params.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('EarlyChange'));\n if (EarlyChange instanceof _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_4__[\"default\"]) {\n earlyChange = EarlyChange.asNumber();\n }\n }\n return new _LZWStream__WEBPACK_IMPORTED_MODULE_8__[\"default\"](stream, undefined, earlyChange);\n }\n if (encoding === _objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('ASCII85Decode')) {\n return new _Ascii85Stream__WEBPACK_IMPORTED_MODULE_5__[\"default\"](stream);\n }\n if (encoding === _objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('ASCIIHexDecode')) {\n return new _AsciiHexStream__WEBPACK_IMPORTED_MODULE_6__[\"default\"](stream);\n }\n if (encoding === _objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('RunLengthDecode')) {\n return new _RunLengthStream__WEBPACK_IMPORTED_MODULE_9__[\"default\"](stream);\n }\n throw new _errors__WEBPACK_IMPORTED_MODULE_0__[\"UnsupportedEncodingError\"](encoding.asString());\n};\nvar decodePDFRawStream = function (_a) {\n var dict = _a.dict, contents = _a.contents;\n var stream = new _Stream__WEBPACK_IMPORTED_MODULE_10__[\"default\"](contents);\n var Filter = dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Filter'));\n var DecodeParms = dict.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('DecodeParms'));\n if (Filter instanceof _objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"]) {\n stream = decodeStream(stream, Filter, DecodeParms);\n }\n else if (Filter instanceof _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) {\n for (var idx = 0, len = Filter.size(); idx < len; idx++) {\n stream = decodeStream(stream, Filter.lookup(idx, _objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"]), DecodeParms && DecodeParms.lookupMaybe(idx, _objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n }\n }\n else if (!!Filter) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_0__[\"UnexpectedObjectTypeError\"]([_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"], _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"]], Filter);\n }\n return stream;\n};\n//# sourceMappingURL=decode.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/streams/decode.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFCatalog.js":
/*!********************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFCatalog.js ***!
\********************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _acroform__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../acroform */ \"../simple-mind-map/node_modules/pdf-lib/es/core/acroform/index.js\");\n/* harmony import */ var _interactive_ViewerPreferences__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../interactive/ViewerPreferences */ \"../simple-mind-map/node_modules/pdf-lib/es/core/interactive/ViewerPreferences.js\");\n\n\n\n\n\nvar PDFCatalog = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFCatalog, _super);\n function PDFCatalog() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PDFCatalog.prototype.Pages = function () {\n return this.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Pages'), _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n };\n PDFCatalog.prototype.AcroForm = function () {\n return this.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('AcroForm'), _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n };\n PDFCatalog.prototype.getAcroForm = function () {\n var dict = this.AcroForm();\n if (!dict)\n return undefined;\n return _acroform__WEBPACK_IMPORTED_MODULE_3__[\"PDFAcroForm\"].fromDict(dict);\n };\n PDFCatalog.prototype.getOrCreateAcroForm = function () {\n var acroForm = this.getAcroForm();\n if (!acroForm) {\n acroForm = _acroform__WEBPACK_IMPORTED_MODULE_3__[\"PDFAcroForm\"].create(this.context);\n var acroFormRef = this.context.register(acroForm.dict);\n this.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('AcroForm'), acroFormRef);\n }\n return acroForm;\n };\n PDFCatalog.prototype.ViewerPreferences = function () {\n return this.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('ViewerPreferences'), _objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n };\n PDFCatalog.prototype.getViewerPreferences = function () {\n var dict = this.ViewerPreferences();\n if (!dict)\n return undefined;\n return _interactive_ViewerPreferences__WEBPACK_IMPORTED_MODULE_4__[\"default\"].fromDict(dict);\n };\n PDFCatalog.prototype.getOrCreateViewerPreferences = function () {\n var viewerPrefs = this.getViewerPreferences();\n if (!viewerPrefs) {\n viewerPrefs = _interactive_ViewerPreferences__WEBPACK_IMPORTED_MODULE_4__[\"default\"].create(this.context);\n var viewerPrefsRef = this.context.register(viewerPrefs.dict);\n this.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('ViewerPreferences'), viewerPrefsRef);\n }\n return viewerPrefs;\n };\n /**\n * Inserts the given ref as a leaf node of this catalog's page tree at the\n * specified index (zero-based). Also increments the `Count` of each node in\n * the page tree hierarchy to accomodate the new page.\n *\n * Returns the ref of the PDFPageTree node into which `leafRef` was inserted.\n */\n PDFCatalog.prototype.insertLeafNode = function (leafRef, index) {\n var pagesRef = this.get(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Pages'));\n var maybeParentRef = this.Pages().insertLeafNode(leafRef, index);\n return maybeParentRef || pagesRef;\n };\n PDFCatalog.prototype.removeLeafNode = function (index) {\n this.Pages().removeLeafNode(index);\n };\n PDFCatalog.withContextAndPages = function (context, pages) {\n var dict = new Map();\n dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Type'), _objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Catalog'));\n dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of('Pages'), pages);\n return new PDFCatalog(dict, context);\n };\n PDFCatalog.fromMapWithContext = function (map, context) {\n return new PDFCatalog(map, context);\n };\n return PDFCatalog;\n}(_objects_PDFDict__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFCatalog);\n//# sourceMappingURL=PDFCatalog.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFCatalog.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFContentStream.js":
/*!**************************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFContentStream.js ***!
\**************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _PDFFlateStream__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./PDFFlateStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFFlateStream.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n\n\n\nvar PDFContentStream = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFContentStream, _super);\n function PDFContentStream(dict, operators, encode) {\n if (encode === void 0) { encode = true; }\n var _this = _super.call(this, dict, encode) || this;\n _this.operators = operators;\n return _this;\n }\n PDFContentStream.prototype.push = function () {\n var _a;\n var operators = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n operators[_i] = arguments[_i];\n }\n (_a = this.operators).push.apply(_a, operators);\n };\n PDFContentStream.prototype.clone = function (context) {\n var operators = new Array(this.operators.length);\n for (var idx = 0, len = this.operators.length; idx < len; idx++) {\n operators[idx] = this.operators[idx].clone(context);\n }\n var _a = this, dict = _a.dict, encode = _a.encode;\n return PDFContentStream.of(dict.clone(context), operators, encode);\n };\n PDFContentStream.prototype.getContentsString = function () {\n var value = '';\n for (var idx = 0, len = this.operators.length; idx < len; idx++) {\n value += this.operators[idx] + \"\\n\";\n }\n return value;\n };\n PDFContentStream.prototype.getUnencodedContents = function () {\n var buffer = new Uint8Array(this.getUnencodedContentsSize());\n var offset = 0;\n for (var idx = 0, len = this.operators.length; idx < len; idx++) {\n offset += this.operators[idx].copyBytesInto(buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_2__[\"default\"].Newline;\n }\n return buffer;\n };\n PDFContentStream.prototype.getUnencodedContentsSize = function () {\n var size = 0;\n for (var idx = 0, len = this.operators.length; idx < len; idx++) {\n size += this.operators[idx].sizeInBytes() + 1;\n }\n return size;\n };\n PDFContentStream.of = function (dict, operators, encode) {\n if (encode === void 0) { encode = true; }\n return new PDFContentStream(dict, operators, encode);\n };\n return PDFContentStream;\n}(_PDFFlateStream__WEBPACK_IMPORTED_MODULE_1__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFContentStream);\n//# sourceMappingURL=PDFContentStream.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFContentStream.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFCrossRefStream.js":
/*!***************************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFCrossRefStream.js ***!
\***************************************************************************************/
/*! exports provided: EntryType, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EntryType\", function() { return EntryType; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFRef__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFRef */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js\");\n/* harmony import */ var _PDFFlateStream__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PDFFlateStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFFlateStream.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\nvar EntryType;\n(function (EntryType) {\n EntryType[EntryType[\"Deleted\"] = 0] = \"Deleted\";\n EntryType[EntryType[\"Uncompressed\"] = 1] = \"Uncompressed\";\n EntryType[EntryType[\"Compressed\"] = 2] = \"Compressed\";\n})(EntryType || (EntryType = {}));\n/**\n * Entries should be added using the [[addDeletedEntry]],\n * [[addUncompressedEntry]], and [[addCompressedEntry]] methods\n * **in order of ascending object number**.\n */\nvar PDFCrossRefStream = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFCrossRefStream, _super);\n function PDFCrossRefStream(dict, entries, encode) {\n if (encode === void 0) { encode = true; }\n var _this = _super.call(this, dict, encode) || this;\n // Returns an array of integer pairs for each subsection of the cross ref\n // section, where each integer pair represents:\n // firstObjectNumber(OfSection), length(OfSection)\n _this.computeIndex = function () {\n var subsections = [];\n var subsectionLength = 0;\n for (var idx = 0, len = _this.entries.length; idx < len; idx++) {\n var currEntry = _this.entries[idx];\n var prevEntry = _this.entries[idx - 1];\n if (idx === 0) {\n subsections.push(currEntry.ref.objectNumber);\n }\n else if (currEntry.ref.objectNumber - prevEntry.ref.objectNumber > 1) {\n subsections.push(subsectionLength);\n subsections.push(currEntry.ref.objectNumber);\n subsectionLength = 0;\n }\n subsectionLength += 1;\n }\n subsections.push(subsectionLength);\n return subsections;\n };\n _this.computeEntryTuples = function () {\n var entryTuples = new Array(_this.entries.length);\n for (var idx = 0, len = _this.entries.length; idx < len; idx++) {\n var entry = _this.entries[idx];\n if (entry.type === EntryType.Deleted) {\n var type = entry.type, nextFreeObjectNumber = entry.nextFreeObjectNumber, ref = entry.ref;\n entryTuples[idx] = [type, nextFreeObjectNumber, ref.generationNumber];\n }\n if (entry.type === EntryType.Uncompressed) {\n var type = entry.type, offset = entry.offset, ref = entry.ref;\n entryTuples[idx] = [type, offset, ref.generationNumber];\n }\n if (entry.type === EntryType.Compressed) {\n var type = entry.type, objectStreamRef = entry.objectStreamRef, index = entry.index;\n entryTuples[idx] = [type, objectStreamRef.objectNumber, index];\n }\n }\n return entryTuples;\n };\n _this.computeMaxEntryByteWidths = function () {\n var entryTuples = _this.entryTuplesCache.access();\n var widths = [0, 0, 0];\n for (var idx = 0, len = entryTuples.length; idx < len; idx++) {\n var _a = entryTuples[idx], first = _a[0], second = _a[1], third = _a[2];\n var firstSize = Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"sizeInBytes\"])(first);\n var secondSize = Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"sizeInBytes\"])(second);\n var thirdSize = Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"sizeInBytes\"])(third);\n if (firstSize > widths[0])\n widths[0] = firstSize;\n if (secondSize > widths[1])\n widths[1] = secondSize;\n if (thirdSize > widths[2])\n widths[2] = thirdSize;\n }\n return widths;\n };\n _this.entries = entries || [];\n _this.entryTuplesCache = _utils__WEBPACK_IMPORTED_MODULE_4__[\"Cache\"].populatedBy(_this.computeEntryTuples);\n _this.maxByteWidthsCache = _utils__WEBPACK_IMPORTED_MODULE_4__[\"Cache\"].populatedBy(_this.computeMaxEntryByteWidths);\n _this.indexCache = _utils__WEBPACK_IMPORTED_MODULE_4__[\"Cache\"].populatedBy(_this.computeIndex);\n dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('Type'), _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('XRef'));\n return _this;\n }\n PDFCrossRefStream.prototype.addDeletedEntry = function (ref, nextFreeObjectNumber) {\n var type = EntryType.Deleted;\n this.entries.push({ type: type, ref: ref, nextFreeObjectNumber: nextFreeObjectNumber });\n this.entryTuplesCache.invalidate();\n this.maxByteWidthsCache.invalidate();\n this.indexCache.invalidate();\n this.contentsCache.invalidate();\n };\n PDFCrossRefStream.prototype.addUncompressedEntry = function (ref, offset) {\n var type = EntryType.Uncompressed;\n this.entries.push({ type: type, ref: ref, offset: offset });\n this.entryTuplesCache.invalidate();\n this.maxByteWidthsCache.invalidate();\n this.indexCache.invalidate();\n this.contentsCache.invalidate();\n };\n PDFCrossRefStream.prototype.addCompressedEntry = function (ref, objectStreamRef, index) {\n var type = EntryType.Compressed;\n this.entries.push({ type: type, ref: ref, objectStreamRef: objectStreamRef, index: index });\n this.entryTuplesCache.invalidate();\n this.maxByteWidthsCache.invalidate();\n this.indexCache.invalidate();\n this.contentsCache.invalidate();\n };\n PDFCrossRefStream.prototype.clone = function (context) {\n var _a = this, dict = _a.dict, entries = _a.entries, encode = _a.encode;\n return PDFCrossRefStream.of(dict.clone(context), entries.slice(), encode);\n };\n PDFCrossRefStream.prototype.getContentsString = function () {\n var entryTuples = this.entryTuplesCache.access();\n var byteWidths = this.maxByteWidthsCache.access();\n var value = '';\n for (var entryIdx = 0, entriesLen = entryTuples.length; entryIdx < entriesLen; entryIdx++) {\n var _a = entryTuples[entryIdx], first = _a[0], second = _a[1], third = _a[2];\n var firstBytes = Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"reverseArray\"])(Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"bytesFor\"])(first));\n var secondBytes = Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"reverseArray\"])(Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"bytesFor\"])(second));\n var thirdBytes = Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"reverseArray\"])(Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"bytesFor\"])(third));\n for (var idx = byteWidths[0] - 1; idx >= 0; idx--) {\n value += (firstBytes[idx] || 0).toString(2);\n }\n for (var idx = byteWidths[1] - 1; idx >= 0; idx--) {\n value += (secondBytes[idx] || 0).toString(2);\n }\n for (var idx = byteWidths[2] - 1; idx >= 0; idx--) {\n value += (thirdBytes[idx] || 0).toString(2);\n }\n }\n return value;\n };\n PDFCrossRefStream.prototype.getUnencodedContents = function () {\n var entryTuples = this.entryTuplesCache.access();\n var byteWidths = this.maxByteWidthsCache.access();\n var buffer = new Uint8Array(this.getUnencodedContentsSize());\n var offset = 0;\n for (var entryIdx = 0, entriesLen = entryTuples.length; entryIdx < entriesLen; entryIdx++) {\n var _a = entryTuples[entryIdx], first = _a[0], second = _a[1], third = _a[2];\n var firstBytes = Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"reverseArray\"])(Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"bytesFor\"])(first));\n var secondBytes = Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"reverseArray\"])(Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"bytesFor\"])(second));\n var thirdBytes = Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"reverseArray\"])(Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"bytesFor\"])(third));\n for (var idx = byteWidths[0] - 1; idx >= 0; idx--) {\n buffer[offset++] = firstBytes[idx] || 0;\n }\n for (var idx = byteWidths[1] - 1; idx >= 0; idx--) {\n buffer[offset++] = secondBytes[idx] || 0;\n }\n for (var idx = byteWidths[2] - 1; idx >= 0; idx--) {\n buffer[offset++] = thirdBytes[idx] || 0;\n }\n }\n return buffer;\n };\n PDFCrossRefStream.prototype.getUnencodedContentsSize = function () {\n var byteWidths = this.maxByteWidthsCache.access();\n var entryWidth = Object(_utils__WEBPACK_IMPORTED_MODULE_4__[\"sum\"])(byteWidths);\n return entryWidth * this.entries.length;\n };\n PDFCrossRefStream.prototype.updateDict = function () {\n _super.prototype.updateDict.call(this);\n var byteWidths = this.maxByteWidthsCache.access();\n var index = this.indexCache.access();\n var context = this.dict.context;\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('W'), context.obj(byteWidths));\n this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('Index'), context.obj(index));\n };\n PDFCrossRefStream.create = function (dict, encode) {\n if (encode === void 0) { encode = true; }\n var stream = new PDFCrossRefStream(dict, [], encode);\n stream.addDeletedEntry(_objects_PDFRef__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of(0, 65535), 0);\n return stream;\n };\n PDFCrossRefStream.of = function (dict, entries, encode) {\n if (encode === void 0) { encode = true; }\n return new PDFCrossRefStream(dict, entries, encode);\n };\n return PDFCrossRefStream;\n}(_PDFFlateStream__WEBPACK_IMPORTED_MODULE_3__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFCrossRefStream);\n//# sourceMappingURL=PDFCrossRefStream.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFCrossRefStream.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFFlateStream.js":
/*!************************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFFlateStream.js ***!
\************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var pako__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! pako */ \"../simple-mind-map/node_modules/pako/index.js\");\n/* harmony import */ var pako__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(pako__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFStream__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFStream.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\nvar PDFFlateStream = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFFlateStream, _super);\n function PDFFlateStream(dict, encode) {\n var _this = _super.call(this, dict) || this;\n _this.computeContents = function () {\n var unencodedContents = _this.getUnencodedContents();\n return _this.encode ? pako__WEBPACK_IMPORTED_MODULE_1___default.a.deflate(unencodedContents) : unencodedContents;\n };\n _this.encode = encode;\n if (encode)\n dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Filter'), _objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('FlateDecode'));\n _this.contentsCache = _utils__WEBPACK_IMPORTED_MODULE_5__[\"Cache\"].populatedBy(_this.computeContents);\n return _this;\n }\n PDFFlateStream.prototype.getContents = function () {\n return this.contentsCache.access();\n };\n PDFFlateStream.prototype.getContentsSize = function () {\n return this.contentsCache.access().length;\n };\n PDFFlateStream.prototype.getUnencodedContents = function () {\n throw new _errors__WEBPACK_IMPORTED_MODULE_2__[\"MethodNotImplementedError\"](this.constructor.name, 'getUnencodedContents');\n };\n return PDFFlateStream;\n}(_objects_PDFStream__WEBPACK_IMPORTED_MODULE_4__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFFlateStream);\n//# sourceMappingURL=PDFFlateStream.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFFlateStream.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFObjectStream.js":
/*!*************************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFObjectStream.js ***!
\*************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _PDFFlateStream__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./PDFFlateStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFFlateStream.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\nvar PDFObjectStream = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFObjectStream, _super);\n function PDFObjectStream(context, objects, encode) {\n if (encode === void 0) { encode = true; }\n var _this = _super.call(this, context.obj({}), encode) || this;\n _this.objects = objects;\n _this.offsets = _this.computeObjectOffsets();\n _this.offsetsString = _this.computeOffsetsString();\n _this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('Type'), _objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('ObjStm'));\n _this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('N'), _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of(_this.objects.length));\n _this.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_1__[\"default\"].of('First'), _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_2__[\"default\"].of(_this.offsetsString.length));\n return _this;\n }\n PDFObjectStream.prototype.getObjectsCount = function () {\n return this.objects.length;\n };\n PDFObjectStream.prototype.clone = function (context) {\n return PDFObjectStream.withContextAndObjects(context || this.dict.context, this.objects.slice(), this.encode);\n };\n PDFObjectStream.prototype.getContentsString = function () {\n var value = this.offsetsString;\n for (var idx = 0, len = this.objects.length; idx < len; idx++) {\n var _a = this.objects[idx], object = _a[1];\n value += object + \"\\n\";\n }\n return value;\n };\n PDFObjectStream.prototype.getUnencodedContents = function () {\n var buffer = new Uint8Array(this.getUnencodedContentsSize());\n var offset = Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"copyStringIntoBuffer\"])(this.offsetsString, buffer, 0);\n for (var idx = 0, len = this.objects.length; idx < len; idx++) {\n var _a = this.objects[idx], object = _a[1];\n offset += object.copyBytesInto(buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_4__[\"default\"].Newline;\n }\n return buffer;\n };\n PDFObjectStream.prototype.getUnencodedContentsSize = function () {\n return (this.offsetsString.length +\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"last\"])(this.offsets)[1] +\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"last\"])(this.objects)[1].sizeInBytes() +\n 1);\n };\n PDFObjectStream.prototype.computeOffsetsString = function () {\n var offsetsString = '';\n for (var idx = 0, len = this.offsets.length; idx < len; idx++) {\n var _a = this.offsets[idx], objectNumber = _a[0], offset = _a[1];\n offsetsString += objectNumber + \" \" + offset + \" \";\n }\n return offsetsString;\n };\n PDFObjectStream.prototype.computeObjectOffsets = function () {\n var offset = 0;\n var offsets = new Array(this.objects.length);\n for (var idx = 0, len = this.objects.length; idx < len; idx++) {\n var _a = this.objects[idx], ref = _a[0], object = _a[1];\n offsets[idx] = [ref.objectNumber, offset];\n offset += object.sizeInBytes() + 1; // '\\n'\n }\n return offsets;\n };\n PDFObjectStream.withContextAndObjects = function (context, objects, encode) {\n if (encode === void 0) { encode = true; }\n return new PDFObjectStream(context, objects, encode);\n };\n return PDFObjectStream;\n}(_PDFFlateStream__WEBPACK_IMPORTED_MODULE_3__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFObjectStream);\n//# sourceMappingURL=PDFObjectStream.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFObjectStream.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFPageLeaf.js":
/*!*********************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFPageLeaf.js ***!
\*********************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony import */ var _objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _objects_PDFStream__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../objects/PDFStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFStream.js\");\n\n\n\n\n\n\nvar PDFPageLeaf = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFPageLeaf, _super);\n function PDFPageLeaf(map, context, autoNormalizeCTM) {\n if (autoNormalizeCTM === void 0) { autoNormalizeCTM = true; }\n var _this = _super.call(this, map, context) || this;\n _this.normalized = false;\n _this.autoNormalizeCTM = autoNormalizeCTM;\n return _this;\n }\n PDFPageLeaf.prototype.clone = function (context) {\n var clone = PDFPageLeaf.fromMapWithContext(new Map(), context || this.context, this.autoNormalizeCTM);\n var entries = this.entries();\n for (var idx = 0, len = entries.length; idx < len; idx++) {\n var _a = entries[idx], key = _a[0], value = _a[1];\n clone.set(key, value);\n }\n return clone;\n };\n PDFPageLeaf.prototype.Parent = function () {\n return this.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Parent, _objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n };\n PDFPageLeaf.prototype.Contents = function () {\n return this.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Contents'));\n };\n PDFPageLeaf.prototype.Annots = function () {\n return this.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Annots, _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n };\n PDFPageLeaf.prototype.BleedBox = function () {\n return this.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].BleedBox, _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n };\n PDFPageLeaf.prototype.TrimBox = function () {\n return this.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].TrimBox, _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n };\n PDFPageLeaf.prototype.ArtBox = function () {\n return this.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ArtBox, _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n };\n PDFPageLeaf.prototype.Resources = function () {\n var dictOrRef = this.getInheritableAttribute(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Resources);\n return this.context.lookupMaybe(dictOrRef, _objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__[\"default\"]);\n };\n PDFPageLeaf.prototype.MediaBox = function () {\n var arrayOrRef = this.getInheritableAttribute(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].MediaBox);\n return this.context.lookup(arrayOrRef, _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n };\n PDFPageLeaf.prototype.CropBox = function () {\n var arrayOrRef = this.getInheritableAttribute(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].CropBox);\n return this.context.lookupMaybe(arrayOrRef, _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n };\n PDFPageLeaf.prototype.Rotate = function () {\n var numberOrRef = this.getInheritableAttribute(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Rotate);\n return this.context.lookupMaybe(numberOrRef, _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n };\n PDFPageLeaf.prototype.getInheritableAttribute = function (name) {\n var attribute;\n this.ascend(function (node) {\n if (!attribute)\n attribute = node.get(name);\n });\n return attribute;\n };\n PDFPageLeaf.prototype.setParent = function (parentRef) {\n this.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Parent, parentRef);\n };\n PDFPageLeaf.prototype.addContentStream = function (contentStreamRef) {\n var Contents = this.normalizedEntries().Contents || this.context.obj([]);\n this.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Contents, Contents);\n Contents.push(contentStreamRef);\n };\n PDFPageLeaf.prototype.wrapContentStreams = function (startStream, endStream) {\n var Contents = this.Contents();\n if (Contents instanceof _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) {\n Contents.insert(0, startStream);\n Contents.push(endStream);\n return true;\n }\n return false;\n };\n PDFPageLeaf.prototype.addAnnot = function (annotRef) {\n var Annots = this.normalizedEntries().Annots;\n Annots.push(annotRef);\n };\n PDFPageLeaf.prototype.removeAnnot = function (annotRef) {\n var Annots = this.normalizedEntries().Annots;\n var index = Annots.indexOf(annotRef);\n if (index !== undefined) {\n Annots.remove(index);\n }\n };\n PDFPageLeaf.prototype.setFontDictionary = function (name, fontDictRef) {\n var Font = this.normalizedEntries().Font;\n Font.set(name, fontDictRef);\n };\n PDFPageLeaf.prototype.newFontDictionaryKey = function (tag) {\n var Font = this.normalizedEntries().Font;\n return Font.uniqueKey(tag);\n };\n PDFPageLeaf.prototype.newFontDictionary = function (tag, fontDictRef) {\n var key = this.newFontDictionaryKey(tag);\n this.setFontDictionary(key, fontDictRef);\n return key;\n };\n PDFPageLeaf.prototype.setXObject = function (name, xObjectRef) {\n var XObject = this.normalizedEntries().XObject;\n XObject.set(name, xObjectRef);\n };\n PDFPageLeaf.prototype.newXObjectKey = function (tag) {\n var XObject = this.normalizedEntries().XObject;\n return XObject.uniqueKey(tag);\n };\n PDFPageLeaf.prototype.newXObject = function (tag, xObjectRef) {\n var key = this.newXObjectKey(tag);\n this.setXObject(key, xObjectRef);\n return key;\n };\n PDFPageLeaf.prototype.setExtGState = function (name, extGStateRef) {\n var ExtGState = this.normalizedEntries().ExtGState;\n ExtGState.set(name, extGStateRef);\n };\n PDFPageLeaf.prototype.newExtGStateKey = function (tag) {\n var ExtGState = this.normalizedEntries().ExtGState;\n return ExtGState.uniqueKey(tag);\n };\n PDFPageLeaf.prototype.newExtGState = function (tag, extGStateRef) {\n var key = this.newExtGStateKey(tag);\n this.setExtGState(key, extGStateRef);\n return key;\n };\n PDFPageLeaf.prototype.ascend = function (visitor) {\n visitor(this);\n var Parent = this.Parent();\n if (Parent)\n Parent.ascend(visitor);\n };\n PDFPageLeaf.prototype.normalize = function () {\n if (this.normalized)\n return;\n var context = this.context;\n var contentsRef = this.get(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Contents);\n var contents = this.context.lookup(contentsRef);\n if (contents instanceof _objects_PDFStream__WEBPACK_IMPORTED_MODULE_5__[\"default\"]) {\n this.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Contents, context.obj([contentsRef]));\n }\n if (this.autoNormalizeCTM) {\n this.wrapContentStreams(this.context.getPushGraphicsStateContentStream(), this.context.getPopGraphicsStateContentStream());\n }\n // TODO: Clone `Resources` if it is inherited\n var dictOrRef = this.getInheritableAttribute(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Resources);\n var Resources = context.lookupMaybe(dictOrRef, _objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) || context.obj({});\n this.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Resources, Resources);\n // TODO: Clone `Font` if it is inherited\n var Font = Resources.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Font, _objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) || context.obj({});\n Resources.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Font, Font);\n // TODO: Clone `XObject` if it is inherited\n var XObject = Resources.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].XObject, _objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) || context.obj({});\n Resources.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].XObject, XObject);\n // TODO: Clone `ExtGState` if it is inherited\n var ExtGState = Resources.lookupMaybe(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ExtGState, _objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__[\"default\"]) || context.obj({});\n Resources.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ExtGState, ExtGState);\n var Annots = this.Annots() || context.obj([]);\n this.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Annots, Annots);\n this.normalized = true;\n };\n PDFPageLeaf.prototype.normalizedEntries = function () {\n this.normalize();\n var Annots = this.Annots();\n var Resources = this.Resources();\n var Contents = this.Contents();\n return {\n Annots: Annots,\n Resources: Resources,\n Contents: Contents,\n Font: Resources.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Font, _objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__[\"default\"]),\n XObject: Resources.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].XObject, _objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__[\"default\"]),\n ExtGState: Resources.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].ExtGState, _objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__[\"default\"]),\n };\n };\n PDFPageLeaf.InheritableEntries = [\n 'Resources',\n 'MediaBox',\n 'CropBox',\n 'Rotate',\n ];\n PDFPageLeaf.withContextAndParent = function (context, parent) {\n var dict = new Map();\n dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Type, _objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Page);\n dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Parent, parent);\n dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].Resources, context.obj({}));\n dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].MediaBox, context.obj([0, 0, 612, 792]));\n return new PDFPageLeaf(dict, context, false);\n };\n PDFPageLeaf.fromMapWithContext = function (map, context, autoNormalizeCTM) {\n if (autoNormalizeCTM === void 0) { autoNormalizeCTM = true; }\n return new PDFPageLeaf(map, context, autoNormalizeCTM);\n };\n return PDFPageLeaf;\n}(_objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFPageLeaf);\n//# sourceMappingURL=PDFPageLeaf.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFPageLeaf.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFPageTree.js":
/*!*********************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFPageTree.js ***!
\*********************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../objects/PDFArray */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFArray.js\");\n/* harmony import */ var _objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../objects/PDFDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFDict.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _PDFPageLeaf__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./PDFPageLeaf */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFPageLeaf.js\");\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../errors */ \"../simple-mind-map/node_modules/pdf-lib/es/core/errors.js\");\n\n\n\n\n\n\n\nvar PDFPageTree = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFPageTree, _super);\n function PDFPageTree() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n PDFPageTree.prototype.Parent = function () {\n return this.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Parent'));\n };\n PDFPageTree.prototype.Kids = function () {\n return this.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Kids'), _objects_PDFArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"]);\n };\n PDFPageTree.prototype.Count = function () {\n return this.lookup(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Count'), _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_4__[\"default\"]);\n };\n PDFPageTree.prototype.pushTreeNode = function (treeRef) {\n var Kids = this.Kids();\n Kids.push(treeRef);\n };\n PDFPageTree.prototype.pushLeafNode = function (leafRef) {\n var Kids = this.Kids();\n this.insertLeafKid(Kids.size(), leafRef);\n };\n /**\n * Inserts the given ref as a leaf node of this page tree at the specified\n * index (zero-based). Also increments the `Count` of each page tree in the\n * hierarchy to accomodate the new page.\n *\n * Returns the ref of the PDFPageTree node into which `leafRef` was inserted,\n * or `undefined` if it was inserted into the root node (the PDFPageTree upon\n * which the method was first called).\n */\n PDFPageTree.prototype.insertLeafNode = function (leafRef, targetIndex) {\n var Kids = this.Kids();\n var Count = this.Count().asNumber();\n if (targetIndex > Count) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_6__[\"InvalidTargetIndexError\"](targetIndex, Count);\n }\n var leafsRemainingUntilTarget = targetIndex;\n for (var idx = 0, len = Kids.size(); idx < len; idx++) {\n if (leafsRemainingUntilTarget === 0) {\n // Insert page and return\n this.insertLeafKid(idx, leafRef);\n return undefined;\n }\n var kidRef = Kids.get(idx);\n var kid = this.context.lookup(kidRef);\n if (kid instanceof PDFPageTree) {\n if (kid.Count().asNumber() > leafsRemainingUntilTarget) {\n // Dig in\n return (kid.insertLeafNode(leafRef, leafsRemainingUntilTarget) || kidRef);\n }\n else {\n // Move on\n leafsRemainingUntilTarget -= kid.Count().asNumber();\n }\n }\n if (kid instanceof _PDFPageLeaf__WEBPACK_IMPORTED_MODULE_5__[\"default\"]) {\n // Move on\n leafsRemainingUntilTarget -= 1;\n }\n }\n if (leafsRemainingUntilTarget === 0) {\n // Insert page at the end and return\n this.insertLeafKid(Kids.size(), leafRef);\n return undefined;\n }\n // Should never get here if `targetIndex` is valid\n throw new _errors__WEBPACK_IMPORTED_MODULE_6__[\"CorruptPageTreeError\"](targetIndex, 'insertLeafNode');\n };\n /**\n * Removes the leaf node at the specified index (zero-based) from this page\n * tree. Also decrements the `Count` of each page tree in the hierarchy to\n * account for the removed page.\n *\n * If `prune` is true, then intermediate tree nodes will be removed from the\n * tree if they contain 0 children after the leaf node is removed.\n */\n PDFPageTree.prototype.removeLeafNode = function (targetIndex, prune) {\n if (prune === void 0) { prune = true; }\n var Kids = this.Kids();\n var Count = this.Count().asNumber();\n if (targetIndex >= Count) {\n throw new _errors__WEBPACK_IMPORTED_MODULE_6__[\"InvalidTargetIndexError\"](targetIndex, Count);\n }\n var leafsRemainingUntilTarget = targetIndex;\n for (var idx = 0, len = Kids.size(); idx < len; idx++) {\n var kidRef = Kids.get(idx);\n var kid = this.context.lookup(kidRef);\n if (kid instanceof PDFPageTree) {\n if (kid.Count().asNumber() > leafsRemainingUntilTarget) {\n // Dig in\n kid.removeLeafNode(leafsRemainingUntilTarget, prune);\n if (prune && kid.Kids().size() === 0)\n Kids.remove(idx);\n return;\n }\n else {\n // Move on\n leafsRemainingUntilTarget -= kid.Count().asNumber();\n }\n }\n if (kid instanceof _PDFPageLeaf__WEBPACK_IMPORTED_MODULE_5__[\"default\"]) {\n if (leafsRemainingUntilTarget === 0) {\n // Remove page and return\n this.removeKid(idx);\n return;\n }\n else {\n // Move on\n leafsRemainingUntilTarget -= 1;\n }\n }\n }\n // Should never get here if `targetIndex` is valid\n throw new _errors__WEBPACK_IMPORTED_MODULE_6__[\"CorruptPageTreeError\"](targetIndex, 'removeLeafNode');\n };\n PDFPageTree.prototype.ascend = function (visitor) {\n visitor(this);\n var Parent = this.Parent();\n if (Parent)\n Parent.ascend(visitor);\n };\n /** Performs a Post-Order traversal of this page tree */\n PDFPageTree.prototype.traverse = function (visitor) {\n var Kids = this.Kids();\n for (var idx = 0, len = Kids.size(); idx < len; idx++) {\n var kidRef = Kids.get(idx);\n var kid = this.context.lookup(kidRef);\n if (kid instanceof PDFPageTree)\n kid.traverse(visitor);\n visitor(kid, kidRef);\n }\n };\n PDFPageTree.prototype.insertLeafKid = function (kidIdx, leafRef) {\n var Kids = this.Kids();\n this.ascend(function (node) {\n var newCount = node.Count().asNumber() + 1;\n node.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Count'), _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of(newCount));\n });\n Kids.insert(kidIdx, leafRef);\n };\n PDFPageTree.prototype.removeKid = function (kidIdx) {\n var Kids = this.Kids();\n var kid = Kids.lookup(kidIdx);\n if (kid instanceof _PDFPageLeaf__WEBPACK_IMPORTED_MODULE_5__[\"default\"]) {\n this.ascend(function (node) {\n var newCount = node.Count().asNumber() - 1;\n node.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Count'), _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of(newCount));\n });\n }\n Kids.remove(kidIdx);\n };\n PDFPageTree.withContext = function (context, parent) {\n var dict = new Map();\n dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Type'), _objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Pages'));\n dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Kids'), context.obj([]));\n dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Count'), context.obj(0));\n if (parent)\n dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_3__[\"default\"].of('Parent'), parent);\n return new PDFPageTree(dict, context);\n };\n PDFPageTree.fromMapWithContext = function (map, context) {\n return new PDFPageTree(map, context);\n };\n return PDFPageTree;\n}(_objects_PDFDict__WEBPACK_IMPORTED_MODULE_2__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFPageTree);\n//# sourceMappingURL=PDFPageTree.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFPageTree.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js":
/*!***************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js ***!
\***************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar CharCodes;\n(function (CharCodes) {\n CharCodes[CharCodes[\"Null\"] = 0] = \"Null\";\n CharCodes[CharCodes[\"Backspace\"] = 8] = \"Backspace\";\n CharCodes[CharCodes[\"Tab\"] = 9] = \"Tab\";\n CharCodes[CharCodes[\"Newline\"] = 10] = \"Newline\";\n CharCodes[CharCodes[\"FormFeed\"] = 12] = \"FormFeed\";\n CharCodes[CharCodes[\"CarriageReturn\"] = 13] = \"CarriageReturn\";\n CharCodes[CharCodes[\"Space\"] = 32] = \"Space\";\n CharCodes[CharCodes[\"ExclamationPoint\"] = 33] = \"ExclamationPoint\";\n CharCodes[CharCodes[\"Hash\"] = 35] = \"Hash\";\n CharCodes[CharCodes[\"Percent\"] = 37] = \"Percent\";\n CharCodes[CharCodes[\"LeftParen\"] = 40] = \"LeftParen\";\n CharCodes[CharCodes[\"RightParen\"] = 41] = \"RightParen\";\n CharCodes[CharCodes[\"Plus\"] = 43] = \"Plus\";\n CharCodes[CharCodes[\"Minus\"] = 45] = \"Minus\";\n CharCodes[CharCodes[\"Dash\"] = 45] = \"Dash\";\n CharCodes[CharCodes[\"Period\"] = 46] = \"Period\";\n CharCodes[CharCodes[\"ForwardSlash\"] = 47] = \"ForwardSlash\";\n CharCodes[CharCodes[\"Zero\"] = 48] = \"Zero\";\n CharCodes[CharCodes[\"One\"] = 49] = \"One\";\n CharCodes[CharCodes[\"Two\"] = 50] = \"Two\";\n CharCodes[CharCodes[\"Three\"] = 51] = \"Three\";\n CharCodes[CharCodes[\"Four\"] = 52] = \"Four\";\n CharCodes[CharCodes[\"Five\"] = 53] = \"Five\";\n CharCodes[CharCodes[\"Six\"] = 54] = \"Six\";\n CharCodes[CharCodes[\"Seven\"] = 55] = \"Seven\";\n CharCodes[CharCodes[\"Eight\"] = 56] = \"Eight\";\n CharCodes[CharCodes[\"Nine\"] = 57] = \"Nine\";\n CharCodes[CharCodes[\"LessThan\"] = 60] = \"LessThan\";\n CharCodes[CharCodes[\"GreaterThan\"] = 62] = \"GreaterThan\";\n CharCodes[CharCodes[\"A\"] = 65] = \"A\";\n CharCodes[CharCodes[\"D\"] = 68] = \"D\";\n CharCodes[CharCodes[\"E\"] = 69] = \"E\";\n CharCodes[CharCodes[\"F\"] = 70] = \"F\";\n CharCodes[CharCodes[\"O\"] = 79] = \"O\";\n CharCodes[CharCodes[\"P\"] = 80] = \"P\";\n CharCodes[CharCodes[\"R\"] = 82] = \"R\";\n CharCodes[CharCodes[\"LeftSquareBracket\"] = 91] = \"LeftSquareBracket\";\n CharCodes[CharCodes[\"BackSlash\"] = 92] = \"BackSlash\";\n CharCodes[CharCodes[\"RightSquareBracket\"] = 93] = \"RightSquareBracket\";\n CharCodes[CharCodes[\"a\"] = 97] = \"a\";\n CharCodes[CharCodes[\"b\"] = 98] = \"b\";\n CharCodes[CharCodes[\"d\"] = 100] = \"d\";\n CharCodes[CharCodes[\"e\"] = 101] = \"e\";\n CharCodes[CharCodes[\"f\"] = 102] = \"f\";\n CharCodes[CharCodes[\"i\"] = 105] = \"i\";\n CharCodes[CharCodes[\"j\"] = 106] = \"j\";\n CharCodes[CharCodes[\"l\"] = 108] = \"l\";\n CharCodes[CharCodes[\"m\"] = 109] = \"m\";\n CharCodes[CharCodes[\"n\"] = 110] = \"n\";\n CharCodes[CharCodes[\"o\"] = 111] = \"o\";\n CharCodes[CharCodes[\"r\"] = 114] = \"r\";\n CharCodes[CharCodes[\"s\"] = 115] = \"s\";\n CharCodes[CharCodes[\"t\"] = 116] = \"t\";\n CharCodes[CharCodes[\"u\"] = 117] = \"u\";\n CharCodes[CharCodes[\"x\"] = 120] = \"x\";\n CharCodes[CharCodes[\"LeftCurly\"] = 123] = \"LeftCurly\";\n CharCodes[CharCodes[\"RightCurly\"] = 125] = \"RightCurly\";\n CharCodes[CharCodes[\"Tilde\"] = 126] = \"Tilde\";\n})(CharCodes || (CharCodes = {}));\n/* harmony default export */ __webpack_exports__[\"default\"] = (CharCodes);\n//# sourceMappingURL=CharCodes.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Delimiters.js":
/*!****************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Delimiters.js ***!
\****************************************************************************/
/*! exports provided: IsDelimiter */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"IsDelimiter\", function() { return IsDelimiter; });\n/* harmony import */ var _CharCodes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n\nvar IsDelimiter = new Uint8Array(256);\nIsDelimiter[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].LeftParen] = 1;\nIsDelimiter[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].RightParen] = 1;\nIsDelimiter[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].LessThan] = 1;\nIsDelimiter[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].GreaterThan] = 1;\nIsDelimiter[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].LeftSquareBracket] = 1;\nIsDelimiter[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].RightSquareBracket] = 1;\nIsDelimiter[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].LeftCurly] = 1;\nIsDelimiter[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].RightCurly] = 1;\nIsDelimiter[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].ForwardSlash] = 1;\nIsDelimiter[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Percent] = 1;\n//# sourceMappingURL=Delimiters.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Delimiters.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Irregular.js":
/*!***************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Irregular.js ***!
\***************************************************************************/
/*! exports provided: IsIrregular */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"IsIrregular\", function() { return IsIrregular; });\n/* harmony import */ var _CharCodes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony import */ var _Delimiters__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./Delimiters */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Delimiters.js\");\n/* harmony import */ var _Whitespace__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./Whitespace */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Whitespace.js\");\n\n\n\nvar IsIrregular = new Uint8Array(256);\nfor (var idx = 0, len = 256; idx < len; idx++) {\n IsIrregular[idx] = _Whitespace__WEBPACK_IMPORTED_MODULE_2__[\"IsWhitespace\"][idx] || _Delimiters__WEBPACK_IMPORTED_MODULE_1__[\"IsDelimiter\"][idx] ? 1 : 0;\n}\nIsIrregular[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Hash] = 1;\n//# sourceMappingURL=Irregular.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Irregular.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Keywords.js":
/*!**************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Keywords.js ***!
\**************************************************************************/
/*! exports provided: Keywords */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Keywords\", function() { return Keywords; });\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _CharCodes__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n\n\nvar Space = _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Space, CarriageReturn = _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].CarriageReturn, Newline = _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Newline;\nvar stream = [\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].s,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].t,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].r,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].e,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].a,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].m,\n];\nvar endstream = [\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].e,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].n,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].d,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].s,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].t,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].r,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].e,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].a,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].m,\n];\nvar Keywords = {\n header: [\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Percent,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].P,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].D,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].F,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Dash,\n ],\n eof: [\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Percent,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].Percent,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].E,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].O,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].F,\n ],\n obj: [_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].o, _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].b, _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].j],\n endobj: [\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].e,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].n,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].d,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].o,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].b,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].j,\n ],\n xref: [_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].x, _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].r, _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].e, _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].f],\n trailer: [\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].t,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].r,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].a,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].i,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].l,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].e,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].r,\n ],\n startxref: [\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].s,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].t,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].a,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].r,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].t,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].x,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].r,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].e,\n _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].f,\n ],\n true: [_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].t, _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].r, _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].u, _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].e],\n false: [_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].f, _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].a, _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].l, _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].s, _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].e],\n null: [_CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].n, _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].u, _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].l, _CharCodes__WEBPACK_IMPORTED_MODULE_1__[\"default\"].l],\n stream: stream,\n streamEOF1: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(stream, [Space, CarriageReturn, Newline]),\n streamEOF2: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(stream, [CarriageReturn, Newline]),\n streamEOF3: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(stream, [CarriageReturn]),\n streamEOF4: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])(stream, [Newline]),\n endstream: endstream,\n EOF1endstream: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([CarriageReturn, Newline], endstream),\n EOF2endstream: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([CarriageReturn], endstream),\n EOF3endstream: Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__spreadArrays\"])([Newline], endstream),\n};\n//# sourceMappingURL=Keywords.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Keywords.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Numeric.js":
/*!*************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Numeric.js ***!
\*************************************************************************/
/*! exports provided: IsDigit, IsNumericPrefix, IsNumeric */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"IsDigit\", function() { return IsDigit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"IsNumericPrefix\", function() { return IsNumericPrefix; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"IsNumeric\", function() { return IsNumeric; });\n/* harmony import */ var _CharCodes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n\nvar IsDigit = new Uint8Array(256);\nIsDigit[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Zero] = 1;\nIsDigit[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].One] = 1;\nIsDigit[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Two] = 1;\nIsDigit[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Three] = 1;\nIsDigit[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Four] = 1;\nIsDigit[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Five] = 1;\nIsDigit[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Six] = 1;\nIsDigit[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Seven] = 1;\nIsDigit[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Eight] = 1;\nIsDigit[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Nine] = 1;\nvar IsNumericPrefix = new Uint8Array(256);\nIsNumericPrefix[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Period] = 1;\nIsNumericPrefix[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Plus] = 1;\nIsNumericPrefix[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Minus] = 1;\nvar IsNumeric = new Uint8Array(256);\nfor (var idx = 0, len = 256; idx < len; idx++) {\n IsNumeric[idx] = IsDigit[idx] || IsNumericPrefix[idx] ? 1 : 0;\n}\n//# sourceMappingURL=Numeric.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Numeric.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Whitespace.js":
/*!****************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Whitespace.js ***!
\****************************************************************************/
/*! exports provided: IsWhitespace */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"IsWhitespace\", function() { return IsWhitespace; });\n/* harmony import */ var _CharCodes__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n\nvar IsWhitespace = new Uint8Array(256);\nIsWhitespace[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Null] = 1;\nIsWhitespace[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Tab] = 1;\nIsWhitespace[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Newline] = 1;\nIsWhitespace[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].FormFeed] = 1;\nIsWhitespace[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].CarriageReturn] = 1;\nIsWhitespace[_CharCodes__WEBPACK_IMPORTED_MODULE_0__[\"default\"].Space] = 1;\n//# sourceMappingURL=Whitespace.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/syntax/Whitespace.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/writers/PDFStreamWriter.js":
/*!**********************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/writers/PDFStreamWriter.js ***!
\**********************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _document_PDFHeader__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../document/PDFHeader */ \"../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFHeader.js\");\n/* harmony import */ var _document_PDFTrailer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../document/PDFTrailer */ \"../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFTrailer.js\");\n/* harmony import */ var _objects_PDFInvalidObject__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../objects/PDFInvalidObject */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFInvalidObject.js\");\n/* harmony import */ var _objects_PDFName__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../objects/PDFName */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFName.js\");\n/* harmony import */ var _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../objects/PDFNumber */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFNumber.js\");\n/* harmony import */ var _objects_PDFRef__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../objects/PDFRef */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFRef.js\");\n/* harmony import */ var _objects_PDFStream__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../objects/PDFStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/objects/PDFStream.js\");\n/* harmony import */ var _structures_PDFCrossRefStream__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../structures/PDFCrossRefStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFCrossRefStream.js\");\n/* harmony import */ var _structures_PDFObjectStream__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../structures/PDFObjectStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFObjectStream.js\");\n/* harmony import */ var _PDFWriter__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./PDFWriter */ \"../simple-mind-map/node_modules/pdf-lib/es/core/writers/PDFWriter.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n\n\n\n\n\n\nvar PDFStreamWriter = /** @class */ (function (_super) {\n Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__extends\"])(PDFStreamWriter, _super);\n function PDFStreamWriter(context, objectsPerTick, encodeStreams, objectsPerStream) {\n var _this = _super.call(this, context, objectsPerTick) || this;\n _this.encodeStreams = encodeStreams;\n _this.objectsPerStream = objectsPerStream;\n return _this;\n }\n PDFStreamWriter.prototype.computeBufferSize = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var objectNumber, header, size, xrefStream, uncompressedObjects, compressedObjects, objectStreamRefs, indirectObjects, idx, len, indirectObject, ref, object, shouldNotCompress, chunk, objectStreamRef, idx, len, chunk, ref, objectStream, xrefStreamRef, xrefOffset, trailer;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0:\n objectNumber = this.context.largestObjectNumber + 1;\n header = _document_PDFHeader__WEBPACK_IMPORTED_MODULE_1__[\"default\"].forVersion(1, 7);\n size = header.sizeInBytes() + 2;\n xrefStream = _structures_PDFCrossRefStream__WEBPACK_IMPORTED_MODULE_8__[\"default\"].create(this.createTrailerDict(), this.encodeStreams);\n uncompressedObjects = [];\n compressedObjects = [];\n objectStreamRefs = [];\n indirectObjects = this.context.enumerateIndirectObjects();\n idx = 0, len = indirectObjects.length;\n _a.label = 1;\n case 1:\n if (!(idx < len)) return [3 /*break*/, 6];\n indirectObject = indirectObjects[idx];\n ref = indirectObject[0], object = indirectObject[1];\n shouldNotCompress = ref === this.context.trailerInfo.Encrypt ||\n object instanceof _objects_PDFStream__WEBPACK_IMPORTED_MODULE_7__[\"default\"] ||\n object instanceof _objects_PDFInvalidObject__WEBPACK_IMPORTED_MODULE_3__[\"default\"] ||\n ref.generationNumber !== 0;\n if (!shouldNotCompress) return [3 /*break*/, 4];\n uncompressedObjects.push(indirectObject);\n xrefStream.addUncompressedEntry(ref, size);\n size += this.computeIndirectObjectSize(indirectObject);\n if (!this.shouldWaitForTick(1)) return [3 /*break*/, 3];\n return [4 /*yield*/, Object(_utils__WEBPACK_IMPORTED_MODULE_11__[\"waitForTick\"])()];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [3 /*break*/, 5];\n case 4:\n chunk = Object(_utils__WEBPACK_IMPORTED_MODULE_11__[\"last\"])(compressedObjects);\n objectStreamRef = Object(_utils__WEBPACK_IMPORTED_MODULE_11__[\"last\"])(objectStreamRefs);\n if (!chunk || chunk.length % this.objectsPerStream === 0) {\n chunk = [];\n compressedObjects.push(chunk);\n objectStreamRef = _objects_PDFRef__WEBPACK_IMPORTED_MODULE_6__[\"default\"].of(objectNumber++);\n objectStreamRefs.push(objectStreamRef);\n }\n xrefStream.addCompressedEntry(ref, objectStreamRef, chunk.length);\n chunk.push(indirectObject);\n _a.label = 5;\n case 5:\n idx++;\n return [3 /*break*/, 1];\n case 6:\n idx = 0, len = compressedObjects.length;\n _a.label = 7;\n case 7:\n if (!(idx < len)) return [3 /*break*/, 10];\n chunk = compressedObjects[idx];\n ref = objectStreamRefs[idx];\n objectStream = _structures_PDFObjectStream__WEBPACK_IMPORTED_MODULE_9__[\"default\"].withContextAndObjects(this.context, chunk, this.encodeStreams);\n xrefStream.addUncompressedEntry(ref, size);\n size += this.computeIndirectObjectSize([ref, objectStream]);\n uncompressedObjects.push([ref, objectStream]);\n if (!this.shouldWaitForTick(chunk.length)) return [3 /*break*/, 9];\n return [4 /*yield*/, Object(_utils__WEBPACK_IMPORTED_MODULE_11__[\"waitForTick\"])()];\n case 8:\n _a.sent();\n _a.label = 9;\n case 9:\n idx++;\n return [3 /*break*/, 7];\n case 10:\n xrefStreamRef = _objects_PDFRef__WEBPACK_IMPORTED_MODULE_6__[\"default\"].of(objectNumber++);\n xrefStream.dict.set(_objects_PDFName__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of('Size'), _objects_PDFNumber__WEBPACK_IMPORTED_MODULE_5__[\"default\"].of(objectNumber));\n xrefStream.addUncompressedEntry(xrefStreamRef, size);\n xrefOffset = size;\n size += this.computeIndirectObjectSize([xrefStreamRef, xrefStream]);\n uncompressedObjects.push([xrefStreamRef, xrefStream]);\n trailer = _document_PDFTrailer__WEBPACK_IMPORTED_MODULE_2__[\"default\"].forLastCrossRefSectionOffset(xrefOffset);\n size += trailer.sizeInBytes();\n return [2 /*return*/, { size: size, header: header, indirectObjects: uncompressedObjects, trailer: trailer }];\n }\n });\n });\n };\n PDFStreamWriter.forContext = function (context, objectsPerTick, encodeStreams, objectsPerStream) {\n if (encodeStreams === void 0) { encodeStreams = true; }\n if (objectsPerStream === void 0) { objectsPerStream = 50; }\n return new PDFStreamWriter(context, objectsPerTick, encodeStreams, objectsPerStream);\n };\n return PDFStreamWriter;\n}(_PDFWriter__WEBPACK_IMPORTED_MODULE_10__[\"default\"]));\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFStreamWriter);\n//# sourceMappingURL=PDFStreamWriter.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/writers/PDFStreamWriter.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/core/writers/PDFWriter.js":
/*!****************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/core/writers/PDFWriter.js ***!
\****************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var tslib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! tslib */ \"../simple-mind-map/node_modules/tslib/tslib.es6.js\");\n/* harmony import */ var _document_PDFCrossRefSection__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../document/PDFCrossRefSection */ \"../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFCrossRefSection.js\");\n/* harmony import */ var _document_PDFHeader__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../document/PDFHeader */ \"../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFHeader.js\");\n/* harmony import */ var _document_PDFTrailer__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../document/PDFTrailer */ \"../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFTrailer.js\");\n/* harmony import */ var _document_PDFTrailerDict__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../document/PDFTrailerDict */ \"../simple-mind-map/node_modules/pdf-lib/es/core/document/PDFTrailerDict.js\");\n/* harmony import */ var _structures_PDFObjectStream__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../structures/PDFObjectStream */ \"../simple-mind-map/node_modules/pdf-lib/es/core/structures/PDFObjectStream.js\");\n/* harmony import */ var _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../syntax/CharCodes */ \"../simple-mind-map/node_modules/pdf-lib/es/core/syntax/CharCodes.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../../utils */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n\n\n\n\n\n\n\n\nvar PDFWriter = /** @class */ (function () {\n function PDFWriter(context, objectsPerTick) {\n var _this = this;\n this.parsedObjects = 0;\n this.shouldWaitForTick = function (n) {\n _this.parsedObjects += n;\n return _this.parsedObjects % _this.objectsPerTick === 0;\n };\n this.context = context;\n this.objectsPerTick = objectsPerTick;\n }\n PDFWriter.prototype.serializeToBuffer = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var _a, size, header, indirectObjects, xref, trailerDict, trailer, offset, buffer, idx, len, _b, ref, object, objectNumber, generationNumber, n;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_c) {\n switch (_c.label) {\n case 0: return [4 /*yield*/, this.computeBufferSize()];\n case 1:\n _a = _c.sent(), size = _a.size, header = _a.header, indirectObjects = _a.indirectObjects, xref = _a.xref, trailerDict = _a.trailerDict, trailer = _a.trailer;\n offset = 0;\n buffer = new Uint8Array(size);\n offset += header.copyBytesInto(buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Newline;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Newline;\n idx = 0, len = indirectObjects.length;\n _c.label = 2;\n case 2:\n if (!(idx < len)) return [3 /*break*/, 5];\n _b = indirectObjects[idx], ref = _b[0], object = _b[1];\n objectNumber = String(ref.objectNumber);\n offset += Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"copyStringIntoBuffer\"])(objectNumber, buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Space;\n generationNumber = String(ref.generationNumber);\n offset += Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"copyStringIntoBuffer\"])(generationNumber, buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Space;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].o;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].b;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].j;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Newline;\n offset += object.copyBytesInto(buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Newline;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].e;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].n;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].d;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].o;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].b;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].j;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Newline;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Newline;\n n = object instanceof _structures_PDFObjectStream__WEBPACK_IMPORTED_MODULE_5__[\"default\"] ? object.getObjectsCount() : 1;\n if (!this.shouldWaitForTick(n)) return [3 /*break*/, 4];\n return [4 /*yield*/, Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"waitForTick\"])()];\n case 3:\n _c.sent();\n _c.label = 4;\n case 4:\n idx++;\n return [3 /*break*/, 2];\n case 5:\n if (xref) {\n offset += xref.copyBytesInto(buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Newline;\n }\n if (trailerDict) {\n offset += trailerDict.copyBytesInto(buffer, offset);\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Newline;\n buffer[offset++] = _syntax_CharCodes__WEBPACK_IMPORTED_MODULE_6__[\"default\"].Newline;\n }\n offset += trailer.copyBytesInto(buffer, offset);\n return [2 /*return*/, buffer];\n }\n });\n });\n };\n PDFWriter.prototype.computeIndirectObjectSize = function (_a) {\n var ref = _a[0], object = _a[1];\n var refSize = ref.sizeInBytes() + 3; // 'R' -> 'obj\\n'\n var objectSize = object.sizeInBytes() + 9; // '\\nendobj\\n\\n'\n return refSize + objectSize;\n };\n PDFWriter.prototype.createTrailerDict = function () {\n return this.context.obj({\n Size: this.context.largestObjectNumber + 1,\n Root: this.context.trailerInfo.Root,\n Encrypt: this.context.trailerInfo.Encrypt,\n Info: this.context.trailerInfo.Info,\n ID: this.context.trailerInfo.ID,\n });\n };\n PDFWriter.prototype.computeBufferSize = function () {\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__awaiter\"])(this, void 0, void 0, function () {\n var header, size, xref, indirectObjects, idx, len, indirectObject, ref, xrefOffset, trailerDict, trailer;\n return Object(tslib__WEBPACK_IMPORTED_MODULE_0__[\"__generator\"])(this, function (_a) {\n switch (_a.label) {\n case 0:\n header = _document_PDFHeader__WEBPACK_IMPORTED_MODULE_2__[\"default\"].forVersion(1, 7);\n size = header.sizeInBytes() + 2;\n xref = _document_PDFCrossRefSection__WEBPACK_IMPORTED_MODULE_1__[\"default\"].create();\n indirectObjects = this.context.enumerateIndirectObjects();\n idx = 0, len = indirectObjects.length;\n _a.label = 1;\n case 1:\n if (!(idx < len)) return [3 /*break*/, 4];\n indirectObject = indirectObjects[idx];\n ref = indirectObject[0];\n xref.addEntry(ref, size);\n size += this.computeIndirectObjectSize(indirectObject);\n if (!this.shouldWaitForTick(1)) return [3 /*break*/, 3];\n return [4 /*yield*/, Object(_utils__WEBPACK_IMPORTED_MODULE_7__[\"waitForTick\"])()];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3:\n idx++;\n return [3 /*break*/, 1];\n case 4:\n xrefOffset = size;\n size += xref.sizeInBytes() + 1; // '\\n'\n trailerDict = _document_PDFTrailerDict__WEBPACK_IMPORTED_MODULE_4__[\"default\"].of(this.createTrailerDict());\n size += trailerDict.sizeInBytes() + 2; // '\\n\\n'\n trailer = _document_PDFTrailer__WEBPACK_IMPORTED_MODULE_3__[\"default\"].forLastCrossRefSectionOffset(xrefOffset);\n size += trailer.sizeInBytes();\n return [2 /*return*/, { size: size, header: header, indirectObjects: indirectObjects, xref: xref, trailerDict: trailerDict, trailer: trailer }];\n }\n });\n });\n };\n PDFWriter.forContext = function (context, objectsPerTick) {\n return new PDFWriter(context, objectsPerTick);\n };\n return PDFWriter;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (PDFWriter);\n//# sourceMappingURL=PDFWriter.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/core/writers/PDFWriter.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/index.js":
/*!***********************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/index.js ***!
\***********************************************************/
/*! no static exports found */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _api_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./api/index */ \"../simple-mind-map/node_modules/pdf-lib/es/api/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"normalizeAppearance\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"normalizeAppearance\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultCheckBoxAppearanceProvider\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"defaultCheckBoxAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultRadioGroupAppearanceProvider\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"defaultRadioGroupAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultButtonAppearanceProvider\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"defaultButtonAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultTextFieldAppearanceProvider\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"defaultTextFieldAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultDropdownAppearanceProvider\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"defaultDropdownAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"defaultOptionListAppearanceProvider\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"defaultOptionListAppearanceProvider\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFButton\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PDFButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFCheckBox\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PDFCheckBox\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFDropdown\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PDFDropdown\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFField\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PDFField\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFForm\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PDFForm\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFOptionList\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PDFOptionList\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFRadioGroup\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PDFRadioGroup\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFSignature\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PDFSignature\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFTextField\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PDFTextField\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TextAlignment\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"TextAlignment\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"layoutMultilineText\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"layoutMultilineText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"layoutCombedText\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"layoutCombedText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"layoutSinglelineText\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"layoutSinglelineText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ColorTypes\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"ColorTypes\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"grayscale\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"grayscale\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rgb\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"rgb\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cmyk\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"cmyk\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setFillingColor\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setFillingColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setStrokingColor\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setStrokingColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"componentsToColor\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"componentsToColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"colorToComponents\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"colorToComponents\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"EncryptedPDFError\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"EncryptedPDFError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FontkitNotRegisteredError\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"FontkitNotRegisteredError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ForeignPageError\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"ForeignPageError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RemovePageFromEmptyDocumentError\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"RemovePageFromEmptyDocumentError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NoSuchFieldError\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"NoSuchFieldError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UnexpectedFieldTypeError\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"UnexpectedFieldTypeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MissingOnValueCheckError\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"MissingOnValueCheckError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FieldAlreadyExistsError\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"FieldAlreadyExistsError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InvalidFieldNamePartError\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"InvalidFieldNamePartError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FieldExistsAsNonTerminalError\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"FieldExistsAsNonTerminalError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RichTextFieldReadError\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"RichTextFieldReadError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CombedTextLayoutError\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"CombedTextLayoutError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ExceededMaxLengthError\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"ExceededMaxLengthError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InvalidMaxLengthError\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"InvalidMaxLengthError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ImageAlignment\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"ImageAlignment\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"asPDFName\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"asPDFName\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"asPDFNumber\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"asPDFNumber\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"asNumber\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"asNumber\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawText\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawLinesOfText\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawLinesOfText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawImage\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawImage\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawPage\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawPage\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawLine\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawLine\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawRectangle\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawRectangle\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawEllipsePath\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawEllipsePath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawEllipse\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawEllipse\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawSvgPath\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawSvgPath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawCheckMark\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawCheckMark\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rotateInPlace\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"rotateInPlace\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawCheckBox\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawCheckBox\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawRadioButton\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawRadioButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawButton\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawTextLines\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawTextLines\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawTextField\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawTextField\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawOptionList\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawOptionList\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clip\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"clip\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"clipEvenOdd\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"clipEvenOdd\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"concatTransformationMatrix\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"concatTransformationMatrix\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"translate\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"translate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"scale\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"scale\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rotateRadians\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"rotateRadians\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rotateDegrees\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"rotateDegrees\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"skewRadians\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"skewRadians\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"skewDegrees\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"skewDegrees\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setDashPattern\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setDashPattern\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"restoreDashPattern\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"restoreDashPattern\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LineCapStyle\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"LineCapStyle\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setLineCap\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setLineCap\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"LineJoinStyle\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"LineJoinStyle\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setLineJoin\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setLineJoin\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setGraphicsState\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setGraphicsState\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pushGraphicsState\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"pushGraphicsState\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"popGraphicsState\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"popGraphicsState\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setLineWidth\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setLineWidth\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"appendBezierCurve\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"appendBezierCurve\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"appendQuadraticCurve\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"appendQuadraticCurve\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"closePath\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"closePath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"moveTo\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"moveTo\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lineTo\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"lineTo\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rectangle\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"rectangle\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"square\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"square\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"stroke\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"stroke\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"fill\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"fill\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"fillAndStroke\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"fillAndStroke\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endPath\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"endPath\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"nextLine\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"nextLine\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"moveText\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"moveText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"showText\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"showText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"beginText\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"beginText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endText\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"endText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setFontAndSize\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setFontAndSize\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setCharacterSpacing\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setCharacterSpacing\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setWordSpacing\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setWordSpacing\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setCharacterSqueeze\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setCharacterSqueeze\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setLineHeight\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setLineHeight\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setTextRise\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setTextRise\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"TextRenderingMode\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"TextRenderingMode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setTextRenderingMode\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setTextRenderingMode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setTextMatrix\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setTextMatrix\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rotateAndSkewTextRadiansAndTranslate\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"rotateAndSkewTextRadiansAndTranslate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rotateAndSkewTextDegreesAndTranslate\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"rotateAndSkewTextDegreesAndTranslate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"drawObject\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"drawObject\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setFillingGrayscaleColor\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setFillingGrayscaleColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setStrokingGrayscaleColor\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setStrokingGrayscaleColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setFillingRgbColor\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setFillingRgbColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setStrokingRgbColor\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setStrokingRgbColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setFillingCmykColor\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setFillingCmykColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"setStrokingCmykColor\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"setStrokingCmykColor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"beginMarkedContent\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"beginMarkedContent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"endMarkedContent\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"endMarkedContent\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"RotationTypes\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"RotationTypes\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"radians\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"radians\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"degrees\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"degrees\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"degreesToRadians\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"degreesToRadians\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"radiansToDegrees\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"radiansToDegrees\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toRadians\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"toRadians\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toDegrees\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"toDegrees\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reduceRotation\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"reduceRotation\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"adjustDimsForRotation\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"adjustDimsForRotation\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rotateRectangle\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"rotateRectangle\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PageSizes\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PageSizes\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"BlendMode\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"BlendMode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ParseSpeeds\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"ParseSpeeds\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StandardFonts\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"StandardFonts\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFDocument\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PDFDocument\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFFont\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PDFFont\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFImage\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PDFImage\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFPage\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PDFPage\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFEmbeddedPage\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PDFEmbeddedPage\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFJavaScript\", function() { return _api_index__WEBPACK_IMPORTED_MODULE_0__[\"PDFJavaScript\"]; });\n\n/* harmony import */ var _core_index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./core/index */ \"../simple-mind-map/node_modules/pdf-lib/es/core/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MethodNotImplementedError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"MethodNotImplementedError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PrivateConstructorError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PrivateConstructorError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UnexpectedObjectTypeError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"UnexpectedObjectTypeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UnsupportedEncodingError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"UnsupportedEncodingError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ReparseError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"ReparseError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MissingCatalogError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"MissingCatalogError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MissingPageContentsEmbeddingError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"MissingPageContentsEmbeddingError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UnrecognizedStreamTypeError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"UnrecognizedStreamTypeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PageEmbeddingMismatchedContextError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PageEmbeddingMismatchedContextError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFArrayIsNotRectangleError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFArrayIsNotRectangleError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InvalidPDFDateStringError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"InvalidPDFDateStringError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InvalidTargetIndexError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"InvalidTargetIndexError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CorruptPageTreeError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"CorruptPageTreeError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"IndexOutOfBoundsError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"IndexOutOfBoundsError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"InvalidAcroFieldValueError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"InvalidAcroFieldValueError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MultiSelectValueError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"MultiSelectValueError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MissingDAEntryError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"MissingDAEntryError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MissingTfOperatorError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"MissingTfOperatorError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NumberParsingError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"NumberParsingError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFParsingError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFParsingError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NextByteAssertionError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"NextByteAssertionError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFObjectParsingError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFObjectParsingError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFInvalidObjectParsingError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFInvalidObjectParsingError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFStreamParsingError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFStreamParsingError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"UnbalancedParenthesisError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"UnbalancedParenthesisError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StalledParserError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"StalledParserError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MissingPDFHeaderError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"MissingPDFHeaderError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"MissingKeywordError\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"MissingKeywordError\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CharCodes\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"CharCodes\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFContext\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFContext\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFObjectCopier\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFObjectCopier\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFWriter\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFWriter\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFStreamWriter\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFStreamWriter\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFHeader\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFHeader\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFTrailer\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFTrailer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFTrailerDict\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFTrailerDict\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFCrossRefSection\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFCrossRefSection\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StandardFontEmbedder\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"StandardFontEmbedder\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CustomFontEmbedder\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"CustomFontEmbedder\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"CustomFontSubsetEmbedder\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"CustomFontSubsetEmbedder\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"FileEmbedder\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"FileEmbedder\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AFRelationship\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"AFRelationship\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"JpegEmbedder\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"JpegEmbedder\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PngEmbedder\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PngEmbedder\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFPageEmbedder\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFPageEmbedder\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ViewerPreferences\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"ViewerPreferences\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"NonFullScreenPageMode\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"NonFullScreenPageMode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"ReadingDirection\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"ReadingDirection\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PrintScaling\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PrintScaling\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Duplex\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"Duplex\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFObject\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFObject\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFBool\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFBool\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFNumber\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFNumber\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFString\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFHexString\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFHexString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFName\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFName\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFNull\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFNull\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFArray\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFDict\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFDict\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFRef\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFRef\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFInvalidObject\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFInvalidObject\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFStream\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFStream\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFRawStream\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFRawStream\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFCatalog\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFCatalog\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFContentStream\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFContentStream\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFCrossRefStream\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFCrossRefStream\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFObjectStream\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFObjectStream\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFPageTree\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFPageTree\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFPageLeaf\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFPageLeaf\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFFlateStream\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFFlateStream\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFOperator\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFOperator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFOperatorNames\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFOperatorNames\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFObjectParser\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFObjectParser\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFObjectStreamParser\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFObjectStreamParser\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFParser\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFParser\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFXRefStreamParser\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFXRefStreamParser\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"decodePDFRawStream\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"decodePDFRawStream\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAnnotation\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFAnnotation\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFWidgetAnnotation\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFWidgetAnnotation\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AppearanceCharacteristics\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"AppearanceCharacteristics\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AnnotationFlags\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"AnnotationFlags\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroButton\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFAcroButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroCheckBox\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFAcroCheckBox\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroChoice\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFAcroChoice\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroComboBox\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFAcroComboBox\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroField\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFAcroField\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroForm\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFAcroForm\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroListBox\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFAcroListBox\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroNonTerminal\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFAcroNonTerminal\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroPushButton\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFAcroPushButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroRadioButton\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFAcroRadioButton\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroSignature\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFAcroSignature\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroTerminal\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFAcroTerminal\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"PDFAcroText\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"PDFAcroText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AcroFieldFlags\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"AcroFieldFlags\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AcroButtonFlags\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"AcroButtonFlags\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AcroTextFlags\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"AcroTextFlags\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AcroChoiceFlags\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"AcroChoiceFlags\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPDFAcroFields\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"createPDFAcroFields\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createPDFAcroField\", function() { return _core_index__WEBPACK_IMPORTED_MODULE_1__[\"createPDFAcroField\"]; });\n\n/* harmony import */ var _types_index__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./types/index */ \"../simple-mind-map/node_modules/pdf-lib/es/types/index.js\");\n/* harmony import */ var _types_index__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_types_index__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony reexport (unknown) */ for(var __WEBPACK_IMPORT_KEY__ in _types_index__WEBPACK_IMPORTED_MODULE_2__) if([\"default\",\"normalizeAppearance\",\"defaultCheckBoxAppearanceProvider\",\"defaultRadioGroupAppearanceProvider\",\"defaultButtonAppearanceProvider\",\"defaultTextFieldAppearanceProvider\",\"defaultDropdownAppearanceProvider\",\"defaultOptionListAppearanceProvider\",\"PDFButton\",\"PDFCheckBox\",\"PDFDropdown\",\"PDFField\",\"PDFForm\",\"PDFOptionList\",\"PDFRadioGroup\",\"PDFSignature\",\"PDFTextField\",\"TextAlignment\",\"layoutMultilineText\",\"layoutCombedText\",\"layoutSinglelineText\",\"ColorTypes\",\"grayscale\",\"rgb\",\"cmyk\",\"setFillingColor\",\"setStrokingColor\",\"componentsToColor\",\"colorToComponents\",\"EncryptedPDFError\",\"FontkitNotRegisteredError\",\"ForeignPageError\",\"RemovePageFromEmptyDocumentError\",\"NoSuchFieldError\",\"UnexpectedFieldTypeError\",\"MissingOnValueCheckError\",\"FieldAlreadyExistsError\",\"InvalidFieldNamePartError\",\"FieldExistsAsNonTerminalError\",\"RichTextFieldReadError\",\"CombedTextLayoutError\",\"ExceededMaxLengthError\",\"InvalidMaxLengthError\",\"ImageAlignment\",\"asPDFName\",\"asPDFNumber\",\"asNumber\",\"drawText\",\"drawLinesOfText\",\"drawImage\",\"drawPage\",\"drawLine\",\"drawRectangle\",\"drawEllipsePath\",\"drawEllipse\",\"drawSvgPath\",\"drawCheckMark\",\"rotateInPlace\",\"drawCheckBox\",\"drawRadioButton\",\"drawButton\",\"drawTextLines\",\"drawTextField\",\"drawOptionList\",\"clip\",\"clipEvenOdd\",\"concatTransformationMatrix\",\"translate\",\"scale\",\"rotateRadians\",\"rotateDegrees\",\"skewRadians\",\"skewDegrees\",\"setDashPattern\",\"restoreDashPattern\",\"LineCapStyle\",\"setLineCap\",\"LineJoinStyle\",\"setLineJoin\",\"setGraphicsState\",\"pushGraphicsState\",\"popGraphicsState\",\"setLineWidth\",\"appendBezierCurve\",\"appendQuadraticCurve\",\"closePath\",\"moveTo\",\"lineTo\",\"rectangle\",\"square\",\"stroke\",\"fill\",\"fillAndStroke\",\"endPath\",\"nextLine\",\"moveText\",\"showText\",\"beginText\",\"endText\",\"setFontAndSize\",\"setCharacterSpacing\",\"setWordSpacing\",\"setCharacterSqueeze\",\"setLineHeight\",\"setTextRise\",\"TextRenderingMode\",\"setTextRenderingMode\",\"setTextMatrix\",\"rotateAndSkewTextRadiansAndTranslate\",\"rotateAndSkewTextDegreesAndTranslate\",\"drawObject\",\"setFillingGrayscaleColor\",\"setStrokingGrayscaleColor\",\"setFillingRgbColor\",\"setStrokingRgbColor\",\"setFillingCmykColor\",\"setStrokingCmykColor\",\"beginMarkedContent\",\"endMarkedContent\",\"RotationTypes\",\"radians\",\"degrees\",\"degreesToRadians\",\"radiansToDegrees\",\"toRadians\",\"toDegrees\",\"reduceRotation\",\"adjustDimsForRotation\",\"rotateRectangle\",\"PageSizes\",\"BlendMode\",\"ParseSpeeds\",\"StandardFonts\",\"PDFDocument\",\"PDFFont\",\"PDFImage\",\"PDFPage\",\"PDFEmbeddedPage\",\"PDFJavaScript\",\"MethodNotImplementedError\",\"PrivateConstructorError\",\"UnexpectedObjectTypeError\",\"UnsupportedEncodingError\",\"ReparseError\",\"MissingCatalogError\",\"MissingPageContentsEmbeddingError\",\"UnrecognizedStreamTypeError\",\"PageEmbeddingMismatchedContextError\",\"PDFArrayIsNotRectangleError\",\"InvalidPDFDateStringError\",\"InvalidTargetIndexError\",\"CorruptPageTreeError\",\"IndexOutOfBoundsError\",\"InvalidAcroFieldValueError\",\"MultiSelectValueError\",\"MissingDAEntryError\",\"MissingTfOperatorError\",\"NumberParsingError\",\"PDFParsingError\",\"NextByteAssertionError\",\"PDFObjectParsingError\",\"PDFInvalidObjectParsingError\",\"PDFStreamParsingError\",\"UnbalancedParenthesisError\",\"StalledParserError\",\"MissingPDFHeaderError\",\"MissingKeywordError\",\"CharCodes\",\"PDFContext\",\"PDFObjectCopier\",\"PDFWriter\",\"PDFStreamWriter\",\"PDFHeader\",\"PDFTrailer\",\"PDFTrailerDict\",\"PDFCrossRefSection\",\"StandardFontEmbedder\",\"CustomFontEmbedder\",\"CustomFontSubsetEmbedder\",\"FileEmbedder\",\"AFRelationship\",\"JpegEmbedder\",\"PngEmbedder\",\"PDFPageEmbedder\",\"ViewerPreferences\",\"NonFullScreenPageMode\",\"ReadingDirection\",\"PrintScaling\",\"Duplex\",\"PDFObject\",\"PDFBool\",\"PDFNumber\",\"PDFString\",\"PDFHexString\",\"PDFName\",\"PDFNull\",\"PDFArray\",\"PDFDict\",\"PDFRef\",\"PDFInvalidObject\",\"PDFStream\",\"PDFRawStream\",\"PDFCatalog\",\"PDFContentStream\",\"PDFCrossRefStream\",\"PDFObjectStream\",\"PDFPageTree\",\"PDFPageLeaf\",\"PDFFlateStream\",\"PDFOperator\",\"PDFOperatorNames\",\"PDFObjectParser\",\"PDFObjectStreamParser\",\"PDFParser\",\"PDFXRefStreamParser\",\"decodePDFRawStream\",\"PDFAnnotation\",\"PDFWidgetAnnotation\",\"AppearanceCharacteristics\",\"AnnotationFlags\",\"PDFAcroButton\",\"PDFAcroCheckBox\",\"PDFAcroChoice\",\"PDFAcroComboBox\",\"PDFAcroField\",\"PDFAcroForm\",\"PDFAcroListBox\",\"PDFAcroNonTerminal\",\"PDFAcroPushButton\",\"PDFAcroRadioButton\",\"PDFAcroSignature\",\"PDFAcroTerminal\",\"PDFAcroText\",\"AcroFieldFlags\",\"AcroButtonFlags\",\"AcroTextFlags\",\"AcroChoiceFlags\",\"createPDFAcroFields\",\"createPDFAcroField\"].indexOf(__WEBPACK_IMPORT_KEY__) < 0) (function(key) { __webpack_require__.d(__webpack_exports__, key, function() { return _types_index__WEBPACK_IMPORTED_MODULE_2__[key]; }) }(__WEBPACK_IMPORT_KEY__));\n/* harmony import */ var _utils_index__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./utils/index */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/index.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"last\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"last\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"typedArrayFor\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"typedArrayFor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeIntoTypedArray\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"mergeIntoTypedArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeUint8Arrays\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"mergeUint8Arrays\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"arrayAsString\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"arrayAsString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"byAscendingId\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"byAscendingId\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedUniq\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"sortedUniq\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reverseArray\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"reverseArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sum\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"sum\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"range\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"range\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pluckIndices\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"pluckIndices\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"canBeConvertedToUint8Array\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"canBeConvertedToUint8Array\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toUint8Array\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"toUint8Array\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"waitForTick\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"waitForTick\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toCharCode\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"toCharCode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toCodePoint\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"toCodePoint\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toHexStringOfMinLength\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"toHexStringOfMinLength\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toHexString\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"toHexString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"charFromCode\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"charFromCode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"charFromHexCode\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"charFromHexCode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"padStart\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"padStart\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"copyStringIntoBuffer\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"copyStringIntoBuffer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"addRandomSuffix\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"addRandomSuffix\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"escapeRegExp\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"escapeRegExp\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cleanText\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"cleanText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"escapedNewlineChars\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"escapedNewlineChars\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"newlineChars\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"newlineChars\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isNewlineChar\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"isNewlineChar\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lineSplit\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"lineSplit\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeLines\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"mergeLines\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"charAtIndex\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"charAtIndex\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"charSplit\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"charSplit\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"breakTextIntoLines\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"breakTextIntoLines\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"parseDate\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"parseDate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findLastMatch\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"findLastMatch\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utf8Encode\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"utf8Encode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utf16Encode\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"utf16Encode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isWithinBMP\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"isWithinBMP\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasSurrogates\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"hasSurrogates\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"highSurrogate\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"highSurrogate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lowSurrogate\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"lowSurrogate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utf16Decode\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"utf16Decode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasUtf16BOM\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"hasUtf16BOM\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"numberToString\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"numberToString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sizeInBytes\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"sizeInBytes\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bytesFor\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"bytesFor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"error\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"error\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"encodeToBase64\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"encodeToBase64\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"decodeFromBase64\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"decodeFromBase64\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"decodeFromBase64DataUri\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"decodeFromBase64DataUri\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"values\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"values\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StandardFontValues\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"StandardFontValues\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isStandardFont\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"isStandardFont\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rectanglesAreEqual\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"rectanglesAreEqual\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"backtick\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"backtick\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"singleQuote\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"singleQuote\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createValueErrorMsg\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"createValueErrorMsg\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertIsOneOf\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"assertIsOneOf\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertIsOneOfOrUndefined\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"assertIsOneOfOrUndefined\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertIsSubset\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"assertIsSubset\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getType\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"getType\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isType\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"isType\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createTypeErrorMsg\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"createTypeErrorMsg\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertIs\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"assertIs\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertOrUndefined\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"assertOrUndefined\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertEachIs\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"assertEachIs\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertRange\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"assertRange\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertRangeOrUndefined\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"assertRangeOrUndefined\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertMultiple\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"assertMultiple\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertInteger\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"assertInteger\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertPositive\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"assertPositive\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pdfDocEncodingDecode\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"pdfDocEncodingDecode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Cache\", function() { return _utils_index__WEBPACK_IMPORTED_MODULE_3__[\"Cache\"]; });\n\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/index.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/types/index.js":
/*!*****************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/types/index.js ***!
\*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports) {
eval("//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/types/index.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/utils/Cache.js":
/*!*****************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/utils/Cache.js ***!
\*****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar Cache = /** @class */ (function () {\n function Cache(populate) {\n this.populate = populate;\n this.value = undefined;\n }\n Cache.prototype.getValue = function () {\n return this.value;\n };\n Cache.prototype.access = function () {\n if (!this.value)\n this.value = this.populate();\n return this.value;\n };\n Cache.prototype.invalidate = function () {\n this.value = undefined;\n };\n Cache.populatedBy = function (populate) { return new Cache(populate); };\n return Cache;\n}());\n/* harmony default export */ __webpack_exports__[\"default\"] = (Cache);\n//# sourceMappingURL=Cache.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/utils/Cache.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/utils/arrays.js":
/*!******************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/utils/arrays.js ***!
\******************************************************************/
/*! exports provided: last, typedArrayFor, mergeIntoTypedArray, mergeUint8Arrays, arrayAsString, byAscendingId, sortedUniq, reverseArray, sum, range, pluckIndices, canBeConvertedToUint8Array, toUint8Array */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"last\", function() { return last; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"typedArrayFor\", function() { return typedArrayFor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mergeIntoTypedArray\", function() { return mergeIntoTypedArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mergeUint8Arrays\", function() { return mergeUint8Arrays; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"arrayAsString\", function() { return arrayAsString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"byAscendingId\", function() { return byAscendingId; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sortedUniq\", function() { return sortedUniq; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"reverseArray\", function() { return reverseArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sum\", function() { return sum; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"range\", function() { return range; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pluckIndices\", function() { return pluckIndices; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"canBeConvertedToUint8Array\", function() { return canBeConvertedToUint8Array; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toUint8Array\", function() { return toUint8Array; });\n/* harmony import */ var _base64__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./base64 */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/base64.js\");\n/* harmony import */ var _strings__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./strings */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/strings.js\");\n\n\nvar last = function (array) { return array[array.length - 1]; };\n// export const dropLast = (array: T[]): T[] =>\n// array.slice(0, array.length - 1);\nvar typedArrayFor = function (value) {\n if (value instanceof Uint8Array)\n return value;\n var length = value.length;\n var typedArray = new Uint8Array(length);\n for (var idx = 0; idx < length; idx++) {\n typedArray[idx] = value.charCodeAt(idx);\n }\n return typedArray;\n};\nvar mergeIntoTypedArray = function () {\n var arrays = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n arrays[_i] = arguments[_i];\n }\n var arrayCount = arrays.length;\n var typedArrays = [];\n for (var idx = 0; idx < arrayCount; idx++) {\n var element = arrays[idx];\n typedArrays[idx] =\n element instanceof Uint8Array ? element : typedArrayFor(element);\n }\n var totalSize = 0;\n for (var idx = 0; idx < arrayCount; idx++) {\n totalSize += arrays[idx].length;\n }\n var merged = new Uint8Array(totalSize);\n var offset = 0;\n for (var arrIdx = 0; arrIdx < arrayCount; arrIdx++) {\n var arr = typedArrays[arrIdx];\n for (var byteIdx = 0, arrLen = arr.length; byteIdx < arrLen; byteIdx++) {\n merged[offset++] = arr[byteIdx];\n }\n }\n return merged;\n};\nvar mergeUint8Arrays = function (arrays) {\n var totalSize = 0;\n for (var idx = 0, len = arrays.length; idx < len; idx++) {\n totalSize += arrays[idx].length;\n }\n var mergedBuffer = new Uint8Array(totalSize);\n var offset = 0;\n for (var idx = 0, len = arrays.length; idx < len; idx++) {\n var array = arrays[idx];\n mergedBuffer.set(array, offset);\n offset += array.length;\n }\n return mergedBuffer;\n};\nvar arrayAsString = function (array) {\n var str = '';\n for (var idx = 0, len = array.length; idx < len; idx++) {\n str += Object(_strings__WEBPACK_IMPORTED_MODULE_1__[\"charFromCode\"])(array[idx]);\n }\n return str;\n};\nvar byAscendingId = function (a, b) { return a.id - b.id; };\nvar sortedUniq = function (array, indexer) {\n var uniq = [];\n for (var idx = 0, len = array.length; idx < len; idx++) {\n var curr = array[idx];\n var prev = array[idx - 1];\n if (idx === 0 || indexer(curr) !== indexer(prev)) {\n uniq.push(curr);\n }\n }\n return uniq;\n};\n// Arrays and TypedArrays in JS both have .reverse() methods, which would seem\n// to negate the need for this function. However, not all runtimes support this\n// method (e.g. React Native). This function compensates for that fact.\nvar reverseArray = function (array) {\n var arrayLen = array.length;\n for (var idx = 0, len = Math.floor(arrayLen / 2); idx < len; idx++) {\n var leftIdx = idx;\n var rightIdx = arrayLen - idx - 1;\n var temp = array[idx];\n array[leftIdx] = array[rightIdx];\n array[rightIdx] = temp;\n }\n return array;\n};\nvar sum = function (array) {\n var total = 0;\n for (var idx = 0, len = array.length; idx < len; idx++) {\n total += array[idx];\n }\n return total;\n};\nvar range = function (start, end) {\n var arr = new Array(end - start);\n for (var idx = 0, len = arr.length; idx < len; idx++) {\n arr[idx] = start + idx;\n }\n return arr;\n};\nvar pluckIndices = function (arr, indices) {\n var plucked = new Array(indices.length);\n for (var idx = 0, len = indices.length; idx < len; idx++) {\n plucked[idx] = arr[indices[idx]];\n }\n return plucked;\n};\nvar canBeConvertedToUint8Array = function (input) {\n return input instanceof Uint8Array ||\n input instanceof ArrayBuffer ||\n typeof input === 'string';\n};\nvar toUint8Array = function (input) {\n if (typeof input === 'string') {\n return Object(_base64__WEBPACK_IMPORTED_MODULE_0__[\"decodeFromBase64DataUri\"])(input);\n }\n else if (input instanceof ArrayBuffer) {\n return new Uint8Array(input);\n }\n else if (input instanceof Uint8Array) {\n return input;\n }\n else {\n throw new TypeError('`input` must be one of `string | ArrayBuffer | Uint8Array`');\n }\n};\n//# sourceMappingURL=arrays.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/utils/arrays.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/utils/async.js":
/*!*****************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/utils/async.js ***!
\*****************************************************************/
/*! exports provided: waitForTick */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"waitForTick\", function() { return waitForTick; });\n/**\n * Returns a Promise that resolves after at least one tick of the\n * Macro Task Queue occurs.\n */\nvar waitForTick = function () {\n return new Promise(function (resolve) {\n setTimeout(function () { return resolve(); }, 0);\n });\n};\n//# sourceMappingURL=async.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/utils/async.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/utils/base64.js":
/*!******************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/utils/base64.js ***!
\******************************************************************/
/*! exports provided: encodeToBase64, decodeFromBase64, decodeFromBase64DataUri */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"encodeToBase64\", function() { return encodeToBase64; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"decodeFromBase64\", function() { return decodeFromBase64; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"decodeFromBase64DataUri\", function() { return decodeFromBase64DataUri; });\n/*\n * The `chars`, `lookup`, `encode`, and `decode` members of this file are\n * licensed under the following:\n *\n * base64-arraybuffer\n * https://github.com/niklasvh/base64-arraybuffer\n *\n * Copyright (c) 2012 Niklas von Hertzen\n * Licensed under the MIT license.\n *\n */\nvar chars = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\n// Use a lookup table to find the index.\nvar lookup = new Uint8Array(256);\nfor (var i = 0; i < chars.length; i++) {\n lookup[chars.charCodeAt(i)] = i;\n}\nvar encodeToBase64 = function (bytes) {\n var base64 = '';\n var len = bytes.length;\n for (var i = 0; i < len; i += 3) {\n base64 += chars[bytes[i] >> 2];\n base64 += chars[((bytes[i] & 3) << 4) | (bytes[i + 1] >> 4)];\n base64 += chars[((bytes[i + 1] & 15) << 2) | (bytes[i + 2] >> 6)];\n base64 += chars[bytes[i + 2] & 63];\n }\n if (len % 3 === 2) {\n base64 = base64.substring(0, base64.length - 1) + '=';\n }\n else if (len % 3 === 1) {\n base64 = base64.substring(0, base64.length - 2) + '==';\n }\n return base64;\n};\nvar decodeFromBase64 = function (base64) {\n var bufferLength = base64.length * 0.75;\n var len = base64.length;\n var i;\n var p = 0;\n var encoded1;\n var encoded2;\n var encoded3;\n var encoded4;\n if (base64[base64.length - 1] === '=') {\n bufferLength--;\n if (base64[base64.length - 2] === '=') {\n bufferLength--;\n }\n }\n var bytes = new Uint8Array(bufferLength);\n for (i = 0; i < len; i += 4) {\n encoded1 = lookup[base64.charCodeAt(i)];\n encoded2 = lookup[base64.charCodeAt(i + 1)];\n encoded3 = lookup[base64.charCodeAt(i + 2)];\n encoded4 = lookup[base64.charCodeAt(i + 3)];\n bytes[p++] = (encoded1 << 2) | (encoded2 >> 4);\n bytes[p++] = ((encoded2 & 15) << 4) | (encoded3 >> 2);\n bytes[p++] = ((encoded3 & 3) << 6) | (encoded4 & 63);\n }\n return bytes;\n};\n// This regex is designed to be as flexible as possible. It will parse certain\n// invalid data URIs.\nvar DATA_URI_PREFIX_REGEX = /^(data)?:?([\\w\\/\\+]+)?;?(charset=[\\w-]+|base64)?.*,/i;\n/**\n * If the `dataUri` input is a data URI, then the data URI prefix must not be\n * longer than 100 characters, or this function will fail to decode it.\n *\n * @param dataUri a base64 data URI or plain base64 string\n * @returns a Uint8Array containing the decoded input\n */\nvar decodeFromBase64DataUri = function (dataUri) {\n var trimmedUri = dataUri.trim();\n var prefix = trimmedUri.substring(0, 100);\n var res = prefix.match(DATA_URI_PREFIX_REGEX);\n // Assume it's not a data URI - just a plain base64 string\n if (!res)\n return decodeFromBase64(trimmedUri);\n // Remove the data URI prefix and parse the remainder as a base64 string\n var fullMatch = res[0];\n var data = trimmedUri.substring(fullMatch.length);\n return decodeFromBase64(data);\n};\n//# sourceMappingURL=base64.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/utils/base64.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/utils/errors.js":
/*!******************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/utils/errors.js ***!
\******************************************************************/
/*! exports provided: error */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"error\", function() { return error; });\nvar error = function (msg) {\n throw new Error(msg);\n};\n//# sourceMappingURL=errors.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/utils/errors.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/utils/index.js":
/*!*****************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/utils/index.js ***!
\*****************************************************************/
/*! exports provided: last, typedArrayFor, mergeIntoTypedArray, mergeUint8Arrays, arrayAsString, byAscendingId, sortedUniq, reverseArray, sum, range, pluckIndices, canBeConvertedToUint8Array, toUint8Array, waitForTick, toCharCode, toCodePoint, toHexStringOfMinLength, toHexString, charFromCode, charFromHexCode, padStart, copyStringIntoBuffer, addRandomSuffix, escapeRegExp, cleanText, escapedNewlineChars, newlineChars, isNewlineChar, lineSplit, mergeLines, charAtIndex, charSplit, breakTextIntoLines, parseDate, findLastMatch, utf8Encode, utf16Encode, isWithinBMP, hasSurrogates, highSurrogate, lowSurrogate, utf16Decode, hasUtf16BOM, numberToString, sizeInBytes, bytesFor, error, encodeToBase64, decodeFromBase64, decodeFromBase64DataUri, values, StandardFontValues, isStandardFont, rectanglesAreEqual, backtick, singleQuote, createValueErrorMsg, assertIsOneOf, assertIsOneOfOrUndefined, assertIsSubset, getType, isType, createTypeErrorMsg, assertIs, assertOrUndefined, assertEachIs, assertRange, assertRangeOrUndefined, assertMultiple, assertInteger, assertPositive, pdfDocEncodingDecode, Cache */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _arrays__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./arrays */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/arrays.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"last\", function() { return _arrays__WEBPACK_IMPORTED_MODULE_0__[\"last\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"typedArrayFor\", function() { return _arrays__WEBPACK_IMPORTED_MODULE_0__[\"typedArrayFor\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeIntoTypedArray\", function() { return _arrays__WEBPACK_IMPORTED_MODULE_0__[\"mergeIntoTypedArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeUint8Arrays\", function() { return _arrays__WEBPACK_IMPORTED_MODULE_0__[\"mergeUint8Arrays\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"arrayAsString\", function() { return _arrays__WEBPACK_IMPORTED_MODULE_0__[\"arrayAsString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"byAscendingId\", function() { return _arrays__WEBPACK_IMPORTED_MODULE_0__[\"byAscendingId\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sortedUniq\", function() { return _arrays__WEBPACK_IMPORTED_MODULE_0__[\"sortedUniq\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"reverseArray\", function() { return _arrays__WEBPACK_IMPORTED_MODULE_0__[\"reverseArray\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sum\", function() { return _arrays__WEBPACK_IMPORTED_MODULE_0__[\"sum\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"range\", function() { return _arrays__WEBPACK_IMPORTED_MODULE_0__[\"range\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pluckIndices\", function() { return _arrays__WEBPACK_IMPORTED_MODULE_0__[\"pluckIndices\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"canBeConvertedToUint8Array\", function() { return _arrays__WEBPACK_IMPORTED_MODULE_0__[\"canBeConvertedToUint8Array\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toUint8Array\", function() { return _arrays__WEBPACK_IMPORTED_MODULE_0__[\"toUint8Array\"]; });\n\n/* harmony import */ var _async__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./async */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/async.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"waitForTick\", function() { return _async__WEBPACK_IMPORTED_MODULE_1__[\"waitForTick\"]; });\n\n/* harmony import */ var _strings__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./strings */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/strings.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toCharCode\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"toCharCode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toCodePoint\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"toCodePoint\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toHexStringOfMinLength\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"toHexStringOfMinLength\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"toHexString\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"toHexString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"charFromCode\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"charFromCode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"charFromHexCode\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"charFromHexCode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"padStart\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"padStart\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"copyStringIntoBuffer\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"copyStringIntoBuffer\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"addRandomSuffix\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"addRandomSuffix\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"escapeRegExp\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"escapeRegExp\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"cleanText\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"cleanText\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"escapedNewlineChars\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"escapedNewlineChars\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"newlineChars\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"newlineChars\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isNewlineChar\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"isNewlineChar\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lineSplit\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"lineSplit\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"mergeLines\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"mergeLines\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"charAtIndex\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"charAtIndex\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"charSplit\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"charSplit\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"breakTextIntoLines\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"breakTextIntoLines\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"parseDate\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"parseDate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"findLastMatch\", function() { return _strings__WEBPACK_IMPORTED_MODULE_2__[\"findLastMatch\"]; });\n\n/* harmony import */ var _unicode__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./unicode */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/unicode.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utf8Encode\", function() { return _unicode__WEBPACK_IMPORTED_MODULE_3__[\"utf8Encode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utf16Encode\", function() { return _unicode__WEBPACK_IMPORTED_MODULE_3__[\"utf16Encode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isWithinBMP\", function() { return _unicode__WEBPACK_IMPORTED_MODULE_3__[\"isWithinBMP\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasSurrogates\", function() { return _unicode__WEBPACK_IMPORTED_MODULE_3__[\"hasSurrogates\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"highSurrogate\", function() { return _unicode__WEBPACK_IMPORTED_MODULE_3__[\"highSurrogate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"lowSurrogate\", function() { return _unicode__WEBPACK_IMPORTED_MODULE_3__[\"lowSurrogate\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"utf16Decode\", function() { return _unicode__WEBPACK_IMPORTED_MODULE_3__[\"utf16Decode\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"hasUtf16BOM\", function() { return _unicode__WEBPACK_IMPORTED_MODULE_3__[\"hasUtf16BOM\"]; });\n\n/* harmony import */ var _numbers__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./numbers */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/numbers.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"numberToString\", function() { return _numbers__WEBPACK_IMPORTED_MODULE_4__[\"numberToString\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"sizeInBytes\", function() { return _numbers__WEBPACK_IMPORTED_MODULE_4__[\"sizeInBytes\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"bytesFor\", function() { return _numbers__WEBPACK_IMPORTED_MODULE_4__[\"bytesFor\"]; });\n\n/* harmony import */ var _errors__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./errors */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/errors.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"error\", function() { return _errors__WEBPACK_IMPORTED_MODULE_5__[\"error\"]; });\n\n/* harmony import */ var _base64__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./base64 */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/base64.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"encodeToBase64\", function() { return _base64__WEBPACK_IMPORTED_MODULE_6__[\"encodeToBase64\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"decodeFromBase64\", function() { return _base64__WEBPACK_IMPORTED_MODULE_6__[\"decodeFromBase64\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"decodeFromBase64DataUri\", function() { return _base64__WEBPACK_IMPORTED_MODULE_6__[\"decodeFromBase64DataUri\"]; });\n\n/* harmony import */ var _objects__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./objects */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/objects.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"values\", function() { return _objects__WEBPACK_IMPORTED_MODULE_7__[\"values\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"StandardFontValues\", function() { return _objects__WEBPACK_IMPORTED_MODULE_7__[\"StandardFontValues\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isStandardFont\", function() { return _objects__WEBPACK_IMPORTED_MODULE_7__[\"isStandardFont\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"rectanglesAreEqual\", function() { return _objects__WEBPACK_IMPORTED_MODULE_7__[\"rectanglesAreEqual\"]; });\n\n/* harmony import */ var _validators__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./validators */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/validators.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"backtick\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"backtick\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"singleQuote\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"singleQuote\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createValueErrorMsg\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"createValueErrorMsg\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertIsOneOf\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"assertIsOneOf\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertIsOneOfOrUndefined\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"assertIsOneOfOrUndefined\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertIsSubset\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"assertIsSubset\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"getType\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"getType\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"isType\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"isType\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"createTypeErrorMsg\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"createTypeErrorMsg\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertIs\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"assertIs\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertOrUndefined\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"assertOrUndefined\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertEachIs\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"assertEachIs\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertRange\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"assertRange\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertRangeOrUndefined\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"assertRangeOrUndefined\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertMultiple\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"assertMultiple\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertInteger\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"assertInteger\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"assertPositive\", function() { return _validators__WEBPACK_IMPORTED_MODULE_8__[\"assertPositive\"]; });\n\n/* harmony import */ var _pdfDocEncoding__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./pdfDocEncoding */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/pdfDocEncoding.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"pdfDocEncodingDecode\", function() { return _pdfDocEncoding__WEBPACK_IMPORTED_MODULE_9__[\"pdfDocEncodingDecode\"]; });\n\n/* harmony import */ var _Cache__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./Cache */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/Cache.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Cache\", function() { return _Cache__WEBPACK_IMPORTED_MODULE_10__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n//# sourceMappingURL=index.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/utils/index.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/utils/numbers.js":
/*!*******************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/utils/numbers.js ***!
\*******************************************************************/
/*! exports provided: numberToString, sizeInBytes, bytesFor */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"numberToString\", function() { return numberToString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sizeInBytes\", function() { return sizeInBytes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bytesFor\", function() { return bytesFor; });\n// tslint:disable radix\n/**\n * Converts a number to its string representation in decimal. This function\n * differs from simply converting a number to a string with `.toString()`\n * because this function's output string will **not** contain exponential\n * notation.\n *\n * Credit: https://stackoverflow.com/a/46545519\n */\nvar numberToString = function (num) {\n var numStr = String(num);\n if (Math.abs(num) < 1.0) {\n var e = parseInt(num.toString().split('e-')[1]);\n if (e) {\n var negative = num < 0;\n if (negative)\n num *= -1;\n num *= Math.pow(10, e - 1);\n numStr = '0.' + new Array(e).join('0') + num.toString().substring(2);\n if (negative)\n numStr = '-' + numStr;\n }\n }\n else {\n var e = parseInt(num.toString().split('+')[1]);\n if (e > 20) {\n e -= 20;\n num /= Math.pow(10, e);\n numStr = num.toString() + new Array(e + 1).join('0');\n }\n }\n return numStr;\n};\nvar sizeInBytes = function (n) { return Math.ceil(n.toString(2).length / 8); };\n/**\n * Converts a number into its constituent bytes and returns them as\n * a number[].\n *\n * Returns most significant byte as first element in array. It may be necessary\n * to call .reverse() to get the bits in the desired order.\n *\n * Example:\n * bytesFor(0x02A41E) => [ 0b10, 0b10100100, 0b11110 ]\n *\n * Credit for algorithm: https://stackoverflow.com/a/1936865\n */\nvar bytesFor = function (n) {\n var bytes = new Uint8Array(sizeInBytes(n));\n for (var i = 1; i <= bytes.length; i++) {\n bytes[i - 1] = n >> ((bytes.length - i) * 8);\n }\n return bytes;\n};\n//# sourceMappingURL=numbers.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/utils/numbers.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/utils/objects.js":
/*!*******************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/utils/objects.js ***!
\*******************************************************************/
/*! exports provided: values, StandardFontValues, isStandardFont, rectanglesAreEqual */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"values\", function() { return values; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"StandardFontValues\", function() { return StandardFontValues; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isStandardFont\", function() { return isStandardFont; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"rectanglesAreEqual\", function() { return rectanglesAreEqual; });\n/* harmony import */ var _pdf_lib_standard_fonts__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @pdf-lib/standard-fonts */ \"../simple-mind-map/node_modules/@pdf-lib/standard-fonts/es/index.js\");\n\nvar values = function (obj) { return Object.keys(obj).map(function (k) { return obj[k]; }); };\nvar StandardFontValues = values(_pdf_lib_standard_fonts__WEBPACK_IMPORTED_MODULE_0__[\"FontNames\"]);\nvar isStandardFont = function (input) {\n return StandardFontValues.includes(input);\n};\nvar rectanglesAreEqual = function (a, b) { return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height; };\n//# sourceMappingURL=objects.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/utils/objects.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/utils/pdfDocEncoding.js":
/*!**************************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/utils/pdfDocEncoding.js ***!
\**************************************************************************/
/*! exports provided: pdfDocEncodingDecode */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"pdfDocEncodingDecode\", function() { return pdfDocEncodingDecode; });\n/* harmony import */ var _strings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./strings */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/strings.js\");\n\n// Mapping from PDFDocEncoding to Unicode code point\nvar pdfDocEncodingToUnicode = new Uint16Array(256);\n// Initialize the code points which are the same\nfor (var idx = 0; idx < 256; idx++) {\n pdfDocEncodingToUnicode[idx] = idx;\n}\n// Set differences (see \"Table D.2 – PDFDocEncoding Character Set\" of the PDF spec)\npdfDocEncodingToUnicode[0x16] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u0017'); // SYNCRONOUS IDLE\npdfDocEncodingToUnicode[0x18] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u02D8'); // BREVE\npdfDocEncodingToUnicode[0x19] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u02C7'); // CARON\npdfDocEncodingToUnicode[0x1a] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u02C6'); // MODIFIER LETTER CIRCUMFLEX ACCENT\npdfDocEncodingToUnicode[0x1b] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u02D9'); // DOT ABOVE\npdfDocEncodingToUnicode[0x1c] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u02DD'); // DOUBLE ACUTE ACCENT\npdfDocEncodingToUnicode[0x1d] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u02DB'); // OGONEK\npdfDocEncodingToUnicode[0x1e] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u02DA'); // RING ABOVE\npdfDocEncodingToUnicode[0x1f] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u02DC'); // SMALL TILDE\npdfDocEncodingToUnicode[0x7f] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\uFFFD'); // REPLACEMENT CHARACTER (box with questionmark)\npdfDocEncodingToUnicode[0x80] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u2022'); // BULLET\npdfDocEncodingToUnicode[0x81] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u2020'); // DAGGER\npdfDocEncodingToUnicode[0x82] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u2021'); // DOUBLE DAGGER\npdfDocEncodingToUnicode[0x83] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u2026'); // HORIZONTAL ELLIPSIS\npdfDocEncodingToUnicode[0x84] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u2014'); // EM DASH\npdfDocEncodingToUnicode[0x85] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u2013'); // EN DASH\npdfDocEncodingToUnicode[0x86] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u0192'); // LATIN SMALL LETTER SCRIPT F\npdfDocEncodingToUnicode[0x87] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u2044'); // FRACTION SLASH (solidus)\npdfDocEncodingToUnicode[0x88] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u2039'); // SINGLE LEFT-POINTING ANGLE QUOTATION MARK\npdfDocEncodingToUnicode[0x89] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u203A'); // SINGLE RIGHT-POINTING ANGLE QUOTATION MARK\npdfDocEncodingToUnicode[0x8a] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u2212'); // MINUS SIGN\npdfDocEncodingToUnicode[0x8b] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u2030'); // PER MILLE SIGN\npdfDocEncodingToUnicode[0x8c] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u201E'); // DOUBLE LOW-9 QUOTATION MARK (quotedblbase)\npdfDocEncodingToUnicode[0x8d] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u201C'); // LEFT DOUBLE QUOTATION MARK (quotedblleft)\npdfDocEncodingToUnicode[0x8e] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u201D'); // RIGHT DOUBLE QUOTATION MARK (quotedblright)\npdfDocEncodingToUnicode[0x8f] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u2018'); // LEFT SINGLE QUOTATION MARK (quoteleft)\npdfDocEncodingToUnicode[0x90] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u2019'); // RIGHT SINGLE QUOTATION MARK (quoteright)\npdfDocEncodingToUnicode[0x91] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u201A'); // SINGLE LOW-9 QUOTATION MARK (quotesinglbase)\npdfDocEncodingToUnicode[0x92] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u2122'); // TRADE MARK SIGN\npdfDocEncodingToUnicode[0x93] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\uFB01'); // LATIN SMALL LIGATURE FI\npdfDocEncodingToUnicode[0x94] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\uFB02'); // LATIN SMALL LIGATURE FL\npdfDocEncodingToUnicode[0x95] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u0141'); // LATIN CAPITAL LETTER L WITH STROKE\npdfDocEncodingToUnicode[0x96] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u0152'); // LATIN CAPITAL LIGATURE OE\npdfDocEncodingToUnicode[0x97] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u0160'); // LATIN CAPITAL LETTER S WITH CARON\npdfDocEncodingToUnicode[0x98] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u0178'); // LATIN CAPITAL LETTER Y WITH DIAERESIS\npdfDocEncodingToUnicode[0x99] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u017D'); // LATIN CAPITAL LETTER Z WITH CARON\npdfDocEncodingToUnicode[0x9a] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u0131'); // LATIN SMALL LETTER DOTLESS I\npdfDocEncodingToUnicode[0x9b] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u0142'); // LATIN SMALL LETTER L WITH STROKE\npdfDocEncodingToUnicode[0x9c] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u0153'); // LATIN SMALL LIGATURE OE\npdfDocEncodingToUnicode[0x9d] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u0161'); // LATIN SMALL LETTER S WITH CARON\npdfDocEncodingToUnicode[0x9e] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u017E'); // LATIN SMALL LETTER Z WITH CARON\npdfDocEncodingToUnicode[0x9f] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\uFFFD'); // REPLACEMENT CHARACTER (box with questionmark)\npdfDocEncodingToUnicode[0xa0] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\u20AC'); // EURO SIGN\npdfDocEncodingToUnicode[0xad] = Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toCharCode\"])('\\uFFFD'); // REPLACEMENT CHARACTER (box with questionmark)\n/**\n * Decode a byte array into a string using PDFDocEncoding.\n *\n * @param bytes a byte array (decimal representation) containing a string\n * encoded with PDFDocEncoding.\n */\nvar pdfDocEncodingDecode = function (bytes) {\n var codePoints = new Array(bytes.length);\n for (var idx = 0, len = bytes.length; idx < len; idx++) {\n codePoints[idx] = pdfDocEncodingToUnicode[bytes[idx]];\n }\n return String.fromCodePoint.apply(String, codePoints);\n};\n//# sourceMappingURL=pdfDocEncoding.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/utils/pdfDocEncoding.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/utils/png.js":
/*!***************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/utils/png.js ***!
\***************************************************************/
/*! exports provided: PngType, PNG */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PngType\", function() { return PngType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"PNG\", function() { return PNG; });\n/* harmony import */ var _pdf_lib_upng__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @pdf-lib/upng */ \"../simple-mind-map/node_modules/@pdf-lib/upng/UPNG.js\");\n\nvar getImageType = function (ctype) {\n if (ctype === 0)\n return PngType.Greyscale;\n if (ctype === 2)\n return PngType.Truecolour;\n if (ctype === 3)\n return PngType.IndexedColour;\n if (ctype === 4)\n return PngType.GreyscaleWithAlpha;\n if (ctype === 6)\n return PngType.TruecolourWithAlpha;\n throw new Error(\"Unknown color type: \" + ctype);\n};\nvar splitAlphaChannel = function (rgbaChannel) {\n var pixelCount = Math.floor(rgbaChannel.length / 4);\n var rgbChannel = new Uint8Array(pixelCount * 3);\n var alphaChannel = new Uint8Array(pixelCount * 1);\n var rgbaOffset = 0;\n var rgbOffset = 0;\n var alphaOffset = 0;\n while (rgbaOffset < rgbaChannel.length) {\n rgbChannel[rgbOffset++] = rgbaChannel[rgbaOffset++];\n rgbChannel[rgbOffset++] = rgbaChannel[rgbaOffset++];\n rgbChannel[rgbOffset++] = rgbaChannel[rgbaOffset++];\n alphaChannel[alphaOffset++] = rgbaChannel[rgbaOffset++];\n }\n return { rgbChannel: rgbChannel, alphaChannel: alphaChannel };\n};\nvar PngType;\n(function (PngType) {\n PngType[\"Greyscale\"] = \"Greyscale\";\n PngType[\"Truecolour\"] = \"Truecolour\";\n PngType[\"IndexedColour\"] = \"IndexedColour\";\n PngType[\"GreyscaleWithAlpha\"] = \"GreyscaleWithAlpha\";\n PngType[\"TruecolourWithAlpha\"] = \"TruecolourWithAlpha\";\n})(PngType || (PngType = {}));\nvar PNG = /** @class */ (function () {\n function PNG(pngData) {\n var upng = _pdf_lib_upng__WEBPACK_IMPORTED_MODULE_0__[\"default\"].decode(pngData);\n var frames = _pdf_lib_upng__WEBPACK_IMPORTED_MODULE_0__[\"default\"].toRGBA8(upng);\n if (frames.length > 1)\n throw new Error(\"Animated PNGs are not supported\");\n var frame = new Uint8Array(frames[0]);\n var _a = splitAlphaChannel(frame), rgbChannel = _a.rgbChannel, alphaChannel = _a.alphaChannel;\n this.rgbChannel = rgbChannel;\n var hasAlphaValues = alphaChannel.some(function (a) { return a < 255; });\n if (hasAlphaValues)\n this.alphaChannel = alphaChannel;\n this.type = getImageType(upng.ctype);\n this.width = upng.width;\n this.height = upng.height;\n this.bitsPerComponent = 8;\n }\n PNG.load = function (pngData) { return new PNG(pngData); };\n return PNG;\n}());\n\n//# sourceMappingURL=png.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/utils/png.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/utils/rng.js":
/*!***************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/utils/rng.js ***!
\***************************************************************/
/*! exports provided: SimpleRNG */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"SimpleRNG\", function() { return SimpleRNG; });\n/**\n * Generates a pseudo random number. Although it is not cryptographically secure\n * and uniformly distributed, it is not a concern for the intended use-case,\n * which is to generate distinct numbers.\n *\n * Credit: https://stackoverflow.com/a/19303725/10254049\n */\nvar SimpleRNG = /** @class */ (function () {\n function SimpleRNG(seed) {\n this.seed = seed;\n }\n SimpleRNG.prototype.nextInt = function () {\n var x = Math.sin(this.seed++) * 10000;\n return x - Math.floor(x);\n };\n SimpleRNG.withSeed = function (seed) { return new SimpleRNG(seed); };\n return SimpleRNG;\n}());\n\n//# sourceMappingURL=rng.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/utils/rng.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/utils/strings.js":
/*!*******************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/utils/strings.js ***!
\*******************************************************************/
/*! exports provided: toCharCode, toCodePoint, toHexStringOfMinLength, toHexString, charFromCode, charFromHexCode, padStart, copyStringIntoBuffer, addRandomSuffix, escapeRegExp, cleanText, escapedNewlineChars, newlineChars, isNewlineChar, lineSplit, mergeLines, charAtIndex, charSplit, breakTextIntoLines, parseDate, findLastMatch */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toCharCode\", function() { return toCharCode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toCodePoint\", function() { return toCodePoint; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toHexStringOfMinLength\", function() { return toHexStringOfMinLength; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"toHexString\", function() { return toHexString; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"charFromCode\", function() { return charFromCode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"charFromHexCode\", function() { return charFromHexCode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"padStart\", function() { return padStart; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"copyStringIntoBuffer\", function() { return copyStringIntoBuffer; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addRandomSuffix\", function() { return addRandomSuffix; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"escapeRegExp\", function() { return escapeRegExp; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cleanText\", function() { return cleanText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"escapedNewlineChars\", function() { return escapedNewlineChars; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"newlineChars\", function() { return newlineChars; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isNewlineChar\", function() { return isNewlineChar; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lineSplit\", function() { return lineSplit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mergeLines\", function() { return mergeLines; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"charAtIndex\", function() { return charAtIndex; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"charSplit\", function() { return charSplit; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"breakTextIntoLines\", function() { return breakTextIntoLines; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseDate\", function() { return parseDate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"findLastMatch\", function() { return findLastMatch; });\nvar toCharCode = function (character) { return character.charCodeAt(0); };\nvar toCodePoint = function (character) { return character.codePointAt(0); };\nvar toHexStringOfMinLength = function (num, minLength) {\n return padStart(num.toString(16), minLength, '0').toUpperCase();\n};\nvar toHexString = function (num) { return toHexStringOfMinLength(num, 2); };\nvar charFromCode = function (code) { return String.fromCharCode(code); };\nvar charFromHexCode = function (hex) { return charFromCode(parseInt(hex, 16)); };\nvar padStart = function (value, length, padChar) {\n var padding = '';\n for (var idx = 0, len = length - value.length; idx < len; idx++) {\n padding += padChar;\n }\n return padding + value;\n};\nvar copyStringIntoBuffer = function (str, buffer, offset) {\n var length = str.length;\n for (var idx = 0; idx < length; idx++) {\n buffer[offset++] = str.charCodeAt(idx);\n }\n return length;\n};\nvar addRandomSuffix = function (prefix, suffixLength) {\n if (suffixLength === void 0) { suffixLength = 4; }\n return prefix + \"-\" + Math.floor(Math.random() * Math.pow(10, suffixLength));\n};\nvar escapeRegExp = function (str) {\n return str.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&');\n};\nvar cleanText = function (text) {\n return text.replace(/\\t|\\u0085|\\u2028|\\u2029/g, ' ').replace(/[\\b\\v]/g, '');\n};\nvar escapedNewlineChars = ['\\\\n', '\\\\f', '\\\\r', '\\\\u000B'];\nvar newlineChars = ['\\n', '\\f', '\\r', '\\u000B'];\nvar isNewlineChar = function (text) { return /^[\\n\\f\\r\\u000B]$/.test(text); };\nvar lineSplit = function (text) { return text.split(/[\\n\\f\\r\\u000B]/); };\nvar mergeLines = function (text) {\n return text.replace(/[\\n\\f\\r\\u000B]/g, ' ');\n};\n// JavaScript's String.charAt() method doesn work on strings containing UTF-16\n// characters (with high and low surrogate pairs), such as 💩 (poo emoji). This\n// `charAtIndex()` function does.\n//\n// Credit: https://github.com/mathiasbynens/String.prototype.at/blob/master/at.js#L14-L48\nvar charAtIndex = function (text, index) {\n // Get the first code unit and code unit value\n var cuFirst = text.charCodeAt(index);\n var cuSecond;\n var nextIndex = index + 1;\n var length = 1;\n if (\n // Check if it's the start of a surrogate pair.\n cuFirst >= 0xd800 &&\n cuFirst <= 0xdbff && // high surrogate\n text.length > nextIndex // there is a next code unit\n ) {\n cuSecond = text.charCodeAt(nextIndex);\n if (cuSecond >= 0xdc00 && cuSecond <= 0xdfff)\n length = 2; // low surrogate\n }\n return [text.slice(index, index + length), length];\n};\nvar charSplit = function (text) {\n var chars = [];\n for (var idx = 0, len = text.length; idx < len;) {\n var _a = charAtIndex(text, idx), c = _a[0], cLen = _a[1];\n chars.push(c);\n idx += cLen;\n }\n return chars;\n};\nvar buildWordBreakRegex = function (wordBreaks) {\n var newlineCharUnion = escapedNewlineChars.join('|');\n var escapedRules = ['$'];\n for (var idx = 0, len = wordBreaks.length; idx < len; idx++) {\n var wordBreak = wordBreaks[idx];\n if (isNewlineChar(wordBreak)) {\n throw new TypeError(\"`wordBreak` must not include \" + newlineCharUnion);\n }\n escapedRules.push(wordBreak === '' ? '.' : escapeRegExp(wordBreak));\n }\n var breakRules = escapedRules.join('|');\n return new RegExp(\"(\" + newlineCharUnion + \")|((.*?)(\" + breakRules + \"))\", 'gm');\n};\nvar breakTextIntoLines = function (text, wordBreaks, maxWidth, computeWidthOfText) {\n var regex = buildWordBreakRegex(wordBreaks);\n var words = cleanText(text).match(regex);\n var currLine = '';\n var currWidth = 0;\n var lines = [];\n var pushCurrLine = function () {\n if (currLine !== '')\n lines.push(currLine);\n currLine = '';\n currWidth = 0;\n };\n for (var idx = 0, len = words.length; idx < len; idx++) {\n var word = words[idx];\n if (isNewlineChar(word)) {\n pushCurrLine();\n }\n else {\n var width = computeWidthOfText(word);\n if (currWidth + width > maxWidth)\n pushCurrLine();\n currLine += word;\n currWidth += width;\n }\n }\n pushCurrLine();\n return lines;\n};\n// See section \"7.9.4 Dates\" of the PDF specification\nvar dateRegex = /^D:(\\d\\d\\d\\d)(\\d\\d)?(\\d\\d)?(\\d\\d)?(\\d\\d)?(\\d\\d)?([+\\-Z])?(\\d\\d)?'?(\\d\\d)?'?$/;\nvar parseDate = function (dateStr) {\n var match = dateStr.match(dateRegex);\n if (!match)\n return undefined;\n var year = match[1], _a = match[2], month = _a === void 0 ? '01' : _a, _b = match[3], day = _b === void 0 ? '01' : _b, _c = match[4], hours = _c === void 0 ? '00' : _c, _d = match[5], mins = _d === void 0 ? '00' : _d, _e = match[6], secs = _e === void 0 ? '00' : _e, _f = match[7], offsetSign = _f === void 0 ? 'Z' : _f, _g = match[8], offsetHours = _g === void 0 ? '00' : _g, _h = match[9], offsetMins = _h === void 0 ? '00' : _h;\n // http://www.ecma-international.org/ecma-262/5.1/#sec-15.9.1.15\n var tzOffset = offsetSign === 'Z' ? 'Z' : \"\" + offsetSign + offsetHours + \":\" + offsetMins;\n var date = new Date(year + \"-\" + month + \"-\" + day + \"T\" + hours + \":\" + mins + \":\" + secs + tzOffset);\n return date;\n};\nvar findLastMatch = function (value, regex) {\n var _a;\n var position = 0;\n var lastMatch;\n while (position < value.length) {\n var match = value.substring(position).match(regex);\n if (!match)\n return { match: lastMatch, pos: position };\n lastMatch = match;\n position += ((_a = match.index) !== null && _a !== void 0 ? _a : 0) + match[0].length;\n }\n return { match: lastMatch, pos: position };\n};\n//# sourceMappingURL=strings.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/utils/strings.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/utils/unicode.js":
/*!*******************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/utils/unicode.js ***!
\*******************************************************************/
/*! exports provided: utf8Encode, utf16Encode, isWithinBMP, hasSurrogates, highSurrogate, lowSurrogate, utf16Decode, hasUtf16BOM */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"utf8Encode\", function() { return utf8Encode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"utf16Encode\", function() { return utf16Encode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isWithinBMP\", function() { return isWithinBMP; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hasSurrogates\", function() { return hasSurrogates; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"highSurrogate\", function() { return highSurrogate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lowSurrogate\", function() { return lowSurrogate; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"utf16Decode\", function() { return utf16Decode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"hasUtf16BOM\", function() { return hasUtf16BOM; });\n/* harmony import */ var _strings__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./strings */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/strings.js\");\n\n/**\n * Encodes a string to UTF-8.\n *\n * @param input The string to be encoded.\n * @param byteOrderMark Whether or not a byte order marker (BOM) should be added\n * to the start of the encoding. (default `true`)\n * @returns A Uint8Array containing the UTF-8 encoding of the input string.\n *\n * -----------------------------------------------------------------------------\n *\n * JavaScript strings are composed of Unicode code points. Code points are\n * integers in the range 0 to 1,114,111 (0x10FFFF). When serializing a string,\n * it must be encoded as a sequence of words. A word is typically 8, 16, or 32\n * bytes in size. As such, Unicode defines three encoding forms: UTF-8, UTF-16,\n * and UTF-32. These encoding forms are described in the Unicode standard [1].\n * This function implements the UTF-8 encoding form.\n *\n * -----------------------------------------------------------------------------\n *\n * In UTF-8, each code point is mapped to a sequence of 1, 2, 3, or 4 bytes.\n * Note that the logic which defines this mapping is slightly convoluted, and\n * not as straightforward as the mapping logic for UTF-16 or UTF-32. The UTF-8\n * mapping logic is as follows [2]:\n *\n * • If a code point is in the range U+0000..U+007F, then view it as a 7-bit\n * integer: 0bxxxxxxx. Map the code point to 1 byte with the first high order\n * bit set to 0:\n *\n * b1=0b0xxxxxxx\n *\n * • If a code point is in the range U+0080..U+07FF, then view it as an 11-bit\n * integer: 0byyyyyxxxxxx. Map the code point to 2 bytes with the first 5 bits\n * of the code point stored in the first byte, and the last 6 bits stored in\n * the second byte:\n *\n * b1=0b110yyyyy b2=0b10xxxxxx\n *\n * • If a code point is in the range U+0800..U+FFFF, then view it as a 16-bit\n * integer, 0bzzzzyyyyyyxxxxxx. Map the code point to 3 bytes with the first\n * 4 bits stored in the first byte, the next 6 bits stored in the second byte,\n * and the last 6 bits in the third byte:\n *\n * b1=0b1110zzzz b2=0b10yyyyyy b3=0b10xxxxxx\n *\n * • If a code point is in the range U+10000...U+10FFFF, then view it as a\n * 21-bit integer, 0bvvvzzzzzzyyyyyyxxxxxx. Map the code point to 4 bytes with\n * the first 3 bits stored in the first byte, the next 6 bits stored in the\n * second byte, the next 6 bits stored in the third byte, and the last 6 bits\n * stored in the fourth byte:\n *\n * b1=0b11110xxx b2=0b10zzzzzz b3=0b10yyyyyy b4=0b10xxxxxx\n *\n * -----------------------------------------------------------------------------\n *\n * It is important to note, when iterating through the code points of a string\n * in JavaScript, that if a character is encoded as a surrogate pair it will\n * increase the string's length by 2 instead of 1 [4]. For example:\n *\n * ```\n * > 'a'.length\n * 1\n * > '💩'.length\n * 2\n * > '語'.length\n * 1\n * > 'a💩語'.length\n * 4\n * ```\n *\n * The results of the above example are explained by the fact that the\n * characters 'a' and '語' are not represented by surrogate pairs, but '💩' is.\n *\n * Because of this idiosyncrasy in JavaScript's string implementation and APIs,\n * we must \"jump\" an extra index after encoding a character as a surrogate\n * pair. In practice, this means we must increment the index of our for loop by\n * 2 if we encode a surrogate pair, and 1 in all other cases.\n *\n * -----------------------------------------------------------------------------\n *\n * References:\n * - [1] https://www.unicode.org/versions/Unicode12.0.0/UnicodeStandard-12.0.pdf\n * 3.9 Unicode Encoding Forms - UTF-8\n * - [2] http://www.herongyang.com/Unicode/UTF-8-UTF-8-Encoding.html\n * - [3] http://www.herongyang.com/Unicode/UTF-8-UTF-8-Encoding-Algorithm.html\n * - [4] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length#Description\n *\n */\nvar utf8Encode = function (input, byteOrderMark) {\n if (byteOrderMark === void 0) { byteOrderMark = true; }\n var encoded = [];\n if (byteOrderMark)\n encoded.push(0xef, 0xbb, 0xbf);\n for (var idx = 0, len = input.length; idx < len;) {\n var codePoint = input.codePointAt(idx);\n // One byte encoding\n if (codePoint < 0x80) {\n var byte1 = codePoint & 0x7f;\n encoded.push(byte1);\n idx += 1;\n }\n // Two byte encoding\n else if (codePoint < 0x0800) {\n var byte1 = ((codePoint >> 6) & 0x1f) | 0xc0;\n var byte2 = (codePoint & 0x3f) | 0x80;\n encoded.push(byte1, byte2);\n idx += 1;\n }\n // Three byte encoding\n else if (codePoint < 0x010000) {\n var byte1 = ((codePoint >> 12) & 0x0f) | 0xe0;\n var byte2 = ((codePoint >> 6) & 0x3f) | 0x80;\n var byte3 = (codePoint & 0x3f) | 0x80;\n encoded.push(byte1, byte2, byte3);\n idx += 1;\n }\n // Four byte encoding (surrogate pair)\n else if (codePoint < 0x110000) {\n var byte1 = ((codePoint >> 18) & 0x07) | 0xf0;\n var byte2 = ((codePoint >> 12) & 0x3f) | 0x80;\n var byte3 = ((codePoint >> 6) & 0x3f) | 0x80;\n var byte4 = ((codePoint >> 0) & 0x3f) | 0x80;\n encoded.push(byte1, byte2, byte3, byte4);\n idx += 2;\n }\n // Should never reach this case\n else\n throw new Error(\"Invalid code point: 0x\" + Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toHexString\"])(codePoint));\n }\n return new Uint8Array(encoded);\n};\n/**\n * Encodes a string to UTF-16.\n *\n * @param input The string to be encoded.\n * @param byteOrderMark Whether or not a byte order marker (BOM) should be added\n * to the start of the encoding. (default `true`)\n * @returns A Uint16Array containing the UTF-16 encoding of the input string.\n *\n * -----------------------------------------------------------------------------\n *\n * JavaScript strings are composed of Unicode code points. Code points are\n * integers in the range 0 to 1,114,111 (0x10FFFF). When serializing a string,\n * it must be encoded as a sequence of words. A word is typically 8, 16, or 32\n * bytes in size. As such, Unicode defines three encoding forms: UTF-8, UTF-16,\n * and UTF-32. These encoding forms are described in the Unicode standard [1].\n * This function implements the UTF-16 encoding form.\n *\n * -----------------------------------------------------------------------------\n *\n * In UTF-16, each code point is mapped to one or two 16-bit integers. The\n * UTF-16 mapping logic is as follows [2]:\n *\n * • If a code point is in the range U+0000..U+FFFF, then map the code point to\n * a 16-bit integer with the most significant byte first.\n *\n * • If a code point is in the range U+10000..U+10000, then map the code point\n * to two 16-bit integers. The first integer should contain the high surrogate\n * and the second integer should contain the low surrogate. Both surrogates\n * should be written with the most significant byte first.\n *\n * -----------------------------------------------------------------------------\n *\n * It is important to note, when iterating through the code points of a string\n * in JavaScript, that if a character is encoded as a surrogate pair it will\n * increase the string's length by 2 instead of 1 [4]. For example:\n *\n * ```\n * > 'a'.length\n * 1\n * > '💩'.length\n * 2\n * > '語'.length\n * 1\n * > 'a💩語'.length\n * 4\n * ```\n *\n * The results of the above example are explained by the fact that the\n * characters 'a' and '語' are not represented by surrogate pairs, but '💩' is.\n *\n * Because of this idiosyncrasy in JavaScript's string implementation and APIs,\n * we must \"jump\" an extra index after encoding a character as a surrogate\n * pair. In practice, this means we must increment the index of our for loop by\n * 2 if we encode a surrogate pair, and 1 in all other cases.\n *\n * -----------------------------------------------------------------------------\n *\n * References:\n * - [1] https://www.unicode.org/versions/Unicode12.0.0/UnicodeStandard-12.0.pdf\n * 3.9 Unicode Encoding Forms - UTF-8\n * - [2] http://www.herongyang.com/Unicode/UTF-16-UTF-16-Encoding.html\n * - [3] https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/length#Description\n *\n */\nvar utf16Encode = function (input, byteOrderMark) {\n if (byteOrderMark === void 0) { byteOrderMark = true; }\n var encoded = [];\n if (byteOrderMark)\n encoded.push(0xfeff);\n for (var idx = 0, len = input.length; idx < len;) {\n var codePoint = input.codePointAt(idx);\n // Two byte encoding\n if (codePoint < 0x010000) {\n encoded.push(codePoint);\n idx += 1;\n }\n // Four byte encoding (surrogate pair)\n else if (codePoint < 0x110000) {\n encoded.push(highSurrogate(codePoint), lowSurrogate(codePoint));\n idx += 2;\n }\n // Should never reach this case\n else\n throw new Error(\"Invalid code point: 0x\" + Object(_strings__WEBPACK_IMPORTED_MODULE_0__[\"toHexString\"])(codePoint));\n }\n return new Uint16Array(encoded);\n};\n/**\n * Returns `true` if the `codePoint` is within the\n * Basic Multilingual Plane (BMP). Code points inside the BMP are not encoded\n * with surrogate pairs.\n * @param codePoint The code point to be evaluated.\n *\n * Reference: https://en.wikipedia.org/wiki/UTF-16#Description\n */\nvar isWithinBMP = function (codePoint) {\n return codePoint >= 0 && codePoint <= 0xffff;\n};\n/**\n * Returns `true` if the given `codePoint` is valid and must be represented\n * with a surrogate pair when encoded.\n * @param codePoint The code point to be evaluated.\n *\n * Reference: https://en.wikipedia.org/wiki/UTF-16#Description\n */\nvar hasSurrogates = function (codePoint) {\n return codePoint >= 0x010000 && codePoint <= 0x10ffff;\n};\n// From Unicode 3.0 spec, section 3.7:\n// http://unicode.org/versions/Unicode3.0.0/ch03.pdf\nvar highSurrogate = function (codePoint) {\n return Math.floor((codePoint - 0x10000) / 0x400) + 0xd800;\n};\n// From Unicode 3.0 spec, section 3.7:\n// http://unicode.org/versions/Unicode3.0.0/ch03.pdf\nvar lowSurrogate = function (codePoint) {\n return ((codePoint - 0x10000) % 0x400) + 0xdc00;\n};\nvar ByteOrder;\n(function (ByteOrder) {\n ByteOrder[\"BigEndian\"] = \"BigEndian\";\n ByteOrder[\"LittleEndian\"] = \"LittleEndian\";\n})(ByteOrder || (ByteOrder = {}));\nvar REPLACEMENT = '�'.codePointAt(0);\n/**\n * Decodes a Uint8Array of data to a string using UTF-16.\n *\n * Note that this function attempts to recover from erronous input by\n * inserting the replacement character (�) to mark invalid code points\n * and surrogate pairs.\n *\n * @param input A Uint8Array containing UTF-16 encoded data\n * @param byteOrderMark Whether or not a byte order marker (BOM) should be read\n * at the start of the encoding. (default `true`)\n * @returns The decoded string.\n */\nvar utf16Decode = function (input, byteOrderMark) {\n if (byteOrderMark === void 0) { byteOrderMark = true; }\n // Need at least 2 bytes of data in UTF-16 encodings\n if (input.length <= 1)\n return String.fromCodePoint(REPLACEMENT);\n var byteOrder = byteOrderMark ? readBOM(input) : ByteOrder.BigEndian;\n // Skip byte order mark if needed\n var idx = byteOrderMark ? 2 : 0;\n var codePoints = [];\n while (input.length - idx >= 2) {\n var first = decodeValues(input[idx++], input[idx++], byteOrder);\n if (isHighSurrogate(first)) {\n if (input.length - idx < 2) {\n // Need at least 2 bytes left for the low surrogate that is required\n codePoints.push(REPLACEMENT);\n }\n else {\n var second = decodeValues(input[idx++], input[idx++], byteOrder);\n if (isLowSurrogate(second)) {\n codePoints.push(first, second);\n }\n else {\n // Low surrogates should always follow high surrogates\n codePoints.push(REPLACEMENT);\n }\n }\n }\n else if (isLowSurrogate(first)) {\n // High surrogates should always come first since `decodeValues()`\n // accounts for the byte ordering\n idx += 2;\n codePoints.push(REPLACEMENT);\n }\n else {\n codePoints.push(first);\n }\n }\n // There shouldn't be extra byte(s) left over\n if (idx < input.length)\n codePoints.push(REPLACEMENT);\n return String.fromCodePoint.apply(String, codePoints);\n};\n/**\n * Returns `true` if the given `codePoint` is a high surrogate.\n * @param codePoint The code point to be evaluated.\n *\n * Reference: https://en.wikipedia.org/wiki/UTF-16#Description\n */\nvar isHighSurrogate = function (codePoint) {\n return codePoint >= 0xd800 && codePoint <= 0xdbff;\n};\n/**\n * Returns `true` if the given `codePoint` is a low surrogate.\n * @param codePoint The code point to be evaluated.\n *\n * Reference: https://en.wikipedia.org/wiki/UTF-16#Description\n */\nvar isLowSurrogate = function (codePoint) {\n return codePoint >= 0xdc00 && codePoint <= 0xdfff;\n};\n/**\n * Decodes the given utf-16 values first and second using the specified\n * byte order.\n * @param first The first byte of the encoding.\n * @param second The second byte of the encoding.\n * @param byteOrder The byte order of the encoding.\n * Reference: https://en.wikipedia.org/wiki/UTF-16#Examples\n */\nvar decodeValues = function (first, second, byteOrder) {\n // Append the binary representation of the preceding byte by shifting the\n // first one 8 to the left and than applying a bitwise or-operator to append\n // the second one.\n if (byteOrder === ByteOrder.LittleEndian)\n return (second << 8) | first;\n if (byteOrder === ByteOrder.BigEndian)\n return (first << 8) | second;\n throw new Error(\"Invalid byteOrder: \" + byteOrder);\n};\n/**\n * Returns whether the given array contains a byte order mark for the\n * UTF-16BE or UTF-16LE encoding. If it has neither, BigEndian is assumed.\n *\n * Reference: https://en.wikipedia.org/wiki/Byte_order_mark#UTF-16\n *\n * @param bytes The byte array to be evaluated.\n */\n// prettier-ignore\nvar readBOM = function (bytes) { return (hasUtf16BigEndianBOM(bytes) ? ByteOrder.BigEndian\n : hasUtf16LittleEndianBOM(bytes) ? ByteOrder.LittleEndian\n : ByteOrder.BigEndian); };\nvar hasUtf16BigEndianBOM = function (bytes) {\n return bytes[0] === 0xfe && bytes[1] === 0xff;\n};\nvar hasUtf16LittleEndianBOM = function (bytes) {\n return bytes[0] === 0xff && bytes[1] === 0xfe;\n};\nvar hasUtf16BOM = function (bytes) {\n return hasUtf16BigEndianBOM(bytes) || hasUtf16LittleEndianBOM(bytes);\n};\n//# sourceMappingURL=unicode.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/utils/unicode.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/pdf-lib/es/utils/validators.js":
/*!**********************************************************************!*\
!*** ../simple-mind-map/node_modules/pdf-lib/es/utils/validators.js ***!
\**********************************************************************/
/*! exports provided: backtick, singleQuote, createValueErrorMsg, assertIsOneOf, assertIsOneOfOrUndefined, assertIsSubset, getType, isType, createTypeErrorMsg, assertIs, assertOrUndefined, assertEachIs, assertRange, assertRangeOrUndefined, assertMultiple, assertInteger, assertPositive */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"backtick\", function() { return backtick; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"singleQuote\", function() { return singleQuote; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createValueErrorMsg\", function() { return createValueErrorMsg; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"assertIsOneOf\", function() { return assertIsOneOf; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"assertIsOneOfOrUndefined\", function() { return assertIsOneOfOrUndefined; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"assertIsSubset\", function() { return assertIsSubset; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getType\", function() { return getType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isType\", function() { return isType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createTypeErrorMsg\", function() { return createTypeErrorMsg; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"assertIs\", function() { return assertIs; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"assertOrUndefined\", function() { return assertOrUndefined; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"assertEachIs\", function() { return assertEachIs; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"assertRange\", function() { return assertRange; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"assertRangeOrUndefined\", function() { return assertRangeOrUndefined; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"assertMultiple\", function() { return assertMultiple; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"assertInteger\", function() { return assertInteger; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"assertPositive\", function() { return assertPositive; });\n/* harmony import */ var _objects__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./objects */ \"../simple-mind-map/node_modules/pdf-lib/es/utils/objects.js\");\n/* tslint:disable:ban-types */\n\nvar backtick = function (val) { return \"`\" + val + \"`\"; };\nvar singleQuote = function (val) { return \"'\" + val + \"'\"; };\n// prettier-ignore\nvar formatValue = function (value) {\n var type = typeof value;\n if (type === 'string')\n return singleQuote(value);\n else if (type === 'undefined')\n return backtick(value);\n else\n return value;\n};\nvar createValueErrorMsg = function (value, valueName, values) {\n var allowedValues = new Array(values.length);\n for (var idx = 0, len = values.length; idx < len; idx++) {\n var v = values[idx];\n allowedValues[idx] = formatValue(v);\n }\n var joinedValues = allowedValues.join(' or ');\n // prettier-ignore\n return backtick(valueName) + \" must be one of \" + joinedValues + \", but was actually \" + formatValue(value);\n};\nvar assertIsOneOf = function (value, valueName, allowedValues) {\n if (!Array.isArray(allowedValues)) {\n allowedValues = Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"values\"])(allowedValues);\n }\n for (var idx = 0, len = allowedValues.length; idx < len; idx++) {\n if (value === allowedValues[idx])\n return;\n }\n throw new TypeError(createValueErrorMsg(value, valueName, allowedValues));\n};\nvar assertIsOneOfOrUndefined = function (value, valueName, allowedValues) {\n if (!Array.isArray(allowedValues)) {\n allowedValues = Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"values\"])(allowedValues);\n }\n assertIsOneOf(value, valueName, allowedValues.concat(undefined));\n};\nvar assertIsSubset = function (values, valueName, allowedValues) {\n if (!Array.isArray(allowedValues)) {\n allowedValues = Object(_objects__WEBPACK_IMPORTED_MODULE_0__[\"values\"])(allowedValues);\n }\n for (var idx = 0, len = values.length; idx < len; idx++) {\n assertIsOneOf(values[idx], valueName, allowedValues);\n }\n};\nvar getType = function (val) {\n if (val === null)\n return 'null';\n if (val === undefined)\n return 'undefined';\n if (typeof val === 'string')\n return 'string';\n if (isNaN(val))\n return 'NaN';\n if (typeof val === 'number')\n return 'number';\n if (typeof val === 'boolean')\n return 'boolean';\n if (typeof val === 'symbol')\n return 'symbol';\n if (typeof val === 'bigint')\n return 'bigint';\n if (val.constructor && val.constructor.name)\n return val.constructor.name;\n if (val.name)\n return val.name;\n if (val.constructor)\n return String(val.constructor);\n return String(val);\n};\nvar isType = function (value, type) {\n if (type === 'null')\n return value === null;\n if (type === 'undefined')\n return value === undefined;\n if (type === 'string')\n return typeof value === 'string';\n if (type === 'number')\n return typeof value === 'number' && !isNaN(value);\n if (type === 'boolean')\n return typeof value === 'boolean';\n if (type === 'symbol')\n return typeof value === 'symbol';\n if (type === 'bigint')\n return typeof value === 'bigint';\n if (type === Date)\n return value instanceof Date;\n if (type === Array)\n return value instanceof Array;\n if (type === Uint8Array)\n return value instanceof Uint8Array;\n if (type === ArrayBuffer)\n return value instanceof ArrayBuffer;\n if (type === Function)\n return value instanceof Function;\n return value instanceof type[0];\n};\nvar createTypeErrorMsg = function (value, valueName, types) {\n var allowedTypes = new Array(types.length);\n for (var idx = 0, len = types.length; idx < len; idx++) {\n var type = types[idx];\n if (type === 'null')\n allowedTypes[idx] = backtick('null');\n if (type === 'undefined')\n allowedTypes[idx] = backtick('undefined');\n if (type === 'string')\n allowedTypes[idx] = backtick('string');\n else if (type === 'number')\n allowedTypes[idx] = backtick('number');\n else if (type === 'boolean')\n allowedTypes[idx] = backtick('boolean');\n else if (type === 'symbol')\n allowedTypes[idx] = backtick('symbol');\n else if (type === 'bigint')\n allowedTypes[idx] = backtick('bigint');\n else if (type === Array)\n allowedTypes[idx] = backtick('Array');\n else if (type === Uint8Array)\n allowedTypes[idx] = backtick('Uint8Array');\n else if (type === ArrayBuffer)\n allowedTypes[idx] = backtick('ArrayBuffer');\n else\n allowedTypes[idx] = backtick(type[1]);\n }\n var joinedTypes = allowedTypes.join(' or ');\n // prettier-ignore\n return backtick(valueName) + \" must be of type \" + joinedTypes + \", but was actually of type \" + backtick(getType(value));\n};\nvar assertIs = function (value, valueName, types) {\n for (var idx = 0, len = types.length; idx < len; idx++) {\n if (isType(value, types[idx]))\n return;\n }\n throw new TypeError(createTypeErrorMsg(value, valueName, types));\n};\nvar assertOrUndefined = function (value, valueName, types) {\n assertIs(value, valueName, types.concat('undefined'));\n};\nvar assertEachIs = function (values, valueName, types) {\n for (var idx = 0, len = values.length; idx < len; idx++) {\n assertIs(values[idx], valueName, types);\n }\n};\nvar assertRange = function (value, valueName, min, max) {\n assertIs(value, valueName, ['number']);\n assertIs(min, 'min', ['number']);\n assertIs(max, 'max', ['number']);\n max = Math.max(min, max);\n if (value < min || value > max) {\n // prettier-ignore\n throw new Error(backtick(valueName) + \" must be at least \" + min + \" and at most \" + max + \", but was actually \" + value);\n }\n};\nvar assertRangeOrUndefined = function (value, valueName, min, max) {\n assertIs(value, valueName, ['number', 'undefined']);\n if (typeof value === 'number')\n assertRange(value, valueName, min, max);\n};\nvar assertMultiple = function (value, valueName, multiplier) {\n assertIs(value, valueName, ['number']);\n if (value % multiplier !== 0) {\n // prettier-ignore\n throw new Error(backtick(valueName) + \" must be a multiple of \" + multiplier + \", but was actually \" + value);\n }\n};\nvar assertInteger = function (value, valueName) {\n if (!Number.isInteger(value)) {\n throw new Error(backtick(valueName) + \" must be an integer, but was actually \" + value);\n }\n};\nvar assertPositive = function (value, valueName) {\n if (![1, 0].includes(Math.sign(value))) {\n // prettier-ignore\n throw new Error(backtick(valueName) + \" must be a positive number or 0, but was actually \" + value);\n }\n};\n//# sourceMappingURL=validators.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/pdf-lib/es/utils/validators.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/quill-delta/dist/AttributeMap.js":
/*!************************************************************************!*\
!*** ../simple-mind-map/node_modules/quill-delta/dist/AttributeMap.js ***!
\************************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst cloneDeep = __webpack_require__(/*! lodash.clonedeep */ \"../simple-mind-map/node_modules/lodash.clonedeep/index.js\");\nconst isEqual = __webpack_require__(/*! lodash.isequal */ \"../simple-mind-map/node_modules/lodash.isequal/index.js\");\nvar AttributeMap;\n(function (AttributeMap) {\n function compose(a = {}, b = {}, keepNull = false) {\n if (typeof a !== 'object') {\n a = {};\n }\n if (typeof b !== 'object') {\n b = {};\n }\n let attributes = cloneDeep(b);\n if (!keepNull) {\n attributes = Object.keys(attributes).reduce((copy, key) => {\n if (attributes[key] != null) {\n copy[key] = attributes[key];\n }\n return copy;\n }, {});\n }\n for (const key in a) {\n if (a[key] !== undefined && b[key] === undefined) {\n attributes[key] = a[key];\n }\n }\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n }\n AttributeMap.compose = compose;\n function diff(a = {}, b = {}) {\n if (typeof a !== 'object') {\n a = {};\n }\n if (typeof b !== 'object') {\n b = {};\n }\n const attributes = Object.keys(a)\n .concat(Object.keys(b))\n .reduce((attrs, key) => {\n if (!isEqual(a[key], b[key])) {\n attrs[key] = b[key] === undefined ? null : b[key];\n }\n return attrs;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n }\n AttributeMap.diff = diff;\n function invert(attr = {}, base = {}) {\n attr = attr || {};\n const baseInverted = Object.keys(base).reduce((memo, key) => {\n if (base[key] !== attr[key] && attr[key] !== undefined) {\n memo[key] = base[key];\n }\n return memo;\n }, {});\n return Object.keys(attr).reduce((memo, key) => {\n if (attr[key] !== base[key] && base[key] === undefined) {\n memo[key] = null;\n }\n return memo;\n }, baseInverted);\n }\n AttributeMap.invert = invert;\n function transform(a, b, priority = false) {\n if (typeof a !== 'object') {\n return b;\n }\n if (typeof b !== 'object') {\n return undefined;\n }\n if (!priority) {\n return b; // b simply overwrites us without priority\n }\n const attributes = Object.keys(b).reduce((attrs, key) => {\n if (a[key] === undefined) {\n attrs[key] = b[key]; // null is a valid value\n }\n return attrs;\n }, {});\n return Object.keys(attributes).length > 0 ? attributes : undefined;\n }\n AttributeMap.transform = transform;\n})(AttributeMap || (AttributeMap = {}));\nexports.default = AttributeMap;\n//# sourceMappingURL=AttributeMap.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill-delta/dist/AttributeMap.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/quill-delta/dist/Delta.js":
/*!*****************************************************************!*\
!*** ../simple-mind-map/node_modules/quill-delta/dist/Delta.js ***!
\*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.AttributeMap = exports.OpIterator = exports.Op = void 0;\nconst diff = __webpack_require__(/*! fast-diff */ \"../simple-mind-map/node_modules/fast-diff/diff.js\");\nconst cloneDeep = __webpack_require__(/*! lodash.clonedeep */ \"../simple-mind-map/node_modules/lodash.clonedeep/index.js\");\nconst isEqual = __webpack_require__(/*! lodash.isequal */ \"../simple-mind-map/node_modules/lodash.isequal/index.js\");\nconst AttributeMap_1 = __webpack_require__(/*! ./AttributeMap */ \"../simple-mind-map/node_modules/quill-delta/dist/AttributeMap.js\");\nexports.AttributeMap = AttributeMap_1.default;\nconst Op_1 = __webpack_require__(/*! ./Op */ \"../simple-mind-map/node_modules/quill-delta/dist/Op.js\");\nexports.Op = Op_1.default;\nconst OpIterator_1 = __webpack_require__(/*! ./OpIterator */ \"../simple-mind-map/node_modules/quill-delta/dist/OpIterator.js\");\nexports.OpIterator = OpIterator_1.default;\nconst NULL_CHARACTER = String.fromCharCode(0); // Placeholder char for embed in diff()\nconst getEmbedTypeAndData = (a, b) => {\n if (typeof a !== 'object' || a === null) {\n throw new Error(`cannot retain a ${typeof a}`);\n }\n if (typeof b !== 'object' || b === null) {\n throw new Error(`cannot retain a ${typeof b}`);\n }\n const embedType = Object.keys(a)[0];\n if (!embedType || embedType !== Object.keys(b)[0]) {\n throw new Error(`embed types not matched: ${embedType} != ${Object.keys(b)[0]}`);\n }\n return [embedType, a[embedType], b[embedType]];\n};\nclass Delta {\n constructor(ops) {\n // Assume we are given a well formed ops\n if (Array.isArray(ops)) {\n this.ops = ops;\n }\n else if (ops != null && Array.isArray(ops.ops)) {\n this.ops = ops.ops;\n }\n else {\n this.ops = [];\n }\n }\n static registerEmbed(embedType, handler) {\n this.handlers[embedType] = handler;\n }\n static unregisterEmbed(embedType) {\n delete this.handlers[embedType];\n }\n static getHandler(embedType) {\n const handler = this.handlers[embedType];\n if (!handler) {\n throw new Error(`no handlers for embed type \"${embedType}\"`);\n }\n return handler;\n }\n insert(arg, attributes) {\n const newOp = {};\n if (typeof arg === 'string' && arg.length === 0) {\n return this;\n }\n newOp.insert = arg;\n if (attributes != null &&\n typeof attributes === 'object' &&\n Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n return this.push(newOp);\n }\n delete(length) {\n if (length <= 0) {\n return this;\n }\n return this.push({ delete: length });\n }\n retain(length, attributes) {\n if (typeof length === 'number' && length <= 0) {\n return this;\n }\n const newOp = { retain: length };\n if (attributes != null &&\n typeof attributes === 'object' &&\n Object.keys(attributes).length > 0) {\n newOp.attributes = attributes;\n }\n return this.push(newOp);\n }\n push(newOp) {\n let index = this.ops.length;\n let lastOp = this.ops[index - 1];\n newOp = cloneDeep(newOp);\n if (typeof lastOp === 'object') {\n if (typeof newOp.delete === 'number' &&\n typeof lastOp.delete === 'number') {\n this.ops[index - 1] = { delete: lastOp.delete + newOp.delete };\n return this;\n }\n // Since it does not matter if we insert before or after deleting at the same index,\n // always prefer to insert first\n if (typeof lastOp.delete === 'number' && newOp.insert != null) {\n index -= 1;\n lastOp = this.ops[index - 1];\n if (typeof lastOp !== 'object') {\n this.ops.unshift(newOp);\n return this;\n }\n }\n if (isEqual(newOp.attributes, lastOp.attributes)) {\n if (typeof newOp.insert === 'string' &&\n typeof lastOp.insert === 'string') {\n this.ops[index - 1] = { insert: lastOp.insert + newOp.insert };\n if (typeof newOp.attributes === 'object') {\n this.ops[index - 1].attributes = newOp.attributes;\n }\n return this;\n }\n else if (typeof newOp.retain === 'number' &&\n typeof lastOp.retain === 'number') {\n this.ops[index - 1] = { retain: lastOp.retain + newOp.retain };\n if (typeof newOp.attributes === 'object') {\n this.ops[index - 1].attributes = newOp.attributes;\n }\n return this;\n }\n }\n }\n if (index === this.ops.length) {\n this.ops.push(newOp);\n }\n else {\n this.ops.splice(index, 0, newOp);\n }\n return this;\n }\n chop() {\n const lastOp = this.ops[this.ops.length - 1];\n if (lastOp && typeof lastOp.retain === 'number' && !lastOp.attributes) {\n this.ops.pop();\n }\n return this;\n }\n filter(predicate) {\n return this.ops.filter(predicate);\n }\n forEach(predicate) {\n this.ops.forEach(predicate);\n }\n map(predicate) {\n return this.ops.map(predicate);\n }\n partition(predicate) {\n const passed = [];\n const failed = [];\n this.forEach((op) => {\n const target = predicate(op) ? passed : failed;\n target.push(op);\n });\n return [passed, failed];\n }\n reduce(predicate, initialValue) {\n return this.ops.reduce(predicate, initialValue);\n }\n changeLength() {\n return this.reduce((length, elem) => {\n if (elem.insert) {\n return length + Op_1.default.length(elem);\n }\n else if (elem.delete) {\n return length - elem.delete;\n }\n return length;\n }, 0);\n }\n length() {\n return this.reduce((length, elem) => {\n return length + Op_1.default.length(elem);\n }, 0);\n }\n slice(start = 0, end = Infinity) {\n const ops = [];\n const iter = new OpIterator_1.default(this.ops);\n let index = 0;\n while (index < end && iter.hasNext()) {\n let nextOp;\n if (index < start) {\n nextOp = iter.next(start - index);\n }\n else {\n nextOp = iter.next(end - index);\n ops.push(nextOp);\n }\n index += Op_1.default.length(nextOp);\n }\n return new Delta(ops);\n }\n compose(other) {\n const thisIter = new OpIterator_1.default(this.ops);\n const otherIter = new OpIterator_1.default(other.ops);\n const ops = [];\n const firstOther = otherIter.peek();\n if (firstOther != null &&\n typeof firstOther.retain === 'number' &&\n firstOther.attributes == null) {\n let firstLeft = firstOther.retain;\n while (thisIter.peekType() === 'insert' &&\n thisIter.peekLength() <= firstLeft) {\n firstLeft -= thisIter.peekLength();\n ops.push(thisIter.next());\n }\n if (firstOther.retain - firstLeft > 0) {\n otherIter.next(firstOther.retain - firstLeft);\n }\n }\n const delta = new Delta(ops);\n while (thisIter.hasNext() || otherIter.hasNext()) {\n if (otherIter.peekType() === 'insert') {\n delta.push(otherIter.next());\n }\n else if (thisIter.peekType() === 'delete') {\n delta.push(thisIter.next());\n }\n else {\n const length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n const thisOp = thisIter.next(length);\n const otherOp = otherIter.next(length);\n if (otherOp.retain) {\n const newOp = {};\n if (typeof thisOp.retain === 'number') {\n newOp.retain =\n typeof otherOp.retain === 'number' ? length : otherOp.retain;\n }\n else {\n if (typeof otherOp.retain === 'number') {\n if (thisOp.retain == null) {\n newOp.insert = thisOp.insert;\n }\n else {\n newOp.retain = thisOp.retain;\n }\n }\n else {\n const action = thisOp.retain == null ? 'insert' : 'retain';\n const [embedType, thisData, otherData] = getEmbedTypeAndData(thisOp[action], otherOp.retain);\n const handler = Delta.getHandler(embedType);\n newOp[action] = {\n [embedType]: handler.compose(thisData, otherData, action === 'retain'),\n };\n }\n }\n // Preserve null when composing with a retain, otherwise remove it for inserts\n const attributes = AttributeMap_1.default.compose(thisOp.attributes, otherOp.attributes, typeof thisOp.retain === 'number');\n if (attributes) {\n newOp.attributes = attributes;\n }\n delta.push(newOp);\n // Optimization if rest of other is just retain\n if (!otherIter.hasNext() &&\n isEqual(delta.ops[delta.ops.length - 1], newOp)) {\n const rest = new Delta(thisIter.rest());\n return delta.concat(rest).chop();\n }\n // Other op should be delete, we could be an insert or retain\n // Insert + delete cancels out\n }\n else if (typeof otherOp.delete === 'number' &&\n (typeof thisOp.retain === 'number' ||\n (typeof thisOp.retain === 'object' && thisOp.retain !== null))) {\n delta.push(otherOp);\n }\n }\n }\n return delta.chop();\n }\n concat(other) {\n const delta = new Delta(this.ops.slice());\n if (other.ops.length > 0) {\n delta.push(other.ops[0]);\n delta.ops = delta.ops.concat(other.ops.slice(1));\n }\n return delta;\n }\n diff(other, cursor) {\n if (this.ops === other.ops) {\n return new Delta();\n }\n const strings = [this, other].map((delta) => {\n return delta\n .map((op) => {\n if (op.insert != null) {\n return typeof op.insert === 'string' ? op.insert : NULL_CHARACTER;\n }\n const prep = delta === other ? 'on' : 'with';\n throw new Error('diff() called ' + prep + ' non-document');\n })\n .join('');\n });\n const retDelta = new Delta();\n const diffResult = diff(strings[0], strings[1], cursor, true);\n const thisIter = new OpIterator_1.default(this.ops);\n const otherIter = new OpIterator_1.default(other.ops);\n diffResult.forEach((component) => {\n let length = component[1].length;\n while (length > 0) {\n let opLength = 0;\n switch (component[0]) {\n case diff.INSERT:\n opLength = Math.min(otherIter.peekLength(), length);\n retDelta.push(otherIter.next(opLength));\n break;\n case diff.DELETE:\n opLength = Math.min(length, thisIter.peekLength());\n thisIter.next(opLength);\n retDelta.delete(opLength);\n break;\n case diff.EQUAL:\n opLength = Math.min(thisIter.peekLength(), otherIter.peekLength(), length);\n const thisOp = thisIter.next(opLength);\n const otherOp = otherIter.next(opLength);\n if (isEqual(thisOp.insert, otherOp.insert)) {\n retDelta.retain(opLength, AttributeMap_1.default.diff(thisOp.attributes, otherOp.attributes));\n }\n else {\n retDelta.push(otherOp).delete(opLength);\n }\n break;\n }\n length -= opLength;\n }\n });\n return retDelta.chop();\n }\n eachLine(predicate, newline = '\\n') {\n const iter = new OpIterator_1.default(this.ops);\n let line = new Delta();\n let i = 0;\n while (iter.hasNext()) {\n if (iter.peekType() !== 'insert') {\n return;\n }\n const thisOp = iter.peek();\n const start = Op_1.default.length(thisOp) - iter.peekLength();\n const index = typeof thisOp.insert === 'string'\n ? thisOp.insert.indexOf(newline, start) - start\n : -1;\n if (index < 0) {\n line.push(iter.next());\n }\n else if (index > 0) {\n line.push(iter.next(index));\n }\n else {\n if (predicate(line, iter.next(1).attributes || {}, i) === false) {\n return;\n }\n i += 1;\n line = new Delta();\n }\n }\n if (line.length() > 0) {\n predicate(line, {}, i);\n }\n }\n invert(base) {\n const inverted = new Delta();\n this.reduce((baseIndex, op) => {\n if (op.insert) {\n inverted.delete(Op_1.default.length(op));\n }\n else if (typeof op.retain === 'number' && op.attributes == null) {\n inverted.retain(op.retain);\n return baseIndex + op.retain;\n }\n else if (op.delete || typeof op.retain === 'number') {\n const length = (op.delete || op.retain);\n const slice = base.slice(baseIndex, baseIndex + length);\n slice.forEach((baseOp) => {\n if (op.delete) {\n inverted.push(baseOp);\n }\n else if (op.retain && op.attributes) {\n inverted.retain(Op_1.default.length(baseOp), AttributeMap_1.default.invert(op.attributes, baseOp.attributes));\n }\n });\n return baseIndex + length;\n }\n else if (typeof op.retain === 'object' && op.retain !== null) {\n const slice = base.slice(baseIndex, baseIndex + 1);\n const baseOp = new OpIterator_1.default(slice.ops).next();\n const [embedType, opData, baseOpData] = getEmbedTypeAndData(op.retain, baseOp.insert);\n const handler = Delta.getHandler(embedType);\n inverted.retain({ [embedType]: handler.invert(opData, baseOpData) }, AttributeMap_1.default.invert(op.attributes, baseOp.attributes));\n return baseIndex + 1;\n }\n return baseIndex;\n }, 0);\n return inverted.chop();\n }\n transform(arg, priority = false) {\n priority = !!priority;\n if (typeof arg === 'number') {\n return this.transformPosition(arg, priority);\n }\n const other = arg;\n const thisIter = new OpIterator_1.default(this.ops);\n const otherIter = new OpIterator_1.default(other.ops);\n const delta = new Delta();\n while (thisIter.hasNext() || otherIter.hasNext()) {\n if (thisIter.peekType() === 'insert' &&\n (priority || otherIter.peekType() !== 'insert')) {\n delta.retain(Op_1.default.length(thisIter.next()));\n }\n else if (otherIter.peekType() === 'insert') {\n delta.push(otherIter.next());\n }\n else {\n const length = Math.min(thisIter.peekLength(), otherIter.peekLength());\n const thisOp = thisIter.next(length);\n const otherOp = otherIter.next(length);\n if (thisOp.delete) {\n // Our delete either makes their delete redundant or removes their retain\n continue;\n }\n else if (otherOp.delete) {\n delta.push(otherOp);\n }\n else {\n const thisData = thisOp.retain;\n const otherData = otherOp.retain;\n let transformedData = typeof otherData === 'object' && otherData !== null\n ? otherData\n : length;\n if (typeof thisData === 'object' &&\n thisData !== null &&\n typeof otherData === 'object' &&\n otherData !== null) {\n const embedType = Object.keys(thisData)[0];\n if (embedType === Object.keys(otherData)[0]) {\n const handler = Delta.getHandler(embedType);\n if (handler) {\n transformedData = {\n [embedType]: handler.transform(thisData[embedType], otherData[embedType], priority),\n };\n }\n }\n }\n // We retain either their retain or insert\n delta.retain(transformedData, AttributeMap_1.default.transform(thisOp.attributes, otherOp.attributes, priority));\n }\n }\n }\n return delta.chop();\n }\n transformPosition(index, priority = false) {\n priority = !!priority;\n const thisIter = new OpIterator_1.default(this.ops);\n let offset = 0;\n while (thisIter.hasNext() && offset <= index) {\n const length = thisIter.peekLength();\n const nextType = thisIter.peekType();\n thisIter.next();\n if (nextType === 'delete') {\n index -= Math.min(length, index - offset);\n continue;\n }\n else if (nextType === 'insert' && (offset < index || !priority)) {\n index += length;\n }\n offset += length;\n }\n return index;\n }\n}\nDelta.Op = Op_1.default;\nDelta.OpIterator = OpIterator_1.default;\nDelta.AttributeMap = AttributeMap_1.default;\nDelta.handlers = {};\nexports.default = Delta;\nif (true) {\n module.exports = Delta;\n module.exports.default = Delta;\n}\n//# sourceMappingURL=Delta.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill-delta/dist/Delta.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/quill-delta/dist/Op.js":
/*!**************************************************************!*\
!*** ../simple-mind-map/node_modules/quill-delta/dist/Op.js ***!
\**************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar Op;\n(function (Op) {\n function length(op) {\n if (typeof op.delete === 'number') {\n return op.delete;\n }\n else if (typeof op.retain === 'number') {\n return op.retain;\n }\n else if (typeof op.retain === 'object' && op.retain !== null) {\n return 1;\n }\n else {\n return typeof op.insert === 'string' ? op.insert.length : 1;\n }\n }\n Op.length = length;\n})(Op || (Op = {}));\nexports.default = Op;\n//# sourceMappingURL=Op.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill-delta/dist/Op.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/quill-delta/dist/OpIterator.js":
/*!**********************************************************************!*\
!*** ../simple-mind-map/node_modules/quill-delta/dist/OpIterator.js ***!
\**********************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
"use strict";
eval("\nObject.defineProperty(exports, \"__esModule\", { value: true });\nconst Op_1 = __webpack_require__(/*! ./Op */ \"../simple-mind-map/node_modules/quill-delta/dist/Op.js\");\nclass Iterator {\n constructor(ops) {\n this.ops = ops;\n this.index = 0;\n this.offset = 0;\n }\n hasNext() {\n return this.peekLength() < Infinity;\n }\n next(length) {\n if (!length) {\n length = Infinity;\n }\n const nextOp = this.ops[this.index];\n if (nextOp) {\n const offset = this.offset;\n const opLength = Op_1.default.length(nextOp);\n if (length >= opLength - offset) {\n length = opLength - offset;\n this.index += 1;\n this.offset = 0;\n }\n else {\n this.offset += length;\n }\n if (typeof nextOp.delete === 'number') {\n return { delete: length };\n }\n else {\n const retOp = {};\n if (nextOp.attributes) {\n retOp.attributes = nextOp.attributes;\n }\n if (typeof nextOp.retain === 'number') {\n retOp.retain = length;\n }\n else if (typeof nextOp.retain === 'object' &&\n nextOp.retain !== null) {\n // offset should === 0, length should === 1\n retOp.retain = nextOp.retain;\n }\n else if (typeof nextOp.insert === 'string') {\n retOp.insert = nextOp.insert.substr(offset, length);\n }\n else {\n // offset should === 0, length should === 1\n retOp.insert = nextOp.insert;\n }\n return retOp;\n }\n }\n else {\n return { retain: Infinity };\n }\n }\n peek() {\n return this.ops[this.index];\n }\n peekLength() {\n if (this.ops[this.index]) {\n // Should never return 0 if our index is being managed correctly\n return Op_1.default.length(this.ops[this.index]) - this.offset;\n }\n else {\n return Infinity;\n }\n }\n peekType() {\n const op = this.ops[this.index];\n if (op) {\n if (typeof op.delete === 'number') {\n return 'delete';\n }\n else if (typeof op.retain === 'number' ||\n (typeof op.retain === 'object' && op.retain !== null)) {\n return 'retain';\n }\n else {\n return 'insert';\n }\n }\n return 'retain';\n }\n rest() {\n if (!this.hasNext()) {\n return [];\n }\n else if (this.offset === 0) {\n return this.ops.slice(this.index);\n }\n else {\n const offset = this.offset;\n const index = this.index;\n const next = this.next();\n const rest = this.ops.slice(this.index);\n this.offset = offset;\n this.index = index;\n return [next].concat(rest);\n }\n }\n}\nexports.default = Iterator;\n//# sourceMappingURL=OpIterator.js.map\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill-delta/dist/OpIterator.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/quill/blots/block.js":
/*!************************************************************!*\
!*** ../simple-mind-map/node_modules/quill/blots/block.js ***!
\************************************************************/
/*! exports provided: blockDelta, bubbleFormats, BlockEmbed, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"blockDelta\", function() { return blockDelta; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bubbleFormats\", function() { return bubbleFormats; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"BlockEmbed\", function() { return BlockEmbed; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Block; });\n/* harmony import */ var _var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/defineProperty.js */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */ \"./node_modules/core-js/modules/es.array.reduce.js\");\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! parchment */ \"../simple-mind-map/node_modules/parchment/dist/parchment.js\");\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! quill-delta */ \"../simple-mind-map/node_modules/quill-delta/dist/Delta.js\");\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _break_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./break.js */ \"../simple-mind-map/node_modules/quill/blots/break.js\");\n/* harmony import */ var _inline_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./inline.js */ \"../simple-mind-map/node_modules/quill/blots/inline.js\");\n/* harmony import */ var _text_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./text.js */ \"../simple-mind-map/node_modules/quill/blots/text.js\");\n\n\n\n\n\n\n\nconst NEWLINE_LENGTH = 1;\nclass Block extends parchment__WEBPACK_IMPORTED_MODULE_2__[\"BlockBlot\"] {\n constructor(...args) {\n super(...args);\n Object(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, \"cache\", {});\n }\n delta() {\n if (this.cache.delta == null) {\n this.cache.delta = blockDelta(this);\n }\n return this.cache.delta;\n }\n deleteAt(index, length) {\n super.deleteAt(index, length);\n this.cache = {};\n }\n formatAt(index, length, name, value) {\n if (length <= 0) return;\n if (this.scroll.query(name, parchment__WEBPACK_IMPORTED_MODULE_2__[\"Scope\"].BLOCK)) {\n if (index + length === this.length()) {\n this.format(name, value);\n }\n } else {\n super.formatAt(index, Math.min(length, this.length() - index - 1), name, value);\n }\n this.cache = {};\n }\n insertAt(index, value, def) {\n if (def != null) {\n super.insertAt(index, value, def);\n this.cache = {};\n return;\n }\n if (value.length === 0) return;\n const lines = value.split('\\n');\n const text = lines.shift();\n if (text.length > 0) {\n if (index < this.length() - 1 || this.children.tail == null) {\n super.insertAt(Math.min(index, this.length() - 1), text);\n } else {\n this.children.tail.insertAt(this.children.tail.length(), text);\n }\n this.cache = {};\n }\n // TODO: Fix this next time the file is edited.\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let block = this;\n lines.reduce((lineIndex, line) => {\n // @ts-expect-error Fix me later\n block = block.split(lineIndex, true);\n block.insertAt(0, line);\n return line.length;\n }, index + text.length);\n }\n insertBefore(blot, ref) {\n const {\n head\n } = this.children;\n super.insertBefore(blot, ref);\n if (head instanceof _break_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"]) {\n head.remove();\n }\n this.cache = {};\n }\n length() {\n if (this.cache.length == null) {\n this.cache.length = super.length() + NEWLINE_LENGTH;\n }\n return this.cache.length;\n }\n moveChildren(target, ref) {\n super.moveChildren(target, ref);\n this.cache = {};\n }\n optimize(context) {\n super.optimize(context);\n this.cache = {};\n }\n path(index) {\n return super.path(index, true);\n }\n removeChild(child) {\n super.removeChild(child);\n this.cache = {};\n }\n split(index) {\n let force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (force && (index === 0 || index >= this.length() - NEWLINE_LENGTH)) {\n const clone = this.clone();\n if (index === 0) {\n this.parent.insertBefore(clone, this);\n return this;\n }\n this.parent.insertBefore(clone, this.next);\n return clone;\n }\n const next = super.split(index, force);\n this.cache = {};\n return next;\n }\n}\nBlock.blotName = 'block';\nBlock.tagName = 'P';\nBlock.defaultChild = _break_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"];\nBlock.allowedChildren = [_break_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"], _inline_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"], parchment__WEBPACK_IMPORTED_MODULE_2__[\"EmbedBlot\"], _text_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]];\nclass BlockEmbed extends parchment__WEBPACK_IMPORTED_MODULE_2__[\"EmbedBlot\"] {\n attach() {\n super.attach();\n this.attributes = new parchment__WEBPACK_IMPORTED_MODULE_2__[\"AttributorStore\"](this.domNode);\n }\n delta() {\n return new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a().insert(this.value(), {\n ...this.formats(),\n ...this.attributes.values()\n });\n }\n format(name, value) {\n const attribute = this.scroll.query(name, parchment__WEBPACK_IMPORTED_MODULE_2__[\"Scope\"].BLOCK_ATTRIBUTE);\n if (attribute != null) {\n // @ts-expect-error TODO: Scroll#query() should return Attributor when scope is attribute\n this.attributes.attribute(attribute, value);\n }\n }\n formatAt(index, length, name, value) {\n this.format(name, value);\n }\n insertAt(index, value, def) {\n if (def != null) {\n super.insertAt(index, value, def);\n return;\n }\n const lines = value.split('\\n');\n const text = lines.pop();\n const blocks = lines.map(line => {\n const block = this.scroll.create(Block.blotName);\n block.insertAt(0, line);\n return block;\n });\n const ref = this.split(index);\n blocks.forEach(block => {\n this.parent.insertBefore(block, ref);\n });\n if (text) {\n this.parent.insertBefore(this.scroll.create('text', text), ref);\n }\n }\n}\nBlockEmbed.scope = parchment__WEBPACK_IMPORTED_MODULE_2__[\"Scope\"].BLOCK_BLOT;\n// It is important for cursor behavior BlockEmbeds use tags that are block level elements\n\nfunction blockDelta(blot) {\n let filter = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n return blot.descendants(parchment__WEBPACK_IMPORTED_MODULE_2__[\"LeafBlot\"]).reduce((delta, leaf) => {\n if (leaf.length() === 0) {\n return delta;\n }\n return delta.insert(leaf.value(), bubbleFormats(leaf, {}, filter));\n }, new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a()).insert('\\n', bubbleFormats(blot));\n}\nfunction bubbleFormats(blot) {\n let formats = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n let filter = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n if (blot == null) return formats;\n if ('formats' in blot && typeof blot.formats === 'function') {\n formats = {\n ...formats,\n ...blot.formats()\n };\n if (filter) {\n // exclude syntax highlighting from deltas and getFormat()\n delete formats['code-token'];\n }\n }\n if (blot.parent == null || blot.parent.statics.blotName === 'scroll' || blot.parent.statics.scope !== blot.statics.scope) {\n return formats;\n }\n return bubbleFormats(blot.parent, formats, filter);\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/blots/block.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/quill/blots/break.js":
/*!************************************************************!*\
!*** ../simple-mind-map/node_modules/quill/blots/break.js ***!
\************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parchment */ \"../simple-mind-map/node_modules/parchment/dist/parchment.js\");\n\nclass Break extends parchment__WEBPACK_IMPORTED_MODULE_0__[\"EmbedBlot\"] {\n static value() {\n return undefined;\n }\n optimize() {\n if (this.prev || this.next) {\n this.remove();\n }\n }\n length() {\n return 0;\n }\n value() {\n return '';\n }\n}\nBreak.blotName = 'break';\nBreak.tagName = 'BR';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Break);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/blots/break.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/quill/blots/container.js":
/*!****************************************************************!*\
!*** ../simple-mind-map/node_modules/quill/blots/container.js ***!
\****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parchment */ \"../simple-mind-map/node_modules/parchment/dist/parchment.js\");\n\nclass Container extends parchment__WEBPACK_IMPORTED_MODULE_0__[\"ContainerBlot\"] {}\n/* harmony default export */ __webpack_exports__[\"default\"] = (Container);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/blots/container.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/quill/blots/cursor.js":
/*!*************************************************************!*\
!*** ../simple-mind-map/node_modules/quill/blots/cursor.js ***!
\*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/defineProperty.js */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! parchment */ \"../simple-mind-map/node_modules/parchment/dist/parchment.js\");\n/* harmony import */ var _text_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./text.js */ \"../simple-mind-map/node_modules/quill/blots/text.js\");\n\n\n\nclass Cursor extends parchment__WEBPACK_IMPORTED_MODULE_1__[\"EmbedBlot\"] {\n // Zero width no break space\n\n static value() {\n return undefined;\n }\n constructor(scroll, domNode, selection) {\n super(scroll, domNode);\n this.selection = selection;\n this.textNode = document.createTextNode(Cursor.CONTENTS);\n this.domNode.appendChild(this.textNode);\n this.savedLength = 0;\n }\n detach() {\n // super.detach() will also clear domNode.__blot\n if (this.parent != null) this.parent.removeChild(this);\n }\n format(name, value) {\n if (this.savedLength !== 0) {\n super.format(name, value);\n return;\n }\n // TODO: Fix this next time the file is edited.\n // eslint-disable-next-line @typescript-eslint/no-this-alias\n let target = this;\n let index = 0;\n while (target != null && target.statics.scope !== parchment__WEBPACK_IMPORTED_MODULE_1__[\"Scope\"].BLOCK_BLOT) {\n index += target.offset(target.parent);\n target = target.parent;\n }\n if (target != null) {\n this.savedLength = Cursor.CONTENTS.length;\n // @ts-expect-error TODO: allow empty context in Parchment\n target.optimize();\n target.formatAt(index, Cursor.CONTENTS.length, name, value);\n this.savedLength = 0;\n }\n }\n index(node, offset) {\n if (node === this.textNode) return 0;\n return super.index(node, offset);\n }\n length() {\n return this.savedLength;\n }\n position() {\n return [this.textNode, this.textNode.data.length];\n }\n remove() {\n super.remove();\n // @ts-expect-error Fix me later\n this.parent = null;\n }\n restore() {\n if (this.selection.composing || this.parent == null) return null;\n const range = this.selection.getNativeRange();\n // Browser may push down styles/nodes inside the cursor blot.\n // https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#push-down-values\n while (this.domNode.lastChild != null && this.domNode.lastChild !== this.textNode) {\n // @ts-expect-error Fix me later\n this.domNode.parentNode.insertBefore(this.domNode.lastChild, this.domNode);\n }\n const prevTextBlot = this.prev instanceof _text_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] ? this.prev : null;\n const prevTextLength = prevTextBlot ? prevTextBlot.length() : 0;\n const nextTextBlot = this.next instanceof _text_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"] ? this.next : null;\n // @ts-expect-error TODO: make TextBlot.text public\n const nextText = nextTextBlot ? nextTextBlot.text : '';\n const {\n textNode\n } = this;\n // take text from inside this blot and reset it\n const newText = textNode.data.split(Cursor.CONTENTS).join('');\n textNode.data = Cursor.CONTENTS;\n\n // proactively merge TextBlots around cursor so that optimization\n // doesn't lose the cursor. the reason we are here in cursor.restore\n // could be that the user clicked in prevTextBlot or nextTextBlot, or\n // the user typed something.\n let mergedTextBlot;\n if (prevTextBlot) {\n mergedTextBlot = prevTextBlot;\n if (newText || nextTextBlot) {\n prevTextBlot.insertAt(prevTextBlot.length(), newText + nextText);\n if (nextTextBlot) {\n nextTextBlot.remove();\n }\n }\n } else if (nextTextBlot) {\n mergedTextBlot = nextTextBlot;\n nextTextBlot.insertAt(0, newText);\n } else {\n const newTextNode = document.createTextNode(newText);\n mergedTextBlot = this.scroll.create(newTextNode);\n this.parent.insertBefore(mergedTextBlot, this);\n }\n this.remove();\n if (range) {\n // calculate selection to restore\n const remapOffset = (node, offset) => {\n if (prevTextBlot && node === prevTextBlot.domNode) {\n return offset;\n }\n if (node === textNode) {\n return prevTextLength + offset - 1;\n }\n if (nextTextBlot && node === nextTextBlot.domNode) {\n return prevTextLength + newText.length + offset;\n }\n return null;\n };\n const start = remapOffset(range.start.node, range.start.offset);\n const end = remapOffset(range.end.node, range.end.offset);\n if (start !== null && end !== null) {\n return {\n startNode: mergedTextBlot.domNode,\n startOffset: start,\n endNode: mergedTextBlot.domNode,\n endOffset: end\n };\n }\n }\n return null;\n }\n update(mutations, context) {\n if (mutations.some(mutation => {\n return mutation.type === 'characterData' && mutation.target === this.textNode;\n })) {\n const range = this.restore();\n if (range) context.range = range;\n }\n }\n\n // Avoid .ql-cursor being a descendant of ``.\n // The reason is Safari pushes down `` on text insertion.\n // That will cause DOM nodes not sync with the model.\n //\n // For example ({I} is the caret), given the markup:\n // \\uFEFF{I}\n // When typing a char \"x\", `` will be pushed down inside the `` first:\n // \\uFEFF{I}\n // And then \"x\" will be inserted after ``:\n // \\uFEFFd{I}\n optimize(context) {\n // @ts-expect-error Fix me later\n super.optimize(context);\n let {\n parent\n } = this;\n while (parent) {\n if (parent.domNode.tagName === 'A') {\n this.savedLength = Cursor.CONTENTS.length;\n // @ts-expect-error TODO: make isolate generic\n parent.isolate(this.offset(parent), this.length()).unwrap();\n this.savedLength = 0;\n break;\n }\n parent = parent.parent;\n }\n }\n value() {\n return '';\n }\n}\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Cursor, \"blotName\", 'cursor');\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Cursor, \"className\", 'ql-cursor');\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Cursor, \"tagName\", 'span');\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Cursor, \"CONTENTS\", '\\uFEFF');\n/* harmony default export */ __webpack_exports__[\"default\"] = (Cursor);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/blots/cursor.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/quill/blots/embed.js":
/*!************************************************************!*\
!*** ../simple-mind-map/node_modules/quill/blots/embed.js ***!
\************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parchment */ \"../simple-mind-map/node_modules/parchment/dist/parchment.js\");\n/* harmony import */ var _text_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./text.js */ \"../simple-mind-map/node_modules/quill/blots/text.js\");\n\n\nconst GUARD_TEXT = '\\uFEFF';\nclass Embed extends parchment__WEBPACK_IMPORTED_MODULE_0__[\"EmbedBlot\"] {\n constructor(scroll, node) {\n super(scroll, node);\n this.contentNode = document.createElement('span');\n this.contentNode.setAttribute('contenteditable', 'false');\n Array.from(this.domNode.childNodes).forEach(childNode => {\n this.contentNode.appendChild(childNode);\n });\n this.leftGuard = document.createTextNode(GUARD_TEXT);\n this.rightGuard = document.createTextNode(GUARD_TEXT);\n this.domNode.appendChild(this.leftGuard);\n this.domNode.appendChild(this.contentNode);\n this.domNode.appendChild(this.rightGuard);\n }\n index(node, offset) {\n if (node === this.leftGuard) return 0;\n if (node === this.rightGuard) return 1;\n return super.index(node, offset);\n }\n restore(node) {\n let range = null;\n let textNode;\n const text = node.data.split(GUARD_TEXT).join('');\n if (node === this.leftGuard) {\n if (this.prev instanceof _text_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) {\n const prevLength = this.prev.length();\n this.prev.insertAt(prevLength, text);\n range = {\n startNode: this.prev.domNode,\n startOffset: prevLength + text.length\n };\n } else {\n textNode = document.createTextNode(text);\n this.parent.insertBefore(this.scroll.create(textNode), this);\n range = {\n startNode: textNode,\n startOffset: text.length\n };\n }\n } else if (node === this.rightGuard) {\n if (this.next instanceof _text_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"]) {\n this.next.insertAt(0, text);\n range = {\n startNode: this.next.domNode,\n startOffset: text.length\n };\n } else {\n textNode = document.createTextNode(text);\n this.parent.insertBefore(this.scroll.create(textNode), this.next);\n range = {\n startNode: textNode,\n startOffset: text.length\n };\n }\n }\n node.data = GUARD_TEXT;\n return range;\n }\n update(mutations, context) {\n mutations.forEach(mutation => {\n if (mutation.type === 'characterData' && (mutation.target === this.leftGuard || mutation.target === this.rightGuard)) {\n const range = this.restore(mutation.target);\n if (range) context.range = range;\n }\n });\n }\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (Embed);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/blots/embed.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/quill/blots/inline.js":
/*!*************************************************************!*\
!*** ../simple-mind-map/node_modules/quill/blots/inline.js ***!
\*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/defineProperty.js */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! parchment */ \"../simple-mind-map/node_modules/parchment/dist/parchment.js\");\n/* harmony import */ var _break_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./break.js */ \"../simple-mind-map/node_modules/quill/blots/break.js\");\n/* harmony import */ var _text_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./text.js */ \"../simple-mind-map/node_modules/quill/blots/text.js\");\n\nvar _Inline;\n\n\n\nclass Inline extends parchment__WEBPACK_IMPORTED_MODULE_1__[\"InlineBlot\"] {\n static compare(self, other) {\n const selfIndex = Inline.order.indexOf(self);\n const otherIndex = Inline.order.indexOf(other);\n if (selfIndex >= 0 || otherIndex >= 0) {\n return selfIndex - otherIndex;\n }\n if (self === other) {\n return 0;\n }\n if (self < other) {\n return -1;\n }\n return 1;\n }\n formatAt(index, length, name, value) {\n if (Inline.compare(this.statics.blotName, name) < 0 && this.scroll.query(name, parchment__WEBPACK_IMPORTED_MODULE_1__[\"Scope\"].BLOT)) {\n const blot = this.isolate(index, length);\n if (value) {\n blot.wrap(name, value);\n }\n } else {\n super.formatAt(index, length, name, value);\n }\n }\n optimize(context) {\n super.optimize(context);\n if (this.parent instanceof Inline && Inline.compare(this.statics.blotName, this.parent.statics.blotName) > 0) {\n const parent = this.parent.isolate(this.offset(), this.length());\n // @ts-expect-error TODO: make isolate generic\n this.moveChildren(parent);\n parent.wrap(this);\n }\n }\n}\n_Inline = Inline;\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Inline, \"allowedChildren\", [_Inline, _break_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"], parchment__WEBPACK_IMPORTED_MODULE_1__[\"EmbedBlot\"], _text_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"]]);\n// Lower index means deeper in the DOM tree, since not found (-1) is for embeds\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Inline, \"order\", ['cursor', 'inline',\n// Must be lower\n'link',\n// Chrome wants to be lower\n'underline', 'strike', 'italic', 'bold', 'script', 'code' // Must be higher\n]);\n/* harmony default export */ __webpack_exports__[\"default\"] = (Inline);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/blots/inline.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/quill/blots/scroll.js":
/*!*************************************************************!*\
!*** ../simple-mind-map/node_modules/quill/blots/scroll.js ***!
\*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/defineProperty.js */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */ \"./node_modules/core-js/modules/es.array.reduce.js\");\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! parchment */ \"../simple-mind-map/node_modules/parchment/dist/parchment.js\");\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! quill-delta */ \"../simple-mind-map/node_modules/quill-delta/dist/Delta.js\");\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _core_emitter_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../core/emitter.js */ \"../simple-mind-map/node_modules/quill/core/emitter.js\");\n/* harmony import */ var _block_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./block.js */ \"../simple-mind-map/node_modules/quill/blots/block.js\");\n/* harmony import */ var _break_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./break.js */ \"../simple-mind-map/node_modules/quill/blots/break.js\");\n/* harmony import */ var _container_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./container.js */ \"../simple-mind-map/node_modules/quill/blots/container.js\");\n\n\n\n\n\n\n\n\n\nfunction isLine(blot) {\n return blot instanceof _block_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"] || blot instanceof _block_js__WEBPACK_IMPORTED_MODULE_6__[\"BlockEmbed\"];\n}\nfunction isUpdatable(blot) {\n return typeof blot.updateContent === 'function';\n}\nclass Scroll extends parchment__WEBPACK_IMPORTED_MODULE_3__[\"ScrollBlot\"] {\n constructor(registry, domNode, _ref) {\n let {\n emitter\n } = _ref;\n super(registry, domNode);\n this.emitter = emitter;\n this.batch = false;\n this.optimize();\n this.enable();\n this.domNode.addEventListener('dragstart', e => this.handleDragStart(e));\n }\n batchStart() {\n if (!Array.isArray(this.batch)) {\n this.batch = [];\n }\n }\n batchEnd() {\n if (!this.batch) return;\n const mutations = this.batch;\n this.batch = false;\n this.update(mutations);\n }\n emitMount(blot) {\n this.emitter.emit(_core_emitter_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].events.SCROLL_BLOT_MOUNT, blot);\n }\n emitUnmount(blot) {\n this.emitter.emit(_core_emitter_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].events.SCROLL_BLOT_UNMOUNT, blot);\n }\n emitEmbedUpdate(blot, change) {\n this.emitter.emit(_core_emitter_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].events.SCROLL_EMBED_UPDATE, blot, change);\n }\n deleteAt(index, length) {\n const [first, offset] = this.line(index);\n const [last] = this.line(index + length);\n super.deleteAt(index, length);\n if (last != null && first !== last && offset > 0) {\n if (first instanceof _block_js__WEBPACK_IMPORTED_MODULE_6__[\"BlockEmbed\"] || last instanceof _block_js__WEBPACK_IMPORTED_MODULE_6__[\"BlockEmbed\"]) {\n this.optimize();\n return;\n }\n const ref = last.children.head instanceof _break_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"] ? null : last.children.head;\n // @ts-expect-error\n first.moveChildren(last, ref);\n // @ts-expect-error\n first.remove();\n }\n this.optimize();\n }\n enable() {\n let enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.domNode.setAttribute('contenteditable', enabled ? 'true' : 'false');\n }\n formatAt(index, length, format, value) {\n super.formatAt(index, length, format, value);\n this.optimize();\n }\n insertAt(index, value, def) {\n if (index >= this.length()) {\n if (def == null || this.scroll.query(value, parchment__WEBPACK_IMPORTED_MODULE_3__[\"Scope\"].BLOCK) == null) {\n const blot = this.scroll.create(this.statics.defaultChild.blotName);\n this.appendChild(blot);\n if (def == null && value.endsWith('\\n')) {\n blot.insertAt(0, value.slice(0, -1), def);\n } else {\n blot.insertAt(0, value, def);\n }\n } else {\n const embed = this.scroll.create(value, def);\n this.appendChild(embed);\n }\n } else {\n super.insertAt(index, value, def);\n }\n this.optimize();\n }\n insertBefore(blot, ref) {\n if (blot.statics.scope === parchment__WEBPACK_IMPORTED_MODULE_3__[\"Scope\"].INLINE_BLOT) {\n const wrapper = this.scroll.create(this.statics.defaultChild.blotName);\n wrapper.appendChild(blot);\n super.insertBefore(wrapper, ref);\n } else {\n super.insertBefore(blot, ref);\n }\n }\n insertContents(index, delta) {\n const renderBlocks = this.deltaToRenderBlocks(delta.concat(new quill_delta__WEBPACK_IMPORTED_MODULE_4___default.a().insert('\\n')));\n const last = renderBlocks.pop();\n if (last == null) return;\n this.batchStart();\n const first = renderBlocks.shift();\n if (first) {\n const shouldInsertNewlineChar = first.type === 'block' && (first.delta.length() === 0 || !this.descendant(_block_js__WEBPACK_IMPORTED_MODULE_6__[\"BlockEmbed\"], index)[0] && index < this.length());\n const delta = first.type === 'block' ? first.delta : new quill_delta__WEBPACK_IMPORTED_MODULE_4___default.a().insert({\n [first.key]: first.value\n });\n insertInlineContents(this, index, delta);\n const newlineCharLength = first.type === 'block' ? 1 : 0;\n const lineEndIndex = index + delta.length() + newlineCharLength;\n if (shouldInsertNewlineChar) {\n this.insertAt(lineEndIndex - 1, '\\n');\n }\n const formats = Object(_block_js__WEBPACK_IMPORTED_MODULE_6__[\"bubbleFormats\"])(this.line(index)[0]);\n const attributes = quill_delta__WEBPACK_IMPORTED_MODULE_4__[\"AttributeMap\"].diff(formats, first.attributes) || {};\n Object.keys(attributes).forEach(name => {\n this.formatAt(lineEndIndex - 1, 1, name, attributes[name]);\n });\n index = lineEndIndex;\n }\n let [refBlot, refBlotOffset] = this.children.find(index);\n if (renderBlocks.length) {\n if (refBlot) {\n refBlot = refBlot.split(refBlotOffset);\n refBlotOffset = 0;\n }\n renderBlocks.forEach(renderBlock => {\n if (renderBlock.type === 'block') {\n const block = this.createBlock(renderBlock.attributes, refBlot || undefined);\n insertInlineContents(block, 0, renderBlock.delta);\n } else {\n const blockEmbed = this.create(renderBlock.key, renderBlock.value);\n this.insertBefore(blockEmbed, refBlot || undefined);\n Object.keys(renderBlock.attributes).forEach(name => {\n blockEmbed.format(name, renderBlock.attributes[name]);\n });\n }\n });\n }\n if (last.type === 'block' && last.delta.length()) {\n const offset = refBlot ? refBlot.offset(refBlot.scroll) + refBlotOffset : this.length();\n insertInlineContents(this, offset, last.delta);\n }\n this.batchEnd();\n this.optimize();\n }\n isEnabled() {\n return this.domNode.getAttribute('contenteditable') === 'true';\n }\n leaf(index) {\n const last = this.path(index).pop();\n if (!last) {\n return [null, -1];\n }\n const [blot, offset] = last;\n return blot instanceof parchment__WEBPACK_IMPORTED_MODULE_3__[\"LeafBlot\"] ? [blot, offset] : [null, -1];\n }\n line(index) {\n if (index === this.length()) {\n return this.line(index - 1);\n }\n // @ts-expect-error TODO: make descendant() generic\n return this.descendant(isLine, index);\n }\n lines() {\n let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n const getLines = (blot, blotIndex, blotLength) => {\n let lines = [];\n let lengthLeft = blotLength;\n blot.children.forEachAt(blotIndex, blotLength, (child, childIndex, childLength) => {\n if (isLine(child)) {\n lines.push(child);\n } else if (child instanceof parchment__WEBPACK_IMPORTED_MODULE_3__[\"ContainerBlot\"]) {\n lines = lines.concat(getLines(child, childIndex, lengthLeft));\n }\n lengthLeft -= childLength;\n });\n return lines;\n };\n return getLines(this, index, length);\n }\n optimize() {\n let mutations = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n let context = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (this.batch) return;\n super.optimize(mutations, context);\n if (mutations.length > 0) {\n this.emitter.emit(_core_emitter_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].events.SCROLL_OPTIMIZE, mutations, context);\n }\n }\n path(index) {\n return super.path(index).slice(1); // Exclude self\n }\n remove() {\n // Never remove self\n }\n update(mutations) {\n if (this.batch) {\n if (Array.isArray(mutations)) {\n this.batch = this.batch.concat(mutations);\n }\n return;\n }\n let source = _core_emitter_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].sources.USER;\n if (typeof mutations === 'string') {\n source = mutations;\n }\n if (!Array.isArray(mutations)) {\n mutations = this.observer.takeRecords();\n }\n mutations = mutations.filter(_ref2 => {\n let {\n target\n } = _ref2;\n const blot = this.find(target, true);\n return blot && !isUpdatable(blot);\n });\n if (mutations.length > 0) {\n this.emitter.emit(_core_emitter_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].events.SCROLL_BEFORE_UPDATE, source, mutations);\n }\n super.update(mutations.concat([])); // pass copy\n if (mutations.length > 0) {\n this.emitter.emit(_core_emitter_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"].events.SCROLL_UPDATE, source, mutations);\n }\n }\n updateEmbedAt(index, key, change) {\n // Currently it only supports top-level embeds (BlockEmbed).\n // We can update `ParentBlot` in parchment to support inline embeds.\n const [blot] = this.descendant(b => b instanceof _block_js__WEBPACK_IMPORTED_MODULE_6__[\"BlockEmbed\"], index);\n if (blot && blot.statics.blotName === key && isUpdatable(blot)) {\n blot.updateContent(change);\n }\n }\n handleDragStart(event) {\n event.preventDefault();\n }\n deltaToRenderBlocks(delta) {\n const renderBlocks = [];\n let currentBlockDelta = new quill_delta__WEBPACK_IMPORTED_MODULE_4___default.a();\n delta.forEach(op => {\n const insert = op === null || op === void 0 ? void 0 : op.insert;\n if (!insert) return;\n if (typeof insert === 'string') {\n const splitted = insert.split('\\n');\n splitted.slice(0, -1).forEach(text => {\n var _op$attributes;\n currentBlockDelta.insert(text, op.attributes);\n renderBlocks.push({\n type: 'block',\n delta: currentBlockDelta,\n attributes: (_op$attributes = op.attributes) !== null && _op$attributes !== void 0 ? _op$attributes : {}\n });\n currentBlockDelta = new quill_delta__WEBPACK_IMPORTED_MODULE_4___default.a();\n });\n const last = splitted[splitted.length - 1];\n if (last) {\n currentBlockDelta.insert(last, op.attributes);\n }\n } else {\n const key = Object.keys(insert)[0];\n if (!key) return;\n if (this.query(key, parchment__WEBPACK_IMPORTED_MODULE_3__[\"Scope\"].INLINE)) {\n currentBlockDelta.push(op);\n } else {\n var _op$attributes2;\n if (currentBlockDelta.length()) {\n renderBlocks.push({\n type: 'block',\n delta: currentBlockDelta,\n attributes: {}\n });\n }\n currentBlockDelta = new quill_delta__WEBPACK_IMPORTED_MODULE_4___default.a();\n renderBlocks.push({\n type: 'blockEmbed',\n key,\n value: insert[key],\n attributes: (_op$attributes2 = op.attributes) !== null && _op$attributes2 !== void 0 ? _op$attributes2 : {}\n });\n }\n }\n });\n if (currentBlockDelta.length()) {\n renderBlocks.push({\n type: 'block',\n delta: currentBlockDelta,\n attributes: {}\n });\n }\n return renderBlocks;\n }\n createBlock(attributes, refBlot) {\n let blotName;\n const formats = {};\n Object.entries(attributes).forEach(_ref3 => {\n let [key, value] = _ref3;\n const isBlockBlot = this.query(key, parchment__WEBPACK_IMPORTED_MODULE_3__[\"Scope\"].BLOCK & parchment__WEBPACK_IMPORTED_MODULE_3__[\"Scope\"].BLOT) != null;\n if (isBlockBlot) {\n blotName = key;\n } else {\n formats[key] = value;\n }\n });\n const block = this.create(blotName || this.statics.defaultChild.blotName, blotName ? attributes[blotName] : undefined);\n this.insertBefore(block, refBlot || undefined);\n const length = block.length();\n Object.entries(formats).forEach(_ref4 => {\n let [key, value] = _ref4;\n block.formatAt(0, length, key, value);\n });\n return block;\n }\n}\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Scroll, \"blotName\", 'scroll');\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Scroll, \"className\", 'ql-editor');\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Scroll, \"tagName\", 'DIV');\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Scroll, \"defaultChild\", _block_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]);\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Scroll, \"allowedChildren\", [_block_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"], _block_js__WEBPACK_IMPORTED_MODULE_6__[\"BlockEmbed\"], _container_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"]]);\nfunction insertInlineContents(parent, index, inlineContents) {\n inlineContents.reduce((index, op) => {\n const length = quill_delta__WEBPACK_IMPORTED_MODULE_4__[\"Op\"].length(op);\n let attributes = op.attributes || {};\n if (op.insert != null) {\n if (typeof op.insert === 'string') {\n const text = op.insert;\n parent.insertAt(index, text);\n const [leaf] = parent.descendant(parchment__WEBPACK_IMPORTED_MODULE_3__[\"LeafBlot\"], index);\n const formats = Object(_block_js__WEBPACK_IMPORTED_MODULE_6__[\"bubbleFormats\"])(leaf);\n attributes = quill_delta__WEBPACK_IMPORTED_MODULE_4__[\"AttributeMap\"].diff(formats, attributes) || {};\n } else if (typeof op.insert === 'object') {\n const key = Object.keys(op.insert)[0]; // There should only be one key\n if (key == null) return index;\n parent.insertAt(index, key, op.insert[key]);\n const isInlineEmbed = parent.scroll.query(key, parchment__WEBPACK_IMPORTED_MODULE_3__[\"Scope\"].INLINE) != null;\n if (isInlineEmbed) {\n const [leaf] = parent.descendant(parchment__WEBPACK_IMPORTED_MODULE_3__[\"LeafBlot\"], index);\n const formats = Object(_block_js__WEBPACK_IMPORTED_MODULE_6__[\"bubbleFormats\"])(leaf);\n attributes = quill_delta__WEBPACK_IMPORTED_MODULE_4__[\"AttributeMap\"].diff(formats, attributes) || {};\n }\n }\n }\n Object.keys(attributes).forEach(key => {\n parent.formatAt(index, length, key, attributes[key]);\n });\n return index + length;\n }, index);\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (Scroll);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/blots/scroll.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/quill/blots/text.js":
/*!***********************************************************!*\
!*** ../simple-mind-map/node_modules/quill/blots/text.js ***!
\***********************************************************/
/*! exports provided: default, escapeText */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Text; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"escapeText\", function() { return escapeText; });\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parchment */ \"../simple-mind-map/node_modules/parchment/dist/parchment.js\");\n\nclass Text extends parchment__WEBPACK_IMPORTED_MODULE_0__[\"TextBlot\"] {}\n\n// https://lodash.com/docs#escape\nconst entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n};\nfunction escapeText(text) {\n return text.replace(/[&<>\"']/g, s => entityMap[s]);\n}\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/blots/text.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/quill/core.js":
/*!*****************************************************!*\
!*** ../simple-mind-map/node_modules/quill/core.js ***!
\*****************************************************/
/*! exports provided: Module, Delta, Op, OpIterator, AttributeMap, Parchment, Range, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _core_quill_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./core/quill.js */ \"../simple-mind-map/node_modules/quill/core/quill.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Parchment\", function() { return _core_quill_js__WEBPACK_IMPORTED_MODULE_0__[\"Parchment\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Range\", function() { return _core_quill_js__WEBPACK_IMPORTED_MODULE_0__[\"Range\"]; });\n\n/* harmony import */ var _blots_block_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./blots/block.js */ \"../simple-mind-map/node_modules/quill/blots/block.js\");\n/* harmony import */ var _blots_break_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./blots/break.js */ \"../simple-mind-map/node_modules/quill/blots/break.js\");\n/* harmony import */ var _blots_container_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./blots/container.js */ \"../simple-mind-map/node_modules/quill/blots/container.js\");\n/* harmony import */ var _blots_cursor_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./blots/cursor.js */ \"../simple-mind-map/node_modules/quill/blots/cursor.js\");\n/* harmony import */ var _blots_embed_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./blots/embed.js */ \"../simple-mind-map/node_modules/quill/blots/embed.js\");\n/* harmony import */ var _blots_inline_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./blots/inline.js */ \"../simple-mind-map/node_modules/quill/blots/inline.js\");\n/* harmony import */ var _blots_scroll_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./blots/scroll.js */ \"../simple-mind-map/node_modules/quill/blots/scroll.js\");\n/* harmony import */ var _blots_text_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./blots/text.js */ \"../simple-mind-map/node_modules/quill/blots/text.js\");\n/* harmony import */ var _modules_clipboard_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./modules/clipboard.js */ \"../simple-mind-map/node_modules/quill/modules/clipboard.js\");\n/* harmony import */ var _modules_history_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./modules/history.js */ \"../simple-mind-map/node_modules/quill/modules/history.js\");\n/* harmony import */ var _modules_keyboard_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./modules/keyboard.js */ \"../simple-mind-map/node_modules/quill/modules/keyboard.js\");\n/* harmony import */ var _modules_uploader_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./modules/uploader.js */ \"../simple-mind-map/node_modules/quill/modules/uploader.js\");\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! quill-delta */ \"../simple-mind-map/node_modules/quill-delta/dist/Delta.js\");\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_13___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_13__);\n/* harmony reexport (default from non-harmony) */ __webpack_require__.d(__webpack_exports__, \"Delta\", function() { return quill_delta__WEBPACK_IMPORTED_MODULE_13___default.a; });\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Op\", function() { return quill_delta__WEBPACK_IMPORTED_MODULE_13__[\"Op\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"OpIterator\", function() { return quill_delta__WEBPACK_IMPORTED_MODULE_13__[\"OpIterator\"]; });\n\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"AttributeMap\", function() { return quill_delta__WEBPACK_IMPORTED_MODULE_13__[\"AttributeMap\"]; });\n\n/* harmony import */ var _modules_input_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./modules/input.js */ \"../simple-mind-map/node_modules/quill/modules/input.js\");\n/* harmony import */ var _modules_uiNode_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./modules/uiNode.js */ \"../simple-mind-map/node_modules/quill/modules/uiNode.js\");\n/* harmony import */ var _core_module_js__WEBPACK_IMPORTED_MODULE_16__ = __webpack_require__(/*! ./core/module.js */ \"../simple-mind-map/node_modules/quill/core/module.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Module\", function() { return _core_module_js__WEBPACK_IMPORTED_MODULE_16__[\"default\"]; });\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n_core_quill_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"].register({\n 'blots/block': _blots_block_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"],\n 'blots/block/embed': _blots_block_js__WEBPACK_IMPORTED_MODULE_1__[\"BlockEmbed\"],\n 'blots/break': _blots_break_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"],\n 'blots/container': _blots_container_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"],\n 'blots/cursor': _blots_cursor_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"],\n 'blots/embed': _blots_embed_js__WEBPACK_IMPORTED_MODULE_5__[\"default\"],\n 'blots/inline': _blots_inline_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"],\n 'blots/scroll': _blots_scroll_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"],\n 'blots/text': _blots_text_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"],\n 'modules/clipboard': _modules_clipboard_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"],\n 'modules/history': _modules_history_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"],\n 'modules/keyboard': _modules_keyboard_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"],\n 'modules/uploader': _modules_uploader_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"],\n 'modules/input': _modules_input_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"],\n 'modules/uiNode': _modules_uiNode_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"]\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (_core_quill_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"]);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/core.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/quill/core/composition.js":
/*!*****************************************************************!*\
!*** ../simple-mind-map/node_modules/quill/core/composition.js ***!
\*****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/defineProperty.js */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var _blots_embed_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../blots/embed.js */ \"../simple-mind-map/node_modules/quill/blots/embed.js\");\n/* harmony import */ var _emitter_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./emitter.js */ \"../simple-mind-map/node_modules/quill/core/emitter.js\");\n\n\n\nclass Composition {\n constructor(scroll, emitter) {\n Object(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, \"isComposing\", false);\n this.scroll = scroll;\n this.emitter = emitter;\n this.setupListeners();\n }\n setupListeners() {\n this.scroll.domNode.addEventListener('compositionstart', event => {\n if (!this.isComposing) {\n this.handleCompositionStart(event);\n }\n });\n this.scroll.domNode.addEventListener('compositionend', event => {\n if (this.isComposing) {\n // Webkit makes DOM changes after compositionend, so we use microtask to\n // ensure the order.\n // https://bugs.webkit.org/show_bug.cgi?id=31902\n queueMicrotask(() => {\n this.handleCompositionEnd(event);\n });\n }\n });\n }\n handleCompositionStart(event) {\n const blot = event.target instanceof Node ? this.scroll.find(event.target, true) : null;\n if (blot && !(blot instanceof _blots_embed_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])) {\n this.emitter.emit(_emitter_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].events.COMPOSITION_BEFORE_START, event);\n this.scroll.batchStart();\n this.emitter.emit(_emitter_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].events.COMPOSITION_START, event);\n this.isComposing = true;\n }\n }\n handleCompositionEnd(event) {\n this.emitter.emit(_emitter_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].events.COMPOSITION_BEFORE_END, event);\n this.scroll.batchEnd();\n this.emitter.emit(_emitter_js__WEBPACK_IMPORTED_MODULE_2__[\"default\"].events.COMPOSITION_END, event);\n this.isComposing = false;\n }\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (Composition);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/core/composition.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/quill/core/editor.js":
/*!************************************************************!*\
!*** ../simple-mind-map/node_modules/quill/core/editor.js ***!
\************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */ \"./node_modules/core-js/modules/es.array.reduce.js\");\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_string_replace_all_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.string.replace-all.js */ \"./node_modules/core-js/modules/es.string.replace-all.js\");\n/* harmony import */ var core_js_modules_es_string_replace_all_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_replace_all_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var lodash_es__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash-es */ \"../simple-mind-map/node_modules/lodash-es/lodash.js\");\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! parchment */ \"../simple-mind-map/node_modules/parchment/dist/parchment.js\");\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! quill-delta */ \"../simple-mind-map/node_modules/quill-delta/dist/Delta.js\");\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _blots_block_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../blots/block.js */ \"../simple-mind-map/node_modules/quill/blots/block.js\");\n/* harmony import */ var _blots_break_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../blots/break.js */ \"../simple-mind-map/node_modules/quill/blots/break.js\");\n/* harmony import */ var _blots_cursor_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ../blots/cursor.js */ \"../simple-mind-map/node_modules/quill/blots/cursor.js\");\n/* harmony import */ var _blots_text_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../blots/text.js */ \"../simple-mind-map/node_modules/quill/blots/text.js\");\n/* harmony import */ var _selection_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./selection.js */ \"../simple-mind-map/node_modules/quill/core/selection.js\");\n\n\n\n\n\n\n\n\n\n\n\nconst ASCII = /^[ -~]*$/;\nclass Editor {\n constructor(scroll) {\n this.scroll = scroll;\n this.delta = this.getDelta();\n }\n applyDelta(delta) {\n this.scroll.update();\n let scrollLength = this.scroll.length();\n this.scroll.batchStart();\n const normalizedDelta = normalizeDelta(delta);\n const deleteDelta = new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a();\n const normalizedOps = splitOpLines(normalizedDelta.ops.slice());\n normalizedOps.reduce((index, op) => {\n const length = quill_delta__WEBPACK_IMPORTED_MODULE_5__[\"Op\"].length(op);\n let attributes = op.attributes || {};\n let isImplicitNewlinePrepended = false;\n let isImplicitNewlineAppended = false;\n if (op.insert != null) {\n deleteDelta.retain(length);\n if (typeof op.insert === 'string') {\n const text = op.insert;\n isImplicitNewlineAppended = !text.endsWith('\\n') && (scrollLength <= index || !!this.scroll.descendant(_blots_block_js__WEBPACK_IMPORTED_MODULE_6__[\"BlockEmbed\"], index)[0]);\n this.scroll.insertAt(index, text);\n const [line, offset] = this.scroll.line(index);\n let formats = Object(lodash_es__WEBPACK_IMPORTED_MODULE_3__[\"merge\"])({}, Object(_blots_block_js__WEBPACK_IMPORTED_MODULE_6__[\"bubbleFormats\"])(line));\n if (line instanceof _blots_block_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]) {\n const [leaf] = line.descendant(parchment__WEBPACK_IMPORTED_MODULE_4__[\"LeafBlot\"], offset);\n if (leaf) {\n formats = Object(lodash_es__WEBPACK_IMPORTED_MODULE_3__[\"merge\"])(formats, Object(_blots_block_js__WEBPACK_IMPORTED_MODULE_6__[\"bubbleFormats\"])(leaf));\n }\n }\n attributes = quill_delta__WEBPACK_IMPORTED_MODULE_5__[\"AttributeMap\"].diff(formats, attributes) || {};\n } else if (typeof op.insert === 'object') {\n const key = Object.keys(op.insert)[0]; // There should only be one key\n if (key == null) return index;\n const isInlineEmbed = this.scroll.query(key, parchment__WEBPACK_IMPORTED_MODULE_4__[\"Scope\"].INLINE) != null;\n if (isInlineEmbed) {\n if (scrollLength <= index || !!this.scroll.descendant(_blots_block_js__WEBPACK_IMPORTED_MODULE_6__[\"BlockEmbed\"], index)[0]) {\n isImplicitNewlineAppended = true;\n }\n } else if (index > 0) {\n const [leaf, offset] = this.scroll.descendant(parchment__WEBPACK_IMPORTED_MODULE_4__[\"LeafBlot\"], index - 1);\n if (leaf instanceof _blots_text_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]) {\n const text = leaf.value();\n if (text[offset] !== '\\n') {\n isImplicitNewlinePrepended = true;\n }\n } else if (leaf instanceof parchment__WEBPACK_IMPORTED_MODULE_4__[\"EmbedBlot\"] && leaf.statics.scope === parchment__WEBPACK_IMPORTED_MODULE_4__[\"Scope\"].INLINE_BLOT) {\n isImplicitNewlinePrepended = true;\n }\n }\n this.scroll.insertAt(index, key, op.insert[key]);\n if (isInlineEmbed) {\n const [leaf] = this.scroll.descendant(parchment__WEBPACK_IMPORTED_MODULE_4__[\"LeafBlot\"], index);\n if (leaf) {\n const formats = Object(lodash_es__WEBPACK_IMPORTED_MODULE_3__[\"merge\"])({}, Object(_blots_block_js__WEBPACK_IMPORTED_MODULE_6__[\"bubbleFormats\"])(leaf));\n attributes = quill_delta__WEBPACK_IMPORTED_MODULE_5__[\"AttributeMap\"].diff(formats, attributes) || {};\n }\n }\n }\n scrollLength += length;\n } else {\n deleteDelta.push(op);\n if (op.retain !== null && typeof op.retain === 'object') {\n const key = Object.keys(op.retain)[0];\n if (key == null) return index;\n this.scroll.updateEmbedAt(index, key, op.retain[key]);\n }\n }\n Object.keys(attributes).forEach(name => {\n this.scroll.formatAt(index, length, name, attributes[name]);\n });\n const prependedLength = isImplicitNewlinePrepended ? 1 : 0;\n const addedLength = isImplicitNewlineAppended ? 1 : 0;\n scrollLength += prependedLength + addedLength;\n deleteDelta.retain(prependedLength);\n deleteDelta.delete(addedLength);\n return index + length + prependedLength + addedLength;\n }, 0);\n deleteDelta.reduce((index, op) => {\n if (typeof op.delete === 'number') {\n this.scroll.deleteAt(index, op.delete);\n return index;\n }\n return index + quill_delta__WEBPACK_IMPORTED_MODULE_5__[\"Op\"].length(op);\n }, 0);\n this.scroll.batchEnd();\n this.scroll.optimize();\n return this.update(normalizedDelta);\n }\n deleteText(index, length) {\n this.scroll.deleteAt(index, length);\n return this.update(new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a().retain(index).delete(length));\n }\n formatLine(index, length) {\n let formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n this.scroll.update();\n Object.keys(formats).forEach(format => {\n this.scroll.lines(index, Math.max(length, 1)).forEach(line => {\n line.format(format, formats[format]);\n });\n });\n this.scroll.optimize();\n const delta = new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a().retain(index).retain(length, Object(lodash_es__WEBPACK_IMPORTED_MODULE_3__[\"cloneDeep\"])(formats));\n return this.update(delta);\n }\n formatText(index, length) {\n let formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n Object.keys(formats).forEach(format => {\n this.scroll.formatAt(index, length, format, formats[format]);\n });\n const delta = new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a().retain(index).retain(length, Object(lodash_es__WEBPACK_IMPORTED_MODULE_3__[\"cloneDeep\"])(formats));\n return this.update(delta);\n }\n getContents(index, length) {\n return this.delta.slice(index, index + length);\n }\n getDelta() {\n return this.scroll.lines().reduce((delta, line) => {\n return delta.concat(line.delta());\n }, new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a());\n }\n getFormat(index) {\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n let lines = [];\n let leaves = [];\n if (length === 0) {\n this.scroll.path(index).forEach(path => {\n const [blot] = path;\n if (blot instanceof _blots_block_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"]) {\n lines.push(blot);\n } else if (blot instanceof parchment__WEBPACK_IMPORTED_MODULE_4__[\"LeafBlot\"]) {\n leaves.push(blot);\n }\n });\n } else {\n lines = this.scroll.lines(index, length);\n leaves = this.scroll.descendants(parchment__WEBPACK_IMPORTED_MODULE_4__[\"LeafBlot\"], index, length);\n }\n const [lineFormats, leafFormats] = [lines, leaves].map(blots => {\n const blot = blots.shift();\n if (blot == null) return {};\n let formats = Object(_blots_block_js__WEBPACK_IMPORTED_MODULE_6__[\"bubbleFormats\"])(blot);\n while (Object.keys(formats).length > 0) {\n const blot = blots.shift();\n if (blot == null) return formats;\n formats = combineFormats(Object(_blots_block_js__WEBPACK_IMPORTED_MODULE_6__[\"bubbleFormats\"])(blot), formats);\n }\n return formats;\n });\n return {\n ...lineFormats,\n ...leafFormats\n };\n }\n getHTML(index, length) {\n const [line, lineOffset] = this.scroll.line(index);\n if (line) {\n const lineLength = line.length();\n const isWithinLine = line.length() >= lineOffset + length;\n if (isWithinLine && !(lineOffset === 0 && length === lineLength)) {\n return convertHTML(line, lineOffset, length, true);\n }\n return convertHTML(this.scroll, index, length, true);\n }\n return '';\n }\n getText(index, length) {\n return this.getContents(index, length).filter(op => typeof op.insert === 'string').map(op => op.insert).join('');\n }\n insertContents(index, contents) {\n const normalizedDelta = normalizeDelta(contents);\n const change = new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a().retain(index).concat(normalizedDelta);\n this.scroll.insertContents(index, normalizedDelta);\n return this.update(change);\n }\n insertEmbed(index, embed, value) {\n this.scroll.insertAt(index, embed, value);\n return this.update(new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a().retain(index).insert({\n [embed]: value\n }));\n }\n insertText(index, text) {\n let formats = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n text = text.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n this.scroll.insertAt(index, text);\n Object.keys(formats).forEach(format => {\n this.scroll.formatAt(index, text.length, format, formats[format]);\n });\n return this.update(new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a().retain(index).insert(text, Object(lodash_es__WEBPACK_IMPORTED_MODULE_3__[\"cloneDeep\"])(formats)));\n }\n isBlank() {\n if (this.scroll.children.length === 0) return true;\n if (this.scroll.children.length > 1) return false;\n const blot = this.scroll.children.head;\n if ((blot === null || blot === void 0 ? void 0 : blot.statics.blotName) !== _blots_block_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"].blotName) return false;\n const block = blot;\n if (block.children.length > 1) return false;\n return block.children.head instanceof _blots_break_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"];\n }\n removeFormat(index, length) {\n const text = this.getText(index, length);\n const [line, offset] = this.scroll.line(index + length);\n let suffixLength = 0;\n let suffix = new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a();\n if (line != null) {\n suffixLength = line.length() - offset;\n suffix = line.delta().slice(offset, offset + suffixLength - 1).insert('\\n');\n }\n const contents = this.getContents(index, length + suffixLength);\n const diff = contents.diff(new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a().insert(text).concat(suffix));\n const delta = new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a().retain(index).concat(diff);\n return this.applyDelta(delta);\n }\n update(change) {\n let mutations = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n let selectionInfo = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : undefined;\n const oldDelta = this.delta;\n if (mutations.length === 1 && mutations[0].type === 'characterData' &&\n // @ts-expect-error Fix me later\n mutations[0].target.data.match(ASCII) && this.scroll.find(mutations[0].target)) {\n // Optimization for character changes\n const textBlot = this.scroll.find(mutations[0].target);\n const formats = Object(_blots_block_js__WEBPACK_IMPORTED_MODULE_6__[\"bubbleFormats\"])(textBlot);\n const index = textBlot.offset(this.scroll);\n // @ts-expect-error Fix me later\n const oldValue = mutations[0].oldValue.replace(_blots_cursor_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].CONTENTS, '');\n const oldText = new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a().insert(oldValue);\n // @ts-expect-error\n const newText = new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a().insert(textBlot.value());\n const relativeSelectionInfo = selectionInfo && {\n oldRange: shiftRange(selectionInfo.oldRange, -index),\n newRange: shiftRange(selectionInfo.newRange, -index)\n };\n const diffDelta = new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a().retain(index).concat(oldText.diff(newText, relativeSelectionInfo));\n change = diffDelta.reduce((delta, op) => {\n if (op.insert) {\n return delta.insert(op.insert, formats);\n }\n return delta.push(op);\n }, new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a());\n this.delta = oldDelta.compose(change);\n } else {\n this.delta = this.getDelta();\n if (!change || !Object(lodash_es__WEBPACK_IMPORTED_MODULE_3__[\"isEqual\"])(oldDelta.compose(change), this.delta)) {\n change = oldDelta.diff(this.delta, selectionInfo);\n }\n }\n return change;\n }\n}\nfunction convertListHTML(items, lastIndent, types) {\n if (items.length === 0) {\n const [endTag] = getListType(types.pop());\n if (lastIndent <= 0) {\n return `${endTag}>`;\n }\n return `${endTag}>${convertListHTML([], lastIndent - 1, types)}`;\n }\n const [{\n child,\n offset,\n length,\n indent,\n type\n }, ...rest] = items;\n const [tag, attribute] = getListType(type);\n if (indent > lastIndent) {\n types.push(type);\n if (indent === lastIndent + 1) {\n return `<${tag}>${convertHTML(child, offset, length)}${convertListHTML(rest, indent, types)}`;\n }\n return `<${tag}> ${convertListHTML(items, lastIndent + 1, types)}`;\n }\n const previousType = types[types.length - 1];\n if (indent === lastIndent && type === previousType) {\n return ` ${convertHTML(child, offset, length)}${convertListHTML(rest, indent, types)}`;\n }\n const [endTag] = getListType(types.pop());\n return ` ${endTag}>${convertListHTML(items, lastIndent - 1, types)}`;\n}\nfunction convertHTML(blot, index, length) {\n let isRoot = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n if ('html' in blot && typeof blot.html === 'function') {\n return blot.html(index, length);\n }\n if (blot instanceof _blots_text_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"]) {\n const escapedText = Object(_blots_text_js__WEBPACK_IMPORTED_MODULE_9__[\"escapeText\"])(blot.value().slice(index, index + length));\n return escapedText.replaceAll(' ', ' ');\n }\n if (blot instanceof parchment__WEBPACK_IMPORTED_MODULE_4__[\"ParentBlot\"]) {\n // TODO fix API\n if (blot.statics.blotName === 'list-container') {\n const items = [];\n blot.children.forEachAt(index, length, (child, offset, childLength) => {\n const formats = 'formats' in child && typeof child.formats === 'function' ? child.formats() : {};\n items.push({\n child,\n offset,\n length: childLength,\n indent: formats.indent || 0,\n type: formats.list\n });\n });\n return convertListHTML(items, -1, []);\n }\n const parts = [];\n blot.children.forEachAt(index, length, (child, offset, childLength) => {\n parts.push(convertHTML(child, offset, childLength));\n });\n if (isRoot || blot.statics.blotName === 'list') {\n return parts.join('');\n }\n const {\n outerHTML,\n innerHTML\n } = blot.domNode;\n const [start, end] = outerHTML.split(`>${innerHTML}<`);\n // TODO cleanup\n if (start === '${parts.join('')}<${end}`;\n }\n return `${start}>${parts.join('')}<${end}`;\n }\n return blot.domNode instanceof Element ? blot.domNode.outerHTML : '';\n}\nfunction combineFormats(formats, combined) {\n return Object.keys(combined).reduce((merged, name) => {\n if (formats[name] == null) return merged;\n const combinedValue = combined[name];\n if (combinedValue === formats[name]) {\n merged[name] = combinedValue;\n } else if (Array.isArray(combinedValue)) {\n if (combinedValue.indexOf(formats[name]) < 0) {\n merged[name] = combinedValue.concat([formats[name]]);\n } else {\n // If style already exists, don't add to an array, but don't lose other styles\n merged[name] = combinedValue;\n }\n } else {\n merged[name] = [combinedValue, formats[name]];\n }\n return merged;\n }, {});\n}\nfunction getListType(type) {\n const tag = type === 'ordered' ? 'ol' : 'ul';\n switch (type) {\n case 'checked':\n return [tag, ' data-list=\"checked\"'];\n case 'unchecked':\n return [tag, ' data-list=\"unchecked\"'];\n default:\n return [tag, ''];\n }\n}\nfunction normalizeDelta(delta) {\n return delta.reduce((normalizedDelta, op) => {\n if (typeof op.insert === 'string') {\n const text = op.insert.replace(/\\r\\n/g, '\\n').replace(/\\r/g, '\\n');\n return normalizedDelta.insert(text, op.attributes);\n }\n return normalizedDelta.push(op);\n }, new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a());\n}\nfunction shiftRange(_ref, amount) {\n let {\n index,\n length\n } = _ref;\n return new _selection_js__WEBPACK_IMPORTED_MODULE_10__[\"Range\"](index + amount, length);\n}\nfunction splitOpLines(ops) {\n const split = [];\n ops.forEach(op => {\n if (typeof op.insert === 'string') {\n const lines = op.insert.split('\\n');\n lines.forEach((line, index) => {\n if (index) split.push({\n insert: '\\n',\n attributes: op.attributes\n });\n if (line) split.push({\n insert: line,\n attributes: op.attributes\n });\n });\n } else {\n split.push(op);\n }\n });\n return split;\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (Editor);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/core/editor.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/quill/core/emitter.js":
/*!*************************************************************!*\
!*** ../simple-mind-map/node_modules/quill/core/emitter.js ***!
\*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/defineProperty.js */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var eventemitter3__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! eventemitter3 */ \"../simple-mind-map/node_modules/quill/node_modules/eventemitter3/index.js\");\n/* harmony import */ var eventemitter3__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(eventemitter3__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var _instances_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./instances.js */ \"../simple-mind-map/node_modules/quill/core/instances.js\");\n/* harmony import */ var _logger_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./logger.js */ \"../simple-mind-map/node_modules/quill/core/logger.js\");\n\n\n\n\n\nconst debug = Object(_logger_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])('quill:events');\nconst EVENTS = ['selectionchange', 'mousedown', 'mouseup', 'click'];\nEVENTS.forEach(eventName => {\n document.addEventListener(eventName, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n Array.from(document.querySelectorAll('.ql-container')).forEach(node => {\n const quill = _instances_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].get(node);\n if (quill && quill.emitter) {\n quill.emitter.handleDOM(...args);\n }\n });\n });\n});\nclass Emitter extends eventemitter3__WEBPACK_IMPORTED_MODULE_2__[\"EventEmitter\"] {\n constructor() {\n super();\n this.domListeners = {};\n this.on('error', debug.error);\n }\n emit() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n debug.log.call(debug, ...args);\n // @ts-expect-error\n return super.emit(...args);\n }\n handleDOM(event) {\n for (var _len3 = arguments.length, args = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n args[_key3 - 1] = arguments[_key3];\n }\n (this.domListeners[event.type] || []).forEach(_ref => {\n let {\n node,\n handler\n } = _ref;\n if (event.target === node || node.contains(event.target)) {\n handler(event, ...args);\n }\n });\n }\n listenDOM(eventName, node, handler) {\n if (!this.domListeners[eventName]) {\n this.domListeners[eventName] = [];\n }\n this.domListeners[eventName].push({\n node,\n handler\n });\n }\n}\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Emitter, \"events\", {\n EDITOR_CHANGE: 'editor-change',\n SCROLL_BEFORE_UPDATE: 'scroll-before-update',\n SCROLL_BLOT_MOUNT: 'scroll-blot-mount',\n SCROLL_BLOT_UNMOUNT: 'scroll-blot-unmount',\n SCROLL_OPTIMIZE: 'scroll-optimize',\n SCROLL_UPDATE: 'scroll-update',\n SCROLL_EMBED_UPDATE: 'scroll-embed-update',\n SELECTION_CHANGE: 'selection-change',\n TEXT_CHANGE: 'text-change',\n COMPOSITION_BEFORE_START: 'composition-before-start',\n COMPOSITION_START: 'composition-start',\n COMPOSITION_BEFORE_END: 'composition-before-end',\n COMPOSITION_END: 'composition-end'\n});\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Emitter, \"sources\", {\n API: 'api',\n SILENT: 'silent',\n USER: 'user'\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (Emitter);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/core/emitter.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/quill/core/instances.js":
/*!***************************************************************!*\
!*** ../simple-mind-map/node_modules/quill/core/instances.js ***!
\***************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony default export */ __webpack_exports__[\"default\"] = (new WeakMap());\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/core/instances.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/quill/core/logger.js":
/*!************************************************************!*\
!*** ../simple-mind-map/node_modules/quill/core/logger.js ***!
\************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */ \"./node_modules/core-js/modules/es.array.reduce.js\");\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_0__);\n\nconst levels = ['error', 'warn', 'log', 'info'];\nlet level = 'warn';\nfunction debug(method) {\n if (level) {\n if (levels.indexOf(method) <= levels.indexOf(level)) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n console[method](...args); // eslint-disable-line no-console\n }\n }\n}\nfunction namespace(ns) {\n return levels.reduce((logger, method) => {\n logger[method] = debug.bind(console, method, ns);\n return logger;\n }, {});\n}\nnamespace.level = newLevel => {\n level = newLevel;\n};\ndebug.level = namespace.level;\n/* harmony default export */ __webpack_exports__[\"default\"] = (namespace);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/core/logger.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/quill/core/module.js":
/*!************************************************************!*\
!*** ../simple-mind-map/node_modules/quill/core/module.js ***!
\************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/defineProperty.js */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n\nclass Module {\n constructor(quill) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.quill = quill;\n this.options = options;\n }\n}\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Module, \"DEFAULTS\", {});\n/* harmony default export */ __webpack_exports__[\"default\"] = (Module);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/core/module.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/quill/core/quill.js":
/*!***********************************************************!*\
!*** ../simple-mind-map/node_modules/quill/core/quill.js ***!
\***********************************************************/
/*! exports provided: Parchment, Range, globalRegistry, expandConfig, overload, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"globalRegistry\", function() { return globalRegistry; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"expandConfig\", function() { return expandConfig; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"overload\", function() { return overload; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Quill; });\n/* harmony import */ var _var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/defineProperty.js */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.error.cause.js */ \"./node_modules/core-js/modules/es.error.cause.js\");\n/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */ \"./node_modules/core-js/modules/es.array.reduce.js\");\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var lodash_es__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! lodash-es */ \"../simple-mind-map/node_modules/lodash-es/lodash.js\");\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! parchment */ \"../simple-mind-map/node_modules/parchment/dist/parchment.js\");\n/* harmony reexport (module object) */ __webpack_require__.d(__webpack_exports__, \"Parchment\", function() { return parchment__WEBPACK_IMPORTED_MODULE_4__; });\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! quill-delta */ \"../simple-mind-map/node_modules/quill-delta/dist/Delta.js\");\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var _editor_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./editor.js */ \"../simple-mind-map/node_modules/quill/core/editor.js\");\n/* harmony import */ var _emitter_js__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./emitter.js */ \"../simple-mind-map/node_modules/quill/core/emitter.js\");\n/* harmony import */ var _instances_js__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./instances.js */ \"../simple-mind-map/node_modules/quill/core/instances.js\");\n/* harmony import */ var _logger_js__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ./logger.js */ \"../simple-mind-map/node_modules/quill/core/logger.js\");\n/* harmony import */ var _module_js__WEBPACK_IMPORTED_MODULE_10__ = __webpack_require__(/*! ./module.js */ \"../simple-mind-map/node_modules/quill/core/module.js\");\n/* harmony import */ var _selection_js__WEBPACK_IMPORTED_MODULE_11__ = __webpack_require__(/*! ./selection.js */ \"../simple-mind-map/node_modules/quill/core/selection.js\");\n/* harmony reexport (safe) */ __webpack_require__.d(__webpack_exports__, \"Range\", function() { return _selection_js__WEBPACK_IMPORTED_MODULE_11__[\"Range\"]; });\n\n/* harmony import */ var _composition_js__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./composition.js */ \"../simple-mind-map/node_modules/quill/core/composition.js\");\n/* harmony import */ var _theme_js__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./theme.js */ \"../simple-mind-map/node_modules/quill/core/theme.js\");\n/* harmony import */ var _utils_scrollRectIntoView_js__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./utils/scrollRectIntoView.js */ \"../simple-mind-map/node_modules/quill/core/utils/scrollRectIntoView.js\");\n/* harmony import */ var _utils_createRegistryWithFormats_js__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./utils/createRegistryWithFormats.js */ \"../simple-mind-map/node_modules/quill/core/utils/createRegistryWithFormats.js\");\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\nconst debug = Object(_logger_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"])('quill');\nconst globalRegistry = new parchment__WEBPACK_IMPORTED_MODULE_4__[\"Registry\"]();\nparchment__WEBPACK_IMPORTED_MODULE_4__[\"ParentBlot\"].uiClass = 'ql-ui';\n\n/**\n * Options for initializing a Quill instance\n */\n\n/**\n * Similar to QuillOptions, but with all properties expanded to their default values,\n * and all selectors resolved to HTMLElements.\n */\n\nclass Quill {\n static debug(limit) {\n if (limit === true) {\n limit = 'log';\n }\n _logger_js__WEBPACK_IMPORTED_MODULE_9__[\"default\"].level(limit);\n }\n static find(node) {\n let bubble = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n return _instances_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].get(node) || globalRegistry.find(node, bubble);\n }\n static import(name) {\n if (this.imports[name] == null) {\n debug.error(`Cannot import ${name}. Are you sure it was registered?`);\n }\n return this.imports[name];\n }\n static register() {\n if (typeof (arguments.length <= 0 ? undefined : arguments[0]) !== 'string') {\n const target = arguments.length <= 0 ? undefined : arguments[0];\n const overwrite = !!(arguments.length <= 1 ? undefined : arguments[1]);\n const name = 'attrName' in target ? target.attrName : target.blotName;\n if (typeof name === 'string') {\n // Shortcut for formats:\n // register(Blot | Attributor, overwrite)\n this.register(`formats/${name}`, target, overwrite);\n } else {\n Object.keys(target).forEach(key => {\n this.register(key, target[key], overwrite);\n });\n }\n } else {\n const path = arguments.length <= 0 ? undefined : arguments[0];\n const target = arguments.length <= 1 ? undefined : arguments[1];\n const overwrite = !!(arguments.length <= 2 ? undefined : arguments[2]);\n if (this.imports[path] != null && !overwrite) {\n debug.warn(`Overwriting ${path} with`, target);\n }\n this.imports[path] = target;\n if ((path.startsWith('blots/') || path.startsWith('formats/')) && target && typeof target !== 'boolean' && target.blotName !== 'abstract') {\n globalRegistry.register(target);\n }\n if (typeof target.register === 'function') {\n target.register(globalRegistry);\n }\n }\n }\n constructor(container) {\n let options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.options = expandConfig(container, options);\n this.container = this.options.container;\n if (this.container == null) {\n debug.error('Invalid Quill container', container);\n return;\n }\n if (this.options.debug) {\n Quill.debug(this.options.debug);\n }\n const html = this.container.innerHTML.trim();\n this.container.classList.add('ql-container');\n this.container.innerHTML = '';\n _instances_js__WEBPACK_IMPORTED_MODULE_8__[\"default\"].set(this.container, this);\n this.root = this.addContainer('ql-editor');\n this.root.classList.add('ql-blank');\n this.emitter = new _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"]();\n const scrollBlotName = parchment__WEBPACK_IMPORTED_MODULE_4__[\"ScrollBlot\"].blotName;\n const ScrollBlot = this.options.registry.query(scrollBlotName);\n if (!ScrollBlot || !('blotName' in ScrollBlot)) {\n throw new Error(`Cannot initialize Quill without \"${scrollBlotName}\" blot`);\n }\n this.scroll = new ScrollBlot(this.options.registry, this.root, {\n emitter: this.emitter\n });\n this.editor = new _editor_js__WEBPACK_IMPORTED_MODULE_6__[\"default\"](this.scroll);\n this.selection = new _selection_js__WEBPACK_IMPORTED_MODULE_11__[\"default\"](this.scroll, this.emitter);\n this.composition = new _composition_js__WEBPACK_IMPORTED_MODULE_12__[\"default\"](this.scroll, this.emitter);\n this.theme = new this.options.theme(this, this.options); // eslint-disable-line new-cap\n this.keyboard = this.theme.addModule('keyboard');\n this.clipboard = this.theme.addModule('clipboard');\n this.history = this.theme.addModule('history');\n this.uploader = this.theme.addModule('uploader');\n this.theme.addModule('input');\n this.theme.addModule('uiNode');\n this.theme.init();\n this.emitter.on(_emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].events.EDITOR_CHANGE, type => {\n if (type === _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].events.TEXT_CHANGE) {\n this.root.classList.toggle('ql-blank', this.editor.isBlank());\n }\n });\n this.emitter.on(_emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].events.SCROLL_UPDATE, (source, mutations) => {\n const oldRange = this.selection.lastRange;\n const [newRange] = this.selection.getRange();\n const selectionInfo = oldRange && newRange ? {\n oldRange,\n newRange\n } : undefined;\n modify.call(this, () => this.editor.update(null, mutations, selectionInfo), source);\n });\n this.emitter.on(_emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].events.SCROLL_EMBED_UPDATE, (blot, delta) => {\n const oldRange = this.selection.lastRange;\n const [newRange] = this.selection.getRange();\n const selectionInfo = oldRange && newRange ? {\n oldRange,\n newRange\n } : undefined;\n modify.call(this, () => {\n const change = new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a().retain(blot.offset(this)).retain({\n [blot.statics.blotName]: delta\n });\n return this.editor.update(change, [], selectionInfo);\n }, Quill.sources.USER);\n });\n if (html) {\n const contents = this.clipboard.convert({\n html: `${html}
`,\n text: '\\n'\n });\n this.setContents(contents);\n }\n this.history.clear();\n if (this.options.placeholder) {\n this.root.setAttribute('data-placeholder', this.options.placeholder);\n }\n if (this.options.readOnly) {\n this.disable();\n }\n this.allowReadOnlyEdits = false;\n }\n addContainer(container) {\n let refNode = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n if (typeof container === 'string') {\n const className = container;\n container = document.createElement('div');\n container.classList.add(className);\n }\n this.container.insertBefore(container, refNode);\n return container;\n }\n blur() {\n this.selection.setRange(null);\n }\n deleteText(index, length, source) {\n // @ts-expect-error\n [index, length,, source] = overload(index, length, source);\n return modify.call(this, () => {\n return this.editor.deleteText(index, length);\n }, source, index, -1 * length);\n }\n disable() {\n this.enable(false);\n }\n editReadOnly(modifier) {\n this.allowReadOnlyEdits = true;\n const value = modifier();\n this.allowReadOnlyEdits = false;\n return value;\n }\n enable() {\n let enabled = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n this.scroll.enable(enabled);\n this.container.classList.toggle('ql-disabled', !enabled);\n }\n focus() {\n let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n this.selection.focus();\n if (!options.preventScroll) {\n this.scrollSelectionIntoView();\n }\n }\n format(name, value) {\n let source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].sources.API;\n return modify.call(this, () => {\n const range = this.getSelection(true);\n let change = new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a();\n if (range == null) return change;\n if (this.scroll.query(name, parchment__WEBPACK_IMPORTED_MODULE_4__[\"Scope\"].BLOCK)) {\n change = this.editor.formatLine(range.index, range.length, {\n [name]: value\n });\n } else if (range.length === 0) {\n this.selection.format(name, value);\n return change;\n } else {\n change = this.editor.formatText(range.index, range.length, {\n [name]: value\n });\n }\n this.setSelection(range, _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].sources.SILENT);\n return change;\n }, source);\n }\n formatLine(index, length, name, value, source) {\n let formats;\n // eslint-disable-next-line prefer-const\n [index, length, formats, source] = overload(index, length,\n // @ts-expect-error\n name, value, source);\n return modify.call(this, () => {\n return this.editor.formatLine(index, length, formats);\n }, source, index, 0);\n }\n formatText(index, length, name, value, source) {\n let formats;\n // eslint-disable-next-line prefer-const\n [index, length, formats, source] = overload(\n // @ts-expect-error\n index, length, name, value, source);\n return modify.call(this, () => {\n return this.editor.formatText(index, length, formats);\n }, source, index, 0);\n }\n getBounds(index) {\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n let bounds = null;\n if (typeof index === 'number') {\n bounds = this.selection.getBounds(index, length);\n } else {\n bounds = this.selection.getBounds(index.index, index.length);\n }\n if (!bounds) return null;\n const containerBounds = this.container.getBoundingClientRect();\n return {\n bottom: bounds.bottom - containerBounds.top,\n height: bounds.height,\n left: bounds.left - containerBounds.left,\n right: bounds.right - containerBounds.left,\n top: bounds.top - containerBounds.top,\n width: bounds.width\n };\n }\n getContents() {\n let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : this.getLength() - index;\n [index, length] = overload(index, length);\n return this.editor.getContents(index, length);\n }\n getFormat() {\n let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : this.getSelection(true);\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n if (typeof index === 'number') {\n return this.editor.getFormat(index, length);\n }\n return this.editor.getFormat(index.index, index.length);\n }\n getIndex(blot) {\n return blot.offset(this.scroll);\n }\n getLength() {\n return this.scroll.length();\n }\n getLeaf(index) {\n return this.scroll.leaf(index);\n }\n getLine(index) {\n return this.scroll.line(index);\n }\n getLines() {\n let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : Number.MAX_VALUE;\n if (typeof index !== 'number') {\n return this.scroll.lines(index.index, index.length);\n }\n return this.scroll.lines(index, length);\n }\n getModule(name) {\n return this.theme.modules[name];\n }\n getSelection() {\n let focus = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n if (focus) this.focus();\n this.update(); // Make sure we access getRange with editor in consistent state\n return this.selection.getRange()[0];\n }\n getSemanticHTML() {\n let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n let length = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof index === 'number') {\n var _length;\n length = (_length = length) !== null && _length !== void 0 ? _length : this.getLength() - index;\n }\n // @ts-expect-error\n [index, length] = overload(index, length);\n return this.editor.getHTML(index, length);\n }\n getText() {\n let index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n let length = arguments.length > 1 ? arguments[1] : undefined;\n if (typeof index === 'number') {\n var _length2;\n length = (_length2 = length) !== null && _length2 !== void 0 ? _length2 : this.getLength() - index;\n }\n // @ts-expect-error\n [index, length] = overload(index, length);\n return this.editor.getText(index, length);\n }\n hasFocus() {\n return this.selection.hasFocus();\n }\n insertEmbed(index, embed, value) {\n let source = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : Quill.sources.API;\n return modify.call(this, () => {\n return this.editor.insertEmbed(index, embed, value);\n }, source, index);\n }\n insertText(index, text, name, value, source) {\n let formats;\n // eslint-disable-next-line prefer-const\n // @ts-expect-error\n [index,, formats, source] = overload(index, 0, name, value, source);\n return modify.call(this, () => {\n return this.editor.insertText(index, text, formats);\n }, source, index, text.length);\n }\n isEnabled() {\n return this.scroll.isEnabled();\n }\n off() {\n return this.emitter.off(...arguments);\n }\n on() {\n return this.emitter.on(...arguments);\n }\n once() {\n return this.emitter.once(...arguments);\n }\n removeFormat(index, length, source) {\n [index, length,, source] = overload(index, length, source);\n return modify.call(this, () => {\n return this.editor.removeFormat(index, length);\n }, source, index);\n }\n scrollRectIntoView(rect) {\n Object(_utils_scrollRectIntoView_js__WEBPACK_IMPORTED_MODULE_14__[\"default\"])(this.root, rect);\n }\n\n /**\n * @deprecated Use Quill#scrollSelectionIntoView() instead.\n */\n scrollIntoView() {\n console.warn('Quill#scrollIntoView() has been deprecated and will be removed in the near future. Please use Quill#scrollSelectionIntoView() instead.');\n this.scrollSelectionIntoView();\n }\n\n /**\n * Scroll the current selection into the visible area.\n * If the selection is already visible, no scrolling will occur.\n */\n scrollSelectionIntoView() {\n const range = this.selection.lastRange;\n const bounds = range && this.selection.getBounds(range.index, range.length);\n if (bounds) {\n this.scrollRectIntoView(bounds);\n }\n }\n setContents(delta) {\n let source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].sources.API;\n return modify.call(this, () => {\n delta = new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a(delta);\n const length = this.getLength();\n // Quill will set empty editor to \\n\n const delete1 = this.editor.deleteText(0, length);\n const applied = this.editor.insertContents(0, delta);\n // Remove extra \\n from empty editor initialization\n const delete2 = this.editor.deleteText(this.getLength() - 1, 1);\n return delete1.compose(applied).compose(delete2);\n }, source);\n }\n setSelection(index, length, source) {\n if (index == null) {\n // @ts-expect-error https://github.com/microsoft/TypeScript/issues/22609\n this.selection.setRange(null, length || Quill.sources.API);\n } else {\n // @ts-expect-error\n [index, length,, source] = overload(index, length, source);\n this.selection.setRange(new _selection_js__WEBPACK_IMPORTED_MODULE_11__[\"Range\"](Math.max(0, index), length), source);\n if (source !== _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].sources.SILENT) {\n this.scrollSelectionIntoView();\n }\n }\n }\n setText(text) {\n let source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].sources.API;\n const delta = new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a().insert(text);\n return this.setContents(delta, source);\n }\n update() {\n let source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].sources.USER;\n const change = this.scroll.update(source); // Will update selection before selection.update() does if text changes\n this.selection.update(source);\n // TODO this is usually undefined\n return change;\n }\n updateContents(delta) {\n let source = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].sources.API;\n return modify.call(this, () => {\n delta = new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a(delta);\n return this.editor.applyDelta(delta);\n }, source, true);\n }\n}\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Quill, \"DEFAULTS\", {\n bounds: null,\n modules: {\n clipboard: true,\n keyboard: true,\n history: true,\n uploader: true\n },\n placeholder: '',\n readOnly: false,\n registry: globalRegistry,\n theme: 'default'\n});\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Quill, \"events\", _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].events);\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Quill, \"sources\", _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].sources);\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Quill, \"version\", false ? undefined : \"2.0.3\");\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Quill, \"imports\", {\n delta: quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a,\n parchment: parchment__WEBPACK_IMPORTED_MODULE_4__,\n 'core/module': _module_js__WEBPACK_IMPORTED_MODULE_10__[\"default\"],\n 'core/theme': _theme_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"]\n});\nfunction resolveSelector(selector) {\n return typeof selector === 'string' ? document.querySelector(selector) : selector;\n}\nfunction expandModuleConfig(config) {\n return Object.entries(config !== null && config !== void 0 ? config : {}).reduce((expanded, _ref) => {\n let [key, value] = _ref;\n return {\n ...expanded,\n [key]: value === true ? {} : value\n };\n }, {});\n}\nfunction omitUndefinedValuesFromOptions(obj) {\n return Object.fromEntries(Object.entries(obj).filter(entry => entry[1] !== undefined));\n}\nfunction expandConfig(containerOrSelector, options) {\n const container = resolveSelector(containerOrSelector);\n if (!container) {\n throw new Error('Invalid Quill container');\n }\n const shouldUseDefaultTheme = !options.theme || options.theme === Quill.DEFAULTS.theme;\n const theme = shouldUseDefaultTheme ? _theme_js__WEBPACK_IMPORTED_MODULE_13__[\"default\"] : Quill.import(`themes/${options.theme}`);\n if (!theme) {\n throw new Error(`Invalid theme ${options.theme}. Did you register it?`);\n }\n const {\n modules: quillModuleDefaults,\n ...quillDefaults\n } = Quill.DEFAULTS;\n const {\n modules: themeModuleDefaults,\n ...themeDefaults\n } = theme.DEFAULTS;\n let userModuleOptions = expandModuleConfig(options.modules);\n // Special case toolbar shorthand\n if (userModuleOptions != null && userModuleOptions.toolbar && userModuleOptions.toolbar.constructor !== Object) {\n userModuleOptions = {\n ...userModuleOptions,\n toolbar: {\n container: userModuleOptions.toolbar\n }\n };\n }\n const modules = Object(lodash_es__WEBPACK_IMPORTED_MODULE_3__[\"merge\"])({}, expandModuleConfig(quillModuleDefaults), expandModuleConfig(themeModuleDefaults), userModuleOptions);\n const config = {\n ...quillDefaults,\n ...omitUndefinedValuesFromOptions(themeDefaults),\n ...omitUndefinedValuesFromOptions(options)\n };\n let registry = options.registry;\n if (registry) {\n if (options.formats) {\n debug.warn('Ignoring \"formats\" option because \"registry\" is specified');\n }\n } else {\n registry = options.formats ? Object(_utils_createRegistryWithFormats_js__WEBPACK_IMPORTED_MODULE_15__[\"default\"])(options.formats, config.registry, debug) : config.registry;\n }\n return {\n ...config,\n registry,\n container,\n theme,\n modules: Object.entries(modules).reduce((modulesWithDefaults, _ref2) => {\n let [name, value] = _ref2;\n if (!value) return modulesWithDefaults;\n const moduleClass = Quill.import(`modules/${name}`);\n if (moduleClass == null) {\n debug.error(`Cannot load ${name} module. Are you sure you registered it?`);\n return modulesWithDefaults;\n }\n return {\n ...modulesWithDefaults,\n // @ts-expect-error\n [name]: Object(lodash_es__WEBPACK_IMPORTED_MODULE_3__[\"merge\"])({}, moduleClass.DEFAULTS || {}, value)\n };\n }, {}),\n bounds: resolveSelector(config.bounds)\n };\n}\n\n// Handle selection preservation and TEXT_CHANGE emission\n// common to modification APIs\nfunction modify(modifier, source, index, shift) {\n if (!this.isEnabled() && source === _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].sources.USER && !this.allowReadOnlyEdits) {\n return new quill_delta__WEBPACK_IMPORTED_MODULE_5___default.a();\n }\n let range = index == null ? null : this.getSelection();\n const oldDelta = this.editor.delta;\n const change = modifier();\n if (range != null) {\n if (index === true) {\n index = range.index; // eslint-disable-line prefer-destructuring\n }\n if (shift == null) {\n range = shiftRange(range, change, source);\n } else if (shift !== 0) {\n // @ts-expect-error index should always be number\n range = shiftRange(range, index, shift, source);\n }\n this.setSelection(range, _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].sources.SILENT);\n }\n if (change.length() > 0) {\n const args = [_emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].events.TEXT_CHANGE, change, oldDelta, source];\n this.emitter.emit(_emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].events.EDITOR_CHANGE, ...args);\n if (source !== _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].sources.SILENT) {\n this.emitter.emit(...args);\n }\n }\n return change;\n}\nfunction overload(index, length, name, value, source) {\n let formats = {};\n // @ts-expect-error\n if (typeof index.index === 'number' && typeof index.length === 'number') {\n // Allow for throwaway end (used by insertText/insertEmbed)\n if (typeof length !== 'number') {\n // @ts-expect-error\n source = value;\n value = name;\n name = length;\n // @ts-expect-error\n length = index.length; // eslint-disable-line prefer-destructuring\n // @ts-expect-error\n index = index.index; // eslint-disable-line prefer-destructuring\n } else {\n // @ts-expect-error\n length = index.length; // eslint-disable-line prefer-destructuring\n // @ts-expect-error\n index = index.index; // eslint-disable-line prefer-destructuring\n }\n } else if (typeof length !== 'number') {\n // @ts-expect-error\n source = value;\n value = name;\n name = length;\n length = 0;\n }\n // Handle format being object, two format name/value strings or excluded\n if (typeof name === 'object') {\n // @ts-expect-error Fix me later\n formats = name;\n // @ts-expect-error\n source = value;\n } else if (typeof name === 'string') {\n if (value != null) {\n formats[name] = value;\n } else {\n // @ts-expect-error\n source = name;\n }\n }\n // Handle optional source\n source = source || _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].sources.API;\n // @ts-expect-error\n return [index, length, formats, source];\n}\nfunction shiftRange(range, index, lengthOrSource, source) {\n const length = typeof lengthOrSource === 'number' ? lengthOrSource : 0;\n if (range == null) return null;\n let start;\n let end;\n // @ts-expect-error -- TODO: add a better type guard around `index`\n if (index && typeof index.transformPosition === 'function') {\n [start, end] = [range.index, range.index + range.length].map(pos =>\n // @ts-expect-error -- TODO: add a better type guard around `index`\n index.transformPosition(pos, source !== _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].sources.USER));\n } else {\n [start, end] = [range.index, range.index + range.length].map(pos => {\n // @ts-expect-error -- TODO: add a better type guard around `index`\n if (pos < index || pos === index && source === _emitter_js__WEBPACK_IMPORTED_MODULE_7__[\"default\"].sources.USER) return pos;\n if (length >= 0) {\n return pos + length;\n }\n // @ts-expect-error -- TODO: add a better type guard around `index`\n return Math.max(index, pos + length);\n });\n }\n return new _selection_js__WEBPACK_IMPORTED_MODULE_11__[\"Range\"](start, end - start);\n}\n\n\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/core/quill.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/quill/core/selection.js":
/*!***************************************************************!*\
!*** ../simple-mind-map/node_modules/quill/core/selection.js ***!
\***************************************************************/
/*! exports provided: Range, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Range\", function() { return Range; });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! parchment */ \"../simple-mind-map/node_modules/parchment/dist/parchment.js\");\n/* harmony import */ var lodash_es__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! lodash-es */ \"../simple-mind-map/node_modules/lodash-es/lodash.js\");\n/* harmony import */ var _emitter_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./emitter.js */ \"../simple-mind-map/node_modules/quill/core/emitter.js\");\n/* harmony import */ var _logger_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./logger.js */ \"../simple-mind-map/node_modules/quill/core/logger.js\");\n\n\n\n\n\nconst debug = Object(_logger_js__WEBPACK_IMPORTED_MODULE_4__[\"default\"])('quill:selection');\nclass Range {\n constructor(index) {\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n this.index = index;\n this.length = length;\n }\n}\nclass Selection {\n constructor(scroll, emitter) {\n this.emitter = emitter;\n this.scroll = scroll;\n this.composing = false;\n this.mouseDown = false;\n this.root = this.scroll.domNode;\n // @ts-expect-error\n this.cursor = this.scroll.create('cursor', this);\n // savedRange is last non-null range\n this.savedRange = new Range(0, 0);\n this.lastRange = this.savedRange;\n this.lastNative = null;\n this.handleComposition();\n this.handleDragging();\n this.emitter.listenDOM('selectionchange', document, () => {\n if (!this.mouseDown && !this.composing) {\n setTimeout(this.update.bind(this, _emitter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].sources.USER), 1);\n }\n });\n this.emitter.on(_emitter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].events.SCROLL_BEFORE_UPDATE, () => {\n if (!this.hasFocus()) return;\n const native = this.getNativeRange();\n if (native == null) return;\n if (native.start.node === this.cursor.textNode) return; // cursor.restore() will handle\n this.emitter.once(_emitter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].events.SCROLL_UPDATE, (source, mutations) => {\n try {\n if (this.root.contains(native.start.node) && this.root.contains(native.end.node)) {\n this.setNativeRange(native.start.node, native.start.offset, native.end.node, native.end.offset);\n }\n const triggeredByTyping = mutations.some(mutation => mutation.type === 'characterData' || mutation.type === 'childList' || mutation.type === 'attributes' && mutation.target === this.root);\n this.update(triggeredByTyping ? _emitter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].sources.SILENT : source);\n } catch (ignored) {\n // ignore\n }\n });\n });\n this.emitter.on(_emitter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].events.SCROLL_OPTIMIZE, (mutations, context) => {\n if (context.range) {\n const {\n startNode,\n startOffset,\n endNode,\n endOffset\n } = context.range;\n this.setNativeRange(startNode, startOffset, endNode, endOffset);\n this.update(_emitter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].sources.SILENT);\n }\n });\n this.update(_emitter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].sources.SILENT);\n }\n handleComposition() {\n this.emitter.on(_emitter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].events.COMPOSITION_BEFORE_START, () => {\n this.composing = true;\n });\n this.emitter.on(_emitter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].events.COMPOSITION_END, () => {\n this.composing = false;\n if (this.cursor.parent) {\n const range = this.cursor.restore();\n if (!range) return;\n setTimeout(() => {\n this.setNativeRange(range.startNode, range.startOffset, range.endNode, range.endOffset);\n }, 1);\n }\n });\n }\n handleDragging() {\n this.emitter.listenDOM('mousedown', document.body, () => {\n this.mouseDown = true;\n });\n this.emitter.listenDOM('mouseup', document.body, () => {\n this.mouseDown = false;\n this.update(_emitter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].sources.USER);\n });\n }\n focus() {\n if (this.hasFocus()) return;\n this.root.focus({\n preventScroll: true\n });\n this.setRange(this.savedRange);\n }\n format(format, value) {\n this.scroll.update();\n const nativeRange = this.getNativeRange();\n if (nativeRange == null || !nativeRange.native.collapsed || this.scroll.query(format, parchment__WEBPACK_IMPORTED_MODULE_1__[\"Scope\"].BLOCK)) return;\n if (nativeRange.start.node !== this.cursor.textNode) {\n const blot = this.scroll.find(nativeRange.start.node, false);\n if (blot == null) return;\n // TODO Give blot ability to not split\n if (blot instanceof parchment__WEBPACK_IMPORTED_MODULE_1__[\"LeafBlot\"]) {\n const after = blot.split(nativeRange.start.offset);\n blot.parent.insertBefore(this.cursor, after);\n } else {\n // @ts-expect-error TODO: nativeRange.start.node doesn't seem to match function signature\n blot.insertBefore(this.cursor, nativeRange.start.node); // Should never happen\n }\n this.cursor.attach();\n }\n this.cursor.format(format, value);\n this.scroll.optimize();\n this.setNativeRange(this.cursor.textNode, this.cursor.textNode.data.length);\n this.update();\n }\n getBounds(index) {\n let length = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n const scrollLength = this.scroll.length();\n index = Math.min(index, scrollLength - 1);\n length = Math.min(index + length, scrollLength - 1) - index;\n let node;\n let [leaf, offset] = this.scroll.leaf(index);\n if (leaf == null) return null;\n if (length > 0 && offset === leaf.length()) {\n const [next] = this.scroll.leaf(index + 1);\n if (next) {\n const [line] = this.scroll.line(index);\n const [nextLine] = this.scroll.line(index + 1);\n if (line === nextLine) {\n leaf = next;\n offset = 0;\n }\n }\n }\n [node, offset] = leaf.position(offset, true);\n const range = document.createRange();\n if (length > 0) {\n range.setStart(node, offset);\n [leaf, offset] = this.scroll.leaf(index + length);\n if (leaf == null) return null;\n [node, offset] = leaf.position(offset, true);\n range.setEnd(node, offset);\n return range.getBoundingClientRect();\n }\n let side = 'left';\n let rect;\n if (node instanceof Text) {\n // Return null if the text node is empty because it is\n // not able to get a useful client rect:\n // https://github.com/w3c/csswg-drafts/issues/2514.\n // Empty text nodes are most likely caused by TextBlot#optimize()\n // not getting called when editor content changes.\n if (!node.data.length) {\n return null;\n }\n if (offset < node.data.length) {\n range.setStart(node, offset);\n range.setEnd(node, offset + 1);\n } else {\n range.setStart(node, offset - 1);\n range.setEnd(node, offset);\n side = 'right';\n }\n rect = range.getBoundingClientRect();\n } else {\n if (!(leaf.domNode instanceof Element)) return null;\n rect = leaf.domNode.getBoundingClientRect();\n if (offset > 0) side = 'right';\n }\n return {\n bottom: rect.top + rect.height,\n height: rect.height,\n left: rect[side],\n right: rect[side],\n top: rect.top,\n width: 0\n };\n }\n getNativeRange() {\n const selection = document.getSelection();\n if (selection == null || selection.rangeCount <= 0) return null;\n const nativeRange = selection.getRangeAt(0);\n if (nativeRange == null) return null;\n const range = this.normalizeNative(nativeRange);\n debug.info('getNativeRange', range);\n return range;\n }\n getRange() {\n const root = this.scroll.domNode;\n if ('isConnected' in root && !root.isConnected) {\n // document.getSelection() forces layout on Blink, so we trend to\n // not calling it.\n return [null, null];\n }\n const normalized = this.getNativeRange();\n if (normalized == null) return [null, null];\n const range = this.normalizedToRange(normalized);\n return [range, normalized];\n }\n hasFocus() {\n return document.activeElement === this.root || document.activeElement != null && contains(this.root, document.activeElement);\n }\n normalizedToRange(range) {\n const positions = [[range.start.node, range.start.offset]];\n if (!range.native.collapsed) {\n positions.push([range.end.node, range.end.offset]);\n }\n const indexes = positions.map(position => {\n const [node, offset] = position;\n const blot = this.scroll.find(node, true);\n // @ts-expect-error Fix me later\n const index = blot.offset(this.scroll);\n if (offset === 0) {\n return index;\n }\n if (blot instanceof parchment__WEBPACK_IMPORTED_MODULE_1__[\"LeafBlot\"]) {\n return index + blot.index(node, offset);\n }\n // @ts-expect-error Fix me later\n return index + blot.length();\n });\n const end = Math.min(Math.max(...indexes), this.scroll.length() - 1);\n const start = Math.min(end, ...indexes);\n return new Range(start, end - start);\n }\n normalizeNative(nativeRange) {\n if (!contains(this.root, nativeRange.startContainer) || !nativeRange.collapsed && !contains(this.root, nativeRange.endContainer)) {\n return null;\n }\n const range = {\n start: {\n node: nativeRange.startContainer,\n offset: nativeRange.startOffset\n },\n end: {\n node: nativeRange.endContainer,\n offset: nativeRange.endOffset\n },\n native: nativeRange\n };\n [range.start, range.end].forEach(position => {\n let {\n node,\n offset\n } = position;\n while (!(node instanceof Text) && node.childNodes.length > 0) {\n if (node.childNodes.length > offset) {\n node = node.childNodes[offset];\n offset = 0;\n } else if (node.childNodes.length === offset) {\n // @ts-expect-error Fix me later\n node = node.lastChild;\n if (node instanceof Text) {\n offset = node.data.length;\n } else if (node.childNodes.length > 0) {\n // Container case\n offset = node.childNodes.length;\n } else {\n // Embed case\n offset = node.childNodes.length + 1;\n }\n } else {\n break;\n }\n }\n position.node = node;\n position.offset = offset;\n });\n return range;\n }\n rangeToNative(range) {\n const scrollLength = this.scroll.length();\n const getPosition = (index, inclusive) => {\n index = Math.min(scrollLength - 1, index);\n const [leaf, leafOffset] = this.scroll.leaf(index);\n return leaf ? leaf.position(leafOffset, inclusive) : [null, -1];\n };\n return [...getPosition(range.index, false), ...getPosition(range.index + range.length, true)];\n }\n setNativeRange(startNode, startOffset) {\n let endNode = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : startNode;\n let endOffset = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : startOffset;\n let force = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n debug.info('setNativeRange', startNode, startOffset, endNode, endOffset);\n if (startNode != null && (this.root.parentNode == null || startNode.parentNode == null ||\n // @ts-expect-error Fix me later\n endNode.parentNode == null)) {\n return;\n }\n const selection = document.getSelection();\n if (selection == null) return;\n if (startNode != null) {\n if (!this.hasFocus()) this.root.focus({\n preventScroll: true\n });\n const {\n native\n } = this.getNativeRange() || {};\n if (native == null || force || startNode !== native.startContainer || startOffset !== native.startOffset || endNode !== native.endContainer || endOffset !== native.endOffset) {\n if (startNode instanceof Element && startNode.tagName === 'BR') {\n // @ts-expect-error Fix me later\n startOffset = Array.from(startNode.parentNode.childNodes).indexOf(startNode);\n startNode = startNode.parentNode;\n }\n if (endNode instanceof Element && endNode.tagName === 'BR') {\n // @ts-expect-error Fix me later\n endOffset = Array.from(endNode.parentNode.childNodes).indexOf(endNode);\n endNode = endNode.parentNode;\n }\n const range = document.createRange();\n // @ts-expect-error Fix me later\n range.setStart(startNode, startOffset);\n // @ts-expect-error Fix me later\n range.setEnd(endNode, endOffset);\n selection.removeAllRanges();\n selection.addRange(range);\n }\n } else {\n selection.removeAllRanges();\n this.root.blur();\n }\n }\n setRange(range) {\n let force = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n let source = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : _emitter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].sources.API;\n if (typeof force === 'string') {\n source = force;\n force = false;\n }\n debug.info('setRange', range);\n if (range != null) {\n const args = this.rangeToNative(range);\n this.setNativeRange(...args, force);\n } else {\n this.setNativeRange(null);\n }\n this.update(source);\n }\n update() {\n let source = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : _emitter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].sources.USER;\n const oldRange = this.lastRange;\n const [lastRange, nativeRange] = this.getRange();\n this.lastRange = lastRange;\n this.lastNative = nativeRange;\n if (this.lastRange != null) {\n this.savedRange = this.lastRange;\n }\n if (!Object(lodash_es__WEBPACK_IMPORTED_MODULE_2__[\"isEqual\"])(oldRange, this.lastRange)) {\n if (!this.composing && nativeRange != null && nativeRange.native.collapsed && nativeRange.start.node !== this.cursor.textNode) {\n const range = this.cursor.restore();\n if (range) {\n this.setNativeRange(range.startNode, range.startOffset, range.endNode, range.endOffset);\n }\n }\n const args = [_emitter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].events.SELECTION_CHANGE, Object(lodash_es__WEBPACK_IMPORTED_MODULE_2__[\"cloneDeep\"])(this.lastRange), Object(lodash_es__WEBPACK_IMPORTED_MODULE_2__[\"cloneDeep\"])(oldRange), source];\n this.emitter.emit(_emitter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].events.EDITOR_CHANGE, ...args);\n if (source !== _emitter_js__WEBPACK_IMPORTED_MODULE_3__[\"default\"].sources.SILENT) {\n this.emitter.emit(...args);\n }\n }\n }\n}\nfunction contains(parent, descendant) {\n try {\n // Firefox inserts inaccessible nodes around video elements\n descendant.parentNode; // eslint-disable-line @typescript-eslint/no-unused-expressions\n } catch (e) {\n return false;\n }\n return parent.contains(descendant);\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (Selection);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/core/selection.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/quill/core/theme.js":
/*!***********************************************************!*\
!*** ../simple-mind-map/node_modules/quill/core/theme.js ***!
\***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/@babel/runtime/helpers/esm/defineProperty.js */ \"./node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n\nvar _Theme;\nclass Theme {\n constructor(quill, options) {\n Object(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(this, \"modules\", {});\n this.quill = quill;\n this.options = options;\n }\n init() {\n Object.keys(this.options.modules).forEach(name => {\n if (this.modules[name] == null) {\n this.addModule(name);\n }\n });\n }\n addModule(name) {\n // @ts-expect-error\n const ModuleClass = this.quill.constructor.import(`modules/${name}`);\n this.modules[name] = new ModuleClass(this.quill, this.options.modules[name] || {});\n return this.modules[name];\n }\n}\n_Theme = Theme;\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Theme, \"DEFAULTS\", {\n modules: {}\n});\nObject(_var_jenkins_home_workspace_siyuan_kmind_plugin_widget_build_to_github_kmind_plugin_web_node_modules_babel_runtime_helpers_esm_defineProperty_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(Theme, \"themes\", {\n default: _Theme\n});\n/* harmony default export */ __webpack_exports__[\"default\"] = (Theme);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/core/theme.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/quill/core/utils/createRegistryWithFormats.js":
/*!*************************************************************************************!*\
!*** ../simple-mind-map/node_modules/quill/core/utils/createRegistryWithFormats.js ***!
\*************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! parchment */ \"../simple-mind-map/node_modules/parchment/dist/parchment.js\");\n\nconst MAX_REGISTER_ITERATIONS = 100;\nconst CORE_FORMATS = ['block', 'break', 'cursor', 'inline', 'scroll', 'text'];\nconst createRegistryWithFormats = (formats, sourceRegistry, debug) => {\n const registry = new parchment__WEBPACK_IMPORTED_MODULE_0__[\"Registry\"]();\n CORE_FORMATS.forEach(name => {\n const coreBlot = sourceRegistry.query(name);\n if (coreBlot) registry.register(coreBlot);\n });\n formats.forEach(name => {\n let format = sourceRegistry.query(name);\n if (!format) {\n debug.error(`Cannot register \"${name}\" specified in \"formats\" config. Are you sure it was registered?`);\n }\n let iterations = 0;\n while (format) {\n var _format$requiredConta;\n registry.register(format);\n format = 'blotName' in format ? (_format$requiredConta = format.requiredContainer) !== null && _format$requiredConta !== void 0 ? _format$requiredConta : null : null;\n iterations += 1;\n if (iterations > MAX_REGISTER_ITERATIONS) {\n debug.error(`Cycle detected in registering blot requiredContainer: \"${name}\"`);\n break;\n }\n }\n });\n return registry;\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (createRegistryWithFormats);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/core/utils/createRegistryWithFormats.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/quill/core/utils/scrollRectIntoView.js":
/*!******************************************************************************!*\
!*** ../simple-mind-map/node_modules/quill/core/utils/scrollRectIntoView.js ***!
\******************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nconst getParentElement = element => element.parentElement || element.getRootNode().host || null;\nconst getElementRect = element => {\n const rect = element.getBoundingClientRect();\n const scaleX = 'offsetWidth' in element && Math.abs(rect.width) / element.offsetWidth || 1;\n const scaleY = 'offsetHeight' in element && Math.abs(rect.height) / element.offsetHeight || 1;\n return {\n top: rect.top,\n right: rect.left + element.clientWidth * scaleX,\n bottom: rect.top + element.clientHeight * scaleY,\n left: rect.left\n };\n};\nconst paddingValueToInt = value => {\n const number = parseInt(value, 10);\n return Number.isNaN(number) ? 0 : number;\n};\n\n// Follow the steps described in https://www.w3.org/TR/cssom-view-1/#element-scrolling-members,\n// assuming that the scroll option is set to 'nearest'.\nconst getScrollDistance = (targetStart, targetEnd, scrollStart, scrollEnd, scrollPaddingStart, scrollPaddingEnd) => {\n if (targetStart < scrollStart && targetEnd > scrollEnd) {\n return 0;\n }\n if (targetStart < scrollStart) {\n return -(scrollStart - targetStart + scrollPaddingStart);\n }\n if (targetEnd > scrollEnd) {\n return targetEnd - targetStart > scrollEnd - scrollStart ? targetStart + scrollPaddingStart - scrollStart : targetEnd - scrollEnd + scrollPaddingEnd;\n }\n return 0;\n};\nconst scrollRectIntoView = (root, targetRect) => {\n const document = root.ownerDocument;\n let rect = targetRect;\n let current = root;\n while (current) {\n var _window$visualViewpor, _window$visualViewpor2, _window$visualViewpor3, _window$visualViewpor4;\n const isDocumentBody = current === document.body;\n const bounding = isDocumentBody ? {\n top: 0,\n right: (_window$visualViewpor = (_window$visualViewpor2 = window.visualViewport) === null || _window$visualViewpor2 === void 0 ? void 0 : _window$visualViewpor2.width) !== null && _window$visualViewpor !== void 0 ? _window$visualViewpor : document.documentElement.clientWidth,\n bottom: (_window$visualViewpor3 = (_window$visualViewpor4 = window.visualViewport) === null || _window$visualViewpor4 === void 0 ? void 0 : _window$visualViewpor4.height) !== null && _window$visualViewpor3 !== void 0 ? _window$visualViewpor3 : document.documentElement.clientHeight,\n left: 0\n } : getElementRect(current);\n const style = getComputedStyle(current);\n const scrollDistanceX = getScrollDistance(rect.left, rect.right, bounding.left, bounding.right, paddingValueToInt(style.scrollPaddingLeft), paddingValueToInt(style.scrollPaddingRight));\n const scrollDistanceY = getScrollDistance(rect.top, rect.bottom, bounding.top, bounding.bottom, paddingValueToInt(style.scrollPaddingTop), paddingValueToInt(style.scrollPaddingBottom));\n if (scrollDistanceX || scrollDistanceY) {\n if (isDocumentBody) {\n var _document$defaultView;\n (_document$defaultView = document.defaultView) === null || _document$defaultView === void 0 || _document$defaultView.scrollBy(scrollDistanceX, scrollDistanceY);\n } else {\n const {\n scrollLeft,\n scrollTop\n } = current;\n if (scrollDistanceY) {\n current.scrollTop += scrollDistanceY;\n }\n if (scrollDistanceX) {\n current.scrollLeft += scrollDistanceX;\n }\n const scrolledLeft = current.scrollLeft - scrollLeft;\n const scrolledTop = current.scrollTop - scrollTop;\n rect = {\n left: rect.left - scrolledLeft,\n top: rect.top - scrolledTop,\n right: rect.right - scrolledLeft,\n bottom: rect.bottom - scrolledTop\n };\n }\n }\n current = isDocumentBody || style.position === 'fixed' ? null : getParentElement(current);\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (scrollRectIntoView);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/node_modules/quill/core/utils/scrollRectIntoView.js?");
/***/ }),
/***/ "../simple-mind-map/node_modules/quill/dist/quill.snow.css":
/*!*****************************************************************!*\
!*** ../simple-mind-map/node_modules/quill/dist/quill.snow.css ***!
\*****************************************************************/
/*! no static exports found */
/***/ (function(module, exports, __webpack_require__) {
eval("// style-loader: Adds some css to the DOM by adding a `));\n svgIsChange = true;\n }\n // 如果还开启了数学公式,还要插入katex库的样式\n if (this.mindMap.formula) {\n const formulaList = svg.find('.ql-formula');\n if (formulaList.length > 0) {\n const styleText = this.mindMap.formula.getStyleText();\n if (styleText) {\n const styleEl = document.createElement('style');\n styleEl.innerHTML = styleText;\n Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"addXmlns\"])(styleEl);\n foreignObjectList[0].add(styleEl);\n svgIsChange = true;\n }\n }\n }\n }\n // 自定义处理svg的方法\n if (typeof handleBeingExportSvg === 'function') {\n svgIsChange = true;\n svg = handleBeingExportSvg(svg);\n }\n // svg节点内容有变,需要重新获取html字符串\n if (taskList.length > 0 || svgIsChange) {\n svgHTML = svg.svg();\n }\n return {\n node: svg,\n str: svgHTML,\n clipData\n };\n }\n\n // svg转png\n svgToPng(svgSrc, transparent, clipData = null) {\n const {\n maxCanvasSize,\n minExportImgCanvasScale\n } = this.mindMap.opt;\n return new Promise((resolve, reject) => {\n const img = new Image();\n // 跨域图片需要添加这个属性,否则画布被污染了无法导出图片\n img.setAttribute('crossOrigin', 'anonymous');\n img.onload = async () => {\n try {\n const canvas = document.createElement('canvas');\n const dpr = Math.max(window.devicePixelRatio, minExportImgCanvasScale);\n let imgWidth = img.width;\n let imgHeight = img.height;\n // 如果是裁减操作的话,那么需要手动添加内边距,及调整图片大小为实际的裁减区域的大小,不要忘了内边距哦\n let paddingX = 0;\n let paddingY = 0;\n if (clipData) {\n paddingX = clipData.paddingX;\n paddingY = clipData.paddingY;\n imgWidth = clipData.width + paddingX * 2;\n imgHeight = clipData.height + paddingY * 2;\n }\n // 检查是否超出canvas支持的像素上限\n // canvas大小需要乘以dpr\n let canvasWidth = imgWidth * dpr;\n let canvasHeight = imgHeight * dpr;\n if (canvasWidth > maxCanvasSize || canvasHeight > maxCanvasSize) {\n let newWidth = null;\n let newHeight = null;\n if (canvasWidth > maxCanvasSize) {\n // 如果宽度超出限制,那么调整为上限值\n newWidth = maxCanvasSize;\n } else if (canvasHeight > maxCanvasSize) {\n // 高度同理\n newHeight = maxCanvasSize;\n }\n // 计算缩放后的宽高\n const res = Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"resizeImgSize\"])(canvasWidth, canvasHeight, newWidth, newHeight);\n canvasWidth = res[0];\n canvasHeight = res[1];\n }\n canvas.width = canvasWidth;\n canvas.height = canvasHeight;\n const styleWidth = canvasWidth / dpr;\n const styleHeight = canvasHeight / dpr;\n canvas.style.width = styleWidth + 'px';\n canvas.style.height = styleHeight + 'px';\n const ctx = canvas.getContext('2d');\n ctx.scale(dpr, dpr);\n // 绘制背景\n if (!transparent) {\n await this.drawBackgroundToCanvas(ctx, styleWidth, styleHeight);\n }\n // 图片绘制到canvas里\n // 如果有裁减数据,那么需要进行裁减\n if (clipData) {\n ctx.drawImage(img, clipData.left, clipData.top, clipData.width, clipData.height, paddingX, paddingY, clipData.width, clipData.height);\n } else {\n ctx.drawImage(img, 0, 0, styleWidth, styleHeight);\n }\n resolve(canvas.toDataURL());\n } catch (error) {\n reject(error);\n }\n };\n img.onerror = e => {\n reject(e);\n };\n img.src = svgSrc;\n });\n }\n\n // 在canvas上绘制思维导图背景\n drawBackgroundToCanvas(ctx, width, height) {\n return new Promise((resolve, reject) => {\n const {\n backgroundColor = '#fff',\n backgroundImage,\n backgroundRepeat = 'no-repeat',\n backgroundPosition = 'center center',\n backgroundSize = 'cover'\n } = this.mindMap.themeConfig;\n // 背景颜色\n ctx.save();\n ctx.rect(0, 0, width, height);\n ctx.fillStyle = backgroundColor;\n ctx.fill();\n ctx.restore();\n // 背景图片\n if (backgroundImage && backgroundImage !== 'none') {\n ctx.save();\n Object(_utils_simulateCSSBackgroundInCanvas__WEBPACK_IMPORTED_MODULE_3__[\"default\"])(ctx, width, height, backgroundImage, {\n backgroundRepeat,\n backgroundPosition,\n backgroundSize\n }, err => {\n if (err) {\n reject(err);\n } else {\n resolve();\n }\n ctx.restore();\n });\n } else {\n resolve();\n }\n });\n }\n\n // 在svg上绘制思维导图背景\n drawBackgroundToSvg(svg) {\n return new Promise(async resolve => {\n const {\n backgroundColor = '#fff',\n backgroundImage,\n backgroundRepeat = 'repeat'\n } = this.mindMap.themeConfig;\n // 背景颜色\n svg.css('background-color', backgroundColor);\n // 背景图片\n if (backgroundImage && backgroundImage !== 'none') {\n const imgDataUrl = await Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"imgToDataUrl\"])(backgroundImage);\n svg.css('background-image', `url(${imgDataUrl})`);\n svg.css('background-repeat', backgroundRepeat);\n resolve();\n } else {\n resolve();\n }\n });\n }\n\n // 导出为png\n /**\n * 方法1.把svg的图片都转化成data:url格式,再转换\n * 方法2.把svg的图片提取出来再挨个绘制到canvas里,最后一起转换\n */\n async png(name, transparent = false, node = null) {\n this.handleNodeExport(node);\n const {\n str,\n clipData\n } = await this.getSvgData(node);\n const svgUrl = await this.fixSvgStrAndToBlob(str);\n const res = await this.svgToPng(svgUrl, transparent, clipData);\n return res;\n }\n\n // 导出指定节点,如果该节点是激活状态,那么取消激活和隐藏展开收起按钮\n handleNodeExport(node) {\n if (node && node.getData('isActive')) {\n node.deactivate();\n const {\n alwaysShowExpandBtn,\n notShowExpandBtn\n } = this.mindMap.opt;\n if (!alwaysShowExpandBtn && !notShowExpandBtn && node.getData('expand')) {\n node.removeExpandBtn();\n }\n }\n }\n\n // 导出为pdf\n async pdf(name, transparent = false) {\n if (!this.mindMap.doExportPDF) {\n throw new Error('请注册ExportPDF插件');\n }\n const img = await this.png(name, transparent);\n // 使用jspdf库\n // await this.mindMap.doExportPDF.pdf(name, img)\n // 使用pdf-lib库\n const res = await this.mindMap.doExportPDF.pdf(img);\n return res;\n }\n\n // 导出为xmind\n async xmind(name) {\n if (!this.mindMap.doExportXMind) {\n throw new Error('请注册ExportXMind插件');\n }\n const data = this.mindMap.getData();\n const blob = await this.mindMap.doExportXMind.xmind(data, name);\n const res = await Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"readBlob\"])(blob);\n return res;\n }\n\n // 导出为svg\n async svg(name) {\n const {\n node\n } = await this.getSvgData();\n node.first().before(Object(_svgdotjs_svg_js__WEBPACK_IMPORTED_MODULE_2__[\"SVG\"])(`${name} `));\n await this.drawBackgroundToSvg(node);\n const str = node.svg();\n const res = await this.fixSvgStrAndToBlob(str);\n return res;\n }\n\n // 修复svg字符串,并且转换为blob数据\n async fixSvgStrAndToBlob(str) {\n // 移除字符串中的html实体\n str = Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"removeHTMLEntities\"])(str);\n // 给html自闭合标签添加闭合状态\n str = Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"handleSelfCloseTags\"])(str);\n // 转换成blob数据\n const blob = new Blob([str], {\n type: 'image/svg+xml'\n });\n const res = await Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"readBlob\"])(blob);\n return res;\n }\n\n // 导出为json\n async json(name, withConfig = true) {\n const data = this.mindMap.getData(withConfig);\n const str = JSON.stringify(data);\n const blob = new Blob([str]);\n const res = await Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"readBlob\"])(blob);\n return res;\n }\n\n // 专有文件,其实就是json文件\n async smm(name, withConfig) {\n const res = await this.json(name, withConfig);\n return res;\n }\n\n // markdown文件\n async md() {\n const data = this.mindMap.getData();\n const content = Object(_parse_toMarkdown__WEBPACK_IMPORTED_MODULE_4__[\"transformToMarkdown\"])(data);\n const blob = new Blob([content]);\n const res = await Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"readBlob\"])(blob);\n return res;\n }\n\n // txt文件\n async txt() {\n const data = this.mindMap.getData();\n const content = Object(_parse_toTxt__WEBPACK_IMPORTED_MODULE_6__[\"transformToTxt\"])(data);\n const blob = new Blob([content]);\n const res = await Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"readBlob\"])(blob);\n return res;\n }\n}\nExport.instanceName = 'doExport';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Export);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/Export.js?");
/***/ }),
/***/ "../simple-mind-map/src/plugins/ExportPDF.js":
/*!***************************************************!*\
!*** ../simple-mind-map/src/plugins/ExportPDF.js ***!
\***************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var pdf_lib__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! pdf-lib */ \"../simple-mind-map/node_modules/pdf-lib/es/index.js\");\n/* harmony import */ var _utils_index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/index */ \"../simple-mind-map/src/utils/index.js\");\n// import JsPDF from '../utils/jspdf'\n\n\n\n// 导出PDF插件,需要通过Export插件使用\nclass ExportPDF {\n // 构造函数\n constructor(opt) {\n this.mindMap = opt.mindMap;\n }\n\n // 使用pdf-lib库导出为pdf\n async pdf(img) {\n return new Promise((resolve, reject) => {\n const image = new Image();\n image.onload = async () => {\n const imageWidth = image.width;\n const imageHeight = image.height;\n // 创建pdf页面,尺寸设置为图片的大小\n const pdfDoc = await pdf_lib__WEBPACK_IMPORTED_MODULE_0__[\"PDFDocument\"].create();\n const page = pdfDoc.addPage();\n page.setSize(imageWidth, imageHeight);\n // 添加图片到pdf\n const pngImage = await pdfDoc.embedPng(img);\n page.drawImage(pngImage, {\n x: 0,\n y: 0,\n width: imageWidth,\n height: imageHeight\n });\n const pdfBytes = await pdfDoc.save();\n const blob = new Blob([pdfBytes]);\n const res = await Object(_utils_index__WEBPACK_IMPORTED_MODULE_1__[\"readBlob\"])(blob);\n resolve(res);\n };\n image.onerror = e => {\n reject(e);\n };\n image.src = img;\n });\n }\n\n // 使用jspdf库导出为pdf\n // async pdf(name, img) {\n // return new Promise((resolve, reject) => {\n // const image = new Image()\n // image.onload = () => {\n // const imageWidth = image.width\n // const imageHeight = image.height\n // const pdf = new JsPDF({\n // unit: 'px',\n // format: [imageWidth, imageHeight],\n // compress: true,\n // hotfixes: ['px_scaling'],\n // orientation: imageWidth > imageHeight ? 'landscape' : 'portrait'\n // })\n // pdf.addImage(img, 'PNG', 0, 0, imageWidth, imageHeight)\n // pdf.save(name)\n // resolve()\n // }\n // image.onerror = e => {\n // reject(e)\n // }\n // image.src = img\n // })\n // }\n}\nExportPDF.instanceName = 'doExportPDF';\n/* harmony default export */ __webpack_exports__[\"default\"] = (ExportPDF);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/ExportPDF.js?");
/***/ }),
/***/ "../simple-mind-map/src/plugins/ExportXMind.js":
/*!*****************************************************!*\
!*** ../simple-mind-map/src/plugins/ExportXMind.js ***!
\*****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _parse_xmind__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../parse/xmind */ \"../simple-mind-map/src/parse/xmind.js\");\n\n\n// 导出XMind插件,需要通过Export插件使用\nclass ExportXMind {\n // 构造函数\n constructor(opt) {\n this.mindMap = opt.mindMap;\n }\n\n // 导出xmind\n async xmind(data, name) {\n const zipData = await _parse_xmind__WEBPACK_IMPORTED_MODULE_0__[\"default\"].transformToXmind(data, name);\n return zipData;\n }\n\n // 获取解析器\n getXmind() {\n return _parse_xmind__WEBPACK_IMPORTED_MODULE_0__[\"default\"];\n }\n}\nExportXMind.instanceName = 'doExportXMind';\n/* harmony default export */ __webpack_exports__[\"default\"] = (ExportXMind);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/ExportXMind.js?");
/***/ }),
/***/ "../simple-mind-map/src/plugins/FlowChartLine.js":
/*!*******************************************************!*\
!*** ../simple-mind-map/src/plugins/FlowChartLine.js ***!
\*******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _svgdotjs_svg_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @svgdotjs/svg.js */ \"../simple-mind-map/node_modules/@svgdotjs/svg.js/dist/svg.esm.js\");\n\n\n\n/**\n * 流程图连接线插件\n * 处理从连接点拖拽创建关联线的功能\n */\nclass FlowChartLine {\n constructor(opt) {\n this.mindMap = opt.mindMap;\n this.draw = this.mindMap.draw;\n this.isDragging = false;\n this.startNode = null;\n this.startPosition = null;\n this.tempLine = null;\n this.startPoint = {\n x: 0,\n y: 0\n };\n this.endPoint = {\n x: 0,\n y: 0\n };\n this.bindEvents();\n }\n\n /**\n * 绑定事件\n */\n bindEvents() {\n // 监听连接点拖拽开始事件\n this.mindMap.on('flowchart_connector_drag_start', this.handleDragStart.bind(this));\n // 监听鼠标移动事件\n this.mindMap.on('mousemove', this.handleMouseMove.bind(this));\n // 监听鼠标松开事件\n this.mindMap.on('mouseup', this.handleMouseUp.bind(this));\n // 监听节点mouseenter事件,用于检测目标节点\n this.mindMap.on('node_mouseenter', this.handleNodeMouseEnter.bind(this));\n }\n\n /**\n * 处理拖拽开始\n */\n handleDragStart(data) {\n const {\n node,\n position,\n event\n } = data;\n\n // 只有流程图节点才能开始拖拽\n if (!node.nodeData.data.isFlowChart) return;\n this.isDragging = true;\n this.startNode = node;\n this.startPosition = position;\n\n // 获取连接点的绝对位置(在节点坐标系中)\n const connectorPos = node._flowChartConnector.getConnectorAbsolutePosition(position);\n if (!connectorPos) return;\n\n // 起始点就是连接点的位置(在SVG坐标系中)\n this.startPoint = {\n x: connectorPos.x,\n y: connectorPos.y\n };\n\n // 创建临时连接线\n this.createTempLine();\n\n // 阻止默认行为\n event.preventDefault();\n event.stopPropagation();\n }\n\n /**\n * 创建临时连接线\n */\n createTempLine() {\n this.tempLine = new _svgdotjs_svg_js__WEBPACK_IMPORTED_MODULE_1__[\"Path\"]().fill('none').stroke({\n color: '#2196f3',\n width: 2,\n dasharray: '5,5'\n }).css({\n 'pointer-events': 'none'\n });\n\n // 添加到关联线画布层,确保在正确的层级\n this.mindMap.associativeLineDraw.add(this.tempLine);\n this.tempLine.front(); // 确保在最前面\n this.updateTempLine(this.startPoint.x, this.startPoint.y);\n }\n\n /**\n * 更新临时连接线\n */\n updateTempLine(endX, endY) {\n if (!this.tempLine) return;\n const path = this.calculatePath(this.startPoint, {\n x: endX,\n y: endY\n });\n this.tempLine.plot(path);\n }\n\n /**\n * 计算路径\n */\n calculatePath(start, end) {\n // 对于流程图,使用正交路径的简化版本\n const path = [`M ${start.x} ${start.y}`];\n\n // 计算方向\n const dx = end.x - start.x;\n const dy = end.y - start.y;\n\n // 简单的L形路径\n if (Math.abs(dx) > Math.abs(dy)) {\n // 水平方向优先\n const midX = start.x + dx / 2;\n path.push(`L ${midX} ${start.y}`);\n path.push(`L ${midX} ${end.y}`);\n path.push(`L ${end.x} ${end.y}`);\n } else {\n // 垂直方向优先\n const midY = start.y + dy / 2;\n path.push(`L ${start.x} ${midY}`);\n path.push(`L ${end.x} ${midY}`);\n path.push(`L ${end.x} ${end.y}`);\n }\n return path.join(' ');\n }\n\n /**\n * 处理鼠标移动\n */\n handleMouseMove(e) {\n if (!this.isDragging || !this.tempLine) return;\n\n // 先转换到容器坐标\n const {\n x: containerX,\n y: containerY\n } = this.mindMap.toPos(e.clientX, e.clientY);\n\n // 然后考虑画布的变换(缩放和平移)\n const transform = this.mindMap.draw.transform();\n const mousePoint = {\n x: (containerX - transform.translateX) / transform.scaleX,\n y: (containerY - transform.translateY) / transform.scaleY\n };\n\n // 检查是否靠近某个连接点(吸附功能)\n const snapResult = this.checkSnapToConnector(mousePoint, e.clientX, e.clientY);\n if (snapResult) {\n this.endPoint = snapResult.point;\n // 高亮目标连接点\n if (snapResult.connector) {\n snapResult.connector.animate(100).attr({\n opacity: 1,\n r: this.mindMap.opt.flowChartConnectorSize || 8\n });\n }\n } else {\n this.endPoint = mousePoint;\n // 取消所有连接点高亮\n this.unhighlightAllConnectors();\n }\n this.updateTempLine(this.endPoint.x, this.endPoint.y);\n }\n\n /**\n * 处理节点鼠标进入\n */\n handleNodeMouseEnter(node) {\n if (!this.isDragging) return;\n\n // 检查是否是流程图节点\n if (!node.nodeData.data.isFlowChart) return;\n\n // 不能连接到自己\n if (node.uid === this.startNode.uid) return;\n\n // 高亮目标节点的连接点\n if (node._flowChartConnector) {\n node._flowChartConnector.showConnectors();\n }\n }\n\n /**\n * 处理鼠标松开\n */\n handleMouseUp(e) {\n if (!this.isDragging) return;\n\n // 先转换坐标\n const {\n x: containerX,\n y: containerY\n } = this.mindMap.toPos(e.clientX, e.clientY);\n const transform = this.mindMap.draw.transform();\n const mousePoint = {\n x: (containerX - transform.translateX) / transform.scaleX,\n y: (containerY - transform.translateY) / transform.scaleY\n };\n\n // 检查是否可以吸附到连接点\n const snapResult = this.checkSnapToConnector(mousePoint, e.clientX, e.clientY);\n if (snapResult && snapResult.node) {\n // 创建实际的关联线,使用吸附的位置\n this.createAssociationLine(this.startNode, this.startPosition, snapResult.node, snapResult.position);\n } else {\n // 检查是否拖到空白处(Phase 4.4 功能)\n const targetNode = this.findNodeAtPosition(e.clientX, e.clientY);\n if (!targetNode && this.mindMap.opt.enableDragCreateFlowChartNode !== false) {\n // 在空白处创建新的流程图节点\n this.createNewFlowChartNode(mousePoint);\n // 延迟清理,让createNewFlowChartNode有机会使用startNode\n setTimeout(() => {\n this.cleanup();\n this.unhighlightAllConnectors();\n }, 200);\n return;\n }\n }\n\n // 正常情况下立即清理\n this.cleanup();\n this.unhighlightAllConnectors();\n }\n\n /**\n * 查找指定位置的节点\n */\n findNodeAtPosition(clientX, clientY) {\n // 使用更简单的方法:利用当前鼠标下的hover节点\n let targetNode = null;\n\n // 遍历所有SVG元素,查找包含smm-node类的元素\n const elements = document.elementsFromPoint(clientX, clientY);\n for (let element of elements) {\n // 查找包含节点类的SVG组元素\n const nodeGroup = element.closest('.smm-node');\n if (nodeGroup) {\n // 尝试从DOM元素获取存储的节点引用\n // 很多库会将节点实例存储在DOM元素上\n if (nodeGroup._node) {\n targetNode = nodeGroup._node;\n break;\n }\n\n // 如果没有直接引用,遍历所有节点查找匹配的DOM元素\n const allNodes = [];\n\n // 收集所有节点\n const collectNodes = node => {\n if (!node) return;\n allNodes.push(node);\n if (node.children && node.children.length > 0) {\n node.children.forEach(child => collectNodes(child));\n }\n };\n\n // 处理多根模式\n if (this.mindMap.renderer.renderTree) {\n if (Array.isArray(this.mindMap.renderer.renderTree)) {\n // 多根模式\n this.mindMap.renderer.renderTree.forEach(root => {\n if (root && root._node) {\n collectNodes(root._node);\n }\n });\n } else if (this.mindMap.renderer.root) {\n // 单根模式 - 使用渲染后的根节点\n collectNodes(this.mindMap.renderer.root);\n }\n }\n\n // 查找匹配的节点\n for (let node of allNodes) {\n if (node.group && node.group.node === nodeGroup) {\n targetNode = node;\n break;\n }\n }\n if (targetNode) break;\n }\n }\n return targetNode;\n }\n\n /**\n * 检查是否可以吸附到连接点\n */\n checkSnapToConnector(mousePoint, clientX, clientY) {\n const snapThreshold = 20; // 吸附阈值(像素)\n\n // 查找鼠标下的节点\n const targetNode = this.findNodeAtPosition(clientX, clientY);\n if (targetNode && targetNode.nodeData.data.isFlowChart && targetNode.uid !== this.startNode.uid && targetNode._flowChartConnector) {\n // 获取所有连接点位置\n const positions = ['top', 'right', 'bottom', 'left'];\n let nearestConnector = null;\n let nearestDistance = Infinity;\n let nearestPoint = null;\n let nearestPosition = null;\n positions.forEach(position => {\n const connector = targetNode._flowChartConnector.getConnectorByPosition(position);\n if (!connector) return;\n const connectorPos = targetNode._flowChartConnector.getConnectorAbsolutePosition(position);\n if (!connectorPos) return;\n\n // 计算距离\n const distance = Math.sqrt(Math.pow(connectorPos.x - mousePoint.x, 2) + Math.pow(connectorPos.y - mousePoint.y, 2));\n if (distance < snapThreshold && distance < nearestDistance) {\n nearestDistance = distance;\n nearestConnector = connector;\n nearestPoint = connectorPos;\n nearestPosition = position;\n }\n });\n if (nearestConnector) {\n return {\n point: nearestPoint,\n connector: nearestConnector,\n node: targetNode,\n position: nearestPosition\n };\n }\n }\n return null;\n }\n\n /**\n * 取消所有连接点高亮\n */\n unhighlightAllConnectors() {\n // 遍历所有节点,取消连接点高亮\n const allNodes = [];\n const collectNodes = node => {\n if (!node) return;\n allNodes.push(node);\n if (node.children && node.children.length > 0) {\n node.children.forEach(child => collectNodes(child));\n }\n };\n if (this.mindMap.renderer.renderTree) {\n if (Array.isArray(this.mindMap.renderer.renderTree)) {\n this.mindMap.renderer.renderTree.forEach(root => {\n if (root && root._node) collectNodes(root._node);\n });\n } else if (this.mindMap.renderer.root) {\n collectNodes(this.mindMap.renderer.root);\n }\n }\n allNodes.forEach(node => {\n if (node._flowChartConnector) {\n node._flowChartConnector.hideConnectors();\n }\n });\n }\n\n /**\n * 找到最近的连接点\n */\n findNearestConnector(node, point) {\n if (!node._flowChartConnector) return null;\n let minDistance = Infinity;\n let nearestPosition = null;\n const positions = ['top', 'right', 'bottom', 'left'];\n positions.forEach(position => {\n const connectorPos = node._flowChartConnector.getConnectorAbsolutePosition(position);\n if (!connectorPos) return;\n const distance = Math.sqrt(Math.pow(connectorPos.x - point.x, 2) + Math.pow(connectorPos.y - point.y, 2));\n if (distance < minDistance) {\n minDistance = distance;\n nearestPosition = position;\n }\n });\n return nearestPosition;\n }\n\n /**\n * 创建关联线\n */\n createAssociationLine(startNode, startPosition, endNode, endPosition) {\n // 检查参数有效性\n if (!startNode || !endNode) {\n console.warn('createAssociationLine: 无效的节点参数', startNode, endNode);\n return;\n }\n\n // 使用现有的关联线功能\n if (this.mindMap.associativeLine) {\n // 先添加关联线\n this.mindMap.associativeLine.addLine(startNode, endNode);\n\n // 获取当前的关联线目标数组\n const targets = startNode.getData('associativeLineTargets') || [];\n const targetIndex = targets.findIndex(t => t === endNode.getData('uid'));\n if (targetIndex !== -1) {\n // 获取或创建关联线点位数组\n const associativeLinePoint = startNode.getData('associativeLinePoint') || [];\n\n // 确保数组长度足够\n while (associativeLinePoint.length <= targetIndex) {\n associativeLinePoint.push({});\n }\n\n // 设置该关联线的连接点位置\n associativeLinePoint[targetIndex] = {\n startPoint: {\n dir: startPosition,\n range: 0 // range 是偏移量,0 表示中心位置\n },\n endPoint: {\n dir: endPosition,\n range: 0 // range 是偏移量,0 表示中心位置\n }\n };\n\n // 更新节点数据\n this.mindMap.execCommand('SET_NODE_DATA', startNode, {\n associativeLinePoint\n });\n\n // 立即重新渲染关联线以应用新的位置\n setTimeout(() => {\n this.mindMap.associativeLine.renderAllLines();\n }, 0);\n }\n\n // 触发事件\n this.mindMap.emit('flowchart_line_created', {\n startNode,\n startPosition,\n endNode,\n endPosition\n });\n }\n }\n\n /**\n * 创建新的流程图节点\n */\n createNewFlowChartNode(position) {\n // 默认创建一个处理节点\n const nodeType = 'process';\n const newNodeData = {\n data: {\n text: '新节点',\n isFlowChart: true,\n flowchart: {\n nodeType: nodeType\n },\n customLeft: position.x - 50,\n // 居中\n customTop: position.y - 25\n },\n children: []\n };\n\n // 保存起始节点和位置,避免在异步回调中丢失\n const sourceNode = this.startNode;\n const sourcePosition = this.startPosition;\n\n // 使用正确的 addRootNode 方法,传入回调函数\n this.mindMap.addRootNode(newNodeData, -1, createdNode => {\n if (createdNode) {\n // 根据拖拽方向决定连接点\n const dx = position.x - this.startPoint.x;\n const dy = position.y - this.startPoint.y;\n let targetPosition = 'left';\n if (Math.abs(dx) > Math.abs(dy)) {\n targetPosition = dx > 0 ? 'left' : 'right';\n } else {\n targetPosition = dy > 0 ? 'top' : 'bottom';\n }\n\n // 稍微延迟以确保节点完全渲染并初始化\n setTimeout(() => {\n // 确保节点已经完全初始化\n if (createdNode && createdNode.getData) {\n // 创建关联线\n this.createAssociationLine(sourceNode, sourcePosition, createdNode, targetPosition);\n\n // 激活新节点以便编辑\n createdNode.active();\n\n // 触发节点创建事件\n this.mindMap.emit('flowchart_node_created', {\n node: createdNode,\n fromNode: sourceNode,\n position: position\n });\n } else {\n console.warn('新创建的节点尚未完全初始化');\n }\n }, 100); // 增加延迟时间\n }\n });\n }\n\n /**\n * 清理临时元素\n */\n cleanup() {\n if (this.tempLine) {\n this.tempLine.remove();\n this.tempLine = null;\n }\n this.isDragging = false;\n this.startNode = null;\n this.startPosition = null;\n this.startPoint = {\n x: 0,\n y: 0\n };\n this.endPoint = {\n x: 0,\n y: 0\n };\n }\n\n /**\n * 销毁插件\n */\n destroy() {\n this.cleanup();\n this.mindMap.off('flowchart_connector_drag_start', this.handleDragStart);\n this.mindMap.off('mousemove', this.handleMouseMove);\n this.mindMap.off('mouseup', this.handleMouseUp);\n this.mindMap.off('node_mouseenter', this.handleNodeMouseEnter);\n }\n}\n\n// 注册插件\nFlowChartLine.pluginName = 'flowChartLine';\n/* harmony default export */ __webpack_exports__[\"default\"] = (FlowChartLine);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/FlowChartLine.js?");
/***/ }),
/***/ "../simple-mind-map/src/plugins/Formula.js":
/*!*************************************************!*\
!*** ../simple-mind-map/src/plugins/Formula.js ***!
\*************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_string_match_all_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.string.match-all.js */ \"./node_modules/core-js/modules/es.string.match-all.js\");\n/* harmony import */ var core_js_modules_es_string_match_all_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_string_match_all_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var katex__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! katex */ \"../simple-mind-map/node_modules/katex/dist/katex.js\");\n/* harmony import */ var katex__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(katex__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var quill__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! quill */ \"../simple-mind-map/node_modules/quill/quill.js\");\n/* harmony import */ var _utils_index__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../utils/index */ \"../simple-mind-map/src/utils/index.js\");\n/* harmony import */ var _FormulaStyle__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./FormulaStyle */ \"../simple-mind-map/src/plugins/FormulaStyle.js\");\n\n\n\n\n\nlet extended = false;\nconst QuillFormula = quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].import('formats/formula');\n\n// 数学公式支持插件\n// 该插件在富文本模式下可用\nclass Formula {\n // 构造函数\n constructor(opt) {\n this.opt = opt;\n this.mindMap = opt.mindMap;\n window.katex = katex__WEBPACK_IMPORTED_MODULE_1___default.a;\n this.init();\n this.config = this.getKatexConfig();\n this.cssEl = null;\n this.addStyle();\n this.extendQuill();\n this.onDestroy = this.onDestroy.bind(this);\n this.mindMap.on('beforeDestroy', this.onDestroy);\n }\n onDestroy() {\n const instanceCount = Object.getPrototypeOf(this.mindMap).constructor.instanceCount;\n // 如果思维导图实例数量变成0了,那么就恢复成默认的\n if (instanceCount <= 1) {\n extended = false;\n quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].register('formats/formula', QuillFormula, true);\n }\n }\n init() {\n if (this.mindMap.opt.enableEditFormulaInRichTextEdit) {\n this.mindMap.opt.transformRichTextOnEnterEdit = this.latexRichToText.bind(this);\n this.mindMap.opt.beforeHideRichTextEdit = this.formatLatex.bind(this);\n }\n }\n\n // 获取katex配置\n getKatexConfig() {\n const config = {\n throwOnError: false,\n errorColor: '#f00',\n output: 'mathml' // 默认只输出公式\n };\n let {\n getKatexOutputType\n } = this.mindMap.opt;\n getKatexOutputType = getKatexOutputType || function () {\n // Chrome内核100以下,mathml配置公式无法正确渲染\n const chromeVersion = Object(_utils_index__WEBPACK_IMPORTED_MODULE_3__[\"getChromeVersion\"])();\n if (chromeVersion && chromeVersion <= 100) {\n return 'html';\n }\n };\n const output = getKatexOutputType() || 'mathml';\n config.output = ['mathml', 'html'].includes(output) ? output : 'mathml';\n return config;\n }\n\n // 修改formula格式工具\n extendQuill() {\n if (extended) return;\n extended = true;\n const self = this;\n class CustomFormulaBlot extends QuillFormula {\n static create(value) {\n let node = super.create(value);\n if (typeof value === 'string') {\n katex__WEBPACK_IMPORTED_MODULE_1___default.a.render(value, node, self.config);\n node.setAttribute('data-value', Object(_utils_index__WEBPACK_IMPORTED_MODULE_3__[\"htmlEscape\"])(value));\n }\n return node;\n }\n }\n quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].register('formats/formula', CustomFormulaBlot, true);\n }\n getStyleText() {\n const {\n katexFontPath\n } = this.mindMap.opt;\n let text = '';\n if (this.config.output === 'html') {\n text = Object(_FormulaStyle__WEBPACK_IMPORTED_MODULE_4__[\"getFontStyleText\"])(katexFontPath);\n }\n text += Object(_FormulaStyle__WEBPACK_IMPORTED_MODULE_4__[\"getBaseStyleText\"])();\n return text;\n }\n addStyle() {\n this.cssEl = document.createElement('style');\n this.cssEl.type = 'text/css';\n this.cssEl.innerHTML = this.getStyleText();\n document.head.appendChild(this.cssEl);\n }\n removeStyle() {\n document.head.removeChild(this.cssEl);\n }\n\n // 给指定的节点插入指定公式\n insertFormulaToNode(node, formula) {\n const richTextPlugin = this.mindMap.richText;\n richTextPlugin.showEditText({\n node\n });\n richTextPlugin.quill.insertEmbed(richTextPlugin.quill.getLength() - 1, 'formula', formula);\n richTextPlugin.hideEditText([node]);\n }\n\n // 将公式富文本转换为公式源码\n latexRichToText(nodeText) {\n if (nodeText.indexOf('class=\"ql-formula\"') !== -1) {\n const parser = new DOMParser();\n const doc = parser.parseFromString(nodeText, 'text/html');\n const els = doc.getElementsByClassName('ql-formula');\n for (const el of els) nodeText = nodeText.replace(el.outerHTML, `$${el.getAttribute('data-value')}$`);\n // 如果开启了实时渲染,那么意味公式转换为源码时会影响节点尺寸,需要派发事件触发渲染\n if (this.mindMap.opt.openRealtimeRenderOnNodeTextEdit) {\n setTimeout(() => {\n this.mindMap.emit('node_text_edit_change', {\n node: this.mindMap.richText.node,\n text: this.mindMap.richText.getEditText(),\n richText: true\n });\n }, 0);\n }\n }\n return nodeText;\n }\n\n // 使用格式化的 latex 字符串内容更新 quill 内容:输入 $*****$\n formatLatex(richText) {\n const contents = richText.quill.getContents();\n const ops = contents.ops;\n let mod = false;\n for (let i = ops.length - 1; i >= 0; i--) {\n const op = ops[i];\n const insert = op.insert;\n if (insert && typeof insert !== 'object' && insert !== '\\n') {\n if (/\\$.+?\\$/g.test(insert)) {\n const m = [...insert.matchAll(/\\$.+?\\$/g)];\n const arr = insert.split(/\\$.+?\\$/g);\n for (let j = m.length - 1; j >= 0; j--) {\n const exp = m[j] && m[j][0] ? m[j][0].slice(1, -1) || null : null; // $...$ 之间的表达式\n if (exp !== null && exp.trim().length > 0) {\n const isLegal = this.checkFormulaIsLegal(exp);\n if (isLegal) {\n arr.splice(j + 1, 0, {\n insert: {\n formula: exp\n }\n }); // 添加到对应位置之后\n mod = true;\n } else {\n arr.splice(j + 1, 0, '');\n }\n } else arr.splice(j + 1, 0, ''); // 表达式为空时,占位\n }\n while (arr.length > 0) {\n let v = arr.pop();\n if (typeof v === 'string') {\n if (v.length < 1) continue;\n v = {\n insert: v\n };\n }\n v['attributes'] = ops[i]['attributes'];\n ops.splice(i + 1, 0, v);\n }\n ops.splice(i, 1); // 删除原来的字符串\n }\n }\n }\n if (mod) richText.quill.setContents(contents);\n }\n checkFormulaIsLegal(str) {\n try {\n katex__WEBPACK_IMPORTED_MODULE_1___default.a.renderToString(str);\n return true;\n } catch (e) {\n return false;\n }\n }\n\n // 插件被移除前做的事情\n beforePluginRemove() {\n this.removeStyle();\n this.mindMap.off('beforeDestroy', this.onDestroy);\n }\n\n // 插件被卸载前做的事情\n beforePluginDestroy() {\n this.removeStyle();\n this.mindMap.off('beforeDestroy', this.onDestroy);\n }\n}\nFormula.instanceName = 'formula';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Formula);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/Formula.js?");
/***/ }),
/***/ "../simple-mind-map/src/plugins/FormulaStyle.js":
/*!******************************************************!*\
!*** ../simple-mind-map/src/plugins/FormulaStyle.js ***!
\******************************************************/
/*! exports provided: getFontStyleText, getBaseStyleText */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getFontStyleText\", function() { return getFontStyleText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getBaseStyleText\", function() { return getBaseStyleText; });\nconst getFontStyleText = fontPath => {\n return `\n@font-face {\n font-family: 'KaTeX_AMS';\n src: url(${fontPath}fonts/KaTeX_AMS-Regular.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_AMS-Regular.woff) format('woff'), url(${fontPath}fonts/KaTeX_AMS-Regular.ttf) format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n@font-face {\n font-family: 'KaTeX_Caligraphic';\n src: url(${fontPath}fonts/KaTeX_Caligraphic-Bold.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Caligraphic-Bold.woff) format('woff'), url(${fontPath}fonts/KaTeX_Caligraphic-Bold.ttf) format('truetype');\n font-weight: bold;\n font-style: normal;\n}\n@font-face {\n font-family: 'KaTeX_Caligraphic';\n src: url(${fontPath}fonts/KaTeX_Caligraphic-Regular.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Caligraphic-Regular.woff) format('woff'), url(${fontPath}fonts/KaTeX_Caligraphic-Regular.ttf) format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n@font-face {\n font-family: 'KaTeX_Fraktur';\n src: url(${fontPath}fonts/KaTeX_Fraktur-Bold.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Fraktur-Bold.woff) format('woff'), url(${fontPath}fonts/KaTeX_Fraktur-Bold.ttf) format('truetype');\n font-weight: bold;\n font-style: normal;\n}\n@font-face {\n font-family: 'KaTeX_Fraktur';\n src: url(${fontPath}fonts/KaTeX_Fraktur-Regular.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Fraktur-Regular.woff) format('woff'), url(${fontPath}fonts/KaTeX_Fraktur-Regular.ttf) format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n@font-face {\n font-family: 'KaTeX_Main';\n src: url(${fontPath}fonts/KaTeX_Main-Bold.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Main-Bold.woff) format('woff'), url(${fontPath}fonts/KaTeX_Main-Bold.ttf) format('truetype');\n font-weight: bold;\n font-style: normal;\n}\n@font-face {\n font-family: 'KaTeX_Main';\n src: url(${fontPath}fonts/KaTeX_Main-BoldItalic.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Main-BoldItalic.woff) format('woff'), url(${fontPath}fonts/KaTeX_Main-BoldItalic.ttf) format('truetype');\n font-weight: bold;\n font-style: italic;\n}\n@font-face {\n font-family: 'KaTeX_Main';\n src: url(${fontPath}fonts/KaTeX_Main-Italic.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Main-Italic.woff) format('woff'), url(${fontPath}fonts/KaTeX_Main-Italic.ttf) format('truetype');\n font-weight: normal;\n font-style: italic;\n}\n@font-face {\n font-family: 'KaTeX_Main';\n src: url(${fontPath}fonts/KaTeX_Main-Regular.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Main-Regular.woff) format('woff'), url(${fontPath}fonts/KaTeX_Main-Regular.ttf) format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n@font-face {\n font-family: 'KaTeX_Math';\n src: url(${fontPath}fonts/KaTeX_Math-BoldItalic.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Math-BoldItalic.woff) format('woff'), url(${fontPath}fonts/KaTeX_Math-BoldItalic.ttf) format('truetype');\n font-weight: bold;\n font-style: italic;\n}\n@font-face {\n font-family: 'KaTeX_Math';\n src: url(${fontPath}fonts/KaTeX_Math-Italic.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Math-Italic.woff) format('woff'), url(${fontPath}fonts/KaTeX_Math-Italic.ttf) format('truetype');\n font-weight: normal;\n font-style: italic;\n}\n@font-face {\n font-family: 'KaTeX_SansSerif';\n src: url(${fontPath}fonts/KaTeX_SansSerif-Bold.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_SansSerif-Bold.woff) format('woff'), url(${fontPath}fonts/KaTeX_SansSerif-Bold.ttf) format('truetype');\n font-weight: bold;\n font-style: normal;\n}\n@font-face {\n font-family: 'KaTeX_SansSerif';\n src: url(${fontPath}fonts/KaTeX_SansSerif-Italic.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_SansSerif-Italic.woff) format('woff'), url(${fontPath}fonts/KaTeX_SansSerif-Italic.ttf) format('truetype');\n font-weight: normal;\n font-style: italic;\n}\n@font-face {\n font-family: 'KaTeX_SansSerif';\n src: url(${fontPath}fonts/KaTeX_SansSerif-Regular.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_SansSerif-Regular.woff) format('woff'), url(${fontPath}fonts/KaTeX_SansSerif-Regular.ttf) format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n@font-face {\n font-family: 'KaTeX_Script';\n src: url(${fontPath}fonts/KaTeX_Script-Regular.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Script-Regular.woff) format('woff'), url(${fontPath}fonts/KaTeX_Script-Regular.ttf) format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n@font-face {\n font-family: 'KaTeX_Size1';\n src: url(${fontPath}fonts/KaTeX_Size1-Regular.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Size1-Regular.woff) format('woff'), url(${fontPath}fonts/KaTeX_Size1-Regular.ttf) format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n@font-face {\n font-family: 'KaTeX_Size2';\n src: url(${fontPath}fonts/KaTeX_Size2-Regular.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Size2-Regular.woff) format('woff'), url(${fontPath}fonts/KaTeX_Size2-Regular.ttf) format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n@font-face {\n font-family: 'KaTeX_Size3';\n src: url(${fontPath}fonts/KaTeX_Size3-Regular.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Size3-Regular.woff) format('woff'), url(${fontPath}fonts/KaTeX_Size3-Regular.ttf) format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n@font-face {\n font-family: 'KaTeX_Size4';\n src: url(${fontPath}fonts/KaTeX_Size4-Regular.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Size4-Regular.woff) format('woff'), url(${fontPath}fonts/KaTeX_Size4-Regular.ttf) format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n@font-face {\n font-family: 'KaTeX_Typewriter';\n src: url(${fontPath}fonts/KaTeX_Typewriter-Regular.woff2) format('woff2'), url(${fontPath}fonts/KaTeX_Typewriter-Regular.woff) format('woff'), url(${fontPath}fonts/KaTeX_Typewriter-Regular.ttf) format('truetype');\n font-weight: normal;\n font-style: normal;\n}\n `;\n};\nconst getBaseStyleText = () => {\n return `\n.katex {\n font: normal 1.21em KaTeX_Main, Times New Roman, serif;\n line-height: 1.2;\n text-indent: 0;\n text-rendering: auto;\n}\n.katex * {\n -ms-high-contrast-adjust: none !important;\n}\n.katex * {\n border-color: currentColor;\n}\n.katex .katex-version::after {\n content: \"0.16.9\";\n}\n.katex .katex-mathml {\n /* Accessibility hack to only show to screen readers\n Found at: http://a11yproject.com/posts/how-to-hide-content/ */\n position: absolute;\n clip: rect(1px, 1px, 1px, 1px);\n padding: 0;\n border: 0;\n height: 1px;\n width: 1px;\n overflow: hidden;\n}\n.katex .katex-html {\n /* \\newline is an empty block at top level, between .base elements */\n}\n.katex .katex-html > .newline {\n display: block;\n}\n.katex .base {\n position: relative;\n display: inline-block;\n white-space: nowrap;\n width: -webkit-min-content;\n width: -moz-min-content;\n width: min-content;\n}\n.katex .strut {\n display: inline-block;\n}\n.katex .textbf {\n font-weight: bold;\n}\n.katex .textit {\n font-style: italic;\n}\n.katex .textrm {\n font-family: KaTeX_Main;\n}\n.katex .textsf {\n font-family: KaTeX_SansSerif;\n}\n.katex .texttt {\n font-family: KaTeX_Typewriter;\n}\n.katex .mathnormal {\n font-family: KaTeX_Math;\n font-style: italic;\n}\n.katex .mathit {\n font-family: KaTeX_Main;\n font-style: italic;\n}\n.katex .mathrm {\n font-style: normal;\n}\n.katex .mathbf {\n font-family: KaTeX_Main;\n font-weight: bold;\n}\n.katex .boldsymbol {\n font-family: KaTeX_Math;\n font-weight: bold;\n font-style: italic;\n}\n.katex .amsrm {\n font-family: KaTeX_AMS;\n}\n.katex .mathbb,\n.katex .textbb {\n font-family: KaTeX_AMS;\n}\n.katex .mathcal {\n font-family: KaTeX_Caligraphic;\n}\n.katex .mathfrak,\n.katex .textfrak {\n font-family: KaTeX_Fraktur;\n}\n.katex .mathboldfrak,\n.katex .textboldfrak {\n font-family: KaTeX_Fraktur;\n font-weight: bold;\n}\n.katex .mathtt {\n font-family: KaTeX_Typewriter;\n}\n.katex .mathscr,\n.katex .textscr {\n font-family: KaTeX_Script;\n}\n.katex .mathsf,\n.katex .textsf {\n font-family: KaTeX_SansSerif;\n}\n.katex .mathboldsf,\n.katex .textboldsf {\n font-family: KaTeX_SansSerif;\n font-weight: bold;\n}\n.katex .mathitsf,\n.katex .textitsf {\n font-family: KaTeX_SansSerif;\n font-style: italic;\n}\n.katex .mainrm {\n font-family: KaTeX_Main;\n font-style: normal;\n}\n.katex .vlist-t {\n display: inline-table;\n table-layout: fixed;\n border-collapse: collapse;\n}\n.katex .vlist-r {\n display: table-row;\n}\n.katex .vlist {\n display: table-cell;\n vertical-align: bottom;\n position: relative;\n}\n.katex .vlist > span {\n display: block;\n height: 0;\n position: relative;\n}\n.katex .vlist > span > span {\n display: inline-block;\n}\n.katex .vlist > span > .pstrut {\n overflow: hidden;\n width: 0;\n}\n.katex .vlist-t2 {\n margin-right: -2px;\n}\n.katex .vlist-s {\n display: table-cell;\n vertical-align: bottom;\n font-size: 1px;\n width: 2px;\n min-width: 2px;\n}\n.katex .vbox {\n display: inline-flex;\n flex-direction: column;\n align-items: baseline;\n}\n.katex .hbox {\n display: inline-flex;\n flex-direction: row;\n width: 100%;\n}\n.katex .thinbox {\n display: inline-flex;\n flex-direction: row;\n width: 0;\n max-width: 0;\n}\n.katex .msupsub {\n text-align: left;\n}\n.katex .mfrac > span > span {\n text-align: center;\n}\n.katex .mfrac .frac-line {\n display: inline-block;\n width: 100%;\n border-bottom-style: solid;\n}\n.katex .mfrac .frac-line,\n.katex .overline .overline-line,\n.katex .underline .underline-line,\n.katex .hline,\n.katex .hdashline,\n.katex .rule {\n min-height: 1px;\n}\n.katex .mspace {\n display: inline-block;\n}\n.katex .llap,\n.katex .rlap,\n.katex .clap {\n width: 0;\n position: relative;\n}\n.katex .llap > .inner,\n.katex .rlap > .inner,\n.katex .clap > .inner {\n position: absolute;\n}\n.katex .llap > .fix,\n.katex .rlap > .fix,\n.katex .clap > .fix {\n display: inline-block;\n}\n.katex .llap > .inner {\n right: 0;\n}\n.katex .rlap > .inner,\n.katex .clap > .inner {\n left: 0;\n}\n.katex .clap > .inner > span {\n margin-left: -50%;\n margin-right: 50%;\n}\n.katex .rule {\n display: inline-block;\n border: solid 0;\n position: relative;\n}\n.katex .overline .overline-line,\n.katex .underline .underline-line,\n.katex .hline {\n display: inline-block;\n width: 100%;\n border-bottom-style: solid;\n}\n.katex .hdashline {\n display: inline-block;\n width: 100%;\n border-bottom-style: dashed;\n}\n.katex .sqrt > .root {\n margin-left: 0.27777778em;\n margin-right: -0.55555556em;\n}\n.katex .sizing.reset-size1.size1,\n.katex .fontsize-ensurer.reset-size1.size1 {\n font-size: 1em;\n}\n.katex .sizing.reset-size1.size2,\n.katex .fontsize-ensurer.reset-size1.size2 {\n font-size: 1.2em;\n}\n.katex .sizing.reset-size1.size3,\n.katex .fontsize-ensurer.reset-size1.size3 {\n font-size: 1.4em;\n}\n.katex .sizing.reset-size1.size4,\n.katex .fontsize-ensurer.reset-size1.size4 {\n font-size: 1.6em;\n}\n.katex .sizing.reset-size1.size5,\n.katex .fontsize-ensurer.reset-size1.size5 {\n font-size: 1.8em;\n}\n.katex .sizing.reset-size1.size6,\n.katex .fontsize-ensurer.reset-size1.size6 {\n font-size: 2em;\n}\n.katex .sizing.reset-size1.size7,\n.katex .fontsize-ensurer.reset-size1.size7 {\n font-size: 2.4em;\n}\n.katex .sizing.reset-size1.size8,\n.katex .fontsize-ensurer.reset-size1.size8 {\n font-size: 2.88em;\n}\n.katex .sizing.reset-size1.size9,\n.katex .fontsize-ensurer.reset-size1.size9 {\n font-size: 3.456em;\n}\n.katex .sizing.reset-size1.size10,\n.katex .fontsize-ensurer.reset-size1.size10 {\n font-size: 4.148em;\n}\n.katex .sizing.reset-size1.size11,\n.katex .fontsize-ensurer.reset-size1.size11 {\n font-size: 4.976em;\n}\n.katex .sizing.reset-size2.size1,\n.katex .fontsize-ensurer.reset-size2.size1 {\n font-size: 0.83333333em;\n}\n.katex .sizing.reset-size2.size2,\n.katex .fontsize-ensurer.reset-size2.size2 {\n font-size: 1em;\n}\n.katex .sizing.reset-size2.size3,\n.katex .fontsize-ensurer.reset-size2.size3 {\n font-size: 1.16666667em;\n}\n.katex .sizing.reset-size2.size4,\n.katex .fontsize-ensurer.reset-size2.size4 {\n font-size: 1.33333333em;\n}\n.katex .sizing.reset-size2.size5,\n.katex .fontsize-ensurer.reset-size2.size5 {\n font-size: 1.5em;\n}\n.katex .sizing.reset-size2.size6,\n.katex .fontsize-ensurer.reset-size2.size6 {\n font-size: 1.66666667em;\n}\n.katex .sizing.reset-size2.size7,\n.katex .fontsize-ensurer.reset-size2.size7 {\n font-size: 2em;\n}\n.katex .sizing.reset-size2.size8,\n.katex .fontsize-ensurer.reset-size2.size8 {\n font-size: 2.4em;\n}\n.katex .sizing.reset-size2.size9,\n.katex .fontsize-ensurer.reset-size2.size9 {\n font-size: 2.88em;\n}\n.katex .sizing.reset-size2.size10,\n.katex .fontsize-ensurer.reset-size2.size10 {\n font-size: 3.45666667em;\n}\n.katex .sizing.reset-size2.size11,\n.katex .fontsize-ensurer.reset-size2.size11 {\n font-size: 4.14666667em;\n}\n.katex .sizing.reset-size3.size1,\n.katex .fontsize-ensurer.reset-size3.size1 {\n font-size: 0.71428571em;\n}\n.katex .sizing.reset-size3.size2,\n.katex .fontsize-ensurer.reset-size3.size2 {\n font-size: 0.85714286em;\n}\n.katex .sizing.reset-size3.size3,\n.katex .fontsize-ensurer.reset-size3.size3 {\n font-size: 1em;\n}\n.katex .sizing.reset-size3.size4,\n.katex .fontsize-ensurer.reset-size3.size4 {\n font-size: 1.14285714em;\n}\n.katex .sizing.reset-size3.size5,\n.katex .fontsize-ensurer.reset-size3.size5 {\n font-size: 1.28571429em;\n}\n.katex .sizing.reset-size3.size6,\n.katex .fontsize-ensurer.reset-size3.size6 {\n font-size: 1.42857143em;\n}\n.katex .sizing.reset-size3.size7,\n.katex .fontsize-ensurer.reset-size3.size7 {\n font-size: 1.71428571em;\n}\n.katex .sizing.reset-size3.size8,\n.katex .fontsize-ensurer.reset-size3.size8 {\n font-size: 2.05714286em;\n}\n.katex .sizing.reset-size3.size9,\n.katex .fontsize-ensurer.reset-size3.size9 {\n font-size: 2.46857143em;\n}\n.katex .sizing.reset-size3.size10,\n.katex .fontsize-ensurer.reset-size3.size10 {\n font-size: 2.96285714em;\n}\n.katex .sizing.reset-size3.size11,\n.katex .fontsize-ensurer.reset-size3.size11 {\n font-size: 3.55428571em;\n}\n.katex .sizing.reset-size4.size1,\n.katex .fontsize-ensurer.reset-size4.size1 {\n font-size: 0.625em;\n}\n.katex .sizing.reset-size4.size2,\n.katex .fontsize-ensurer.reset-size4.size2 {\n font-size: 0.75em;\n}\n.katex .sizing.reset-size4.size3,\n.katex .fontsize-ensurer.reset-size4.size3 {\n font-size: 0.875em;\n}\n.katex .sizing.reset-size4.size4,\n.katex .fontsize-ensurer.reset-size4.size4 {\n font-size: 1em;\n}\n.katex .sizing.reset-size4.size5,\n.katex .fontsize-ensurer.reset-size4.size5 {\n font-size: 1.125em;\n}\n.katex .sizing.reset-size4.size6,\n.katex .fontsize-ensurer.reset-size4.size6 {\n font-size: 1.25em;\n}\n.katex .sizing.reset-size4.size7,\n.katex .fontsize-ensurer.reset-size4.size7 {\n font-size: 1.5em;\n}\n.katex .sizing.reset-size4.size8,\n.katex .fontsize-ensurer.reset-size4.size8 {\n font-size: 1.8em;\n}\n.katex .sizing.reset-size4.size9,\n.katex .fontsize-ensurer.reset-size4.size9 {\n font-size: 2.16em;\n}\n.katex .sizing.reset-size4.size10,\n.katex .fontsize-ensurer.reset-size4.size10 {\n font-size: 2.5925em;\n}\n.katex .sizing.reset-size4.size11,\n.katex .fontsize-ensurer.reset-size4.size11 {\n font-size: 3.11em;\n}\n.katex .sizing.reset-size5.size1,\n.katex .fontsize-ensurer.reset-size5.size1 {\n font-size: 0.55555556em;\n}\n.katex .sizing.reset-size5.size2,\n.katex .fontsize-ensurer.reset-size5.size2 {\n font-size: 0.66666667em;\n}\n.katex .sizing.reset-size5.size3,\n.katex .fontsize-ensurer.reset-size5.size3 {\n font-size: 0.77777778em;\n}\n.katex .sizing.reset-size5.size4,\n.katex .fontsize-ensurer.reset-size5.size4 {\n font-size: 0.88888889em;\n}\n.katex .sizing.reset-size5.size5,\n.katex .fontsize-ensurer.reset-size5.size5 {\n font-size: 1em;\n}\n.katex .sizing.reset-size5.size6,\n.katex .fontsize-ensurer.reset-size5.size6 {\n font-size: 1.11111111em;\n}\n.katex .sizing.reset-size5.size7,\n.katex .fontsize-ensurer.reset-size5.size7 {\n font-size: 1.33333333em;\n}\n.katex .sizing.reset-size5.size8,\n.katex .fontsize-ensurer.reset-size5.size8 {\n font-size: 1.6em;\n}\n.katex .sizing.reset-size5.size9,\n.katex .fontsize-ensurer.reset-size5.size9 {\n font-size: 1.92em;\n}\n.katex .sizing.reset-size5.size10,\n.katex .fontsize-ensurer.reset-size5.size10 {\n font-size: 2.30444444em;\n}\n.katex .sizing.reset-size5.size11,\n.katex .fontsize-ensurer.reset-size5.size11 {\n font-size: 2.76444444em;\n}\n.katex .sizing.reset-size6.size1,\n.katex .fontsize-ensurer.reset-size6.size1 {\n font-size: 0.5em;\n}\n.katex .sizing.reset-size6.size2,\n.katex .fontsize-ensurer.reset-size6.size2 {\n font-size: 0.6em;\n}\n.katex .sizing.reset-size6.size3,\n.katex .fontsize-ensurer.reset-size6.size3 {\n font-size: 0.7em;\n}\n.katex .sizing.reset-size6.size4,\n.katex .fontsize-ensurer.reset-size6.size4 {\n font-size: 0.8em;\n}\n.katex .sizing.reset-size6.size5,\n.katex .fontsize-ensurer.reset-size6.size5 {\n font-size: 0.9em;\n}\n.katex .sizing.reset-size6.size6,\n.katex .fontsize-ensurer.reset-size6.size6 {\n font-size: 1em;\n}\n.katex .sizing.reset-size6.size7,\n.katex .fontsize-ensurer.reset-size6.size7 {\n font-size: 1.2em;\n}\n.katex .sizing.reset-size6.size8,\n.katex .fontsize-ensurer.reset-size6.size8 {\n font-size: 1.44em;\n}\n.katex .sizing.reset-size6.size9,\n.katex .fontsize-ensurer.reset-size6.size9 {\n font-size: 1.728em;\n}\n.katex .sizing.reset-size6.size10,\n.katex .fontsize-ensurer.reset-size6.size10 {\n font-size: 2.074em;\n}\n.katex .sizing.reset-size6.size11,\n.katex .fontsize-ensurer.reset-size6.size11 {\n font-size: 2.488em;\n}\n.katex .sizing.reset-size7.size1,\n.katex .fontsize-ensurer.reset-size7.size1 {\n font-size: 0.41666667em;\n}\n.katex .sizing.reset-size7.size2,\n.katex .fontsize-ensurer.reset-size7.size2 {\n font-size: 0.5em;\n}\n.katex .sizing.reset-size7.size3,\n.katex .fontsize-ensurer.reset-size7.size3 {\n font-size: 0.58333333em;\n}\n.katex .sizing.reset-size7.size4,\n.katex .fontsize-ensurer.reset-size7.size4 {\n font-size: 0.66666667em;\n}\n.katex .sizing.reset-size7.size5,\n.katex .fontsize-ensurer.reset-size7.size5 {\n font-size: 0.75em;\n}\n.katex .sizing.reset-size7.size6,\n.katex .fontsize-ensurer.reset-size7.size6 {\n font-size: 0.83333333em;\n}\n.katex .sizing.reset-size7.size7,\n.katex .fontsize-ensurer.reset-size7.size7 {\n font-size: 1em;\n}\n.katex .sizing.reset-size7.size8,\n.katex .fontsize-ensurer.reset-size7.size8 {\n font-size: 1.2em;\n}\n.katex .sizing.reset-size7.size9,\n.katex .fontsize-ensurer.reset-size7.size9 {\n font-size: 1.44em;\n}\n.katex .sizing.reset-size7.size10,\n.katex .fontsize-ensurer.reset-size7.size10 {\n font-size: 1.72833333em;\n}\n.katex .sizing.reset-size7.size11,\n.katex .fontsize-ensurer.reset-size7.size11 {\n font-size: 2.07333333em;\n}\n.katex .sizing.reset-size8.size1,\n.katex .fontsize-ensurer.reset-size8.size1 {\n font-size: 0.34722222em;\n}\n.katex .sizing.reset-size8.size2,\n.katex .fontsize-ensurer.reset-size8.size2 {\n font-size: 0.41666667em;\n}\n.katex .sizing.reset-size8.size3,\n.katex .fontsize-ensurer.reset-size8.size3 {\n font-size: 0.48611111em;\n}\n.katex .sizing.reset-size8.size4,\n.katex .fontsize-ensurer.reset-size8.size4 {\n font-size: 0.55555556em;\n}\n.katex .sizing.reset-size8.size5,\n.katex .fontsize-ensurer.reset-size8.size5 {\n font-size: 0.625em;\n}\n.katex .sizing.reset-size8.size6,\n.katex .fontsize-ensurer.reset-size8.size6 {\n font-size: 0.69444444em;\n}\n.katex .sizing.reset-size8.size7,\n.katex .fontsize-ensurer.reset-size8.size7 {\n font-size: 0.83333333em;\n}\n.katex .sizing.reset-size8.size8,\n.katex .fontsize-ensurer.reset-size8.size8 {\n font-size: 1em;\n}\n.katex .sizing.reset-size8.size9,\n.katex .fontsize-ensurer.reset-size8.size9 {\n font-size: 1.2em;\n}\n.katex .sizing.reset-size8.size10,\n.katex .fontsize-ensurer.reset-size8.size10 {\n font-size: 1.44027778em;\n}\n.katex .sizing.reset-size8.size11,\n.katex .fontsize-ensurer.reset-size8.size11 {\n font-size: 1.72777778em;\n}\n.katex .sizing.reset-size9.size1,\n.katex .fontsize-ensurer.reset-size9.size1 {\n font-size: 0.28935185em;\n}\n.katex .sizing.reset-size9.size2,\n.katex .fontsize-ensurer.reset-size9.size2 {\n font-size: 0.34722222em;\n}\n.katex .sizing.reset-size9.size3,\n.katex .fontsize-ensurer.reset-size9.size3 {\n font-size: 0.40509259em;\n}\n.katex .sizing.reset-size9.size4,\n.katex .fontsize-ensurer.reset-size9.size4 {\n font-size: 0.46296296em;\n}\n.katex .sizing.reset-size9.size5,\n.katex .fontsize-ensurer.reset-size9.size5 {\n font-size: 0.52083333em;\n}\n.katex .sizing.reset-size9.size6,\n.katex .fontsize-ensurer.reset-size9.size6 {\n font-size: 0.5787037em;\n}\n.katex .sizing.reset-size9.size7,\n.katex .fontsize-ensurer.reset-size9.size7 {\n font-size: 0.69444444em;\n}\n.katex .sizing.reset-size9.size8,\n.katex .fontsize-ensurer.reset-size9.size8 {\n font-size: 0.83333333em;\n}\n.katex .sizing.reset-size9.size9,\n.katex .fontsize-ensurer.reset-size9.size9 {\n font-size: 1em;\n}\n.katex .sizing.reset-size9.size10,\n.katex .fontsize-ensurer.reset-size9.size10 {\n font-size: 1.20023148em;\n}\n.katex .sizing.reset-size9.size11,\n.katex .fontsize-ensurer.reset-size9.size11 {\n font-size: 1.43981481em;\n}\n.katex .sizing.reset-size10.size1,\n.katex .fontsize-ensurer.reset-size10.size1 {\n font-size: 0.24108004em;\n}\n.katex .sizing.reset-size10.size2,\n.katex .fontsize-ensurer.reset-size10.size2 {\n font-size: 0.28929605em;\n}\n.katex .sizing.reset-size10.size3,\n.katex .fontsize-ensurer.reset-size10.size3 {\n font-size: 0.33751205em;\n}\n.katex .sizing.reset-size10.size4,\n.katex .fontsize-ensurer.reset-size10.size4 {\n font-size: 0.38572806em;\n}\n.katex .sizing.reset-size10.size5,\n.katex .fontsize-ensurer.reset-size10.size5 {\n font-size: 0.43394407em;\n}\n.katex .sizing.reset-size10.size6,\n.katex .fontsize-ensurer.reset-size10.size6 {\n font-size: 0.48216008em;\n}\n.katex .sizing.reset-size10.size7,\n.katex .fontsize-ensurer.reset-size10.size7 {\n font-size: 0.57859209em;\n}\n.katex .sizing.reset-size10.size8,\n.katex .fontsize-ensurer.reset-size10.size8 {\n font-size: 0.69431051em;\n}\n.katex .sizing.reset-size10.size9,\n.katex .fontsize-ensurer.reset-size10.size9 {\n font-size: 0.83317261em;\n}\n.katex .sizing.reset-size10.size10,\n.katex .fontsize-ensurer.reset-size10.size10 {\n font-size: 1em;\n}\n.katex .sizing.reset-size10.size11,\n.katex .fontsize-ensurer.reset-size10.size11 {\n font-size: 1.19961427em;\n}\n.katex .sizing.reset-size11.size1,\n.katex .fontsize-ensurer.reset-size11.size1 {\n font-size: 0.20096463em;\n}\n.katex .sizing.reset-size11.size2,\n.katex .fontsize-ensurer.reset-size11.size2 {\n font-size: 0.24115756em;\n}\n.katex .sizing.reset-size11.size3,\n.katex .fontsize-ensurer.reset-size11.size3 {\n font-size: 0.28135048em;\n}\n.katex .sizing.reset-size11.size4,\n.katex .fontsize-ensurer.reset-size11.size4 {\n font-size: 0.32154341em;\n}\n.katex .sizing.reset-size11.size5,\n.katex .fontsize-ensurer.reset-size11.size5 {\n font-size: 0.36173633em;\n}\n.katex .sizing.reset-size11.size6,\n.katex .fontsize-ensurer.reset-size11.size6 {\n font-size: 0.40192926em;\n}\n.katex .sizing.reset-size11.size7,\n.katex .fontsize-ensurer.reset-size11.size7 {\n font-size: 0.48231511em;\n}\n.katex .sizing.reset-size11.size8,\n.katex .fontsize-ensurer.reset-size11.size8 {\n font-size: 0.57877814em;\n}\n.katex .sizing.reset-size11.size9,\n.katex .fontsize-ensurer.reset-size11.size9 {\n font-size: 0.69453376em;\n}\n.katex .sizing.reset-size11.size10,\n.katex .fontsize-ensurer.reset-size11.size10 {\n font-size: 0.83360129em;\n}\n.katex .sizing.reset-size11.size11,\n.katex .fontsize-ensurer.reset-size11.size11 {\n font-size: 1em;\n}\n.katex .delimsizing.size1 {\n font-family: KaTeX_Size1;\n}\n.katex .delimsizing.size2 {\n font-family: KaTeX_Size2;\n}\n.katex .delimsizing.size3 {\n font-family: KaTeX_Size3;\n}\n.katex .delimsizing.size4 {\n font-family: KaTeX_Size4;\n}\n.katex .delimsizing.mult .delim-size1 > span {\n font-family: KaTeX_Size1;\n}\n.katex .delimsizing.mult .delim-size4 > span {\n font-family: KaTeX_Size4;\n}\n.katex .nulldelimiter {\n display: inline-block;\n width: 0.12em;\n}\n.katex .delimcenter {\n position: relative;\n}\n.katex .op-symbol {\n position: relative;\n}\n.katex .op-symbol.small-op {\n font-family: KaTeX_Size1;\n}\n.katex .op-symbol.large-op {\n font-family: KaTeX_Size2;\n}\n.katex .op-limits > .vlist-t {\n text-align: center;\n}\n.katex .accent > .vlist-t {\n text-align: center;\n}\n.katex .accent .accent-body {\n position: relative;\n}\n.katex .accent .accent-body:not(.accent-full) {\n width: 0;\n}\n.katex .overlay {\n display: block;\n}\n.katex .mtable .vertical-separator {\n display: inline-block;\n min-width: 1px;\n}\n.katex .mtable .arraycolsep {\n display: inline-block;\n}\n.katex .mtable .col-align-c > .vlist-t {\n text-align: center;\n}\n.katex .mtable .col-align-l > .vlist-t {\n text-align: left;\n}\n.katex .mtable .col-align-r > .vlist-t {\n text-align: right;\n}\n.katex .svg-align {\n text-align: left;\n}\n.katex svg {\n display: block;\n position: absolute;\n width: 100%;\n height: inherit;\n fill: currentColor;\n stroke: currentColor;\n fill-rule: nonzero;\n fill-opacity: 1;\n stroke-width: 1;\n stroke-linecap: butt;\n stroke-linejoin: miter;\n stroke-miterlimit: 4;\n stroke-dasharray: none;\n stroke-dashoffset: 0;\n stroke-opacity: 1;\n}\n.katex svg path {\n stroke: none;\n}\n.katex img {\n border-style: none;\n min-width: 0;\n min-height: 0;\n max-width: none;\n max-height: none;\n}\n.katex .stretchy {\n width: 100%;\n display: block;\n position: relative;\n overflow: hidden;\n}\n.katex .stretchy::before,\n.katex .stretchy::after {\n content: \"\";\n}\n.katex .hide-tail {\n width: 100%;\n position: relative;\n overflow: hidden;\n}\n.katex .halfarrow-left {\n position: absolute;\n left: 0;\n width: 50.2%;\n overflow: hidden;\n}\n.katex .halfarrow-right {\n position: absolute;\n right: 0;\n width: 50.2%;\n overflow: hidden;\n}\n.katex .brace-left {\n position: absolute;\n left: 0;\n width: 25.1%;\n overflow: hidden;\n}\n.katex .brace-center {\n position: absolute;\n left: 25%;\n width: 50%;\n overflow: hidden;\n}\n.katex .brace-right {\n position: absolute;\n right: 0;\n width: 25.1%;\n overflow: hidden;\n}\n.katex .x-arrow-pad {\n padding: 0 0.5em;\n}\n.katex .cd-arrow-pad {\n padding: 0 0.55556em 0 0.27778em;\n}\n.katex .x-arrow,\n.katex .mover,\n.katex .munder {\n text-align: center;\n}\n.katex .boxpad {\n padding: 0 0.3em;\n}\n.katex .fbox,\n.katex .fcolorbox {\n box-sizing: border-box;\n border: 0.04em solid;\n}\n.katex .cancel-pad {\n padding: 0 0.2em;\n}\n.katex .cancel-lap {\n margin-left: -0.2em;\n margin-right: -0.2em;\n}\n.katex .sout {\n border-bottom-style: solid;\n border-bottom-width: 0.08em;\n}\n.katex .angl {\n box-sizing: border-box;\n border-top: 0.049em solid;\n border-right: 0.049em solid;\n margin-right: 0.03889em;\n}\n.katex .anglpad {\n padding: 0 0.03889em;\n}\n.katex .eqn-num::before {\n counter-increment: katexEqnNo;\n content: \"(\" counter(katexEqnNo) \")\";\n}\n.katex .mml-eqn-num::before {\n counter-increment: mmlEqnNo;\n content: \"(\" counter(mmlEqnNo) \")\";\n}\n.katex .mtr-glue {\n width: 50%;\n}\n.katex .cd-vert-arrow {\n display: inline-block;\n position: relative;\n}\n.katex .cd-label-left {\n display: inline-block;\n position: absolute;\n right: calc(50% + 0.3em);\n text-align: left;\n}\n.katex .cd-label-right {\n display: inline-block;\n position: absolute;\n left: calc(50% + 0.3em);\n text-align: right;\n}\n.katex-display {\n display: block;\n margin: 1em 0;\n text-align: center;\n}\n.katex-display > .katex {\n display: block;\n text-align: center;\n white-space: nowrap;\n}\n.katex-display > .katex > .katex-html {\n display: block;\n position: relative;\n}\n.katex-display > .katex > .katex-html > .tag {\n position: absolute;\n right: 0;\n}\n.katex-display.leqno > .katex > .katex-html > .tag {\n left: 0;\n right: auto;\n}\n.katex-display.fleqn > .katex {\n text-align: left;\n padding-left: 2em;\n}\nbody {\n counter-reset: katexEqnNo mmlEqnNo;\n}\n`;\n};\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/FormulaStyle.js?");
/***/ }),
/***/ "../simple-mind-map/src/plugins/KeyboardNavigation.js":
/*!************************************************************!*\
!*** ../simple-mind-map/src/plugins/KeyboardNavigation.js ***!
\************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/src/utils/index.js\");\n/* harmony import */ var _constants_constant__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/constant */ \"../simple-mind-map/src/constants/constant.js\");\n\n\n\n// 键盘导航插件\nclass KeyboardNavigation {\n // 构造函数\n constructor(opt) {\n this.opt = opt;\n this.mindMap = opt.mindMap;\n this.addShortcut();\n }\n addShortcut() {\n this.onLeftKeyUp = this.onLeftKeyUp.bind(this);\n this.onUpKeyUp = this.onUpKeyUp.bind(this);\n this.onRightKeyUp = this.onRightKeyUp.bind(this);\n this.onDownKeyUp = this.onDownKeyUp.bind(this);\n this.mindMap.keyCommand.addShortcut(_constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.LEFT, this.onLeftKeyUp);\n this.mindMap.keyCommand.addShortcut(_constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.UP, this.onUpKeyUp);\n this.mindMap.keyCommand.addShortcut(_constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.RIGHT, this.onRightKeyUp);\n this.mindMap.keyCommand.addShortcut(_constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.DOWN, this.onDownKeyUp);\n }\n removeShortcut() {\n this.mindMap.keyCommand.removeShortcut(_constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.LEFT, this.onLeftKeyUp);\n this.mindMap.keyCommand.removeShortcut(_constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.UP, this.onUpKeyUp);\n this.mindMap.keyCommand.removeShortcut(_constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.RIGHT, this.onRightKeyUp);\n this.mindMap.keyCommand.removeShortcut(_constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.DOWN, this.onDownKeyUp);\n }\n onLeftKeyUp() {\n this.onKeyup(_constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.LEFT);\n }\n onUpKeyUp() {\n this.onKeyup(_constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.UP);\n }\n onRightKeyUp() {\n this.onKeyup(_constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.RIGHT);\n }\n onDownKeyUp() {\n this.onKeyup(_constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.DOWN);\n }\n\n // 处理按键事件\n onKeyup(dir) {\n if (this.mindMap.renderer.activeNodeList.length > 0) {\n this.focus(dir);\n } else {\n let root = this.mindMap.renderer.root;\n this.mindMap.execCommand('GO_TARGET_NODE', root);\n }\n }\n\n // 聚焦到下一个节点\n focus(dir) {\n // 当前聚焦的节点\n let currentActiveNode = this.mindMap.renderer.activeNodeList[0];\n // 当前聚焦节点的位置信息\n let currentActiveNodeRect = this.getNodeRect(currentActiveNode);\n // 寻找的下一个聚焦节点\n let targetNode = null;\n let targetDis = Infinity;\n // 保存并维护距离最近的节点\n let checkNodeDis = (rect, node) => {\n let dis = this.getDistance(currentActiveNodeRect, rect);\n if (dis < targetDis) {\n targetNode = node;\n targetDis = dis;\n }\n };\n\n // 第一优先级:阴影算法\n this.getFocusNodeByShadowAlgorithm({\n currentActiveNode,\n currentActiveNodeRect,\n dir,\n checkNodeDis\n });\n\n // 第二优先级:区域算法\n if (!targetNode) {\n this.getFocusNodeByAreaAlgorithm({\n currentActiveNode,\n currentActiveNodeRect,\n dir,\n checkNodeDis\n });\n }\n\n // 第三优先级:简单算法\n if (!targetNode) {\n this.getFocusNodeBySimpleAlgorithm({\n currentActiveNode,\n currentActiveNodeRect,\n dir,\n checkNodeDis\n });\n }\n\n // 找到了则让目标节点聚焦\n if (targetNode) {\n // this.mindMap.execCommand('GO_TARGET_NODE', targetNode)\n targetNode.active();\n }\n }\n\n // 1.简单算法\n getFocusNodeBySimpleAlgorithm({\n currentActiveNode,\n currentActiveNodeRect,\n dir,\n checkNodeDis\n }) {\n // 遍历节点树\n Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"bfsWalk\"])(this.mindMap.renderer.root, node => {\n // 跳过当前聚焦的节点\n if (node.uid === currentActiveNode.uid) return;\n // 当前遍历到的节点的位置信息\n let rect = this.getNodeRect(node);\n let {\n left,\n top,\n right,\n bottom\n } = rect;\n let match = false;\n // 按下了左方向键\n if (dir === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.LEFT) {\n // 判断节点是否在当前节点的左侧\n match = right <= currentActiveNodeRect.left;\n // 按下了右方向键\n } else if (dir === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.RIGHT) {\n // 判断节点是否在当前节点的右侧\n match = left >= currentActiveNodeRect.right;\n // 按下了上方向键\n } else if (dir === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.UP) {\n // 判断节点是否在当前节点的上面\n match = bottom <= currentActiveNodeRect.top;\n // 按下了下方向键\n } else if (dir === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.DOWN) {\n // 判断节点是否在当前节点的下面\n match = top >= currentActiveNodeRect.bottom;\n }\n // 符合要求,判断是否是最近的节点\n if (match) {\n checkNodeDis(rect, node);\n }\n });\n }\n\n // 2.阴影算法\n getFocusNodeByShadowAlgorithm({\n currentActiveNode,\n currentActiveNodeRect,\n dir,\n checkNodeDis\n }) {\n Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"bfsWalk\"])(this.mindMap.renderer.root, node => {\n if (node.uid === currentActiveNode.uid) return;\n let rect = this.getNodeRect(node);\n let {\n left,\n top,\n right,\n bottom\n } = rect;\n let match = false;\n if (dir === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.LEFT) {\n match = left < currentActiveNodeRect.left && top < currentActiveNodeRect.bottom && bottom > currentActiveNodeRect.top;\n } else if (dir === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.RIGHT) {\n match = right > currentActiveNodeRect.right && top < currentActiveNodeRect.bottom && bottom > currentActiveNodeRect.top;\n } else if (dir === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.UP) {\n match = top < currentActiveNodeRect.top && left < currentActiveNodeRect.right && right > currentActiveNodeRect.left;\n } else if (dir === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.DOWN) {\n match = bottom > currentActiveNodeRect.bottom && left < currentActiveNodeRect.right && right > currentActiveNodeRect.left;\n }\n if (match) {\n checkNodeDis(rect, node);\n }\n });\n }\n\n // 3.区域算法\n getFocusNodeByAreaAlgorithm({\n currentActiveNode,\n currentActiveNodeRect,\n dir,\n checkNodeDis\n }) {\n // 当前聚焦节点的中心点\n let cX = (currentActiveNodeRect.right + currentActiveNodeRect.left) / 2;\n let cY = (currentActiveNodeRect.bottom + currentActiveNodeRect.top) / 2;\n Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"bfsWalk\"])(this.mindMap.renderer.root, node => {\n if (node.uid === currentActiveNode.uid) return;\n let rect = this.getNodeRect(node);\n let {\n left,\n top,\n right,\n bottom\n } = rect;\n // 遍历到的节点的中心点\n let ccX = (right + left) / 2;\n let ccY = (bottom + top) / 2;\n // 节点的中心点坐标和当前聚焦节点的中心点坐标的差值\n let offsetX = ccX - cX;\n let offsetY = ccY - cY;\n if (offsetX === 0 && offsetY === 0) return;\n let match = false;\n if (dir === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.LEFT) {\n match = offsetX <= 0 && offsetX <= offsetY && offsetX <= -offsetY;\n } else if (dir === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.RIGHT) {\n match = offsetX > 0 && offsetX >= -offsetY && offsetX >= offsetY;\n } else if (dir === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.UP) {\n match = offsetY <= 0 && offsetY < offsetX && offsetY < -offsetX;\n } else if (dir === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].KEY_DIR.DOWN) {\n match = offsetY > 0 && -offsetY < offsetX && offsetY > offsetX;\n }\n if (match) {\n checkNodeDis(rect, node);\n }\n });\n }\n\n // 获取节点的位置信息\n getNodeRect(node) {\n let {\n scaleX,\n scaleY,\n translateX,\n translateY\n } = this.mindMap.draw.transform();\n let {\n left,\n top,\n width,\n height\n } = node;\n return {\n right: (left + width) * scaleX + translateX,\n bottom: (top + height) * scaleY + translateY,\n left: left * scaleX + translateX,\n top: top * scaleY + translateY\n };\n }\n\n // 获取两个节点的距离\n getDistance(node1Rect, node2Rect) {\n let center1 = this.getCenter(node1Rect);\n let center2 = this.getCenter(node2Rect);\n return Math.sqrt(Math.pow(center1.x - center2.x, 2) + Math.pow(center1.y - center2.y, 2));\n }\n\n // 获取节点的中心点\n getCenter({\n left,\n right,\n top,\n bottom\n }) {\n return {\n x: (left + right) / 2,\n y: (top + bottom) / 2\n };\n }\n\n // 插件被移除前做的事情\n beforePluginRemove() {\n this.removeShortcut();\n }\n\n // 插件被卸载前做的事情\n beforePluginDestroy() {\n this.removeShortcut();\n }\n}\nKeyboardNavigation.instanceName = 'keyboardNavigation';\n/* harmony default export */ __webpack_exports__[\"default\"] = (KeyboardNavigation);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/KeyboardNavigation.js?");
/***/ }),
/***/ "../simple-mind-map/src/plugins/MindMapLayoutPro.js":
/*!**********************************************************!*\
!*** ../simple-mind-map/src/plugins/MindMapLayoutPro.js ***!
\**********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _constants_constant__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../constants/constant */ \"../simple-mind-map/src/constants/constant.js\");\n\n\n// 该插件会向节点数据的data中添加dir字段\n/*\n 需要更新数据的情况:\n\n 1.实例化时的数据\n 2.调用setData和updateData方法\n 3.执行完命令\n 4.切换结构\n*/\n\nclass MindMapLayoutPro {\n constructor(opt) {\n this.opt = opt;\n this.mindMap = opt.mindMap;\n this.init();\n }\n init() {\n this.updateNodeTree = this.updateNodeTree.bind(this);\n this.afterExecCommand = this.afterExecCommand.bind(this);\n this.layoutChange = this.layoutChange.bind(this);\n\n // 处理实例化时传入的数据\n if (this.mindMap.opt.data && this.isMindMapLayout()) {\n this.updateNodeTree(this.mindMap.opt.data);\n }\n this.mindMap.on('layout_change', this.layoutChange);\n this.mindMap.on('afterExecCommand', this.afterExecCommand);\n this.mindMap.on('before_update_data', this.updateNodeTree);\n this.mindMap.on('before_set_data', this.updateNodeTree);\n }\n restore() {\n this.mindMap.off('layout_change', this.layoutChange);\n this.mindMap.off('afterExecCommand', this.afterExecCommand);\n this.mindMap.off('before_update_data', this.updateNodeTree);\n this.mindMap.off('before_set_data', this.updateNodeTree);\n }\n\n // 监听命令执行后的事件\n afterExecCommand(name) {\n if (!this.isMindMapLayout()) return;\n if (!['BACK', 'FORWARD', 'INSERT_NODE', 'INSERT_MULTI_NODE', 'INSERT_CHILD_NODE', 'INSERT_MULTI_CHILD_NODE', 'INSERT_PARENT_NODE', 'UP_NODE', 'DOWN_NODE', 'MOVE_UP_ONE_LEVEL', 'INSERT_AFTER', 'INSERT_BEFORE', 'MOVE_NODE_TO', 'REMOVE_NODE', 'REMOVE_CURRENT_NODE', 'PASTE_NODE', 'CUT_NODE'].includes(name)) return;\n this.updateRenderTree();\n }\n\n // 更新布局结构\n layoutChange(layout) {\n if (layout === _constants_constant__WEBPACK_IMPORTED_MODULE_0__[\"CONSTANTS\"].LAYOUT.MIND_MAP) {\n this.updateRenderTree();\n }\n }\n\n // 更新当前的渲染树\n updateRenderTree() {\n this.updateNodeTree(this.mindMap.renderer.renderTree);\n }\n\n // 更新节点树,修改二级节点的排列位置\n updateNodeTree(tree) {\n if (!this.isMindMapLayout()) return;\n const root = tree;\n const childrenLength = root.children.length;\n if (childrenLength <= 0) return;\n const center = Math.ceil(childrenLength / 2);\n root.children.forEach((item, index) => {\n if (index + 1 <= center) {\n item.data.dir = _constants_constant__WEBPACK_IMPORTED_MODULE_0__[\"CONSTANTS\"].LAYOUT_GROW_DIR.RIGHT;\n } else {\n item.data.dir = _constants_constant__WEBPACK_IMPORTED_MODULE_0__[\"CONSTANTS\"].LAYOUT_GROW_DIR.LEFT;\n }\n });\n }\n\n // 判断当前是否是思维导图布局结构\n isMindMapLayout() {\n return this.mindMap.opt.layout === _constants_constant__WEBPACK_IMPORTED_MODULE_0__[\"CONSTANTS\"].LAYOUT.MIND_MAP;\n }\n\n // 插件被移除前做的事情\n beforePluginRemove() {\n this.restore();\n }\n\n // 插件被卸载前做的事情\n beforePluginDestroy() {\n this.restore();\n }\n}\nMindMapLayoutPro.instanceName = 'mindMapLayoutPro';\n/* harmony default export */ __webpack_exports__[\"default\"] = (MindMapLayoutPro);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/MindMapLayoutPro.js?");
/***/ }),
/***/ "../simple-mind-map/src/plugins/MiniMap.js":
/*!*************************************************!*\
!*** ../simple-mind-map/src/plugins/MiniMap.js ***!
\*************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/index */ \"../simple-mind-map/src/utils/index.js\");\n\n\n// 小地图插件\nclass MiniMap {\n // 构造函数\n constructor(opt) {\n this.mindMap = opt.mindMap;\n this.isMousedown = false;\n this.mousedownPos = {\n x: 0,\n y: 0\n };\n this.startViewPos = {\n x: 0,\n y: 0\n };\n this.currentState = null;\n }\n\n // 计算小地图的渲染数据\n /**\n * boxWidth:小地图容器的宽度\n * boxHeight:小地图容器的高度\n */\n calculationMiniMap(boxWidth, boxHeight) {\n let {\n svg,\n rect,\n origWidth,\n origHeight,\n scaleX,\n scaleY\n } = this.mindMap.getSvgData({\n ignoreWatermark: true\n });\n // 计算数据\n const elRect = this.mindMap.elRect;\n rect.x -= elRect.left;\n rect.x2 -= elRect.left;\n rect.y -= elRect.top;\n rect.y2 -= elRect.top;\n let boxRatio = boxWidth / boxHeight;\n let actWidth = 0;\n let actHeight = 0;\n if (boxRatio > rect.ratio) {\n // 高度以box为准,缩放宽度\n actHeight = boxHeight;\n actWidth = rect.ratio * actHeight;\n } else {\n // 宽度以box为准,缩放高度\n actWidth = boxWidth;\n actHeight = actWidth / rect.ratio;\n }\n // svg图形的缩放及位置\n let miniMapBoxScale = actWidth / rect.width;\n let miniMapBoxLeft = (boxWidth - actWidth) / 2;\n let miniMapBoxTop = (boxHeight - actHeight) / 2;\n // 当前思维导图图形实际的宽高,即在缩放后的宽高\n let _rectWidth = rect.width * scaleX;\n let _rectHeight = rect.height * scaleY;\n // 视口框大小及位置\n let _rectWidthOffsetHalf = (_rectWidth - rect.width) / 2;\n let _rectHeightOffsetHalf = (_rectHeight - rect.height) / 2;\n let _rectX = rect.x - _rectWidthOffsetHalf;\n let _rectX2 = rect.x2 + _rectWidthOffsetHalf;\n let _rectY = rect.y - _rectHeightOffsetHalf;\n let _rectY2 = rect.y2 + _rectHeightOffsetHalf;\n let viewBoxStyle = {\n left: 0,\n top: 0,\n right: 0,\n bottom: 0\n };\n viewBoxStyle.left = Math.max(0, -_rectX / _rectWidth * actWidth) + miniMapBoxLeft;\n viewBoxStyle.right = Math.max(0, (_rectX2 - origWidth) / _rectWidth * actWidth) + miniMapBoxLeft;\n viewBoxStyle.top = Math.max(0, -_rectY / _rectHeight * actHeight) + miniMapBoxTop;\n viewBoxStyle.bottom = Math.max(0, (_rectY2 - origHeight) / _rectHeight * actHeight) + miniMapBoxTop;\n if (viewBoxStyle.top > miniMapBoxTop + actHeight) {\n viewBoxStyle.top = miniMapBoxTop + actHeight;\n }\n if (viewBoxStyle.left > miniMapBoxLeft + actWidth) {\n viewBoxStyle.left = miniMapBoxLeft + actWidth;\n }\n Object.keys(viewBoxStyle).forEach(key => {\n viewBoxStyle[key] = viewBoxStyle[key] + 'px';\n });\n this.removeNodeContent(svg);\n const svgStr = svg.svg();\n this.currentState = {\n viewBoxStyle: {\n ...viewBoxStyle\n },\n miniMapBoxScale,\n miniMapBoxLeft,\n miniMapBoxTop\n };\n return {\n getImgUrl: async callback => {\n const res = await this.mindMap.doExport.fixSvgStrAndToBlob(svgStr);\n callback(res);\n },\n svgHTML: svgStr,\n // 小地图html\n viewBoxStyle,\n // 视图框的位置信息\n miniMapBoxScale,\n // 视图框的缩放值\n miniMapBoxLeft,\n // 视图框的left值\n miniMapBoxTop // 视图框的top值\n };\n }\n\n // 移除节点的内容\n removeNodeContent(svg) {\n if (svg.hasClass('smm-node')) {\n let shape = svg.findOne('.smm-node-shape');\n let fill = shape.attr('fill');\n if (Object(_utils_index__WEBPACK_IMPORTED_MODULE_0__[\"isWhite\"])(fill) || Object(_utils_index__WEBPACK_IMPORTED_MODULE_0__[\"isTransparent\"])(fill)) {\n shape.attr('fill', Object(_utils_index__WEBPACK_IMPORTED_MODULE_0__[\"getVisibleColorFromTheme\"])(this.mindMap.themeConfig));\n }\n svg.clear();\n svg.add(shape);\n return;\n }\n let children = svg.children();\n if (children && children.length > 0) {\n children.forEach(node => {\n this.removeNodeContent(node);\n });\n }\n }\n\n // 小地图鼠标按下事件\n onMousedown(e) {\n this.isMousedown = true;\n this.mousedownPos = {\n x: e.clientX,\n y: e.clientY\n };\n // 保存视图当前的偏移量\n let transformData = this.mindMap.view.getTransformData();\n this.startViewPos = {\n x: transformData.state.x,\n y: transformData.state.y\n };\n }\n\n // 小地图鼠标移动事件\n onMousemove(e, sensitivityNum = 5) {\n if (!this.isMousedown || this.isViewBoxMousedown) {\n return;\n }\n let ox = e.clientX - this.mousedownPos.x;\n let oy = e.clientY - this.mousedownPos.y;\n // 在视图最初偏移量上累加更新量\n this.mindMap.view.translateXTo(ox * sensitivityNum + this.startViewPos.x);\n this.mindMap.view.translateYTo(oy * sensitivityNum + this.startViewPos.y);\n }\n\n // 小地图鼠标松开事件\n onMouseup() {\n this.isMousedown = false;\n this.isViewBoxMousedown = false;\n }\n\n // 视口框鼠标按下事件\n onViewBoxMousedown(e) {\n this.isViewBoxMousedown = true;\n this.mousedownPos = {\n x: e.clientX,\n y: e.clientY\n };\n // 保存视图当前的偏移量\n let transformData = this.mindMap.view.getTransformData();\n this.startViewPos = {\n x: transformData.state.x,\n y: transformData.state.y\n };\n }\n\n // 视口框鼠标移动事件\n onViewBoxMousemove(e) {\n if (!this.isViewBoxMousedown || !this.currentState || this.isMousedown) return;\n let ox = e.clientX - this.mousedownPos.x;\n let oy = e.clientY - this.mousedownPos.y;\n const {\n viewBoxStyle,\n miniMapBoxScale,\n miniMapBoxLeft,\n miniMapBoxTop\n } = this.currentState;\n const left = Math.max(miniMapBoxLeft, Number.parseFloat(viewBoxStyle.left) + ox);\n const right = Math.max(miniMapBoxLeft, Number.parseFloat(viewBoxStyle.right) - ox);\n const top = Math.max(miniMapBoxTop, Number.parseFloat(viewBoxStyle.top) + oy);\n const bottom = Math.max(miniMapBoxTop, Number.parseFloat(viewBoxStyle.bottom) - oy);\n this.mindMap.emit('mini_map_view_box_position_change', {\n left: left + 'px',\n right: right + 'px',\n top: top + 'px',\n bottom: bottom + 'px'\n });\n // 在视图最初偏移量上累加更新量\n this.mindMap.view.translateXTo(-ox / miniMapBoxScale + this.startViewPos.x);\n this.mindMap.view.translateYTo(-oy / miniMapBoxScale + this.startViewPos.y);\n }\n}\nMiniMap.instanceName = 'miniMap';\n/* harmony default export */ __webpack_exports__[\"default\"] = (MiniMap);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/MiniMap.js?");
/***/ }),
/***/ "../simple-mind-map/src/plugins/NodeImgAdjust.js":
/*!*******************************************************!*\
!*** ../simple-mind-map/src/plugins/NodeImgAdjust.js ***!
\*******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/index */ \"../simple-mind-map/src/utils/index.js\");\n/* harmony import */ var _svg_btns__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../svg/btns */ \"../simple-mind-map/src/svg/btns.js\");\n// 节点图片大小调整插件\n\n\nclass NodeImgAdjust {\n // 构造函数\n constructor({\n mindMap\n }) {\n this.mindMap = mindMap;\n this.handleEl = null; // 自定义元素,用来渲染临时图片、调整按钮\n this.isShowHandleEl = false; // 自定义元素是否在显示中\n this.node = null; // 当前节点实例\n this.img = null; // 当前节点的图片节点\n this.rect = null; // 当前图片节点的尺寸信息\n this.isMousedown = false; // 当前是否是按住调整按钮状态\n this.mousedownDrawTransform = null; //鼠标按下时对当前画布的变换\n this.mousedownOffset = {\n // 鼠标按下时位置和图片右下角相差的距离\n x: 0,\n y: 0\n };\n this.currentImgWidth = 0; // 当前拖拽实时图片的大小\n this.currentImgHeight = 0;\n this.isAdjusted = false; // 是否是拖拽结束后的渲染期间\n this.bindEvent();\n }\n\n // 监听事件\n bindEvent() {\n this.onNodeImgMouseleave = this.onNodeImgMouseleave.bind(this);\n this.onNodeImgMousemove = this.onNodeImgMousemove.bind(this);\n this.onMousemove = this.onMousemove.bind(this);\n this.onMouseup = this.onMouseup.bind(this);\n this.onRenderEnd = this.onRenderEnd.bind(this);\n this.mindMap.on('node_img_mouseleave', this.onNodeImgMouseleave);\n this.mindMap.on('node_img_mousemove', this.onNodeImgMousemove);\n this.mindMap.on('mousemove', this.onMousemove);\n this.mindMap.on('mouseup', this.onMouseup);\n this.mindMap.on('node_mouseup', this.onMouseup);\n this.mindMap.on('node_tree_render_end', this.onRenderEnd);\n }\n\n // 解绑事件\n unBindEvent() {\n this.mindMap.off('node_img_mouseleave', this.onNodeImgMouseleave);\n this.mindMap.off('node_img_mousemove', this.onNodeImgMousemove);\n this.mindMap.off('mousemove', this.onMousemove);\n this.mindMap.off('mouseup', this.onMouseup);\n this.mindMap.off('node_mouseup', this.onMouseup);\n this.mindMap.off('node_tree_render_end', this.onRenderEnd);\n }\n\n // 节点图片鼠标移动事件\n onNodeImgMousemove(node, img) {\n // 如果当前正在拖动调整中那么直接返回\n if (this.isMousedown || this.isAdjusted || this.mindMap.opt.readonly) return;\n // 如果在当前节点内移动,以及自定义元素已经是显示状态,那么直接返回\n if (this.node && this.node.uid === node.uid && this.isShowHandleEl) return;\n // 更新当前节点信息\n this.node = node;\n this.img = img;\n this.rect = this.img.rbox();\n // 显示自定义元素\n this.showHandleEl();\n }\n\n // 节点图片鼠标移出事件\n onNodeImgMouseleave() {\n if (this.isMousedown) return;\n this.hideHandleEl();\n }\n\n // 隐藏节点实际的图片\n hideNodeImage() {\n if (!this.img) return;\n this.img.hide();\n }\n\n // 显示节点实际的图片\n showNodeImage() {\n if (!this.img) return;\n this.img.show();\n }\n\n // 显示自定义元素\n showHandleEl() {\n if (this.isShowHandleEl) return;\n if (!this.handleEl) {\n this.createResizeBtnEl();\n }\n this.setHandleElRect();\n this.handleEl.style.display = 'block';\n this.isShowHandleEl = true;\n }\n\n // 隐藏自定义元素\n hideHandleEl() {\n if (!this.isShowHandleEl) return;\n this.isShowHandleEl = false;\n this.handleEl.style.display = 'none';\n this.handleEl.style.backgroundImage = ``;\n this.handleEl.style.width = 0;\n this.handleEl.style.height = 0;\n this.handleEl.style.left = 0;\n this.handleEl.style.top = 0;\n }\n\n // 设置自定义元素尺寸位置信息\n setHandleElRect() {\n let {\n width,\n height,\n x,\n y\n } = this.rect;\n this.handleEl.style.left = `${x}px`;\n this.handleEl.style.top = `${y}px`;\n this.currentImgWidth = width;\n this.currentImgHeight = height;\n this.updateHandleElSize();\n }\n\n // 更新自定义元素宽高\n updateHandleElSize() {\n this.handleEl.style.width = `${this.currentImgWidth}px`;\n this.handleEl.style.height = `${this.currentImgHeight}px`;\n }\n\n // 创建调整按钮元素\n createResizeBtnEl() {\n const {\n imgResizeBtnSize,\n customResizeBtnInnerHTML,\n customDeleteBtnInnerHTML\n } = this.mindMap.opt;\n // 容器元素\n this.handleEl = document.createElement('div');\n this.handleEl.style.cssText = `\n pointer-events: none;\n position: fixed;\n\t display:none;\n background-size: cover;\n `;\n this.handleEl.className = 'node-img-handle';\n // 调整按钮元素\n const btnEl = document.createElement('div');\n btnEl.innerHTML = customResizeBtnInnerHTML || _svg_btns__WEBPACK_IMPORTED_MODULE_1__[\"default\"].imgAdjust;\n btnEl.style.cssText = `\n position: absolute;\n right: 0;\n bottom: 0;\n pointer-events: auto;\n background-color: rgba(0, 0, 0, 0.3);\n width: ${imgResizeBtnSize}px;\n height: ${imgResizeBtnSize}px;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: nwse-resize;\n `;\n btnEl.className = 'node-image-resize';\n // 给按钮元素绑定事件\n btnEl.addEventListener('mouseenter', () => {\n // 移入按钮,会触发节点图片的移出事件,所以需要再次显示按钮\n this.showHandleEl();\n });\n btnEl.addEventListener('mouseleave', () => {\n // 移除按钮,需要隐藏按钮\n if (this.isMousedown) return;\n this.hideHandleEl();\n });\n btnEl.addEventListener('mousedown', e => {\n e.stopPropagation();\n e.preventDefault();\n this.onMousedown(e);\n });\n btnEl.addEventListener('mouseup', e => {\n setTimeout(() => {\n //点击后直接松开异常处理; 其他事件响应之后处理\n this.hideHandleEl();\n this.isAdjusted = false;\n }, 0);\n });\n btnEl.addEventListener('click', e => {\n e.stopPropagation();\n });\n this.handleEl.appendChild(btnEl);\n // 删除按钮\n const btnRemove = document.createElement('div');\n this.handleEl.prepend(btnRemove);\n btnRemove.className = 'node-image-remove';\n btnRemove.innerHTML = customDeleteBtnInnerHTML || _svg_btns__WEBPACK_IMPORTED_MODULE_1__[\"default\"].remove;\n btnRemove.style.cssText = `\n position: absolute;\n right: 0;top:0;color:#fff;\n pointer-events: auto;\n background-color: rgba(0, 0, 0, 0.3);\n width: ${imgResizeBtnSize}px;\n height: ${imgResizeBtnSize}px;\n display: flex;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n `;\n btnRemove.addEventListener('mouseenter', e => {\n this.showHandleEl();\n });\n btnRemove.addEventListener('mouseleave', e => {\n if (this.isMousedown) return;\n this.hideHandleEl();\n });\n btnRemove.addEventListener('click', async e => {\n let stop = false;\n if (typeof this.mindMap.opt.beforeDeleteNodeImg === 'function') {\n stop = await this.mindMap.opt.beforeDeleteNodeImg(this.node);\n }\n if (!stop) {\n this.mindMap.execCommand('SET_NODE_IMAGE', this.node, {\n url: null\n });\n }\n });\n // 添加元素到页面\n const targetNode = this.mindMap.opt.customInnerElsAppendTo || document.body;\n targetNode.appendChild(this.handleEl);\n }\n\n // 鼠标按钮按下事件\n onMousedown(e) {\n this.isMousedown = true;\n this.mousedownDrawTransform = this.mindMap.draw.transform();\n // 隐藏节点实际图片\n this.hideNodeImage();\n this.mousedownOffset.x = e.clientX - this.rect.x2;\n this.mousedownOffset.y = e.clientY - this.rect.y2;\n // 将节点图片渲染到自定义元素上\n this.handleEl.style.backgroundImage = `url(${this.node.getData('image')})`;\n }\n\n // 鼠标移动\n onMousemove(e) {\n if (!this.isMousedown) return;\n e.preventDefault();\n const {\n scaleX,\n scaleY\n } = this.mousedownDrawTransform;\n // 图片原始大小\n const {\n width: imageOriginWidth,\n height: imageOriginHeight\n } = this.node.getData('imageSize');\n let {\n minImgResizeWidth,\n minImgResizeHeight,\n maxImgResizeWidthInheritTheme,\n maxImgResizeWidth,\n maxImgResizeHeight\n } = this.mindMap.opt;\n // 主题设置的最小图片宽高\n const minRatio = minImgResizeWidth / minImgResizeHeight;\n const oRatio = imageOriginWidth / imageOriginHeight;\n if (minRatio > oRatio) {\n // 如果最小值比例大于图片原始比例,那么要调整高度最小值\n minImgResizeHeight = minImgResizeWidth / oRatio;\n } else {\n // 否则调整宽度最小值\n minImgResizeWidth = minImgResizeHeight * oRatio;\n }\n // 主题设置的最大图片宽高\n let imgMaxWidth, imgMaxHeight;\n if (maxImgResizeWidthInheritTheme) {\n imgMaxWidth = this.mindMap.getThemeConfig('imgMaxWidth');\n imgMaxHeight = this.mindMap.getThemeConfig('imgMaxHeight');\n } else {\n imgMaxWidth = maxImgResizeWidth;\n imgMaxHeight = maxImgResizeHeight;\n }\n imgMaxWidth = imgMaxWidth * scaleX;\n imgMaxHeight = imgMaxHeight * scaleY;\n // 计算当前拖拽位置对应的图片的实时大小\n let newWidth = Math.abs(e.clientX - this.rect.x - this.mousedownOffset.x);\n let newHeight = Math.abs(e.clientY - this.rect.y - this.mousedownOffset.y);\n // 限制最小值\n if (newWidth < minImgResizeWidth) newWidth = minImgResizeWidth;\n if (newHeight < minImgResizeHeight) newHeight = minImgResizeHeight;\n // 限制最大值\n if (newWidth > imgMaxWidth) newWidth = imgMaxWidth;\n if (newHeight > imgMaxHeight) newHeight = imgMaxHeight;\n const [actWidth, actHeight] = Object(_utils_index__WEBPACK_IMPORTED_MODULE_0__[\"resizeImgSizeByOriginRatio\"])(imageOriginWidth, imageOriginHeight, newWidth, newHeight);\n this.currentImgWidth = actWidth;\n this.currentImgHeight = actHeight;\n this.updateHandleElSize();\n }\n\n // 鼠标松开\n onMouseup() {\n if (!this.isMousedown) return;\n // 显示节点实际图片\n this.showNodeImage();\n // 隐藏自定义元素\n this.hideHandleEl();\n // 更新节点图片为新的大小\n const {\n image,\n imageTitle\n } = this.node.getData();\n const {\n scaleX,\n scaleY\n } = this.mousedownDrawTransform;\n const newWidth = this.currentImgWidth / scaleX;\n const newHeight = this.currentImgHeight / scaleY;\n if (Math.abs(newWidth - this.rect.width) > 1 || Math.abs(newHeight - this.rect.height) > 1) {\n this.mindMap.execCommand('SET_NODE_IMAGE', this.node, {\n url: image,\n title: imageTitle,\n width: newWidth,\n height: newHeight,\n custom: true // 代表自定义了图片大小\n });\n this.isAdjusted = true;\n }\n this.isMousedown = false;\n this.mousedownDrawTransform = null;\n this.mousedownOffset.x = 0;\n this.mousedownOffset.y = 0;\n }\n\n // 渲染完成事件\n onRenderEnd() {\n if (!this.isAdjusted) {\n this.hideHandleEl();\n return;\n }\n this.isAdjusted = false;\n }\n\n // 插件被移除前做的事情\n beforePluginRemove() {\n this.unBindEvent();\n }\n\n // 插件被卸载前做的事情\n beforePluginDestroy() {\n this.unBindEvent();\n }\n}\nNodeImgAdjust.instanceName = 'nodeImgAdjust';\n/* harmony default export */ __webpack_exports__[\"default\"] = (NodeImgAdjust);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/NodeImgAdjust.js?");
/***/ }),
/***/ "../simple-mind-map/src/plugins/OuterFrame.js":
/*!****************************************************!*\
!*** ../simple-mind-map/src/plugins/OuterFrame.js ***!
\****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/src/utils/index.js\");\n\n\n\n// 解析要添加外框的节点实例列表\nconst parseAddNodeList = list => {\n // 找出顶层节点\n list = Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"getTopAncestorsFomNodeList\"])(list);\n const cache = {};\n const uidToParent = {};\n // 找出列表中节点在兄弟节点中的索引,并和父节点关联起来\n list.forEach(node => {\n const parent = node.parent;\n if (parent) {\n const pUid = parent.uid;\n uidToParent[pUid] = parent;\n const index = node.getIndexInBrothers();\n const data = {\n node,\n index\n };\n if (cache[pUid]) {\n if (!cache[pUid].find(item => {\n return item.index === data.index;\n })) {\n cache[pUid].push(data);\n }\n } else {\n cache[pUid] = [data];\n }\n }\n });\n const res = [];\n Object.keys(cache).forEach(uid => {\n const indexList = cache[uid];\n const parentNode = uidToParent[uid];\n if (indexList.length > 1) {\n // 多个节点\n const rangeList = indexList.map(item => {\n return item.index;\n }).sort((a, b) => {\n return a - b;\n });\n const minIndex = rangeList[0];\n const maxIndex = rangeList[rangeList.length - 1];\n let curStart = -1;\n let curEnd = -1;\n for (let i = minIndex; i <= maxIndex; i++) {\n // 连续索引\n if (rangeList.includes(i)) {\n if (curStart === -1) {\n curStart = i;\n }\n curEnd = i;\n } else {\n // 连续断开\n if (curStart !== -1 && curEnd !== -1) {\n res.push({\n node: parentNode,\n range: [curStart, curEnd]\n });\n }\n curStart = -1;\n curEnd = -1;\n }\n }\n // 不要忘了最后一段索引\n if (curStart !== -1 && curEnd !== -1) {\n res.push({\n node: parentNode,\n range: [curStart, curEnd]\n });\n }\n } else {\n // 单个节点\n res.push({\n node: parentNode,\n range: [indexList[0].index, indexList[0].index]\n });\n }\n });\n return res;\n};\n\n// 解析获取节点的子节点生成的外框列表\nconst getNodeOuterFrameList = node => {\n const children = node.children;\n if (!children || children.length <= 0) return;\n const res = [];\n const map = {};\n children.forEach((item, index) => {\n const outerFrameData = item.getData('outerFrame');\n if (!outerFrameData) return;\n const groupId = outerFrameData.groupId;\n if (groupId) {\n if (!map[groupId]) {\n map[groupId] = [];\n }\n map[groupId].push({\n node: item,\n index\n });\n } else {\n res.push({\n nodeList: [item],\n range: [index, index]\n });\n }\n });\n Object.keys(map).forEach(id => {\n const list = map[id];\n res.push({\n nodeList: list.map(item => {\n return item.node;\n }),\n range: [list[0].index, list[list.length - 1].index]\n });\n });\n return res;\n};\n\n// 默认外框样式\nconst defaultStyle = {\n radius: 5,\n strokeWidth: 2,\n strokeColor: '#0984e3',\n strokeDasharray: '5,5',\n fill: 'rgba(9,132,227,0.05)'\n};\n\n// 外框插件\nclass OuterFrame {\n constructor(opt = {}) {\n this.mindMap = opt.mindMap;\n this.draw = null;\n this.createDrawContainer();\n this.outerFrameElList = [];\n this.activeOuterFrame = null;\n this.bindEvent();\n }\n\n // 创建容器\n createDrawContainer() {\n this.draw = this.mindMap.draw.group();\n this.draw.addClass('smm-outer-frame-container');\n this.draw.back(); // 最底层\n this.draw.forward(); // 连线层上面\n }\n\n // 绑定事件\n bindEvent() {\n this.renderOuterFrames = this.renderOuterFrames.bind(this);\n this.mindMap.on('node_tree_render_end', this.renderOuterFrames);\n this.mindMap.on('data_change', this.renderOuterFrames);\n // 监听画布和节点点击事件,用于清除当前激活的连接线\n this.clearActiveOuterFrame = this.clearActiveOuterFrame.bind(this);\n this.mindMap.on('draw_click', this.clearActiveOuterFrame);\n this.mindMap.on('node_click', this.clearActiveOuterFrame);\n this.addOuterFrame = this.addOuterFrame.bind(this);\n this.mindMap.command.add('ADD_OUTER_FRAME', this.addOuterFrame);\n this.removeActiveOuterFrame = this.removeActiveOuterFrame.bind(this);\n this.mindMap.keyCommand.addShortcut('Del|Backspace', this.removeActiveOuterFrame);\n }\n\n // 解绑事件\n unBindEvent() {\n this.mindMap.off('node_tree_render_end', this.renderOuterFrames);\n this.mindMap.off('data_change', this.renderOuterFrames);\n this.mindMap.off('draw_click', this.clearActiveOuterFrame);\n this.mindMap.off('node_click', this.clearActiveOuterFrame);\n this.mindMap.command.remove('ADD_OUTER_FRAME', this.addOuterFrame);\n this.mindMap.keyCommand.removeShortcut('Del|Backspace', this.removeActiveOuterFrame);\n }\n\n // 给节点添加外框数据\n /*\n config: {\n text: '',\n radius: 5,\n strokeWidth: 2,\n strokeColor: '#0984e3',\n strokeDasharray: '5,5',\n fill: 'rgba(9,132,227,0.05)'\n }\n */\n addOuterFrame(appointNodes, config = {}) {\n appointNodes = Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"formatDataToArray\"])(appointNodes);\n const activeNodeList = this.mindMap.renderer.activeNodeList;\n if (activeNodeList.length <= 0 && appointNodes.length <= 0) {\n return;\n }\n let nodeList = appointNodes.length > 0 ? appointNodes : activeNodeList;\n nodeList = nodeList.filter(node => {\n return !node.isRoot && !node.isGeneralization;\n });\n const list = parseAddNodeList(nodeList);\n list.forEach(({\n node,\n range\n }) => {\n const childNodeList = node.children.slice(range[0], range[1] + 1);\n const groupId = Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"createUid\"])();\n childNodeList.forEach(child => {\n let outerFrame = child.getData('outerFrame');\n // 检查该外框是否已存在\n if (outerFrame) {\n outerFrame = {\n ...outerFrame,\n ...config,\n groupId\n };\n } else {\n outerFrame = {\n ...config,\n groupId\n };\n }\n this.mindMap.execCommand('SET_NODE_DATA', child, {\n outerFrame\n });\n });\n });\n }\n\n // 获取当前激活的外框\n getActiveOuterFrame() {\n return this.activeOuterFrame ? {\n ...this.activeOuterFrame\n } : null;\n }\n\n // 删除当前激活的外框\n removeActiveOuterFrame() {\n if (!this.activeOuterFrame) return;\n const {\n node,\n range\n } = this.activeOuterFrame;\n this.getRangeNodeList(node, range).forEach(child => {\n this.mindMap.execCommand('SET_NODE_DATA', child, {\n outerFrame: null\n });\n });\n this.mindMap.emit('outer_frame_delete');\n }\n\n // 更新当前激活的外框\n // 执行了该方法后请立即隐藏你的样式面板,因为会清除当前激活的外框\n updateActiveOuterFrame(config = {}) {\n if (!this.activeOuterFrame) return;\n const {\n node,\n range\n } = this.activeOuterFrame;\n this.getRangeNodeList(node, range).forEach(node => {\n const outerFrame = node.getData('outerFrame');\n this.mindMap.execCommand('SET_NODE_DATA', node, {\n outerFrame: {\n ...outerFrame,\n ...config\n }\n });\n });\n }\n\n // 获取某个节点指定范围的带外框的子节点列表\n getRangeNodeList(node, range) {\n return node.children.slice(range[0], range[1] + 1).filter(child => {\n return child.getData('outerFrame');\n });\n }\n\n // 渲染外框\n renderOuterFrames() {\n this.clearOuterFrameElList();\n let tree = this.mindMap.renderer.root;\n if (!tree) return;\n const t = this.mindMap.draw.transform();\n const {\n outerFramePaddingX,\n outerFramePaddingY\n } = this.mindMap.opt;\n Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"walk\"])(tree, null, cur => {\n if (!cur) return;\n const outerFrameList = getNodeOuterFrameList(cur);\n if (outerFrameList && outerFrameList.length > 0) {\n outerFrameList.forEach(({\n nodeList,\n range\n }) => {\n if (range[0] === -1 || range[1] === -1) return;\n const {\n left,\n top,\n width,\n height\n } = Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"getNodeListBoundingRect\"])(nodeList);\n if (!Number.isFinite(left) || !Number.isFinite(top) || !Number.isFinite(width) || !Number.isFinite(height)) return;\n const el = this.createOuterFrameEl((left - outerFramePaddingX - this.mindMap.elRect.left - t.translateX) / t.scaleX, (top - outerFramePaddingY - this.mindMap.elRect.top - t.translateY) / t.scaleY, (width + outerFramePaddingX * 2) / t.scaleX, (height + outerFramePaddingY * 2) / t.scaleY, nodeList[0].getData('outerFrame') // 使用第一个节点的外框样式\n );\n el.on('click', e => {\n e.stopPropagation();\n this.setActiveOuterFrame(el, cur, range);\n });\n });\n }\n }, () => {}, true, 0);\n }\n\n // 激活外框\n setActiveOuterFrame(el, node, range) {\n this.mindMap.execCommand('CLEAR_ACTIVE_NODE');\n this.clearActiveOuterFrame();\n this.activeOuterFrame = {\n el,\n node,\n range\n };\n el.stroke({\n dasharray: 'none'\n });\n this.mindMap.emit('outer_frame_active', el, node, range);\n }\n\n // 清除当前激活的外框\n clearActiveOuterFrame() {\n if (!this.activeOuterFrame) return;\n const {\n el\n } = this.activeOuterFrame;\n el.stroke({\n dasharray: el.cacheStyle.dasharray || defaultStyle.strokeDasharray\n });\n this.activeOuterFrame = null;\n }\n\n // 创建外框元素\n createOuterFrameEl(x, y, width, height, styleConfig = {}) {\n styleConfig = {\n ...defaultStyle,\n ...styleConfig\n };\n const el = this.draw.rect().size(width, height).radius(styleConfig.radius).stroke({\n width: styleConfig.strokeWidth,\n color: styleConfig.strokeColor,\n dasharray: styleConfig.strokeDasharray\n }).fill({\n color: styleConfig.fill\n }).x(x).y(y);\n el.cacheStyle = {\n dasharray: styleConfig.strokeDasharray\n };\n this.outerFrameElList.push(el);\n return el;\n }\n\n // 清除外框元素\n clearOuterFrameElList() {\n this.outerFrameElList.forEach(item => {\n item.remove();\n });\n this.outerFrameElList = [];\n this.activeOuterFrame = null;\n }\n\n // 插件被移除前做的事情\n beforePluginRemove() {\n this.unBindEvent();\n }\n\n // 插件被卸载前做的事情\n beforePluginDestroy() {\n this.unBindEvent();\n }\n}\nOuterFrame.instanceName = 'outerFrame';\n/* harmony default export */ __webpack_exports__[\"default\"] = (OuterFrame);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/OuterFrame.js?");
/***/ }),
/***/ "../simple-mind-map/src/plugins/Painter.js":
/*!*************************************************!*\
!*** ../simple-mind-map/src/plugins/Painter.js ***!
\*************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/index */ \"../simple-mind-map/src/utils/index.js\");\n\n\n// 格式刷插件\nclass Painter {\n constructor({\n mindMap\n }) {\n this.mindMap = mindMap;\n this.isInPainter = false;\n this.painterNode = null;\n this.bindEvent();\n }\n bindEvent() {\n this.painterOneNode = this.painterOneNode.bind(this);\n this.onEndPainter = this.onEndPainter.bind(this);\n this.mindMap.on('node_click', this.painterOneNode);\n this.mindMap.on('draw_click', this.onEndPainter);\n }\n unBindEvent() {\n this.mindMap.off('node_click', this.painterOneNode);\n this.mindMap.off('draw_click', this.onEndPainter);\n }\n\n // 开始格式刷\n startPainter() {\n if (this.mindMap.opt.readonly) return;\n let activeNodeList = this.mindMap.renderer.activeNodeList;\n if (activeNodeList.length <= 0) return;\n this.painterNode = activeNodeList[0];\n this.isInPainter = true;\n this.mindMap.emit('painter_start');\n }\n\n // 结束格式刷\n endPainter() {\n this.painterNode = null;\n this.isInPainter = false;\n }\n onEndPainter() {\n if (!this.isInPainter) return;\n this.endPainter();\n this.mindMap.emit('painter_end');\n }\n\n // 格式刷某个节点\n painterOneNode(node) {\n if (!node || !this.isInPainter || !this.painterNode || !node || node.uid === this.painterNode.uid) return;\n let style = {};\n // 格式刷节点所有生效的样式\n if (!this.mindMap.opt.onlyPainterNodeCustomStyles) {\n style = {\n ...this.painterNode.effectiveStyles\n };\n }\n const painterNodeData = this.painterNode.getData();\n Object.keys(painterNodeData).forEach(key => {\n if (Object(_utils_index__WEBPACK_IMPORTED_MODULE_0__[\"checkIsNodeStyleDataKey\"])(key)) {\n style[key] = painterNodeData[key];\n }\n });\n // 先去除目标节点的样式\n this.mindMap.renderer._handleRemoveCustomStyles(node.getData());\n node.setStyles(style);\n }\n\n // 插件被移除前做的事情\n beforePluginRemove() {\n this.unBindEvent();\n }\n\n // 插件被卸载前做的事情\n beforePluginDestroy() {\n this.unBindEvent();\n }\n}\nPainter.instanceName = 'painter';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Painter);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/Painter.js?");
/***/ }),
/***/ "../simple-mind-map/src/plugins/RainbowLines.js":
/*!******************************************************!*\
!*** ../simple-mind-map/src/plugins/RainbowLines.js ***!
\******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/index */ \"../simple-mind-map/src/utils/index.js\");\n\nconst defaultColorsList = ['rgb(255, 213, 73)', 'rgb(255, 136, 126)', 'rgb(107, 225, 141)', 'rgb(151, 171, 255)', 'rgb(129, 220, 242)', 'rgb(255, 163, 125)', 'rgb(152, 132, 234)'];\n\n// 彩虹线条插件\nclass RainbowLines {\n constructor({\n mindMap\n }) {\n this.mindMap = mindMap;\n }\n\n // 更新彩虹线条配置\n updateRainLinesConfig(config = {}) {\n const newConfig = this.mindMap.opt.rainbowLinesConfig || {};\n newConfig.open = !!config.open;\n newConfig.colorsList = Array.isArray(config.colorsList) ? config.colorsList : [];\n // 如果开启彩虹线条,那么先移除所有节点的自定义连线颜色配置\n if (this.mindMap.opt.rainbowLinesConfig.open) {\n this.removeNodeLineColor();\n }\n this.mindMap.render();\n }\n\n // 删除所有节点的连线颜色\n removeNodeLineColor() {\n const tree = this.mindMap.renderer.renderTree;\n if (!tree) return;\n Object(_utils_index__WEBPACK_IMPORTED_MODULE_0__[\"walk\"])(tree, null, cur => {\n delete cur.data.lineColor;\n }, null, true);\n this.mindMap.command.addHistory();\n }\n\n // 获取一个节点的第二层级的祖先节点\n getSecondLayerAncestor(node) {\n if (node.layerIndex === 0) {\n return null;\n } else if (node.layerIndex === 1) {\n return node;\n } else {\n let res = null;\n let parent = node.parent;\n while (parent) {\n if (parent.layerIndex === 1) {\n return parent;\n }\n parent = parent.parent;\n }\n return res;\n }\n }\n\n // 获取颜色列表\n getColorsList() {\n const {\n rainbowLinesConfig\n } = this.mindMap.opt;\n return rainbowLinesConfig && Array.isArray(rainbowLinesConfig.colorsList) && rainbowLinesConfig.colorsList.length > 0 ? rainbowLinesConfig.colorsList : [...defaultColorsList];\n }\n\n // 获取一个节点的彩虹线条颜色\n getNodeColor(node) {\n const {\n rainbowLinesConfig\n } = this.mindMap.opt;\n if (!rainbowLinesConfig || !rainbowLinesConfig.open) return '';\n const ancestor = this.getSecondLayerAncestor(node);\n if (!ancestor) return;\n const index = Object(_utils_index__WEBPACK_IMPORTED_MODULE_0__[\"getNodeDataIndex\"])(ancestor);\n const colorsList = this.getColorsList();\n return colorsList[index % colorsList.length];\n }\n}\nRainbowLines.instanceName = 'rainbowLines';\n/* harmony default export */ __webpack_exports__[\"default\"] = (RainbowLines);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/RainbowLines.js?");
/***/ }),
/***/ "../simple-mind-map/src/plugins/RichText.js":
/*!**************************************************!*\
!*** ../simple-mind-map/src/plugins/RichText.js ***!
\**************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */ \"./node_modules/core-js/modules/es.array.reduce.js\");\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var quill__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! quill */ \"../simple-mind-map/node_modules/quill/quill.js\");\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! quill-delta */ \"../simple-mind-map/node_modules/quill-delta/dist/Delta.js\");\n/* harmony import */ var quill_delta__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(quill_delta__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var quill_dist_quill_snow_css__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! quill/dist/quill.snow.css */ \"../simple-mind-map/node_modules/quill/dist/quill.snow.css\");\n/* harmony import */ var quill_dist_quill_snow_css__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(quill_dist_quill_snow_css__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/src/utils/index.js\");\n/* harmony import */ var _constants_constant__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ../constants/constant */ \"../simple-mind-map/src/constants/constant.js\");\n/* harmony import */ var _core_render_node_MindMapNode__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../core/render/node/MindMapNode */ \"../simple-mind-map/src/core/render/node/MindMapNode.js\");\n/* harmony import */ var parchment__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! parchment */ \"../simple-mind-map/node_modules/parchment/dist/parchment.js\");\n\n\n\n\n\n\n\n\n\nlet extended = false;\n\n// 扩展quill的字体列表\nlet fontFamilyList = ['宋体, SimSun, Songti SC', '微软雅黑, Microsoft YaHei', '楷体, 楷体_GB2312, SimKai, STKaiti', '黑体, SimHei, Heiti SC', '隶书, SimLi', 'andale mono', 'arial, helvetica, sans-serif', 'arial black, avant garde', 'comic sans ms', 'impact, chicago', 'times new roman', 'sans-serif', 'serif'];\n\n// 扩展quill的字号列表\nlet fontSizeList = new Array(100).fill(0).map((_, index) => {\n return index + 'px';\n});\n\n// 富文本编辑插件\nclass RichText {\n constructor({\n mindMap,\n pluginOpt\n }) {\n this.mindMap = mindMap;\n this.pluginOpt = pluginOpt;\n this.textEditNode = null;\n this.showTextEdit = false;\n this.quill = null;\n this.range = null;\n this.lastRange = null;\n this.pasteUseRange = null;\n this.node = null;\n this.isInserting = false;\n this.styleEl = null;\n this.cacheEditingText = '';\n this.isCompositing = false;\n this.textNodePaddingX = 6;\n this.textNodePaddingY = 4;\n this.initOpt();\n this.extendQuill();\n this.appendCss();\n this.bindEvent();\n this.handleDataToRichTextOnInit();\n }\n\n // 绑定事件\n bindEvent() {\n this.onCompositionStart = this.onCompositionStart.bind(this);\n this.onCompositionUpdate = this.onCompositionUpdate.bind(this);\n this.onCompositionEnd = this.onCompositionEnd.bind(this);\n this.handleSetData = this.handleSetData.bind(this);\n window.addEventListener('compositionstart', this.onCompositionStart);\n window.addEventListener('compositionupdate', this.onCompositionUpdate);\n window.addEventListener('compositionend', this.onCompositionEnd);\n this.mindMap.on('before_update_data', this.handleSetData);\n this.mindMap.on('before_set_data', this.handleSetData);\n }\n\n // 解绑事件\n unbindEvent() {\n window.removeEventListener('compositionstart', this.onCompositionStart);\n window.removeEventListener('compositionupdate', this.onCompositionUpdate);\n window.removeEventListener('compositionend', this.onCompositionEnd);\n this.mindMap.off('before_update_data', this.handleSetData);\n this.mindMap.off('before_set_data', this.handleSetData);\n }\n\n // 插入样式\n appendCss() {\n this.mindMap.appendCss('richText', `\n .smm-richtext-node-wrap {\n word-break: break-all;\n user-select: none;\n }\n\n .ql-editor .ql-align-left, \n .smm-richtext-node-wrap .ql-align-left {\n text-align: left;\n }\n\n .smm-richtext-node-wrap .ql-align-right {\n text-align: right;\n }\n\n .smm-richtext-node-wrap .ql-align-center {\n text-align: center;\n }\n `);\n let cssText = `\n .${_constants_constant__WEBPACK_IMPORTED_MODULE_6__[\"CONSTANTS\"].EDIT_NODE_CLASS.RICH_TEXT_EDIT_WRAP} {\n overflow: hidden;\n padding: 0;\n height: auto;\n line-height: 1.2;\n -webkit-user-select: text;\n text-align: inherit;\n }\n \n .ql-container {\n height: auto;\n font-size: inherit;\n }\n\n .ql-container.ql-snow {\n border: none;\n }\n `;\n this.styleEl = document.createElement('style');\n this.styleEl.type = 'text/css';\n this.styleEl.innerHTML = cssText;\n document.head.appendChild(this.styleEl);\n }\n\n // 处理选项参数\n initOpt() {\n if (this.pluginOpt.fontFamilyList && Array.isArray(this.pluginOpt.fontFamilyList)) {\n fontFamilyList = this.pluginOpt.fontFamilyList;\n }\n if (this.pluginOpt.fontSizeList && Array.isArray(this.pluginOpt.fontSizeList)) {\n fontSizeList = this.pluginOpt.fontSizeList;\n }\n }\n\n // 扩展quill编辑器\n extendQuill() {\n if (extended) {\n return;\n }\n extended = true;\n this.extendFont([]);\n this.extendAlign();\n\n // 扩展quill的字号列表\n const SizeAttributor = quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].import('attributors/class/size');\n SizeAttributor.whitelist = fontSizeList;\n quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].register(SizeAttributor, true);\n const SizeStyle = quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].import('attributors/style/size');\n SizeStyle.whitelist = fontSizeList;\n quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].register(SizeStyle, true);\n }\n\n // 扩展字体列表\n extendFont(list = [], cover = false) {\n fontFamilyList = cover ? [...list] : [...fontFamilyList, ...list];\n\n // 扩展quill的字体列表\n const FontAttributor = quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].import('attributors/class/font');\n FontAttributor.whitelist = fontFamilyList;\n quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].register(FontAttributor, true);\n const FontStyle = quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].import('attributors/style/font');\n FontStyle.whitelist = fontFamilyList;\n quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].register(FontStyle, true);\n }\n\n // 扩展文本对齐方式\n extendAlign() {\n const AlignFormat = quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].import('formats/align');\n AlignFormat.whitelist = ['right', 'center', 'justify', 'left'];\n quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].register(AlignFormat, true);\n }\n\n // 显示文本编辑控件\n showEditText({\n node,\n rect,\n isInserting,\n isFromKeyDown,\n isFromScale\n }) {\n if (this.showTextEdit) {\n return;\n }\n let {\n customInnerElsAppendTo,\n nodeTextEditZIndex,\n textAutoWrapWidth,\n selectTextOnEnterEditText,\n transformRichTextOnEnterEdit,\n openRealtimeRenderOnNodeTextEdit,\n autoEmptyTextWhenKeydownEnterEdit\n } = this.mindMap.opt;\n textAutoWrapWidth = node.hasCustomWidth() ? node.customTextWidth : textAutoWrapWidth;\n this.node = node;\n this.isInserting = isInserting;\n if (!rect) rect = node._textData.node.node.getBoundingClientRect();\n if (!isFromScale) {\n this.mindMap.emit('before_show_text_edit');\n }\n this.mindMap.renderer.textEdit.registerTmpShortcut();\n // 原始宽高\n let g = node._textData.node;\n let originWidth = g.attr('data-width');\n let originHeight = g.attr('data-height');\n // 缩放值\n const scaleX = Math.ceil(rect.width) / originWidth;\n const scaleY = Math.ceil(rect.height) / originHeight;\n // 内边距\n let paddingX = this.textNodePaddingX;\n let paddingY = this.textNodePaddingY;\n if (!this.textEditNode) {\n this.textEditNode = document.createElement('div');\n this.textEditNode.classList.add('smm-richtext-node-edit-wrap');\n this.textEditNode.style.cssText = `\n position:fixed;\n box-sizing: border-box;\n ${openRealtimeRenderOnNodeTextEdit ? '' : 'box-shadow: 0 0 20px rgba(0,0,0,.5);'}\n outline: none;\n word-break: break-all;\n padding: ${paddingY}px ${paddingX}px;\n line-height: 1.2;\n `;\n this.textEditNode.addEventListener('click', e => {\n e.stopPropagation();\n });\n this.textEditNode.addEventListener('mousedown', e => {\n e.stopPropagation();\n });\n this.textEditNode.addEventListener('keydown', e => {\n if (this.mindMap.renderer.textEdit.checkIsAutoEnterTextEditKey(e)) {\n e.stopPropagation();\n }\n });\n const targetNode = customInnerElsAppendTo || document.body;\n targetNode.appendChild(this.textEditNode);\n }\n this.addNodeTextStyleToTextEditNode(node);\n this.textEditNode.style.marginLeft = `-${paddingX * scaleX}px`;\n this.textEditNode.style.marginTop = `-${paddingY * scaleY}px`;\n this.textEditNode.style.zIndex = nodeTextEditZIndex;\n if (!openRealtimeRenderOnNodeTextEdit) {\n this.textEditNode.style.background = this.mindMap.renderer.textEdit.getBackground(node);\n }\n this.textEditNode.style.minWidth = originWidth + paddingX * 2 + 'px';\n this.textEditNode.style.minHeight = originHeight + 'px';\n this.textEditNode.style.left = rect.left + 'px';\n this.textEditNode.style.top = rect.top + 'px';\n this.textEditNode.style.display = 'block';\n this.textEditNode.style.maxWidth = textAutoWrapWidth + paddingX * 2 + 'px';\n this.textEditNode.style.transform = `scale(${scaleX}, ${scaleY})`;\n this.textEditNode.style.transformOrigin = 'left top';\n // 节点文本内容\n let nodeText = node.getData('text');\n if (typeof transformRichTextOnEnterEdit === 'function') {\n nodeText = transformRichTextOnEnterEdit(nodeText);\n }\n // 是否是空文本\n const isEmptyText = Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"isUndef\"])(nodeText);\n // 是否是非空的非富文本\n const noneEmptyNoneRichText = !node.getData('richText') && !isEmptyText;\n if (isFromKeyDown && autoEmptyTextWhenKeydownEnterEdit) {\n this.textEditNode.innerHTML = '';\n } else if (noneEmptyNoneRichText) {\n // 还不是富文本\n let text = String(nodeText).split(/\\n/gim).join('
');\n let html = `${text}
`;\n this.textEditNode.innerHTML = this.cacheEditingText || html;\n } else {\n // 已经是富文本\n this.textEditNode.innerHTML = this.cacheEditingText || nodeText;\n }\n this.initQuillEditor();\n this.setQuillContainerMinHeight(originHeight);\n this.showTextEdit = true;\n // 如果是刚创建的节点,那么默认全选,否则普通激活不全选,除非selectTextOnEnterEditText配置为true\n // 在selectTextOnEnterEditText时,如果是在keydown事件进入的节点编辑,也不需要全选\n this.focus(isInserting || selectTextOnEnterEditText && !isFromKeyDown ? 0 : null);\n this.cacheEditingText = '';\n }\n\n // 当openRealtimeRenderOnNodeTextEdit配置更新后需要更新编辑框样式\n onOpenRealtimeRenderOnNodeTextEditConfigUpdate(openRealtimeRenderOnNodeTextEdit) {\n if (!this.textEditNode) return;\n this.textEditNode.style.background = openRealtimeRenderOnNodeTextEdit ? 'transparent' : this.node ? this.mindMap.renderer.textEdit.getBackground(this.node) : '';\n this.textEditNode.style.boxShadow = openRealtimeRenderOnNodeTextEdit ? 'none' : '0 0 20px rgba(0,0,0,.5)';\n }\n\n // 将指定节点的文本样式添加到编辑框元素上\n addNodeTextStyleToTextEditNode(node) {\n const style = Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"getNodeRichTextStyles\"])(node);\n Object.keys(style).forEach(prop => {\n this.textEditNode.style[prop] = style[prop];\n });\n }\n\n // 设置quill编辑器容器的最小高度\n setQuillContainerMinHeight(minHeight) {\n document.querySelector('.' + _constants_constant__WEBPACK_IMPORTED_MODULE_6__[\"CONSTANTS\"].EDIT_NODE_CLASS.RICH_TEXT_EDIT_WRAP).style.minHeight = minHeight + 'px';\n }\n\n // 更新文本编辑框的大小和位置\n updateTextEditNode() {\n if (!this.node) return;\n const g = this.node._textData.node;\n const rect = g.node.getBoundingClientRect();\n const originWidth = g.attr('data-width');\n const originHeight = g.attr('data-height');\n this.textEditNode.style.minWidth = originWidth + this.textNodePaddingX * 2 + 'px';\n this.textEditNode.style.minHeight = originHeight + 'px';\n this.textEditNode.style.left = rect.left + 'px';\n this.textEditNode.style.top = rect.top + 'px';\n this.setQuillContainerMinHeight(originHeight);\n }\n\n // 删除文本编辑框元素\n removeTextEditEl() {\n if (!this.textEditNode) return;\n const targetNode = this.mindMap.opt.customInnerElsAppendTo || document.body;\n targetNode.removeChild(this.textEditNode);\n }\n\n // 获取当前正在编辑的内容\n getEditText() {\n // https://github.com/slab/quill/issues/4509\n return this.quill.container.firstChild.innerHTML.replace(/ +/g, match => ' '.repeat(match.length));\n // 去除ql-cursor节点\n // https://github.com/wanglin2/mind-map/commit/138cc4b3e824671143f0bf70e5c46796f48520d0\n // https://github.com/wanglin2/mind-map/commit/0760500cebe8ec4e8ad84ab63f877b8b2a193aa1\n // html = removeHtmlNodeByClass(html, '.ql-cursor')\n // 去除最后的空行\n // return html.replace(/
<\\/p>$/, '')\n }\n\n // 隐藏文本编辑控件,即完成编辑\n hideEditText(nodes) {\n if (!this.showTextEdit) {\n return;\n }\n const {\n beforeHideRichTextEdit\n } = this.mindMap.opt;\n if (typeof beforeHideRichTextEdit === 'function') {\n beforeHideRichTextEdit(this);\n }\n const html = this.getEditText();\n const list = nodes && nodes.length > 0 ? nodes : [this.node];\n const node = this.node;\n this.textEditNode.style.display = 'none';\n this.showTextEdit = false;\n this.mindMap.emit('rich_text_selection_change', false);\n this.node = null;\n this.isInserting = false;\n list.forEach(node => {\n this.mindMap.execCommand('SET_NODE_TEXT', node, html, true);\n // if (node.isGeneralization) {\n // 概要节点\n // node.generalizationBelongNode.updateGeneralization()\n // }\n this.mindMap.render();\n });\n this.mindMap.emit('hide_text_edit', this.textEditNode, list, node);\n }\n\n // 初始化Quill富文本编辑器\n initQuillEditor() {\n this.quill = new quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"](this.textEditNode, {\n modules: {\n toolbar: false,\n keyboard: {\n bindings: {\n enter: {\n key: 'Enter',\n handler: function () {\n // 覆盖默认的回车键,禁止换行\n }\n },\n shiftEnter: {\n key: 'Enter',\n shiftKey: true,\n handler: function (range, context) {\n // 覆盖默认的换行,默认情况下新行的样式会丢失\n const lineFormats = Object.keys(context.format).reduce((formats, format) => {\n if (this.quill.scroll.query(format, parchment__WEBPACK_IMPORTED_MODULE_8__[\"Scope\"].BLOCK) && !Array.isArray(context.format[format])) {\n formats[format] = context.format[format];\n }\n return formats;\n }, {});\n const delta = new quill_delta__WEBPACK_IMPORTED_MODULE_3___default.a().retain(range.index).delete(range.length).insert('\\n', lineFormats);\n this.quill.updateContents(delta, quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].sources.USER);\n this.quill.setSelection(range.index + 1, quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].sources.SILENT);\n this.quill.focus();\n Object.keys(context.format).forEach(name => {\n if (lineFormats[name] != null) return;\n if (Array.isArray(context.format[name])) return;\n if (name === 'code' || name === 'link') return;\n this.quill.format(name, context.format[name], quill__WEBPACK_IMPORTED_MODULE_2__[\"default\"].sources.USER);\n });\n }\n },\n tab: {\n key: 9,\n handler: function () {\n // 覆盖默认的tab键\n }\n }\n }\n }\n },\n formats: ['bold', 'italic', 'underline', 'strike', 'color', 'background', 'font', 'size', 'formula', 'code', 'link', 'image', 'formula', 'align'],\n // 明确指定允许的格式,不包含有序列表,无序列表等\n theme: 'snow'\n });\n // 拦截复制事件,即Ctrl + c,去除多余的空行\n this.quill.root.addEventListener('copy', event => {\n event.preventDefault();\n const sel = window.getSelection();\n const originStr = sel.toString();\n try {\n const range = sel.getRangeAt(0);\n const div = document.createElement('div');\n div.appendChild(range.cloneContents());\n const text = Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"nodeRichTextToTextWithWrap\"])(div.innerHTML);\n event.clipboardData.setData('text/plain', text);\n } catch (e) {\n event.clipboardData.setData('text/plain', originStr);\n }\n });\n this.quill.on('selection-change', range => {\n // 刚创建的节点全选不需要显示操作条\n if (this.isInserting) return;\n this.lastRange = this.range;\n this.range = null;\n if (range) {\n this.pasteUseRange = range;\n let bounds = this.quill.getBounds(range.index, range.length);\n let rect = this.textEditNode.getBoundingClientRect();\n let rectInfo = {\n left: bounds.left + rect.left,\n top: bounds.top + rect.top,\n right: bounds.right + rect.left,\n bottom: bounds.bottom + rect.top,\n width: bounds.width\n };\n let formatInfo = this.quill.getFormat(range.index, range.length);\n let hasRange = false;\n if (range.length == 0) {\n hasRange = false;\n } else {\n this.range = range;\n hasRange = true;\n }\n this.mindMap.emit('rich_text_selection_change', hasRange, rectInfo, formatInfo);\n } else {\n this.mindMap.emit('rich_text_selection_change', false, null, null);\n }\n });\n this.quill.on('text-change', () => {\n this.mindMap.emit('node_text_edit_change', {\n node: this.node,\n text: this.getEditText(),\n richText: true\n });\n });\n\n // 添加键盘事件处理,阻止编辑快捷键的事件冒泡\n this.quill.root.addEventListener('keydown', e => {\n const isCtrlOrCmd = e.ctrlKey || e.metaKey;\n const key = e.key.toLowerCase();\n if (isCtrlOrCmd && ['a', 'c', 'v', 'x', 'z', 'y'].includes(key)) {\n e.stopPropagation();\n }\n\n // 阻止空格键的事件冒泡,防止在编辑模式下触发全局快捷键\n if (e.key === ' ' || e.code === 'Space') {\n e.stopPropagation();\n }\n });\n // 拦截粘贴,只允许粘贴纯文本\n // this.quill.clipboard.addMatcher(Node.TEXT_NODE, node => {\n // let style = this.getPasteTextStyle()\n // return new Delta().insert(this.formatPasteText(node.data), style)\n // })\n // 剪贴板里只要存在文本就会走这里,所以当剪贴板里是纯文本,或文本+图片都可以监听到和拦截,但是只有纯图片时不会走这里,所以无法拦截\n this.quill.clipboard.addMatcher(Node.ELEMENT_NODE, (node, delta) => {\n let ops = [];\n let style = this.getPasteTextStyle();\n delta.ops.forEach(op => {\n // 过滤出文本内容,过滤掉换行\n if (op.insert && typeof op.insert === 'string') {\n ops.push({\n attributes: {\n ...style\n },\n insert: this.formatPasteText(op.insert)\n });\n }\n });\n delta.ops = ops;\n return delta;\n });\n // 拦截图片的粘贴,当剪贴板里是纯图片,或文本+图片都可以拦截到,但是带来的问题是文本+图片时里面的文本也无法粘贴\n this.quill.root.addEventListener('paste', e => {\n if (e.clipboardData && e.clipboardData.files && e.clipboardData.files.length) {\n e.preventDefault();\n }\n }, true);\n }\n\n // 获取粘贴的文本的样式\n getPasteTextStyle() {\n // 粘贴的数据使用当前光标位置处的文本样式\n if (this.pasteUseRange) {\n return this.quill.getFormat(this.pasteUseRange.index, this.pasteUseRange.length);\n }\n return {};\n }\n\n // 处理粘贴的文本内容\n formatPasteText(text) {\n const {\n isSmm,\n data\n } = Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"checkSmmFormatData\"])(text);\n if (isSmm && data[0] && data[0].data) {\n // 只取第一个节点的纯文本\n return Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"getTextFromHtml\"])(data[0].data.text);\n } else {\n return text;\n }\n }\n\n // 正则输入中文\n onCompositionStart() {\n if (!this.showTextEdit) {\n return;\n }\n this.isCompositing = true;\n }\n\n // 中文输入中\n onCompositionUpdate() {\n if (!this.showTextEdit || !this.node) return;\n this.mindMap.emit('node_text_edit_change', {\n node: this.node,\n text: this.getEditText(),\n richText: true\n });\n }\n\n // 中文输入结束\n onCompositionEnd() {\n if (!this.showTextEdit) {\n return;\n }\n this.isCompositing = false;\n }\n\n // 选中全部\n selectAll() {\n this.quill.setSelection(0, this.quill.getLength());\n }\n\n // 聚焦\n focus(start) {\n const len = this.quill.getLength();\n this.quill.setSelection(typeof start === 'number' ? start : len, len);\n }\n\n // 格式化当前选中的文本\n formatText(config = {}, clear = false) {\n if (!this.range && !this.lastRange) return;\n const rangeLost = !this.range;\n const range = rangeLost ? this.lastRange : this.range;\n if (clear) {\n this.quill.removeFormat(range.index, range.length);\n } else {\n const {\n align,\n ...rest\n } = config;\n // 文本对齐需要对行进行格式化\n if (align) {\n this.quill.formatLine(range.index, range.length, 'align', align);\n }\n // 其他内容对文本\n if (Object.keys(rest).length > 0) {\n this.quill.formatText(range.index, range.length, rest);\n }\n }\n if (rangeLost) {\n this.quill.setSelection(this.lastRange.index, this.lastRange.length);\n }\n }\n\n // 清除当前选中文本的样式\n removeFormat() {\n this.formatText({}, true);\n }\n\n // 格式化指定范围的文本\n formatRangeText(range, config = {}) {\n if (!range) return;\n this.quill.formatText(range.index, range.length, config);\n }\n\n // 格式化所有文本\n formatAllText(config = {}) {\n this.quill.formatText(0, this.quill.getLength(), config);\n }\n\n // 将普通节点样式对象转换成富文本样式对象\n normalStyleToRichTextStyle(style) {\n const config = {};\n Object.keys(style).forEach(prop => {\n const value = style[prop];\n switch (prop) {\n case 'fontFamily':\n config.font = value;\n break;\n case 'fontSize':\n config.size = value + 'px';\n break;\n case 'fontWeight':\n config.bold = value === 'bold';\n break;\n case 'fontStyle':\n config.italic = value === 'italic';\n break;\n case 'textDecoration':\n config.underline = value === 'underline';\n config.strike = value === 'line-through';\n break;\n case 'color':\n config.color = value;\n break;\n case 'textAlign':\n config.align = value;\n break;\n default:\n break;\n }\n });\n return config;\n }\n\n // 将富文本样式对象转换成普通节点样式对象\n richTextStyleToNormalStyle(config) {\n const data = {};\n Object.keys(config).forEach(prop => {\n const value = config[prop];\n switch (prop) {\n case 'font':\n data.fontFamily = value;\n break;\n case 'size':\n data.fontSize = parseFloat(value);\n break;\n case 'bold':\n data.fontWeight = value ? 'bold' : 'normal';\n break;\n case 'italic':\n data.fontStyle = value ? 'italic' : 'normal';\n break;\n case 'underline':\n data.textDecoration = value ? 'underline' : 'none';\n break;\n case 'strike':\n data.textDecoration = value ? 'line-through' : 'none';\n break;\n case 'color':\n data.color = value;\n break;\n case 'align':\n data.textAlign = value;\n break;\n default:\n break;\n }\n });\n return data;\n }\n\n // 判断一个对象是否包含了富文本支持的样式字段\n isHasRichTextStyle(obj) {\n const keys = Object.keys(obj);\n for (let i = 0; i < keys.length; i++) {\n const key = keys[i];\n if (_constants_constant__WEBPACK_IMPORTED_MODULE_6__[\"richTextSupportStyleList\"].includes(key)) {\n return true;\n }\n }\n return false;\n }\n\n // 检查指定节点是否存在自定义的富文本样式\n checkNodeHasCustomRichTextStyle(node) {\n const nodeData = node instanceof _core_render_node_MindMapNode__WEBPACK_IMPORTED_MODULE_7__[\"default\"] ? node.getData() : node;\n for (let i = 0; i < _constants_constant__WEBPACK_IMPORTED_MODULE_6__[\"richTextSupportStyleList\"].length; i++) {\n if (nodeData[_constants_constant__WEBPACK_IMPORTED_MODULE_6__[\"richTextSupportStyleList\"][i]] !== undefined) {\n return true;\n }\n }\n return false;\n }\n\n // 转换数据后的渲染操作\n afterHandleData() {\n // 清空历史数据,并且触发数据变化\n this.mindMap.command.clearHistory();\n this.mindMap.command.addHistory();\n this.mindMap.render();\n }\n\n // 插件实例化时处理思维导图数据,转换为富文本数据\n handleDataToRichTextOnInit() {\n // 处理数据,转成富文本格式\n if (this.mindMap.renderer.renderTree) {\n // 如果已经存在渲染树了,那么直接更新渲染树,并且触发重新渲染\n this.handleSetData(this.mindMap.renderer.renderTree);\n this.afterHandleData();\n } else if (this.mindMap.opt.data) {\n this.handleSetData(this.mindMap.opt.data);\n }\n }\n\n // 将所有节点转换成非富文本节点\n transformAllNodesToNormalNode() {\n const renderTree = this.mindMap.renderer.renderTree;\n if (!renderTree) return;\n Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"walk\"])(renderTree, null, node => {\n if (node.data.richText) {\n node.data.richText = false;\n node.data.text = Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"getTextFromHtml\"])(node.data.text);\n }\n // 概要\n if (node.data) {\n const generalizationList = Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"formatGetNodeGeneralization\"])(node.data);\n generalizationList.forEach(item => {\n item.richText = false;\n item.text = Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"getTextFromHtml\"])(item.text);\n });\n }\n }, null, true, 0, 0);\n this.afterHandleData();\n }\n handleDataToRichText(data) {\n const oldIsRichText = data.richText;\n data.richText = true;\n data.resetRichText = true;\n // 如果原本就是富文本,那么不能转换\n if (!oldIsRichText) {\n data.text = Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"htmlEscape\"])(data.text);\n }\n }\n\n // 处理导入数据\n handleSetData(data) {\n if (!data) return;\n // 短期处理,为了兼容老数据,长期会去除\n const isOldRichTextVersion = !data.smmVersion || Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"compareVersion\"])(data.smmVersion, '0.13.0') === '<';\n const walk = root => {\n if (root.data && (!root.data.richText || isOldRichTextVersion)) {\n this.handleDataToRichText(root.data);\n }\n // 概要\n if (root.data) {\n const generalizationList = Object(_utils__WEBPACK_IMPORTED_MODULE_5__[\"formatGetNodeGeneralization\"])(root.data);\n generalizationList.forEach(item => {\n if (!item.richText || isOldRichTextVersion) {\n this.handleDataToRichText(item);\n }\n });\n }\n if (root.children && root.children.length > 0) {\n Array.from(root.children).forEach(item => {\n walk(item);\n });\n }\n };\n walk(data);\n return data;\n }\n\n // 插件被移除前做的事情\n beforePluginRemove() {\n this.transformAllNodesToNormalNode();\n document.head.removeChild(this.styleEl);\n this.unbindEvent();\n this.mindMap.removeAppendCss('richText');\n }\n\n // 插件被卸载前做的事情\n beforePluginDestroy() {\n document.head.removeChild(this.styleEl);\n this.unbindEvent();\n }\n}\nRichText.instanceName = 'richText';\n/* harmony default export */ __webpack_exports__[\"default\"] = (RichText);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/RichText.js?");
/***/ }),
/***/ "../simple-mind-map/src/plugins/SYMoc.js":
/*!***********************************************!*\
!*** ../simple-mind-map/src/plugins/SYMoc.js ***!
\***********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_esnext_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/esnext.set.difference.v2.js */ \"./node_modules/core-js/modules/esnext.set.difference.v2.js\");\n/* harmony import */ var core_js_modules_esnext_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_difference_v2_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_esnext_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/esnext.set.intersection.v2.js */ \"./node_modules/core-js/modules/esnext.set.intersection.v2.js\");\n/* harmony import */ var core_js_modules_esnext_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_intersection_v2_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var core_js_modules_esnext_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! core-js/modules/esnext.set.is-disjoint-from.v2.js */ \"./node_modules/core-js/modules/esnext.set.is-disjoint-from.v2.js\");\n/* harmony import */ var core_js_modules_esnext_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_is_disjoint_from_v2_js__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var core_js_modules_esnext_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! core-js/modules/esnext.set.is-subset-of.v2.js */ \"./node_modules/core-js/modules/esnext.set.is-subset-of.v2.js\");\n/* harmony import */ var core_js_modules_esnext_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_is_subset_of_v2_js__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var core_js_modules_esnext_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! core-js/modules/esnext.set.is-superset-of.v2.js */ \"./node_modules/core-js/modules/esnext.set.is-superset-of.v2.js\");\n/* harmony import */ var core_js_modules_esnext_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_is_superset_of_v2_js__WEBPACK_IMPORTED_MODULE_4__);\n/* harmony import */ var core_js_modules_esnext_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! core-js/modules/esnext.set.symmetric-difference.v2.js */ \"./node_modules/core-js/modules/esnext.set.symmetric-difference.v2.js\");\n/* harmony import */ var core_js_modules_esnext_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_symmetric_difference_v2_js__WEBPACK_IMPORTED_MODULE_5__);\n/* harmony import */ var core_js_modules_esnext_set_union_v2_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! core-js/modules/esnext.set.union.v2.js */ \"./node_modules/core-js/modules/esnext.set.union.v2.js\");\n/* harmony import */ var core_js_modules_esnext_set_union_v2_js__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_esnext_set_union_v2_js__WEBPACK_IMPORTED_MODULE_6__);\n\n\n\n\n\n\n\n/**\n * SYMoc 插件\n * 用于实现 MOC 模式,支持节点的创建、修改、删除、拖拽等操作的拦截和 loading 状态管理\n */\nclass SYMoc {\n constructor({\n mindMap\n }) {\n this.mindMap = mindMap;\n this.mocMode = false; // MOC 模式开关\n this.loadingNodes = new Set(); // 正在 loading 的节点 UID 集合\n this.callbacks = {\n onCreate: null,\n // 创建节点回调\n onUpdate: null,\n // 更新节点回调\n onDelete: null,\n // 删除节点回调\n onMove: null // 移动节点回调\n };\n\n // 用于保存原始命令函数\n this.originalCommands = {};\n this.bindEvents();\n }\n\n /**\n * 绑定事件\n */\n bindEvents() {\n // 在插件初始化时不立即拦截,等待启用 MOC 模式时再拦截\n }\n\n /**\n * 启用 MOC 模式\n * @param {Object} callbacks - 回调函数配置\n * @param {Function} callbacks.onCreate - 创建节点回调\n * @param {Function} callbacks.onUpdate - 更新节点回调\n * @param {Function} callbacks.onDelete - 删除节点回调\n * @param {Function} callbacks.onMove - 移动节点回调\n */\n enable(callbacks = {}) {\n if (this.mocMode) return;\n this.mocMode = true;\n this.callbacks = {\n onCreate: callbacks.onCreate || null,\n onUpdate: callbacks.onUpdate || null,\n onDelete: callbacks.onDelete || null,\n onMove: callbacks.onMove || null\n };\n\n // 拦截创建节点的命令\n this.interceptCreateCommands();\n // 拦截删除节点的命令\n this.interceptDeleteCommands();\n // 拦截移动节点的命令\n this.interceptMoveCommands();\n // 拦截更新节点的命令\n this.interceptUpdateCommands();\n // 拦截在 MOC 模式下暂不支持的命令(直接禁用)\n this.interceptDisableCommands();\n this.mindMap.emit('moc_mode_change', true);\n }\n\n /**\n * 禁用 MOC 模式\n */\n disable() {\n if (!this.mocMode) return;\n this.mocMode = false;\n this.callbacks = {\n onCreate: null,\n onUpdate: null,\n onDelete: null,\n onMove: null\n };\n\n // 恢复原始命令\n this.restoreCommands();\n this.mindMap.emit('moc_mode_change', false);\n }\n\n /**\n * 拦截创建节点的命令\n */\n interceptCreateCommands() {\n const commandNames = ['INSERT_CHILD_NODE', 'INSERT_NODE', 'INSERT_MULTI_CHILD_NODE'];\n commandNames.forEach(name => {\n this.interceptCommand(name, this.handleCreateNode.bind(this));\n });\n }\n\n /**\n * 拦截删除节点的命令\n */\n interceptDeleteCommands() {\n const commandNames = ['REMOVE_NODE', 'REMOVE_CURRENT_NODE'];\n commandNames.forEach(name => {\n this.interceptCommand(name, this.handleDeleteNode.bind(this));\n });\n }\n\n /**\n * 拦截移动节点的命令\n */\n interceptMoveCommands() {\n const commandNames = ['INSERT_AFTER', 'INSERT_BEFORE', 'MOVE_NODE_TO'];\n commandNames.forEach(name => {\n this.interceptCommand(name, this.handleMoveNode.bind(this));\n });\n }\n\n /**\n * 拦截更新节点的命令\n */\n interceptUpdateCommands() {\n const commandNames = ['SET_NODE_TEXT'];\n commandNames.forEach(name => {\n this.interceptCommand(name, this.handleUpdateNode.bind(this));\n });\n }\n\n /**\n * 拦截并禁用暂不支持的命令(MOC 模式)\n * 例如:插入父节点、插入多个同级节点、画布内粘贴节点树等\n */\n interceptDisableCommands() {\n const disabled = ['INSERT_PARENT_NODE',\n // 插入父节点\n 'INSERT_MULTI_NODE',\n // 插入多个同级节点\n 'PASTE_NODE',\n // 画布内粘贴节点树\n 'BACK',\n // 撤销(避免与思源文档操作冲突)\n 'FORWARD',\n // 前进(与撤销同理,MOC 下禁用)\n 'UP_NODE',\n // 上移节点(快捷键 Ctrl+↑)\n 'DOWN_NODE' // 下移节点(快捷键 Ctrl+↓)\n ];\n disabled.forEach(name => {\n this.interceptCommand(name, this.handleDisabledCommand.bind(this));\n });\n }\n\n /**\n * 处理禁用命令:什么也不做,仅打印提示\n */\n handleDisabledCommand(commandName) {\n // 可以在这里发出事件供外层提示\n try {\n this.mindMap.emit('moc_operation_blocked', commandName);\n } catch (e) {}\n console.warn('[SYMoc] 命令已在 MOC 模式下禁用:', commandName);\n }\n\n /**\n * 拦截命令\n * @param {String} commandName - 命令名称\n * @param {Function} handler - 拦截处理函数\n */\n interceptCommand(commandName, handler) {\n // 保存原始命令函数\n if (!this.originalCommands[commandName]) {\n this.originalCommands[commandName] = this.mindMap.command.commands[commandName] || [];\n }\n\n // 清空原命令\n this.mindMap.command.remove(commandName);\n\n // 添加拦截后的命令\n this.mindMap.command.add(commandName, (...args) => {\n handler(commandName, args);\n });\n }\n\n /**\n * 恢复原始命令\n */\n restoreCommands() {\n Object.keys(this.originalCommands).forEach(commandName => {\n // 移除拦截的命令\n this.mindMap.command.remove(commandName);\n\n // 恢复原始命令\n const originalFns = this.originalCommands[commandName];\n originalFns.forEach(fn => {\n this.mindMap.command.add(commandName, fn);\n });\n });\n this.originalCommands = {};\n }\n\n /**\n * 处理创建节点\n * @param {String} commandName - 命令名称\n * @param {Array} args - 命令参数\n */\n async handleCreateNode(commandName, args) {\n // 先执行原始命令,创建节点\n const originalFns = this.originalCommands[commandName] || [];\n originalFns.forEach(fn => fn(...args));\n\n // 等待渲染完成,获取新创建的节点\n this.waitForRender().then(async () => {\n // 获取新创建的节点(激活的节点中,不在 loading 列表中的)\n const newNodes = this.mindMap.renderer.activeNodeList.filter(node => {\n return !this.loadingNodes.has(node.getData('uid'));\n });\n if (newNodes.length === 0) return;\n\n // 设置节点为 loading 状态\n newNodes.forEach(node => {\n this.setNodeLoading(node, true);\n });\n\n // 调用创建节点回调\n if (this.callbacks.onCreate) {\n for (const node of newNodes) {\n try {\n const result = await this.callbacks.onCreate({\n node: node,\n nodeUid: node.getData('uid'),\n nodeData: node.nodeData,\n parentNode: node.parent,\n parentUid: node.parent ? node.parent.getData('uid') : null\n });\n\n // 根据返回结果处理\n if (result && result.success) {\n // 成功:解除 loading,可能需要更新节点数据\n this.setNodeLoading(node, false);\n if (result.data) {\n this.updateNodeData(node, result.data);\n }\n } else {\n // 失败:删除节点(静默删除,不触发删除回调)\n this.removeNode(node, true); // 传入 true 表示静默删除\n }\n } catch (error) {\n console.error('MOC 创建节点失败:', error);\n // 出错也删除节点(静默删除)\n this.removeNode(node, true);\n }\n }\n }\n });\n }\n\n /**\n * 处理删除节点\n * @param {String} commandName - 命令名称\n * @param {Array} args - 命令参数\n */\n async handleDeleteNode(commandName, args) {\n // 获取待删除的节点\n const nodesToDelete = [...this.mindMap.renderer.activeNodeList];\n if (nodesToDelete.length === 0) return;\n\n // 调用删除节点回调(可能需要确认)\n if (this.callbacks.onDelete) {\n try {\n const result = await this.callbacks.onDelete({\n nodes: nodesToDelete,\n nodeUids: nodesToDelete.map(n => n.getData('uid'))\n });\n if (result && result.confirmed) {\n // 用户确认删除,设置 loading 状态\n nodesToDelete.forEach(node => {\n this.setNodeLoading(node, true);\n });\n\n // 执行删除操作\n const deleteResult = await result.deletePromise;\n if (deleteResult && deleteResult.success) {\n // 删除成功,执行原始删除命令\n const originalFns = this.originalCommands[commandName] || [];\n originalFns.forEach(fn => fn(...args));\n } else {\n // 删除失败,解除 loading\n nodesToDelete.forEach(node => {\n this.setNodeLoading(node, false);\n });\n }\n }\n // 用户取消删除,不执行任何操作\n } catch (error) {\n console.error('MOC 删除节点失败:', error);\n // 解除 loading\n nodesToDelete.forEach(node => {\n this.setNodeLoading(node, false);\n });\n }\n } else {\n // 没有回调,直接执行原始命令\n const originalFns = this.originalCommands[commandName] || [];\n originalFns.forEach(fn => fn(...args));\n }\n }\n\n /**\n * 处理移动节点\n * @param {String} commandName - 命令名称\n * @param {Array} args - 命令参数\n */\n async handleMoveNode(commandName, args) {\n // 保存移动前的信息,用于失败时恢复\n const moveInfo = this.captureMoveInfo(commandName, args);\n if (!moveInfo) {\n // 无法获取移动信息,直接执行原始命令\n const originalFns = this.originalCommands[commandName] || [];\n originalFns.forEach(fn => fn(...args));\n return;\n }\n\n // 先执行移动\n const originalFns = this.originalCommands[commandName] || [];\n originalFns.forEach(fn => fn(...args));\n\n // 设置节点为 loading 状态\n moveInfo.nodes.forEach(node => {\n this.setNodeLoading(node, true);\n });\n\n // 调用移动节点回调\n if (this.callbacks.onMove) {\n try {\n const result = await this.callbacks.onMove({\n nodes: moveInfo.nodes,\n nodeUids: moveInfo.nodeUids,\n targetNode: moveInfo.targetNode,\n targetUid: moveInfo.targetUid,\n moveType: commandName\n });\n if (result && result.success) {\n // 移动成功,解除 loading\n moveInfo.nodes.forEach(node => {\n this.setNodeLoading(node, false);\n });\n } else {\n // 移动失败,需要恢复原位置\n this.restoreMoveInfo(moveInfo);\n moveInfo.nodes.forEach(node => {\n this.setNodeLoading(node, false);\n });\n }\n } catch (error) {\n console.error('MOC 移动节点失败:', error);\n // 恢复原位置\n this.restoreMoveInfo(moveInfo);\n moveInfo.nodes.forEach(node => {\n this.setNodeLoading(node, false);\n });\n }\n }\n }\n\n /**\n * 处理更新节点(重命名)\n * @param {String} commandName - 命令名称\n * @param {Array} args - 命令参数\n */\n async handleUpdateNode(commandName, args) {\n // SET_NODE_TEXT 命令参数:[node, text]\n const [node, newText] = args;\n if (!node) {\n // 没有节点,直接执行原始命令\n const originalFns = this.originalCommands[commandName] || [];\n originalFns.forEach(fn => fn(...args));\n return;\n }\n\n // 先执行原始命令,更新节点文本\n const originalFns = this.originalCommands[commandName] || [];\n originalFns.forEach(fn => fn(...args));\n\n // 调用更新节点回调\n if (this.callbacks.onUpdate) {\n try {\n // 设置节点为 loading 状态\n this.setNodeLoading(node, true);\n const result = await this.callbacks.onUpdate({\n node: node,\n nodeUid: node.getData('uid'),\n nodeData: node.nodeData,\n newText: newText\n });\n\n // 解除 loading 状态\n this.setNodeLoading(node, false);\n if (result && !result.success) {\n console.error('MOC 更新节点失败:', result.error);\n }\n } catch (error) {\n console.error('MOC 更新节点异常:', error);\n this.setNodeLoading(node, false);\n }\n }\n }\n\n /**\n * 捕获移动前的信息\n * @param {String} commandName - 命令名称\n * @param {Array} args - 命令参数\n * @returns {Object|null} 移动信息\n */\n captureMoveInfo(commandName, args) {\n try {\n if (commandName === 'MOVE_NODE_TO') {\n // MOVE_NODE_TO 命令参数:[node, toNode]\n const [node, toNode] = args;\n if (!node || !toNode) {\n return null;\n }\n\n // 支持单个节点或节点数组\n const nodes = Array.isArray(node) ? node : [node];\n\n // 过滤掉根节点(如果不是多根模式)\n const validNodes = nodes.filter(n => {\n if (!this.mindMap.renderer.isMultiRoot && n.isRoot) {\n return false;\n }\n return true;\n });\n if (validNodes.length === 0) {\n return null;\n }\n\n // 保存移动前的父节点信息\n const oldParents = validNodes.map(n => n.parent);\n return {\n nodes: validNodes,\n nodeUids: validNodes.map(n => n.getData('uid')),\n targetNode: toNode,\n targetUid: toNode.getData('uid'),\n oldParents: oldParents,\n commandName: commandName\n };\n } else if (commandName === 'INSERT_AFTER' || commandName === 'INSERT_BEFORE') {\n // INSERT_AFTER/INSERT_BEFORE 命令参数:[node, existNode]\n const [node, existNode] = args;\n if (!node || !existNode) {\n return null;\n }\n\n // 支持单个节点或节点数组\n const nodes = Array.isArray(node) ? node : [node];\n\n // 过滤掉根节点(如果不是多根模式)\n const validNodes = nodes.filter(n => {\n if (!this.mindMap.renderer.isMultiRoot && n.isRoot) {\n return false;\n }\n return true;\n });\n if (validNodes.length === 0) {\n return null;\n }\n\n // 保存移动前的父节点信息\n const oldParents = validNodes.map(n => n.parent);\n\n // INSERT_AFTER/INSERT_BEFORE 操作后,节点会移动到 existNode 的父节点下\n const targetNode = existNode.parent;\n if (!targetNode) {\n return null;\n }\n return {\n nodes: validNodes,\n nodeUids: validNodes.map(n => n.getData('uid')),\n targetNode: targetNode,\n targetUid: targetNode.getData('uid'),\n oldParents: oldParents,\n commandName: commandName\n };\n }\n return null;\n } catch (error) {\n console.error('捕获移动信息失败:', error);\n return null;\n }\n }\n\n /**\n * 恢复移动信息\n * @param {Object} moveInfo - 移动信息\n */\n restoreMoveInfo(moveInfo) {\n if (!moveInfo || !moveInfo.nodes || !moveInfo.oldParents) {\n return;\n }\n try {\n // 将每个节点恢复到原来的父节点下\n moveInfo.nodes.forEach((node, index) => {\n const oldParent = moveInfo.oldParents[index];\n if (oldParent && oldParent !== node.parent) {\n // 使用原始命令恢复节点位置,避免再次触发拦截\n const originalFns = this.originalCommands['MOVE_NODE_TO'] || [];\n originalFns.forEach(fn => fn(node, oldParent));\n }\n });\n\n // 重新渲染\n this.mindMap.render();\n console.log('MOC 节点位置已恢复');\n } catch (error) {\n console.error('恢复节点位置失败:', error);\n }\n }\n\n /**\n * 设置节点 loading 状态\n * @param {Object} node - 节点实例\n * @param {Boolean} isLoading - 是否 loading\n */\n setNodeLoading(node, isLoading) {\n const uid = node.getData('uid');\n if (isLoading) {\n this.loadingNodes.add(uid);\n // 添加 loading 样式:闪烁效果\n this.startNodeBlink(node);\n } else {\n this.loadingNodes.delete(uid);\n // 移除 loading 样式\n this.stopNodeBlink(node);\n }\n }\n\n /**\n * 开始节点闪烁\n * @param {Object} node - 节点实例\n */\n startNodeBlink(node) {\n if (node._blinkTimer) return;\n let opacity = 1;\n node._blinkTimer = setInterval(() => {\n opacity = opacity === 1 ? 0.5 : 1;\n node.setOpacity(opacity);\n }, 500); // 每 500ms 切换一次透明度\n }\n\n /**\n * 停止节点闪烁\n * @param {Object} node - 节点实例\n */\n stopNodeBlink(node) {\n if (node._blinkTimer) {\n clearInterval(node._blinkTimer);\n node._blinkTimer = null;\n node.setOpacity(1); // 恢复完全不透明\n }\n }\n\n /**\n * 等待渲染完成\n */\n waitForRender() {\n return new Promise(resolve => {\n const handler = () => {\n this.mindMap.off('node_tree_render_end', handler);\n resolve();\n };\n this.mindMap.on('node_tree_render_end', handler);\n });\n }\n\n /**\n * 更新节点数据\n * @param {Object} node - 节点实例\n * @param {Object} data - 新数据\n */\n updateNodeData(node, data) {\n Object.keys(data).forEach(key => {\n node.nodeData.data[key] = data[key];\n });\n\n // MOC 模式特殊处理:如果返回了 docId,将其同步到 uid 以保持一致性\n // 这样 MOC 模式下,uid 始终等于 docId,方便通过 docId 查找节点\n // 还是先注释了,避免手动更改uid可能会影响历史记录等等依赖节点id的情况\n // if (data.docId) {\n // node.nodeData.data.uid = data.docId\n // }\n\n this.mindMap.render();\n }\n\n /**\n * 删除节点\n * @param {Object} node - 节点实例\n * @param {Boolean} silent - 是否静默删除(不触发删除回调)\n */\n removeNode(node, silent = false) {\n // 停止 loading\n this.setNodeLoading(node, false);\n if (silent) {\n // 静默删除:直接调用原始删除命令,不触发拦截\n const originalFns = this.originalCommands['REMOVE_NODE'] || [];\n originalFns.forEach(fn => fn([node]));\n } else {\n // 正常删除:通过 execCommand 触发拦截\n this.mindMap.execCommand('REMOVE_NODE', [node]);\n }\n }\n\n /**\n * 插件被移除前做的事情\n */\n beforePluginRemove() {\n this.disable();\n }\n\n /**\n * 插件被卸载前做的事情\n */\n beforePluginDestroy() {\n this.disable();\n // 清理所有 loading 状态\n this.loadingNodes.forEach(uid => {\n const node = this.mindMap.renderer.findNodeByUid(uid);\n if (node) {\n this.stopNodeBlink(node);\n }\n });\n this.loadingNodes.clear();\n }\n}\nSYMoc.instanceName = 'syMoc';\n/* harmony default export */ __webpack_exports__[\"default\"] = (SYMoc);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/SYMoc.js?");
/***/ }),
/***/ "../simple-mind-map/src/plugins/Scrollbar.js":
/*!***************************************************!*\
!*** ../simple-mind-map/src/plugins/Scrollbar.js ***!
\***************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils_index__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils/index */ \"../simple-mind-map/src/utils/index.js\");\n/* harmony import */ var _constants_constant__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../constants/constant */ \"../simple-mind-map/src/constants/constant.js\");\n\n\n\n// 滚动条插件\nclass Scrollbar {\n // 构造函数\n constructor(opt) {\n this.mindMap = opt.mindMap;\n this.scrollbarWrapSize = {\n width: 0,\n // 水平滚动条的容器宽度\n height: 0 // 垂直滚动条的容器高度\n };\n // 思维导图实际高度\n this.chartHeight = 0;\n this.chartWidth = 0;\n this.reset();\n this.bindEvent();\n }\n\n // 复位数据\n reset() {\n // 当前拖拽的滚动条类型\n this.currentScrollType = '';\n this.isMousedown = false;\n this.mousedownPos = {\n x: 0,\n y: 0\n };\n // 鼠标按下时,滚动条位置\n this.mousedownScrollbarPos = 0;\n }\n\n // 绑定事件\n bindEvent() {\n this.onMousemove = this.onMousemove.bind(this);\n this.onMouseup = this.onMouseup.bind(this);\n this.updateScrollbar = this.updateScrollbar.bind(this);\n this.updateScrollbar = Object(_utils_index__WEBPACK_IMPORTED_MODULE_0__[\"throttle\"])(this.updateScrollbar, 16, this); // 加个节流\n this.mindMap.on('mousemove', this.onMousemove);\n this.mindMap.on('mouseup', this.onMouseup);\n this.mindMap.on('node_tree_render_end', this.updateScrollbar);\n this.mindMap.on('view_data_change', this.updateScrollbar);\n this.mindMap.on('resize', this.updateScrollbar);\n }\n\n // 解绑事件\n unBindEvent() {\n this.mindMap.off('mousemove', this.onMousemove);\n this.mindMap.off('mouseup', this.onMouseup);\n this.mindMap.off('node_tree_render_end', this.updateScrollbar);\n this.mindMap.off('view_data_change', this.updateScrollbar);\n this.mindMap.off('resize', this.updateScrollbar);\n }\n\n // 渲染后、数据改变需要更新滚动条\n updateScrollbar() {\n // 当前正在拖拽滚动条时不需要更新\n if (this.isMousedown) return;\n const res = this.calculationScrollbar();\n this.emitEvent(res);\n }\n\n // 发送滚动条改变事件\n emitEvent(data) {\n this.mindMap.emit('scrollbar_change', data);\n }\n\n // 设置滚动条容器的大小,指滚动条容器的大小,对于水平滚动条,即宽度,对于垂直滚动条,即高度\n setScrollBarWrapSize(width, height) {\n this.scrollbarWrapSize.width = width;\n this.scrollbarWrapSize.height = height;\n }\n\n // 计算滚动条大小和位置\n calculationScrollbar() {\n const rect = this.mindMap.draw.rbox();\n // 减去画布距离浏览器窗口左上角的距离\n const elRect = this.mindMap.elRect;\n rect.x -= elRect.left;\n rect.y -= elRect.top;\n\n // 垂直滚动条\n const canvasHeight = this.mindMap.height; // 画布高度\n const paddingY = canvasHeight / 2; // 首尾允许超出的距离,默认为高度的一半\n const chartHeight = rect.height + paddingY * 2; // 思维导图高度\n this.chartHeight = chartHeight;\n const chartTop = rect.y - paddingY; // 思维导图顶部距画布顶部的距离\n const height = Math.min(canvasHeight / chartHeight * 100, 100); // 滚动条高度 = 画布高度 / 思维导图高度\n let top = -chartTop / chartHeight * 100; // 滚动条距离 = 思维导图顶部距画布顶部的距离 / 思维导图高度\n // 判断是否到达边界\n if (top < 0) {\n top = 0;\n }\n if (top > 100 - height) {\n top = 100 - height;\n }\n\n // 水平滚动条\n const canvasWidth = this.mindMap.width;\n const paddingX = canvasWidth / 2;\n const chartWidth = rect.width + paddingX * 2;\n this.chartWidth = chartWidth;\n const chartLeft = rect.x - paddingX;\n const width = Math.min(canvasWidth / chartWidth * 100, 100);\n let left = -chartLeft / chartWidth * 100;\n if (left < 0) {\n left = 0;\n }\n if (left > 100 - width) {\n left = 100 - width;\n }\n const res = {\n // 垂直滚动条\n vertical: {\n top,\n height\n },\n // 水平滚动条\n horizontal: {\n left,\n width\n }\n };\n return res;\n }\n\n // 滚动条鼠标按下事件处理函数\n onMousedown(e, type) {\n e.preventDefault();\n e.stopPropagation();\n this.currentScrollType = type;\n this.isMousedown = true;\n this.mousedownPos = {\n x: e.clientX,\n y: e.clientY\n };\n // 保存滚动条当前的位置\n const styles = window.getComputedStyle(e.target);\n if (type === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].SCROLL_BAR_DIR.VERTICAL) {\n this.mousedownScrollbarPos = Number.parseFloat(styles.top);\n } else {\n this.mousedownScrollbarPos = Number.parseFloat(styles.left);\n }\n }\n\n // 鼠标移动事件处理函数\n onMousemove(e) {\n if (!this.isMousedown) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n if (this.currentScrollType === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].SCROLL_BAR_DIR.VERTICAL) {\n const oy = e.clientY - this.mousedownPos.y + this.mousedownScrollbarPos;\n this.updateMindMapView(_constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].SCROLL_BAR_DIR.VERTICAL, oy);\n } else {\n const ox = e.clientX - this.mousedownPos.x + this.mousedownScrollbarPos;\n this.updateMindMapView(_constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].SCROLL_BAR_DIR.HORIZONTAL, ox);\n }\n }\n\n // 鼠标松开事件处理函数\n onMouseup() {\n this.isMousedown = false;\n this.reset();\n }\n\n // 更新视图\n updateMindMapView(type, offset) {\n const scrollbarData = this.calculationScrollbar();\n const t = this.mindMap.draw.transform();\n const drawRect = this.mindMap.draw.rbox();\n const rootRect = this.mindMap.renderer.root.group.rbox();\n const rootCenterOffset = this.mindMap.renderer.layout.getRootCenterOffset(rootRect.width, rootRect.height);\n if (type === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].SCROLL_BAR_DIR.VERTICAL) {\n // 滚动条新位置\n let oy = offset;\n // 判断是否达到首尾\n if (oy <= 0) {\n oy = 0;\n }\n const max = (100 - scrollbarData.vertical.height) / 100 * this.scrollbarWrapSize.height;\n if (oy >= max) {\n oy = max;\n }\n // 转换成百分比\n const oyPercentage = oy / this.scrollbarWrapSize.height * 100;\n // 转换成相对于图形高度的距离\n const oyPx = -oyPercentage / 100 * this.chartHeight;\n // 节点中心点到图形最上方的距离\n const yOffset = rootRect.y - drawRect.y;\n // 内边距\n const paddingY = this.mindMap.height / 2;\n // 图形新位置\n const chartTop = oyPx + yOffset - paddingY * t.scaleY + paddingY - rootCenterOffset.y * t.scaleY + (this.mindMap.height - this.mindMap.initHeight) / 2 * t.scaleY; // 画布宽高改变了,但是思维导图元素变换的中心点依旧是原有位置,所以需要加上中心点变化量\n this.mindMap.view.translateYTo(chartTop);\n this.emitEvent({\n horizontal: scrollbarData.horizontal,\n vertical: {\n top: oyPercentage,\n height: scrollbarData.vertical.height\n }\n });\n } else {\n // 滚动条新位置\n let ox = offset;\n // 判断是否达到首尾\n if (ox <= 0) {\n ox = 0;\n }\n const max = (100 - scrollbarData.horizontal.width) / 100 * this.scrollbarWrapSize.width;\n if (ox >= max) {\n ox = max;\n }\n // 转换成百分比\n const oxPercentage = ox / this.scrollbarWrapSize.width * 100;\n // 转换成相对于图形宽度的距离\n const oxPx = -oxPercentage / 100 * this.chartWidth;\n // 节点中心点到图形最左边的距离\n const xOffset = rootRect.x - drawRect.x;\n // 内边距\n const paddingX = this.mindMap.width / 2;\n // 图形新位置\n const chartLeft = oxPx + xOffset - paddingX * t.scaleX + paddingX - rootCenterOffset.x * t.scaleX + (this.mindMap.width - this.mindMap.initWidth) / 2 * t.scaleX; // 画布宽高改变了,但是思维导图元素变换的中心点依旧是原有位置,所以需要加上中心点变化量\n this.mindMap.view.translateXTo(chartLeft);\n this.emitEvent({\n vertical: scrollbarData.vertical,\n horizontal: {\n left: oxPercentage,\n width: scrollbarData.horizontal.width\n }\n });\n }\n }\n\n // 滚动条的点击事件\n onClick(e, type) {\n let offset = 0;\n if (type === _constants_constant__WEBPACK_IMPORTED_MODULE_1__[\"CONSTANTS\"].SCROLL_BAR_DIR.VERTICAL) {\n offset = e.clientY - e.currentTarget.getBoundingClientRect().top;\n } else {\n offset = e.clientX - e.currentTarget.getBoundingClientRect().left;\n }\n this.updateMindMapView(type, offset);\n }\n\n // 插件被移除前做的事情\n beforePluginRemove() {\n this.unBindEvent();\n }\n\n // 插件被卸载前做的事情\n beforePluginDestroy() {\n this.unBindEvent();\n }\n}\nScrollbar.instanceName = 'scrollbar';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Scrollbar);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/Scrollbar.js?");
/***/ }),
/***/ "../simple-mind-map/src/plugins/Search.js":
/*!************************************************!*\
!*** ../simple-mind-map/src/plugins/Search.js ***!
\************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils_index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/index */ \"../simple-mind-map/src/utils/index.js\");\n/* harmony import */ var _core_render_node_MindMapNode__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../core/render/node/MindMapNode */ \"../simple-mind-map/src/core/render/node/MindMapNode.js\");\n/* harmony import */ var _constants_constant__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../constants/constant */ \"../simple-mind-map/src/constants/constant.js\");\n\n\n\n\n\n// 搜索插件\nclass Search {\n // 构造函数\n constructor({\n mindMap\n }) {\n this.mindMap = mindMap;\n // 是否正在搜索\n this.isSearching = false;\n // 搜索文本\n this.searchText = '';\n // 匹配的节点列表\n this.matchNodeList = [];\n // 当前所在的节点列表索引\n this.currentIndex = -1;\n // 不要复位搜索文本\n this.notResetSearchText = false;\n // 是否自动跳转下一个匹配节点\n this.isJumpNext = false;\n this.bindEvent();\n }\n bindEvent() {\n this.onDataChange = this.onDataChange.bind(this);\n this.onModeChange = this.onModeChange.bind(this);\n this.mindMap.on('data_change', this.onDataChange);\n this.mindMap.on('mode_change', this.onModeChange);\n }\n unBindEvent() {\n this.mindMap.off('data_change', this.onDataChange);\n this.mindMap.off('mode_change', this.onModeChange);\n }\n\n // 节点数据改变了,需要重新搜索\n onDataChange() {\n if (this.isJumpNext) {\n this.isJumpNext = false;\n this.search(this.searchText);\n return;\n }\n if (this.notResetSearchText) {\n this.notResetSearchText = false;\n return;\n }\n this.searchText = '';\n }\n\n // 监听只读模式切换\n onModeChange(mode) {\n const isReadonly = mode === _constants_constant__WEBPACK_IMPORTED_MODULE_3__[\"CONSTANTS\"].MODE.READONLY;\n // 如果是由只读模式切换为非只读模式,需要清除只读模式下的节点高亮\n if (!isReadonly && this.isSearching && this.matchNodeList[this.currentIndex]) {\n this.matchNodeList[this.currentIndex].closeHighlight();\n }\n }\n\n // 搜索\n search(text, callback = () => {}) {\n if (Object(_utils_index__WEBPACK_IMPORTED_MODULE_1__[\"isUndef\"])(text)) return this.endSearch();\n text = String(text);\n this.isSearching = true;\n if (this.searchText === text) {\n // 和上一次搜索文本一样,那么搜索下一个\n this.searchNext(callback);\n } else {\n // 和上次搜索文本不一样,那么重新开始\n this.searchText = text;\n this.doSearch();\n this.searchNext(callback);\n }\n this.emitEvent();\n }\n\n // 更新匹配节点列表\n updateMatchNodeList(list) {\n this.matchNodeList = list;\n this.mindMap.emit('search_match_node_list_change', list);\n }\n\n // 结束搜索\n endSearch() {\n if (!this.isSearching) return;\n if (this.mindMap.opt.readonly && this.matchNodeList[this.currentIndex]) {\n this.matchNodeList[this.currentIndex].closeHighlight();\n }\n this.searchText = '';\n this.updateMatchNodeList([]);\n this.currentIndex = -1;\n this.notResetSearchText = false;\n this.isSearching = false;\n this.emitEvent();\n }\n\n // 搜索匹配的节点\n doSearch() {\n this.clearHighlightOnReadonly();\n this.updateMatchNodeList([]);\n this.currentIndex = -1;\n const {\n isOnlySearchCurrentRenderNodes\n } = this.mindMap.opt;\n // 如果要搜索收起来的节点,那么要遍历渲染树而不是节点树\n const tree = isOnlySearchCurrentRenderNodes ? this.mindMap.renderer.root : this.mindMap.renderer.renderTree;\n if (!tree) return;\n const matchList = [];\n Object(_utils_index__WEBPACK_IMPORTED_MODULE_1__[\"bfsWalk\"])(tree, node => {\n let {\n richText,\n text,\n generalization\n } = isOnlySearchCurrentRenderNodes ? node.getData() : node.data;\n if (richText) {\n text = Object(_utils_index__WEBPACK_IMPORTED_MODULE_1__[\"getTextFromHtml\"])(text);\n }\n if (text.includes(this.searchText)) {\n matchList.push(node);\n }\n // 概要节点\n const generalizationList = Object(_utils_index__WEBPACK_IMPORTED_MODULE_1__[\"formatGetNodeGeneralization\"])({\n generalization\n });\n generalizationList.forEach(gNode => {\n let {\n richText,\n text,\n uid\n } = gNode;\n if (isOnlySearchCurrentRenderNodes && !this.mindMap.renderer.findNodeByUid(uid)) {\n return;\n }\n if (richText) {\n text = Object(_utils_index__WEBPACK_IMPORTED_MODULE_1__[\"getTextFromHtml\"])(text);\n }\n if (text.includes(this.searchText)) {\n matchList.push({\n data: gNode\n });\n }\n });\n });\n this.updateMatchNodeList(matchList);\n }\n\n // 判断对象是否是节点实例\n isNodeInstance(node) {\n return node instanceof _core_render_node_MindMapNode__WEBPACK_IMPORTED_MODULE_2__[\"default\"];\n }\n\n // 搜索下一个或指定索引,定位到下一个匹配节点\n searchNext(callback, index) {\n if (!this.isSearching || this.matchNodeList.length <= 0) return;\n if (index !== undefined && Number.isInteger(index) && index >= 0 && index < this.matchNodeList.length) {\n this.currentIndex = index;\n } else {\n if (this.currentIndex < this.matchNodeList.length - 1) {\n this.currentIndex++;\n } else {\n this.currentIndex = 0;\n }\n }\n const {\n readonly\n } = this.mindMap.opt;\n // 只读模式下需要清除之前节点的高亮\n this.clearHighlightOnReadonly();\n const currentNode = this.matchNodeList[this.currentIndex];\n this.notResetSearchText = true;\n const uid = this.isNodeInstance(currentNode) ? currentNode.getData('uid') : currentNode.data.uid;\n if (!uid) {\n callback();\n return;\n }\n const targetNode = this.mindMap.renderer.findNodeByUid(uid);\n this.mindMap.execCommand('GO_TARGET_NODE', uid, node => {\n if (!this.isNodeInstance(currentNode)) {\n this.matchNodeList[this.currentIndex] = node;\n this.updateMatchNodeList(this.matchNodeList);\n }\n callback();\n // 只读模式下节点无法激活,所以通过高亮的方式\n if (readonly) {\n node.highlight();\n }\n // 如果当前节点实例已经存在,则不会触发data_change事件,那么需要手动把标志复位\n if (targetNode) {\n this.notResetSearchText = false;\n }\n });\n }\n\n // 只读模式下清除现有匹配节点的高亮\n clearHighlightOnReadonly() {\n const {\n readonly\n } = this.mindMap.opt;\n if (readonly) {\n this.matchNodeList.forEach(node => {\n if (this.isNodeInstance(node)) {\n node.closeHighlight();\n }\n });\n }\n }\n\n // 定位到指定搜索结果索引的节点\n jump(index, callback = () => {}) {\n this.searchNext(callback, index);\n }\n\n // 替换当前节点\n replace(replaceText, jumpNext = false) {\n if (replaceText === null || replaceText === undefined || !this.isSearching || this.matchNodeList.length <= 0) return;\n // 自动跳转下一个匹配节点\n this.isJumpNext = jumpNext;\n replaceText = String(replaceText);\n let currentNode = this.matchNodeList[this.currentIndex];\n if (!currentNode) return;\n // 如果当前搜索文本是替换文本的子串,那么该节点还是符合搜索结果的\n const keep = replaceText.includes(this.searchText);\n const text = this.getReplacedText(currentNode, this.searchText, replaceText);\n this.notResetSearchText = true;\n currentNode.setText(text, currentNode.getData('richText'));\n if (keep) {\n this.updateMatchNodeList(this.matchNodeList);\n return;\n }\n const newList = this.matchNodeList.filter(node => {\n return currentNode !== node;\n });\n this.updateMatchNodeList(newList);\n if (this.currentIndex > this.matchNodeList.length - 1) {\n this.currentIndex = -1;\n } else {\n this.currentIndex--;\n }\n this.emitEvent();\n }\n\n // 替换所有\n replaceAll(replaceText) {\n if (replaceText === null || replaceText === undefined || !this.isSearching || this.matchNodeList.length <= 0) return;\n replaceText = String(replaceText);\n // 如果当前搜索文本是替换文本的子串,那么该节点还是符合搜索结果的\n const keep = replaceText.includes(this.searchText);\n this.notResetSearchText = true;\n this.matchNodeList.forEach(node => {\n const text = this.getReplacedText(node, this.searchText, replaceText);\n if (this.isNodeInstance(node)) {\n const data = {\n text\n };\n this.mindMap.renderer.setNodeDataRender(node, data, true);\n } else {\n node.data.text = text;\n }\n });\n this.mindMap.render();\n this.mindMap.command.addHistory();\n if (keep) {\n this.updateMatchNodeList(this.matchNodeList);\n } else {\n this.endSearch();\n }\n }\n\n // 获取某个节点替换后的文本\n getReplacedText(node, searchText, replaceText) {\n let {\n richText,\n text\n } = this.isNodeInstance(node) ? node.getData() : node.data;\n if (richText) {\n return Object(_utils_index__WEBPACK_IMPORTED_MODULE_1__[\"replaceHtmlText\"])(text, searchText, replaceText);\n } else {\n return text.replace(new RegExp(searchText, 'g'), replaceText);\n }\n }\n\n // 发送事件\n emitEvent() {\n this.mindMap.emit('search_info_change', {\n currentIndex: this.currentIndex,\n total: this.matchNodeList.length\n });\n }\n\n // 插件被移除前做的事情\n beforePluginRemove() {\n this.unBindEvent();\n }\n\n // 插件被卸载前做的事情\n beforePluginDestroy() {\n this.unBindEvent();\n }\n}\nSearch.instanceName = 'search';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Search);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/Search.js?");
/***/ }),
/***/ "../simple-mind-map/src/plugins/Select.js":
/*!************************************************!*\
!*** ../simple-mind-map/src/plugins/Select.js ***!
\************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/src/utils/index.js\");\n/* harmony import */ var _utils_AutoMove__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils/AutoMove */ \"../simple-mind-map/src/utils/AutoMove.js\");\n\n\n\n// 节点选择插件\nclass Select {\n // 构造函数\n constructor({\n mindMap\n }) {\n this.mindMap = mindMap;\n this.rect = null;\n this.isMousedown = false;\n this.mouseDownX = 0;\n this.mouseDownY = 0;\n this.mouseMoveX = 0;\n this.mouseMoveY = 0;\n this.isSelecting = false;\n this.cacheActiveList = [];\n this.autoMove = new _utils_AutoMove__WEBPACK_IMPORTED_MODULE_1__[\"default\"](mindMap);\n this.bindEvent();\n }\n\n // 绑定事件\n bindEvent() {\n this.onMousedown = this.onMousedown.bind(this);\n this.onMousemove = this.onMousemove.bind(this);\n this.onMouseup = this.onMouseup.bind(this);\n this.checkInNodes = Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"throttle\"])(this.checkInNodes, 300, this);\n this.mindMap.on('mousedown', this.onMousedown);\n this.mindMap.on('mousemove', this.onMousemove);\n this.mindMap.on('mouseup', this.onMouseup);\n this.mindMap.on('node_mouseup', this.onMouseup);\n }\n\n // 解绑事件\n unBindEvent() {\n this.mindMap.off('mousedown', this.onMousedown);\n this.mindMap.off('mousemove', this.onMousemove);\n this.mindMap.off('mouseup', this.onMouseup);\n this.mindMap.off('node_mouseup', this.onMouseup);\n }\n\n // 鼠标按下\n onMousedown(e) {\n const {\n readonly,\n mousedownEventPreventDefault\n } = this.mindMap.opt;\n if (readonly) {\n return;\n }\n let {\n useLeftKeySelectionRightKeyDrag\n } = this.mindMap.opt;\n if (!(e.ctrlKey || e.metaKey) && (useLeftKeySelectionRightKeyDrag ? e.which !== 1 : e.which !== 3)) {\n return;\n }\n if (mousedownEventPreventDefault) {\n e.preventDefault();\n }\n this.isMousedown = true;\n this.cacheActiveList = [...this.mindMap.renderer.activeNodeList];\n let {\n x,\n y\n } = this.mindMap.toPos(e.clientX, e.clientY);\n this.mouseDownX = x;\n this.mouseDownY = y;\n this.createRect(x, y);\n }\n\n // 鼠标移动\n onMousemove(e) {\n if (this.mindMap.opt.readonly) {\n return;\n }\n if (!this.isMousedown) {\n return;\n }\n let {\n x,\n y\n } = this.mindMap.toPos(e.clientX, e.clientY);\n this.mouseMoveX = x;\n this.mouseMoveY = y;\n if (Math.abs(x - this.mouseDownX) <= 10 && Math.abs(y - this.mouseDownY) <= 10) {\n return;\n }\n this.autoMove.clearAutoMoveTimer();\n this.autoMove.onMove(e.clientX, e.clientY, () => {\n this.isSelecting = true;\n // 绘制矩形\n if (this.rect) {\n this.rect.plot([[this.mouseDownX, this.mouseDownY], [this.mouseMoveX, this.mouseDownY], [this.mouseMoveX, this.mouseMoveY], [this.mouseDownX, this.mouseMoveY]]);\n }\n this.checkInNodes();\n }, (dir, step) => {\n switch (dir) {\n case 'left':\n this.mouseDownX += step;\n break;\n case 'top':\n this.mouseDownY += step;\n break;\n case 'right':\n this.mouseDownX -= step;\n break;\n case 'bottom':\n this.mouseDownY -= step;\n break;\n default:\n break;\n }\n });\n }\n\n // 结束框选\n onMouseup() {\n if (this.mindMap.opt.readonly) {\n return;\n }\n if (!this.isMousedown) {\n return;\n }\n this.checkTriggerNodeActiveEvent();\n this.autoMove.clearAutoMoveTimer();\n this.isMousedown = false;\n this.cacheActiveList = [];\n if (this.rect) this.rect.remove();\n this.rect = null;\n setTimeout(() => {\n this.isSelecting = false;\n }, 0);\n }\n\n // 如果激活节点改变了,那么触发事件\n checkTriggerNodeActiveEvent() {\n let isNumChange = this.cacheActiveList.length !== this.mindMap.renderer.activeNodeList.length;\n let isNodeChange = false;\n if (!isNumChange) {\n for (let i = 0; i < this.cacheActiveList.length; i++) {\n let cur = this.cacheActiveList[i];\n if (!this.mindMap.renderer.activeNodeList.find(item => {\n return item.getData('uid') === cur.getData('uid');\n })) {\n isNodeChange = true;\n break;\n }\n }\n }\n if (isNumChange || isNodeChange) {\n this.mindMap.renderer.emitNodeActiveEvent();\n }\n }\n\n // 创建矩形\n createRect(x, y) {\n if (this.rect) this.rect.remove();\n this.rect = this.mindMap.svg.polygon().stroke({\n color: '#0984e3'\n }).fill({\n color: 'rgba(9,132,227,0.3)'\n }).plot([[x, y]]);\n }\n\n // 检测在选区里的节点\n checkInNodes() {\n let {\n scaleX,\n scaleY,\n translateX,\n translateY\n } = this.mindMap.draw.transform();\n let minx = Math.min(this.mouseDownX, this.mouseMoveX);\n let miny = Math.min(this.mouseDownY, this.mouseMoveY);\n let maxx = Math.max(this.mouseDownX, this.mouseMoveX);\n let maxy = Math.max(this.mouseDownY, this.mouseMoveY);\n const check = node => {\n let {\n left,\n top,\n width,\n height\n } = node;\n let right = (left + width) * scaleX + translateX;\n let bottom = (top + height) * scaleY + translateY;\n left = left * scaleX + translateX;\n top = top * scaleY + translateY;\n if (Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"checkTwoRectIsOverlap\"])(minx, maxx, miny, maxy, left, right, top, bottom)) {\n if (node.getData('isActive')) {\n return;\n }\n this.mindMap.renderer.addNodeToActiveList(node);\n this.mindMap.renderer.emitNodeActiveEvent();\n } else if (node.getData('isActive')) {\n if (!node.getData('isActive')) {\n return;\n }\n this.mindMap.renderer.removeNodeFromActiveList(node);\n this.mindMap.renderer.emitNodeActiveEvent();\n }\n };\n Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"bfsWalk\"])(this.mindMap.renderer.root, node => {\n check(node);\n // 概要节点\n if (node._generalizationList && node._generalizationList.length > 0) {\n node._generalizationList.forEach(item => {\n check(item.generalizationNode);\n });\n }\n });\n }\n\n // 是否存在选区\n hasSelectRange() {\n return this.isSelecting;\n }\n\n // 插件被移除前做的事情\n beforePluginRemove() {\n this.unBindEvent();\n }\n\n // 插件被卸载前做的事情\n beforePluginDestroy() {\n this.unBindEvent();\n }\n}\nSelect.instanceName = 'select';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Select);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/Select.js?");
/***/ }),
/***/ "../simple-mind-map/src/plugins/TouchEvent.js":
/*!****************************************************!*\
!*** ../simple-mind-map/src/plugins/TouchEvent.js ***!
\****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/src/utils/index.js\");\n\n\n// 手势事件支持插件\nclass TouchEvent {\n // 构造函数\n constructor({\n mindMap\n }) {\n this.mindMap = mindMap;\n this.touchesNum = 0;\n this.singleTouchstartEvent = null;\n this.clickNum = 0;\n this.touchStartScaleView = null;\n this.lastTouchStartPosition = null;\n this.lastTouchStartDistance = 0;\n this.bindEvent();\n }\n\n // 绑定事件\n bindEvent() {\n this.onTouchstart = this.onTouchstart.bind(this);\n this.onTouchmove = this.onTouchmove.bind(this);\n this.onTouchcancel = this.onTouchcancel.bind(this);\n this.onTouchend = this.onTouchend.bind(this);\n window.addEventListener('touchstart', this.onTouchstart, {\n passive: false\n });\n window.addEventListener('touchmove', this.onTouchmove, {\n passive: false\n });\n window.addEventListener('touchcancel', this.onTouchcancel, {\n passive: false\n });\n window.addEventListener('touchend', this.onTouchend, {\n passive: false\n });\n }\n\n // 解绑事件\n unBindEvent() {\n window.removeEventListener('touchstart', this.onTouchstart);\n window.removeEventListener('touchmove', this.onTouchmove);\n window.removeEventListener('touchcancel', this.onTouchcancel);\n window.removeEventListener('touchend', this.onTouchend);\n }\n\n // 手指按下事件\n onTouchstart(e) {\n this.touchesNum = e.touches.length;\n this.touchStartScaleView = null;\n if (this.touchesNum === 1) {\n let touch = e.touches[0];\n if (this.lastTouchStartPosition) {\n this.lastTouchStartDistance = Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"getTwoPointDistance\"])(this.lastTouchStartPosition.x, this.lastTouchStartPosition.y, touch.clientX, touch.clientY);\n }\n this.lastTouchStartPosition = {\n x: touch.clientX,\n y: touch.clientY\n };\n this.singleTouchstartEvent = touch;\n this.dispatchMouseEvent('mousedown', touch.target, touch);\n }\n }\n\n // 手指移动事件\n onTouchmove(e) {\n let len = e.touches.length;\n if (len === 1) {\n let touch = e.touches[0];\n this.dispatchMouseEvent('mousemove', touch.target, touch);\n } else if (len === 2) {\n let {\n disableTouchZoom,\n minTouchZoomScale,\n maxTouchZoomScale\n } = this.mindMap.opt;\n if (disableTouchZoom) return;\n minTouchZoomScale = minTouchZoomScale === -1 ? -Infinity : minTouchZoomScale / 100;\n maxTouchZoomScale = maxTouchZoomScale === -1 ? Infinity : maxTouchZoomScale / 100;\n let touch1 = e.touches[0];\n let touch2 = e.touches[1];\n let ox = touch1.clientX - touch2.clientX;\n let oy = touch1.clientY - touch2.clientY;\n let distance = Math.sqrt(Math.pow(ox, 2) + Math.pow(oy, 2));\n // 以两指中心点进行缩放\n let {\n x: touch1ClientX,\n y: touch1ClientY\n } = this.mindMap.toPos(touch1.clientX, touch1.clientY);\n let {\n x: touch2ClientX,\n y: touch2ClientY\n } = this.mindMap.toPos(touch2.clientX, touch2.clientY);\n let cx = (touch1ClientX + touch2ClientX) / 2;\n let cy = (touch1ClientY + touch2ClientY) / 2;\n // 手势缩放,基于最开始的位置进行缩放(基于前一个位置缩放不是线性关系); 缩放同时支持位置拖动\n const view = this.mindMap.view;\n if (!this.touchStartScaleView) {\n this.touchStartScaleView = {\n distance: distance,\n scale: view.scale,\n x: view.x,\n y: view.y,\n cx: cx,\n cy: cy\n };\n return;\n }\n const viewBefore = this.touchStartScaleView;\n let scale = viewBefore.scale * (distance / viewBefore.distance);\n if (Math.abs(distance - viewBefore.distance) <= 10) {\n scale = viewBefore.scale;\n }\n scale = scale < minTouchZoomScale ? minTouchZoomScale : scale > maxTouchZoomScale ? maxTouchZoomScale : scale;\n const ratio = 1 - scale / viewBefore.scale;\n view.scale = scale;\n view.x = viewBefore.x + (cx - viewBefore.x) * ratio + (cx - viewBefore.cx) * scale;\n view.y = viewBefore.y + (cy - viewBefore.y) * ratio + (cy - viewBefore.cy) * scale;\n view.transform();\n this.mindMap.emit('scale', scale);\n }\n }\n\n // 手指取消事件\n onTouchcancel(e) {}\n\n // 手指松开事件\n onTouchend(e) {\n this.dispatchMouseEvent('mouseup', e.target);\n if (this.touchesNum === 1) {\n // 模拟双击事件\n this.clickNum++;\n setTimeout(() => {\n this.clickNum = 0;\n this.lastTouchStartPosition = null;\n this.lastTouchStartDistance = 0;\n }, 300);\n let ev = this.singleTouchstartEvent;\n if (this.clickNum > 1 && this.lastTouchStartDistance <= 5) {\n this.clickNum = 0;\n this.dispatchMouseEvent('dblclick', ev.target, ev);\n } else {\n // 点击事件应该不用模拟\n // this.dispatchMouseEvent('click', ev.target, ev)\n }\n }\n this.touchesNum = 0;\n this.singleTouchstartEvent = null;\n this.touchStartScaleView = null;\n }\n\n // 发送鼠标事件\n dispatchMouseEvent(eventName, target, e) {\n let opt = {};\n if (e) {\n opt = {\n screenX: e.screenX,\n screenY: e.screenY,\n clientX: e.clientX,\n clientY: e.clientY,\n which: 1\n };\n }\n let event = new MouseEvent(eventName, {\n view: document.defaultView,\n bubbles: true,\n cancelable: true,\n ...opt\n });\n target.dispatchEvent(event);\n }\n\n // 插件被移除前做的事情\n beforePluginRemove() {\n this.unBindEvent();\n }\n\n // 插件被卸载前做的事情\n beforePluginDestroy() {\n this.unBindEvent();\n }\n}\nTouchEvent.instanceName = 'touchEvent';\n/* harmony default export */ __webpack_exports__[\"default\"] = (TouchEvent);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/TouchEvent.js?");
/***/ }),
/***/ "../simple-mind-map/src/plugins/Watermark.js":
/*!***************************************************!*\
!*** ../simple-mind-map/src/plugins/Watermark.js ***!
\***************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _svgdotjs_svg_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @svgdotjs/svg.js */ \"../simple-mind-map/node_modules/@svgdotjs/svg.js/dist/svg.esm.js\");\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/src/utils/index.js\");\n/* harmony import */ var deepmerge__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! deepmerge */ \"../simple-mind-map/node_modules/deepmerge/dist/cjs.js\");\n/* harmony import */ var deepmerge__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(deepmerge__WEBPACK_IMPORTED_MODULE_2__);\n\n\n\n\n// 水印插件\nclass Watermark {\n constructor(opt = {}) {\n this.mindMap = opt.mindMap;\n this.lineSpacing = 0; // 水印行间距\n this.textSpacing = 0; // 行内水印间距\n this.angle = 0; // 旋转角度\n this.text = ''; // 水印文字\n this.textStyle = {}; // 水印文字样式\n this.watermarkDraw = null; // 容器\n this.isInExport = false; // 是否是在导出过程中\n this.maxLong = this.getMaxLong();\n this.updateWatermark(this.mindMap.opt.watermarkConfig || {});\n this.bindEvent();\n }\n getMaxLong() {\n return Math.sqrt(Math.pow(this.mindMap.width, 2) + Math.pow(this.mindMap.height, 2));\n }\n bindEvent() {\n this.onResize = this.onResize.bind(this);\n this.mindMap.on('resize', this.onResize);\n }\n unBindEvent() {\n this.mindMap.off('resize', this.onResize);\n }\n onResize() {\n this.maxLong = this.getMaxLong();\n this.draw();\n }\n\n // 创建水印容器\n createContainer() {\n if (this.watermarkDraw) return;\n this.watermarkDraw = new _svgdotjs_svg_js__WEBPACK_IMPORTED_MODULE_0__[\"G\"]().css({\n 'pointer-events': 'none',\n 'user-select': 'none'\n }).addClass('smm-water-mark-container');\n this.updateLayer();\n }\n\n // 更新水印容器层级\n updateLayer() {\n if (!this.watermarkDraw) return;\n const {\n belowNode\n } = this.mindMap.opt.watermarkConfig;\n if (belowNode) {\n this.watermarkDraw.insertBefore(this.mindMap.draw);\n } else {\n this.mindMap.svg.add(this.watermarkDraw);\n }\n }\n\n // 删除水印容器\n removeContainer() {\n if (!this.watermarkDraw) {\n return;\n }\n this.watermarkDraw.remove();\n this.watermarkDraw = null;\n }\n\n // 获取是否存在水印\n hasWatermark() {\n return !!this.text.trim();\n }\n\n // 处理水印配置\n handleConfig({\n text,\n lineSpacing,\n textSpacing,\n angle,\n textStyle\n }) {\n this.text = text === undefined ? '' : String(text).trim();\n this.lineSpacing = typeof lineSpacing === 'number' && lineSpacing > 0 ? lineSpacing : 100;\n this.textSpacing = typeof textSpacing === 'number' && textSpacing > 0 ? textSpacing : 100;\n this.angle = typeof angle === 'number' && angle >= 0 && angle <= 90 ? angle : 30;\n this.textStyle = Object.assign(this.textStyle, textStyle || {});\n }\n\n // 清除水印\n clear() {\n if (this.watermarkDraw) this.watermarkDraw.clear();\n }\n\n // 绘制水印\n // 非精确绘制,会绘制一些超出可视区域的水印\n draw() {\n this.clear();\n // 如果是仅导出需要水印,那么非导出中不渲染\n const {\n onlyExport\n } = this.mindMap.opt.watermarkConfig;\n if (onlyExport && !this.isInExport) return;\n // 如果没有水印数据,那么水印容器也删除掉\n if (!this.hasWatermark()) {\n this.removeContainer();\n return;\n }\n this.createContainer();\n let x = 0;\n while (x < this.mindMap.width) {\n this.drawText(x);\n x += this.lineSpacing / Math.sin(Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"degToRad\"])(this.angle));\n }\n let yOffset = this.lineSpacing / Math.cos(Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"degToRad\"])(this.angle)) || this.lineSpacing;\n let y = yOffset;\n while (y < this.mindMap.height) {\n this.drawText(0, y);\n y += yOffset;\n }\n }\n\n // 绘制文字\n drawText(x, y) {\n let long = Math.min(this.maxLong, (this.mindMap.width - x) / Math.cos(Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"degToRad\"])(this.angle)));\n let g = new _svgdotjs_svg_js__WEBPACK_IMPORTED_MODULE_0__[\"G\"]();\n let bbox = null;\n let bboxWidth = 0;\n let textHeight = -1;\n while (bboxWidth < long) {\n let text = new _svgdotjs_svg_js__WEBPACK_IMPORTED_MODULE_0__[\"Text\"]().text(this.text);\n g.add(text);\n text.transform({\n translateX: bboxWidth\n });\n this.setTextStyle(text);\n bbox = g.bbox();\n if (textHeight === -1) {\n textHeight = bbox.height;\n }\n bboxWidth = bbox.width + this.textSpacing;\n }\n let params = {\n rotate: this.angle,\n origin: 'top left',\n translateX: x,\n translateY: textHeight\n };\n if (y !== undefined) {\n params.translateY = y + textHeight;\n }\n g.transform(params);\n this.watermarkDraw.add(g);\n }\n\n // 给文字设置样式\n setTextStyle(text) {\n Object.keys(this.textStyle).forEach(item => {\n let value = this.textStyle[item];\n if (item === 'color') {\n text.fill(value);\n } else {\n text.css(Object(_utils__WEBPACK_IMPORTED_MODULE_1__[\"camelCaseToHyphen\"])(item), value);\n }\n });\n }\n\n // 更新水印\n updateWatermark(config) {\n this.mindMap.opt.watermarkConfig = deepmerge__WEBPACK_IMPORTED_MODULE_2___default()(this.mindMap.opt.watermarkConfig, config);\n this.updateLayer();\n this.handleConfig(config);\n this.draw();\n }\n\n // 插件被移除前做的事情\n beforePluginRemove() {\n this.unBindEvent();\n this.removeContainer();\n }\n\n // 插件被卸载前做的事情\n beforePluginDestroy() {\n this.unBindEvent();\n this.removeContainer();\n }\n}\nWatermark.instanceName = 'watermark';\n/* harmony default export */ __webpack_exports__[\"default\"] = (Watermark);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/Watermark.js?");
/***/ }),
/***/ "../simple-mind-map/src/plugins/associativeLine/associativeLineControls.js":
/*!*********************************************************************************!*\
!*** ../simple-mind-map/src/plugins/associativeLine/associativeLineControls.js ***!
\*********************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _associativeLineUtils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./associativeLineUtils */ \"../simple-mind-map/src/plugins/associativeLine/associativeLineUtils.js\");\n\n\n// 创建控制点、连线节点\nfunction createControlNodes(node, toNode) {\n let {\n associativeLineActiveColor\n } = this.getStyleConfig(node, toNode);\n // 连线\n this.controlLine1 = this.associativeLineDraw.line().stroke({\n color: associativeLineActiveColor,\n width: 2\n });\n this.controlLine2 = this.associativeLineDraw.line().stroke({\n color: associativeLineActiveColor,\n width: 2\n });\n // 控制点\n this.controlPoint1 = this.createOneControlNode('controlPoint1', node, toNode);\n this.controlPoint2 = this.createOneControlNode('controlPoint2', node, toNode);\n}\n\n// 创建控制点\nfunction createOneControlNode(pointKey, node, toNode) {\n let {\n associativeLineActiveColor\n } = this.getStyleConfig(node, toNode);\n return this.associativeLineDraw.circle(this.controlPointDiameter).stroke({\n color: associativeLineActiveColor\n }).fill({\n color: '#fff'\n }).click(e => {\n e.stopPropagation();\n }).mousedown(e => {\n this.onControlPointMousedown(e, pointKey);\n });\n}\n\n// 控制点的鼠标按下事件\nfunction onControlPointMousedown(e, pointKey) {\n if (this.mindMap.opt.readonly) {\n e.stopPropagation();\n e.preventDefault();\n return;\n }\n e.stopPropagation();\n e.preventDefault();\n this.isControlPointMousedown = true;\n this.mousedownControlPointKey = pointKey;\n}\n\n// 控制点的鼠标移动事件\nfunction onControlPointMousemove(e) {\n if (this.mindMap.opt.readonly) return;\n if (!this.isControlPointMousedown || !this.mousedownControlPointKey || !this[this.mousedownControlPointKey]) return;\n e.stopPropagation();\n e.preventDefault();\n let radius = this.controlPointDiameter / 2;\n // 转换鼠标当前的位置\n let {\n x,\n y\n } = this.getTransformedEventPos(e);\n this.controlPointMousemoveState.pos = {\n x,\n y\n };\n // 更新当前拖拽的控制点的位置\n this[this.mousedownControlPointKey].x(x - radius).y(y - radius);\n let [,,, node, toNode] = this.activeLine;\n let targetIndex = Object(_associativeLineUtils__WEBPACK_IMPORTED_MODULE_0__[\"getAssociativeLineTargetIndex\"])(node, toNode);\n let {\n associativeLinePoint,\n associativeLineTargetControlOffsets\n } = node.getData();\n associativeLinePoint = associativeLinePoint || [];\n const nodePos = this.getNodePos(node);\n const toNodePos = this.getNodePos(toNode);\n let [startPoint, endPoint] = this.updateAllLinesPos(node, toNode, associativeLinePoint[targetIndex]);\n this.controlPointMousemoveState.startPoint = startPoint;\n this.controlPointMousemoveState.endPoint = endPoint;\n this.controlPointMousemoveState.targetIndex = targetIndex;\n let offsets = [];\n if (!associativeLineTargetControlOffsets) {\n // 兼容0.4.5版本,没有associativeLineTargetControlOffsets的情况\n offsets = Object(_associativeLineUtils__WEBPACK_IMPORTED_MODULE_0__[\"getDefaultControlPointOffsets\"])(startPoint, endPoint);\n } else {\n offsets = associativeLineTargetControlOffsets[targetIndex];\n }\n let point1 = null;\n let point2 = null;\n const {\n x: clientX,\n y: clientY\n } = this.mindMap.toPos(e.clientX, e.clientY);\n const _e = {\n clientX,\n clientY\n };\n // 拖拽的是控制点1\n if (this.mousedownControlPointKey === 'controlPoint1') {\n startPoint = Object(_associativeLineUtils__WEBPACK_IMPORTED_MODULE_0__[\"getNodePoint\"])(nodePos, '', 0, _e);\n point1 = {\n x,\n y\n };\n point2 = {\n x: endPoint.x + offsets[1].x,\n y: endPoint.y + offsets[1].y\n };\n if (startPoint) {\n // 保存更新后的坐标\n this.controlPointMousemoveState.startPoint = startPoint;\n // 更新控制点1的连线\n this.controlLine1.plot(startPoint.x, startPoint.y, point1.x, point1.y);\n }\n } else {\n // 拖拽的是控制点2\n endPoint = Object(_associativeLineUtils__WEBPACK_IMPORTED_MODULE_0__[\"getNodePoint\"])(toNodePos, '', 0, _e);\n point1 = {\n x: startPoint.x + offsets[0].x,\n y: startPoint.y + offsets[0].y\n };\n point2 = {\n x,\n y\n };\n if (endPoint) {\n // 保存更新后结束节点的坐标\n this.controlPointMousemoveState.endPoint = endPoint;\n // 更新控制点2的连线\n this.controlLine2.plot(endPoint.x, endPoint.y, point2.x, point2.y);\n }\n }\n this.updataAassociativeLine(startPoint, endPoint, point1, point2, this.activeLine);\n}\nfunction updataAassociativeLine(startPoint, endPoint, point1, point2, activeLine) {\n const [path, clickPath, text] = activeLine;\n // 更新关联线\n const pathStr = Object(_associativeLineUtils__WEBPACK_IMPORTED_MODULE_0__[\"joinCubicBezierPath\"])(startPoint, endPoint, point1, point2);\n path.plot(pathStr);\n clickPath.plot(pathStr);\n this.updateTextPos(path, text);\n this.updateTextEditBoxPos(text);\n}\n\n// 控制点的鼠标松开事件\nfunction onControlPointMouseup(e) {\n if (!this.isControlPointMousedown) return;\n if (this.mindMap.opt.readonly) {\n // 只读:不保存数据,复位控制点状态\n this.resetControlPoint();\n return;\n }\n e.stopPropagation();\n e.preventDefault();\n let {\n pos,\n startPoint,\n endPoint,\n targetIndex\n } = this.controlPointMousemoveState;\n let [,,, node] = this.activeLine;\n let offsetList = [];\n let {\n associativeLinePoint,\n associativeLineTargetControlOffsets\n } = node.getData();\n if (!associativeLinePoint) {\n associativeLinePoint = [];\n }\n associativeLinePoint[targetIndex] = associativeLinePoint[targetIndex] || {\n startPoint,\n endPoint\n };\n if (!associativeLineTargetControlOffsets) {\n // 兼容0.4.5版本,没有associativeLineTargetControlOffsets的情况\n offsetList[targetIndex] = Object(_associativeLineUtils__WEBPACK_IMPORTED_MODULE_0__[\"getDefaultControlPointOffsets\"])(startPoint, endPoint);\n } else {\n offsetList = associativeLineTargetControlOffsets;\n }\n let offset1 = null;\n let offset2 = null;\n if (this.mousedownControlPointKey === 'controlPoint1') {\n // 更新控制点1数据\n offset1 = {\n x: pos.x - startPoint.x,\n y: pos.y - startPoint.y\n };\n offset2 = offsetList[targetIndex][1];\n associativeLinePoint[targetIndex].startPoint = startPoint;\n } else {\n // 更新控制点2数据\n offset1 = offsetList[targetIndex][0];\n offset2 = {\n x: pos.x - endPoint.x,\n y: pos.y - endPoint.y\n };\n associativeLinePoint[targetIndex].endPoint = endPoint;\n }\n offsetList[targetIndex] = [offset1, offset2];\n this.mindMap.execCommand('SET_NODE_DATA', node, {\n associativeLineTargetControlOffsets: offsetList,\n associativeLinePoint\n });\n this.isNotRenderAllLines = true;\n // 这里要加个setTimeout0是因为draw_click事件比mouseup事件触发的晚,所以重置isControlPointMousedown需要等draw_click事件触发完以后\n setTimeout(() => {\n this.resetControlPoint();\n }, 0);\n}\n\n// 复位控制点移动\nfunction resetControlPoint() {\n this.isControlPointMousedown = false;\n this.mousedownControlPointKey = '';\n this.controlPointMousemoveState = {\n pos: null,\n startPoint: null,\n endPoint: null,\n targetIndex: ''\n };\n}\n\n// 渲染控制点\nfunction renderControls(startPoint, endPoint, point1, point2, node, toNode) {\n if (this.mindMap.opt.readonly) {\n this.hideControls();\n return;\n }\n if (!this.mindMap.opt.enableAdjustAssociativeLinePoints) return;\n\n // 检查是否为流程图节点的正交线\n const isFlowChart = node.getData && toNode.getData && node.getData('isFlowChart') && toNode.getData('isFlowChart');\n if (isFlowChart) {\n // 正交线暂时不显示控制点,避免变成曲线\n this.hideControls();\n return;\n }\n if (!this.controlLine1) {\n this.createControlNodes(node, toNode);\n }\n let radius = this.controlPointDiameter / 2;\n // 控制点和起终点的连线\n this.controlLine1.plot(startPoint.x, startPoint.y, point1.x, point1.y);\n this.controlLine2.plot(endPoint.x, endPoint.y, point2.x, point2.y);\n // 控制点\n this.controlPoint1.x(point1.x - radius).y(point1.y - radius);\n this.controlPoint2.x(point2.x - radius).y(point2.y - radius);\n}\n\n// 删除控制点\nfunction removeControls() {\n if (!this.controlLine1) return;\n [this.controlLine1, this.controlLine2, this.controlPoint1, this.controlPoint2].forEach(item => {\n item.remove();\n });\n this.controlLine1 = null;\n this.controlLine2 = null;\n this.controlPoint1 = null;\n this.controlPoint2 = null;\n}\n\n// 隐藏控制点\nfunction hideControls() {\n if (!this.controlLine1) return;\n [this.controlLine1, this.controlLine2, this.controlPoint1, this.controlPoint2].forEach(item => {\n item.hide();\n });\n}\n\n// 显示控制点\nfunction showControls() {\n if (!this.controlLine1) return;\n [this.controlLine1, this.controlLine2, this.controlPoint1, this.controlPoint2].forEach(item => {\n item.show();\n });\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n createControlNodes,\n createOneControlNode,\n onControlPointMousedown,\n onControlPointMousemove,\n onControlPointMouseup,\n resetControlPoint,\n renderControls,\n removeControls,\n hideControls,\n showControls,\n updataAassociativeLine\n});\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/associativeLine/associativeLineControls.js?");
/***/ }),
/***/ "../simple-mind-map/src/plugins/associativeLine/associativeLineText.js":
/*!*****************************************************************************!*\
!*** ../simple-mind-map/src/plugins/associativeLine/associativeLineText.js ***!
\*****************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _svgdotjs_svg_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @svgdotjs/svg.js */ \"../simple-mind-map/node_modules/@svgdotjs/svg.js/dist/svg.esm.js\");\n/* harmony import */ var _utils_index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/index */ \"../simple-mind-map/src/utils/index.js\");\n\n\n\n// 创建文字节点\nfunction createText(data) {\n let g = this.associativeLineDraw.group();\n const setActive = () => {\n if (this.mindMap.opt.readonly) return;\n if (!this.activeLine || this.activeLine[3] !== data.node || this.activeLine[4] !== data.toNode) {\n this.setActiveLine({\n ...data,\n text: g\n });\n }\n };\n g.click(e => {\n e.stopPropagation();\n if (this.mindMap.opt.readonly) return;\n setActive();\n });\n g.on('dblclick', e => {\n e.stopPropagation();\n if (this.mindMap.opt.readonly) return;\n setActive();\n if (!this.activeLine) return;\n this.showEditTextBox(g);\n });\n return g;\n}\n\n// 显示文本编辑框\nfunction showEditTextBox(g) {\n if (this.mindMap.opt.readonly) return;\n this.mindMap.emit('before_show_text_edit');\n // 注册回车快捷键\n this.mindMap.keyCommand.addShortcut('Enter', () => {\n this.hideEditTextBox();\n });\n // 输入框元素没有创建过,则先创建\n if (!this.textEditNode) {\n this.textEditNode = document.createElement('div');\n this.textEditNode.className = 'associative-line-text-edit-warp';\n this.textEditNode.style.cssText = `position:fixed;box-sizing: border-box;background-color:#fff;box-shadow: 0 0 20px rgba(0,0,0,.5);padding: 3px 5px;margin-left: -5px;margin-top: -3px;outline: none; word-break: break-all;`;\n this.textEditNode.setAttribute('contenteditable', true);\n this.textEditNode.addEventListener('keyup', e => {\n e.stopPropagation();\n });\n this.textEditNode.addEventListener('click', e => {\n e.stopPropagation();\n });\n const targetNode = this.mindMap.opt.customInnerElsAppendTo || document.body;\n targetNode.appendChild(this.textEditNode);\n }\n let [,,, node, toNode] = this.activeLine;\n let {\n associativeLineTextFontSize,\n associativeLineTextFontFamily,\n associativeLineTextLineHeight\n } = this.getStyleConfig(node, toNode);\n let {\n defaultAssociativeLineText,\n nodeTextEditZIndex\n } = this.mindMap.opt;\n let scale = this.mindMap.view.scale;\n let text = this.getText(node, toNode);\n let textLines = (text || defaultAssociativeLineText).split(/\\n/gim);\n this.textEditNode.style.fontFamily = associativeLineTextFontFamily;\n this.textEditNode.style.fontSize = associativeLineTextFontSize * scale + 'px';\n this.textEditNode.style.lineHeight = textLines.length > 1 ? associativeLineTextLineHeight : 'normal';\n this.textEditNode.style.zIndex = nodeTextEditZIndex;\n this.textEditNode.innerHTML = textLines.join('
');\n this.textEditNode.style.display = 'block';\n this.updateTextEditBoxPos(g);\n this.showTextEdit = true;\n // 如果是默认文本要全选输入框\n if (text === '' || text === defaultAssociativeLineText) {\n Object(_utils_index__WEBPACK_IMPORTED_MODULE_1__[\"selectAllInput\"])(this.textEditNode);\n } else {\n // 否则聚焦即可\n Object(_utils_index__WEBPACK_IMPORTED_MODULE_1__[\"focusInput\"])(this.textEditNode);\n }\n}\n\n// 删除文本编辑框元素\nfunction removeTextEditEl() {\n if (!this.textEditNode) return;\n const targetNode = this.mindMap.opt.customInnerElsAppendTo || document.body;\n targetNode.removeChild(this.textEditNode);\n}\n\n// 处理画布缩放\nfunction onScale() {\n this.hideEditTextBox();\n}\n\n// 更新文本编辑框位置\nfunction updateTextEditBoxPos(g) {\n let rect = g.node.getBoundingClientRect();\n if (this.textEditNode) {\n this.textEditNode.style.minWidth = `${rect.width + 10}px`;\n this.textEditNode.style.minHeight = `${rect.height + 6}px`;\n this.textEditNode.style.left = `${rect.left}px`;\n this.textEditNode.style.top = `${rect.top}px`;\n }\n}\n\n// 隐藏文本编辑框\nfunction hideEditTextBox() {\n if (!this.showTextEdit) {\n return;\n }\n let [path,, text, node, toNode] = this.activeLine;\n // 只读模式下不保存任何编辑内容\n if (!this.mindMap.opt.readonly) {\n let str = Object(_utils_index__WEBPACK_IMPORTED_MODULE_1__[\"getStrWithBrFromHtml\"])(this.textEditNode.innerHTML);\n // 如果是默认文本,那么不保存\n let isDefaultText = str === this.mindMap.opt.defaultAssociativeLineText;\n str = isDefaultText ? '' : str;\n this.mindMap.execCommand('SET_NODE_DATA', node, {\n associativeLineText: {\n ...(node.getData('associativeLineText') || {}),\n [toNode.getData('uid')]: str\n }\n });\n this.renderText(str, path, text, node, toNode);\n }\n this.textEditNode.style.display = 'none';\n this.textEditNode.innerHTML = '';\n this.showTextEdit = false;\n this.mindMap.emit('hide_text_edit');\n}\n\n// 获取某根关联线的文字\nfunction getText(node, toNode) {\n let obj = node.getData('associativeLineText');\n if (!obj) {\n return '';\n }\n return obj[toNode.getData('uid')] || '';\n}\n\n// 渲染关联线文字\nfunction renderText(str, path, text, node, toNode) {\n if (!str) return;\n let {\n associativeLineTextFontSize,\n associativeLineTextLineHeight\n } = this.getStyleConfig(node, toNode);\n text.clear();\n let textArr = str.replace(/\\n$/g, '').split(/\\n/gim);\n textArr.forEach((item, index) => {\n // 避免尾部的空行不占宽度,导致文本编辑框定位异常的问题\n if (item === '') {\n item = '';\n }\n let textNode = new _svgdotjs_svg_js__WEBPACK_IMPORTED_MODULE_0__[\"Text\"]().text(item);\n textNode.y(associativeLineTextFontSize * associativeLineTextLineHeight * index);\n this.styleText(textNode, node, toNode);\n text.add(textNode);\n });\n updateTextPos(path, text);\n}\n\n// 给文本设置样式\nfunction styleText(textNode, node, toNode) {\n let {\n associativeLineTextColor,\n associativeLineTextFontSize,\n associativeLineTextFontFamily\n } = this.getStyleConfig(node, toNode);\n textNode.fill({\n color: associativeLineTextColor\n }).css({\n 'font-family': associativeLineTextFontFamily,\n 'font-size': associativeLineTextFontSize + 'px'\n });\n}\n\n// 更新关联线文字位置\nfunction updateTextPos(path, text) {\n let pathLength = path.length();\n let centerPoint = path.pointAt(pathLength / 2);\n let {\n width: textWidth,\n height: textHeight\n } = text.bbox();\n text.x(centerPoint.x - textWidth / 2);\n text.y(centerPoint.y - textHeight / 2);\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n getText,\n createText,\n styleText,\n onScale,\n showEditTextBox,\n removeTextEditEl,\n hideEditTextBox,\n updateTextEditBoxPos,\n renderText,\n updateTextPos\n});\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/associativeLine/associativeLineText.js?");
/***/ }),
/***/ "../simple-mind-map/src/plugins/associativeLine/associativeLineUtils.js":
/*!******************************************************************************!*\
!*** ../simple-mind-map/src/plugins/associativeLine/associativeLineUtils.js ***!
\******************************************************************************/
/*! exports provided: getAssociativeLineTargetIndex, computeCubicBezierPathPoints, joinCubicBezierPath, computeOrthogonalPath, cubicBezierPath, calcPoint, getNodePoint, computeNodePoints, getNodeLinePath, getDefaultControlPointOffsets */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getAssociativeLineTargetIndex\", function() { return getAssociativeLineTargetIndex; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"computeCubicBezierPathPoints\", function() { return computeCubicBezierPathPoints; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"joinCubicBezierPath\", function() { return joinCubicBezierPath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"computeOrthogonalPath\", function() { return computeOrthogonalPath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"cubicBezierPath\", function() { return cubicBezierPath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"calcPoint\", function() { return calcPoint; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getNodePoint\", function() { return getNodePoint; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"computeNodePoints\", function() { return computeNodePoints; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getNodeLinePath\", function() { return getNodeLinePath; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getDefaultControlPointOffsets\", function() { return getDefaultControlPointOffsets; });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _utils_index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../utils/index */ \"../simple-mind-map/src/utils/index.js\");\n\n\n\n// 获取目标节点在起始节点的目标数组中的索引\nconst getAssociativeLineTargetIndex = (node, toNode) => {\n return node.getData('associativeLineTargets').findIndex(item => {\n return item === toNode.getData('uid');\n });\n};\n\n// 计算贝塞尔曲线的控制点\nconst computeCubicBezierPathPoints = (x1, y1, x2, y2) => {\n const min = 5;\n let cx1 = x1 + (x2 - x1) / 2;\n let cy1 = y1;\n let cx2 = cx1;\n let cy2 = y2;\n if (Math.abs(x1 - x2) <= min) {\n cx1 = x1 + (y2 - y1) / 2;\n cx2 = cx1;\n }\n if (Math.abs(y1 - y2) <= min) {\n cx1 = x1;\n cy1 = y1 - (x2 - x1) / 2;\n cx2 = x2;\n cy2 = cy1;\n }\n return [{\n x: cx1,\n y: cy1\n }, {\n x: cx2,\n y: cy2\n }];\n};\n\n// 拼接贝塞尔曲线路径\nconst joinCubicBezierPath = (startPoint, endPoint, point1, point2) => {\n return `M ${startPoint.x},${startPoint.y} C ${point1.x},${point1.y} ${point2.x},${point2.y} ${endPoint.x},${endPoint.y}`;\n};\n\n// 计算正交路径\nconst computeOrthogonalPath = (startPoint, endPoint, startDir, endDir) => {\n const path = [`M ${startPoint.x},${startPoint.y}`];\n const controlPoints = [];\n\n // 计算延伸距离\n const minExtension = 30;\n const dx = Math.abs(endPoint.x - startPoint.x);\n const dy = Math.abs(endPoint.y - startPoint.y);\n const extension = Math.max(minExtension, Math.min(dx, dy) * 0.3);\n\n // 计算起点延伸点\n let p1 = {\n ...startPoint\n };\n switch (startDir) {\n case 'left':\n p1.x -= extension;\n break;\n case 'right':\n p1.x += extension;\n break;\n case 'top':\n p1.y -= extension;\n break;\n case 'bottom':\n p1.y += extension;\n break;\n }\n\n // 计算终点延伸点\n let p2 = {\n ...endPoint\n };\n switch (endDir) {\n case 'left':\n p2.x -= extension;\n break;\n case 'right':\n p2.x += extension;\n break;\n case 'top':\n p2.y -= extension;\n break;\n case 'bottom':\n p2.y += extension;\n break;\n }\n\n // 构建路径\n path.push(`L ${p1.x},${p1.y}`);\n controlPoints.push(p1);\n\n // 连接中间路径\n if ((startDir === 'left' || startDir === 'right') && (endDir === 'left' || endDir === 'right')) {\n // 水平出口,水平入口\n const midX = (p1.x + p2.x) / 2;\n path.push(`L ${midX},${p1.y}`);\n path.push(`L ${midX},${p2.y}`);\n controlPoints.push({\n x: midX,\n y: p1.y\n });\n controlPoints.push({\n x: midX,\n y: p2.y\n });\n } else if ((startDir === 'top' || startDir === 'bottom') && (endDir === 'top' || endDir === 'bottom')) {\n // 垂直出口,垂直入口\n const midY = (p1.y + p2.y) / 2;\n path.push(`L ${p1.x},${midY}`);\n path.push(`L ${p2.x},${midY}`);\n controlPoints.push({\n x: p1.x,\n y: midY\n });\n controlPoints.push({\n x: p2.x,\n y: midY\n });\n } else {\n // 一个水平,一个垂直\n path.push(`L ${p2.x},${p1.y}`);\n controlPoints.push({\n x: p2.x,\n y: p1.y\n });\n }\n path.push(`L ${p2.x},${p2.y}`);\n controlPoints.push(p2);\n path.push(`L ${endPoint.x},${endPoint.y}`);\n return {\n path: path.join(' '),\n controlPoints\n };\n};\n\n// 获取节点的位置信息\nconst getNodeRect = node => {\n let {\n left,\n top,\n width,\n height\n } = node;\n return {\n right: left + width,\n bottom: top + height,\n left,\n top,\n width,\n height\n };\n};\n\n// 三次贝塞尔曲线\nconst cubicBezierPath = (x1, y1, x2, y2) => {\n let points = computeCubicBezierPathPoints(x1, y1, x2, y2);\n return joinCubicBezierPath({\n x: x1,\n y: y1\n }, {\n x: x2,\n y: y2\n }, points[0], points[1]);\n};\nconst calcPoint = (node, e) => {\n const {\n left,\n top,\n translateLeft,\n translateTop,\n width,\n height\n } = node;\n const clientX = e.clientX;\n const clientY = e.clientY;\n // 中心点的坐标\n const centerX = translateLeft + width / 2;\n const centerY = translateTop + height / 2;\n const translateCenterX = left + width / 2;\n const translateCenterY = top + height / 2;\n const theta = Math.atan(height / width);\n // 矩形左上角坐标\n const deltaX = clientX - centerX;\n const deltaY = centerY - clientY;\n // 方向值\n const direction = Math.atan2(deltaY, deltaX);\n // 默认坐标\n let x = left + width;\n let y = top + height;\n if (direction < theta && direction >= -theta) {\n // 右边\n // 正切值 = 对边/邻边,对边 = 正切值*邻边\n const range = direction * (width / 2);\n if (direction < theta && direction >= 0) {\n // 中心点上边\n y = translateCenterY - range;\n } else if (direction >= -theta && direction < 0) {\n // 中心点下方\n y = translateCenterY - range;\n }\n return {\n x,\n y,\n dir: 'right',\n range\n };\n } else if (direction >= theta && direction < Math.PI - theta) {\n // 上边\n y = top;\n let range = 0;\n if (direction < Math.PI / 2 - theta && direction >= theta) {\n // 正切值 = 对边/邻边,邻边 = 对边/正切值\n const side = height / 2 / direction;\n range = -side;\n // 中心点右侧\n x = translateCenterX + side;\n } else if (direction >= Math.PI / 2 - theta && direction < Math.PI - theta) {\n // 中心点左侧\n const tanValue = (centerX - clientX) / (centerY - clientY);\n const side = height / 2 * tanValue;\n range = side;\n x = translateCenterX - side;\n }\n return {\n x,\n y,\n dir: 'top',\n range\n };\n } else if (direction < -theta && direction >= theta - Math.PI) {\n // 下边\n let range = 0;\n if (direction >= theta - Math.PI / 2 && direction < -theta) {\n // 中心点右侧\n // 正切值 = 对边/邻边,邻边 = 对边/正切值\n const side = height / 2 / direction;\n range = side;\n x = translateCenterX - side;\n } else if (direction < theta - Math.PI / 2 && direction >= theta - Math.PI) {\n // 中心点左侧\n const tanValue = (centerX - clientX) / (centerY - clientY);\n const side = height / 2 * tanValue;\n range = -side;\n x = translateCenterX + side;\n }\n return {\n x,\n y,\n dir: 'bottom',\n range\n };\n }\n // 左边\n x = left;\n const tanValue = (centerY - clientY) / (centerX - clientX);\n const range = tanValue * (width / 2);\n if (direction >= -Math.PI && direction < theta - Math.PI) {\n // 中心点右侧\n y = translateCenterY - range;\n } else if (direction < Math.PI && direction >= Math.PI - theta) {\n // 中心点左侧\n y = translateCenterY - range;\n }\n return {\n x,\n y,\n dir: 'left',\n range\n };\n};\n// 获取节点的连接点\nconst getNodePoint = (node, dir = 'right', range = 0, e = null) => {\n let {\n left,\n top,\n width,\n height\n } = node;\n if (e) {\n return calcPoint(node, e);\n }\n switch (dir) {\n case 'left':\n return {\n x: left,\n y: top + height / 2 - range,\n dir\n };\n case 'right':\n return {\n x: left + width,\n y: top + height / 2 - range,\n dir\n };\n case 'top':\n return {\n x: left + width / 2 - range,\n y: top,\n dir\n };\n case 'bottom':\n return {\n x: left + width / 2 - range,\n y: top + height,\n dir\n };\n default:\n break;\n }\n};\n\n// 根据两个节点的位置计算节点的连接点\nconst computeNodePoints = (fromNode, toNode) => {\n const fromRect = getNodeRect(fromNode);\n const toRect = getNodeRect(toNode);\n let fromDir = '';\n let toDir = '';\n const dir = Object(_utils_index__WEBPACK_IMPORTED_MODULE_1__[\"getRectRelativePosition\"])({\n x: fromRect.left,\n y: fromRect.top,\n width: fromRect.width,\n height: fromRect.height\n }, {\n x: toRect.left,\n y: toRect.top,\n width: toRect.width,\n height: toRect.height\n });\n // 起始矩形在结束矩形的什么方向\n switch (dir) {\n case 'left-top':\n fromDir = 'right';\n toDir = 'top';\n break;\n case 'right-top':\n fromDir = 'left';\n toDir = 'top';\n break;\n case 'right-bottom':\n fromDir = 'left';\n toDir = 'bottom';\n break;\n case 'left-bottom':\n fromDir = 'right';\n toDir = 'bottom';\n break;\n case 'left':\n fromDir = 'right';\n toDir = 'left';\n break;\n case 'right':\n fromDir = 'left';\n toDir = 'right';\n break;\n case 'top':\n fromDir = 'right';\n toDir = 'right';\n break;\n case 'bottom':\n fromDir = 'left';\n toDir = 'left';\n break;\n case 'overlap':\n fromDir = 'right';\n toDir = 'right';\n break;\n default:\n break;\n }\n return [getNodePoint(fromNode, fromDir), getNodePoint(toNode, toDir)];\n};\n\n// 获取节点的关联线路径\nconst getNodeLinePath = (startPoint, endPoint, node, toNode) => {\n // 检查是否都是流程图节点\n const isFlowChart = node.getData && toNode.getData && node.getData('isFlowChart') && toNode.getData('isFlowChart');\n if (isFlowChart) {\n var _associativeLinePoint, _associativeLinePoint2;\n // 流程图节点使用正交路径\n // 获取方向信息\n const targetIndex = getAssociativeLineTargetIndex(node, toNode);\n const associativeLinePoint = (node.getData('associativeLinePoint') || [])[targetIndex] || {};\n const startDir = ((_associativeLinePoint = associativeLinePoint.startPoint) === null || _associativeLinePoint === void 0 ? void 0 : _associativeLinePoint.dir) || startPoint.dir || 'right';\n const endDir = ((_associativeLinePoint2 = associativeLinePoint.endPoint) === null || _associativeLinePoint2 === void 0 ? void 0 : _associativeLinePoint2.dir) || endPoint.dir || 'left';\n return computeOrthogonalPath(startPoint, endPoint, startDir, endDir);\n } else {\n // 非流程图节点使用原有的贝塞尔曲线\n let targetIndex = getAssociativeLineTargetIndex(node, toNode);\n // 控制点\n let controlPoints = [];\n let associativeLineTargetControlOffsets = node.getData('associativeLineTargetControlOffsets');\n if (associativeLineTargetControlOffsets && associativeLineTargetControlOffsets[targetIndex]) {\n // 节点保存了控制点差值\n let offsets = associativeLineTargetControlOffsets[targetIndex];\n controlPoints = [{\n x: startPoint.x + offsets[0].x,\n y: startPoint.y + offsets[0].y\n }, {\n x: endPoint.x + offsets[1].x,\n y: endPoint.y + offsets[1].y\n }];\n } else {\n // 没有保存控制点则生成默认的\n controlPoints = computeCubicBezierPathPoints(startPoint.x, startPoint.y, endPoint.x, endPoint.y);\n }\n // 根据控制点拼接贝塞尔曲线路径\n return {\n path: joinCubicBezierPath(startPoint, endPoint, controlPoints[0], controlPoints[1]),\n controlPoints\n };\n }\n};\n\n// 获取默认的控制点差值\nconst getDefaultControlPointOffsets = (startPoint, endPoint) => {\n let controlPoints = computeCubicBezierPathPoints(startPoint.x, startPoint.y, endPoint.x, endPoint.y);\n return [{\n x: controlPoints[0].x - startPoint.x,\n y: controlPoints[0].y - startPoint.y\n }, {\n x: controlPoints[1].x - endPoint.x,\n y: controlPoints[1].y - endPoint.y\n }];\n};\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/plugins/associativeLine/associativeLineUtils.js?");
/***/ }),
/***/ "../simple-mind-map/src/svg/btns.js":
/*!******************************************!*\
!*** ../simple-mind-map/src/svg/btns.js ***!
\******************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n// 展开按钮\nconst open = ``;\n\n// 收缩按钮\nconst close = ``;\n\n// 删除按钮\nconst remove = ``;\n\n// 图片调整按钮\nconst imgAdjust = ``;\n\n// 快捷创建子节点按钮\nconst quickCreateChild = ``;\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n open,\n close,\n remove,\n imgAdjust,\n quickCreateChild\n});\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/svg/btns.js?");
/***/ }),
/***/ "../simple-mind-map/src/svg/icons.js":
/*!*******************************************!*\
!*** ../simple-mind-map/src/svg/icons.js ***!
\*******************************************/
/*! exports provided: nodeIconList, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"nodeIconList\", function() { return nodeIconList; });\n/* harmony import */ var _utils__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ../utils */ \"../simple-mind-map/src/utils/index.js\");\n\n\n// 思源PDF\nconst siyuanPDFLink = ``;\n\n// 超链接图标\nconst hyperlink = '';\n\n// 备注图标\nconst note = '';\n\n// 附件图标\nconst attachment = '';\n\n// 思源图标\nconst siyuan = ``;\n\n// 思源超链接\nconst siyuanLink = ``;\n\n// 节点icon\nconst nodeIconList = [{\n name: '优先级图标',\n type: 'priority',\n list: [{\n name: '1',\n icon: ``\n }, {\n name: '2',\n icon: ``\n }, {\n name: '3',\n icon: ``\n }, {\n name: '4',\n icon: ``\n }, {\n name: '5',\n icon: ``\n }, {\n name: '6',\n icon: ``\n }, {\n name: '7',\n icon: ``\n }, {\n name: '8',\n icon: ``\n }, {\n name: '9',\n icon: ``\n }, {\n name: '10',\n icon: ``\n }]\n}, {\n name: '进度图标',\n type: 'progress',\n list: [{\n name: '1',\n icon: ``\n }, {\n name: '2',\n icon: ``\n }, {\n name: '3',\n icon: ``\n }, {\n name: '4',\n icon: ``\n }, {\n name: '5',\n icon: ``\n }, {\n name: '6',\n icon: ``\n }, {\n name: '7',\n icon: ``\n }, {\n name: '8',\n icon: ``\n }]\n},\n// {\n// name: '表情图标',\n// type: 'expression',\n// list: [\n// {\n// name: '1',\n// icon: ``\n// },\n// {\n// name: '2',\n// icon: ``\n// },\n// {\n// name: '3',\n// icon: ``\n// },\n// {\n// name: '4',\n// icon: ``\n// },\n// {\n// name: '5',\n// icon: ``\n// },\n// {\n// name: '6',\n// icon: ``\n// },\n// {\n// name: '7',\n// icon: ``\n// },\n// {\n// name: '8',\n// icon: ``\n// },\n// {\n// name: '9',\n// icon: ``\n// },\n// {\n// name: '10',\n// icon: ``\n// },\n// {\n// name: '11',\n// icon: ``\n// },\n// {\n// name: '12',\n// icon: ``\n// },\n// {\n// name: '13',\n// icon: ``\n// },\n// {\n// name: '14',\n// icon: ``\n// },\n// {\n// name: '15',\n// icon: ``\n// },\n// {\n// name: '16',\n// icon: ``\n// },\n// {\n// name: '17',\n// icon: ``\n// },\n// {\n// name: '18',\n// icon: ``\n// },\n// {\n// name: '19',\n// icon: ``\n// },\n// {\n// name: '20',\n// icon: ``\n// }\n// ]\n// },\n{\n name: '表情图标',\n type: 'expression',\n list: [{\n name: '1',\n icon: ``\n // icon: ``\n }, {\n name: '2',\n // icon: ``\n icon: ``\n }, {\n name: '3',\n // icon: ``\n icon: ``\n }, {\n name: '4',\n // icon: ``\n icon: ``\n }, {\n name: '5',\n // icon: ``\n icon: ``\n }, {\n name: '6',\n // icon: ``\n icon: ``\n }, {\n name: '7',\n // icon: ``\n icon: ``\n }, {\n name: '8',\n // icon: ``\n icon: ``\n }, {\n name: '9',\n // icon: ``\n icon: ``\n }, {\n name: '10',\n // icon: ``\n icon: ``\n }, {\n name: '11',\n // icon: ``\n icon: ``\n }, {\n name: '12',\n // icon: ``\n icon: ``\n }, {\n name: '13',\n // icon: ``\n icon: ``\n }, {\n name: '14',\n // icon: ``\n icon: ``\n }, {\n name: '15',\n // icon: ``\n icon: ``\n }, {\n name: '16',\n // icon: ``\n icon: ``\n }, {\n name: '17',\n // icon: ``\n icon: ``\n }, {\n name: '18',\n // icon: ``\n icon: ``\n }, {\n name: '19',\n // icon: ``\n icon: ``\n }, {\n name: '20',\n // icon: ``\n icon: ``\n }]\n}, {\n name: '标记图标',\n type: 'sign',\n list: [{\n name: '1',\n icon: ``\n }, {\n name: '2',\n icon: ``\n }, {\n name: '3',\n icon: ``\n }, {\n name: '4',\n icon: ``\n }, {\n name: '5',\n icon: ``\n }, {\n name: '6',\n icon: ``\n }, {\n name: '7',\n icon: ``\n }, {\n name: '8',\n icon: ``\n }, {\n name: '9',\n icon: ``\n }, {\n name: '10',\n icon: ``\n }, {\n name: '11',\n icon: ``\n }, {\n name: '12',\n icon: ``\n }, {\n name: '13',\n icon: ``\n }, {\n name: '14',\n icon: ``\n }, {\n name: '15',\n icon: ``\n }, {\n name: '16',\n icon: ``\n }, {\n name: '17',\n icon: ``\n }, {\n name: '18',\n icon: ``\n }, {\n name: '19',\n icon: ``\n }, {\n name: '20',\n icon: ``\n }, {\n name: '21',\n icon: ``\n }, {\n name: '22',\n icon: ``\n }, {\n name: '23',\n icon: ``\n }]\n}];\n\n// 获取nodeIconList icon内容\nconst getNodeIconListIcon = (name, extendIconList = []) => {\n let arr = name.split('_');\n const iconList = Object(_utils__WEBPACK_IMPORTED_MODULE_0__[\"mergerIconList\"])([...nodeIconList, ...extendIconList]);\n let typeData = iconList.find(item => {\n return item.type === arr[0];\n });\n if (typeData) {\n let typeName = typeData.list.find(item => {\n return item.name === arr[1];\n });\n if (typeName) {\n return typeName.icon;\n }\n return '';\n } else {\n return '';\n }\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n siyuanPDFLink,\n hyperlink,\n note,\n attachment,\n siyuan,\n siyuanLink,\n nodeIconList,\n getNodeIconListIcon\n});\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/svg/icons.js?");
/***/ }),
/***/ "../simple-mind-map/src/theme/default.js":
/*!***********************************************!*\
!*** ../simple-mind-map/src/theme/default.js ***!
\***********************************************/
/*! exports provided: default, checkIsNodeSizeIndependenceConfig, lineStyleProps */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"checkIsNodeSizeIndependenceConfig\", function() { return checkIsNodeSizeIndependenceConfig; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"lineStyleProps\", function() { return lineStyleProps; });\n// 默认主题 - Material Design 3 风格(基于 KMind 主题设计器)\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n // 节点内边距\n paddingX: 16,\n paddingY: 8,\n // 图片显示的最大宽度\n imgMaxWidth: 200,\n // 图片显示的最大高度\n imgMaxHeight: 100,\n // icon的大小\n iconSize: 20,\n // 连线的粗细\n lineWidth: 1.5,\n // 连线的颜色\n lineColor: '#2D3748',\n // 连线样式\n lineDasharray: 'none',\n // 连线是否开启流动效果,仅在虚线时有效(需要注册LineFlow插件)\n lineFlow: false,\n // 流动效果一个周期的时间,单位:s\n lineFlowDuration: 1,\n // 流动方向是否是从父节点到子节点\n lineFlowForward: true,\n // 连线风格\n lineStyle: 'straight',\n // 曲线(curve)【仅支持logicalStructure、mindMap、verticalTimeline三种结构】、直线(straight)、直连(direct)【仅支持logicalStructure、mindMap、organizationStructure、verticalTimeline四种结构】\n // 曲线连接时,根节点和其他节点的连接线样式保持统一,默认根节点为 ( 型,其他节点为 { 型,设为true后,都为 { 型。仅支持logicalStructure、mindMap两种结构\n rootLineKeepSameInCurve: true,\n // 曲线连接时,根节点和其他节点的连线起始位置保持统一,默认根节点的连线起始位置在节点中心,其他节点在节点右侧(或左侧),如果该配置设为true,那么根节点的连线起始位置也会在节点右侧(或左侧)\n rootLineStartPositionKeepSameInCurve: false,\n // 直线连接(straight)时,连线的圆角大小,设置为0代表没有圆角,仅支持logicalStructure、mindMap、verticalTimeline三种结构\n lineRadius: 8,\n // 连线是否显示标记,目前只支持箭头\n showLineMarker: false,\n // 概要连线的粗细\n generalizationLineWidth: 1,\n // 概要连线的颜色\n generalizationLineColor: '#2D3748',\n // 概要曲线距节点的距离\n generalizationLineMargin: 0,\n // 概要节点距节点的距离\n generalizationNodeMargin: 20,\n // 关联线默认状态的粗细\n associativeLineWidth: 2,\n // 关联线默认状态的颜色\n associativeLineColor: 'rgb(51, 51, 51)',\n // 关联线激活状态的粗细\n associativeLineActiveWidth: 8,\n // 关联线激活状态的颜色\n associativeLineActiveColor: 'rgba(2, 167, 240, 1)',\n // 关联线样式\n associativeLineDasharray: [6, 4],\n // 关联线文字颜色\n associativeLineTextColor: 'rgb(51, 51, 51)',\n // 关联线文字大小\n associativeLineTextFontSize: 14,\n // 关联线文字行高\n associativeLineTextLineHeight: 1.2,\n // 关联线文字字体\n associativeLineTextFontFamily: '微软雅黑, Microsoft YaHei',\n // 背景颜色\n backgroundColor: '#F7FAFC',\n // 背景图片\n backgroundImage: 'none',\n // 背景重复\n backgroundRepeat: 'no-repeat',\n // 设置背景图像的起始位置\n backgroundPosition: 'center center',\n // 设置背景图片大小\n backgroundSize: 'cover',\n // 节点使用只有底边横线的样式,仅支持logicalStructure、mindMap、catalogOrganization、organizationStructure四种结构\n nodeUseLineStyle: false,\n // 根节点样式\n root: {\n shape: 'rectangle',\n fillColor: '#2D3748',\n fontFamily: '微软雅黑, Microsoft YaHei',\n color: '#FFFFFF',\n fontSize: 20,\n fontWeight: 'bold',\n fontStyle: 'normal',\n borderColor: 'transparent',\n borderWidth: 2,\n borderDasharray: 'none',\n borderRadius: 8,\n textDecoration: 'none',\n gradientStyle: false,\n startColor: '#2D3748',\n endColor: '#fff',\n startDir: [0, 0],\n endDir: [1, 0],\n // 连线标记的位置,start(头部)、end(尾部),该配置在showLineMarker配置为true时生效\n lineMarkerDir: 'end',\n // 节点鼠标hover和激活时显示的矩形边框的颜色,主题里不设置,默认会取hoverRectColor实例化选项的值\n hoverRectColor: '',\n // 点鼠标hover和激活时显示的矩形边框的圆角大小\n hoverRectRadius: 8,\n // 文本对齐\n textAlign: 'center',\n // right、center、justify、left\n // 图片放置位置,相对于整个文本内容\n imgPlacement: 'top',\n // left、right、bottom、top\n // 标签放置位置\n tagPlacement: 'right',\n // right(文字右侧)、bottom(文本内容下方)\n // 下列样式也支持给节点设置,用于覆盖最外层的设置\n paddingX: 24,\n paddingY: 14\n // lineWidth,\n // lineColor,\n // lineDasharray,\n // lineFlow,\n // lineFlowDuration,\n // lineFlowForward\n // 关联线的所有样式\n },\n // 二级节点样式\n second: {\n shape: 'rectangle',\n marginX: 100,\n marginY: 40,\n fillColor: '#718096',\n fontFamily: '微软雅黑, Microsoft YaHei',\n color: '#FFFFFF',\n fontSize: 16,\n fontWeight: 'normal',\n fontStyle: 'normal',\n borderColor: 'transparent',\n borderWidth: 1.5,\n borderDasharray: 'none',\n borderRadius: 6,\n textDecoration: 'none',\n gradientStyle: false,\n startColor: '#718096',\n endColor: '#fff',\n startDir: [0, 0],\n endDir: [1, 0],\n lineMarkerDir: 'end',\n hoverRectColor: '',\n hoverRectRadius: 6,\n textAlign: 'left',\n imgPlacement: 'top',\n tagPlacement: 'right',\n paddingX: 20,\n // ai加的,要核实一下是否支持\n paddingY: 10 // ai加的,要核实一下是否支持\n },\n // 三级及以下节点样式\n node: {\n shape: 'rectangle',\n marginX: 50,\n marginY: 0,\n fillColor: 'transparent',\n fontFamily: '微软雅黑, Microsoft YaHei',\n color: '#2D3748',\n fontSize: 14,\n fontWeight: 'normal',\n fontStyle: 'normal',\n borderColor: 'transparent',\n borderWidth: 1,\n borderRadius: 4,\n borderDasharray: 'none',\n textDecoration: 'none',\n gradientStyle: false,\n startColor: '#EDF2F7',\n endColor: '#fff',\n startDir: [0, 0],\n endDir: [1, 0],\n lineMarkerDir: 'end',\n hoverRectColor: '',\n hoverRectRadius: 4,\n textAlign: 'left',\n imgPlacement: 'top',\n tagPlacement: 'right',\n paddingX: 16,\n // ai加的,要核实一下是否支持\n paddingY: 8 // ai加的,要核实一下是否支持\n },\n // 概要节点样式\n generalization: {\n shape: 'rectangle',\n marginX: 100,\n marginY: 40,\n fillColor: '#FFF5F5',\n fontFamily: '微软雅黑, Microsoft YaHei',\n color: '#742A2A',\n fontSize: 14,\n fontWeight: 'normal',\n fontStyle: 'normal',\n borderColor: '#FC8181',\n borderWidth: 1,\n borderDasharray: '2,2',\n borderRadius: 6,\n textDecoration: 'none',\n gradientStyle: false,\n startColor: '#FFF5F5',\n endColor: '#fff',\n startDir: [0, 0],\n endDir: [1, 0],\n hoverRectColor: '',\n hoverRectRadius: 6,\n textAlign: 'center',\n imgPlacement: 'top',\n tagPlacement: 'right',\n paddingX: 16,\n // ai加的,要核实一下是否支持\n paddingY: 8 // ai加的,要核实一下是否支持\n }\n});\n\n// 检测主题配置是否是节点大小无关的\nconst nodeSizeIndependenceList = ['lineWidth', 'lineColor', 'lineDasharray', 'lineStyle', 'generalizationLineWidth', 'generalizationLineColor', 'associativeLineWidth', 'associativeLineColor', 'associativeLineActiveWidth', 'associativeLineActiveColor', 'associativeLineTextColor', 'associativeLineTextFontSize', 'associativeLineTextLineHeight', 'associativeLineTextFontFamily', 'backgroundColor', 'backgroundImage', 'backgroundRepeat', 'backgroundPosition', 'backgroundSize', 'rootLineKeepSameInCurve', 'rootLineStartPositionKeepSameInCurve', 'showLineMarker', 'lineRadius', 'hoverRectColor', 'hoverRectRadius', 'lineFlow', 'lineFlowDuration', 'lineFlowForward', 'textAlign'];\nconst checkIsNodeSizeIndependenceConfig = config => {\n let keys = Object.keys(config);\n for (let i = 0; i < keys.length; i++) {\n if (!nodeSizeIndependenceList.find(item => {\n return item === keys[i];\n })) {\n return false;\n }\n }\n return true;\n};\n\n// 连线的样式\nconst lineStyleProps = ['lineColor', 'lineDasharray', 'lineWidth', 'lineMarkerDir', 'lineFlow', 'lineFlowDuration', 'lineFlowForward'];\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/theme/default.js?");
/***/ }),
/***/ "../simple-mind-map/src/theme/index.js":
/*!*********************************************!*\
!*** ../simple-mind-map/src/theme/index.js ***!
\*********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var _default__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./default */ \"../simple-mind-map/src/theme/default.js\");\n\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n default: _default__WEBPACK_IMPORTED_MODULE_0__[\"default\"]\n});\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/theme/index.js?");
/***/ }),
/***/ "../simple-mind-map/src/utils/AutoMove.js":
/*!************************************************!*\
!*** ../simple-mind-map/src/utils/AutoMove.js ***!
\************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n// 画布自动移动类\nclass AutoMove {\n constructor(mindMap) {\n this.mindMap = mindMap;\n this.autoMoveTimer = null;\n }\n\n // 鼠标移动事件\n onMove(x, y, callback = () => {}, handle = () => {}) {\n callback();\n // 检测边缘移动\n let step = this.mindMap.opt.selectTranslateStep;\n let limit = this.mindMap.opt.selectTranslateLimit;\n let count = 0;\n // 左边缘\n if (x <= this.mindMap.elRect.left + limit) {\n handle('left', step);\n this.mindMap.view.translateX(step);\n count++;\n }\n // 右边缘\n if (x >= this.mindMap.elRect.right - limit) {\n handle('right', step);\n this.mindMap.view.translateX(-step);\n count++;\n }\n // 上边缘\n if (y <= this.mindMap.elRect.top + limit) {\n handle('top', step);\n this.mindMap.view.translateY(step);\n count++;\n }\n // 下边缘\n if (y >= this.mindMap.elRect.bottom - limit) {\n handle('bottom', step);\n this.mindMap.view.translateY(-step);\n count++;\n }\n if (count > 0) {\n this.startAutoMove(x, y, callback, handle);\n }\n }\n\n // 开启自动移动\n startAutoMove(x, y, callback, handle) {\n this.autoMoveTimer = setTimeout(() => {\n this.onMove(x, y, callback, handle);\n }, 20);\n }\n\n // 清除自动移动定时器\n clearAutoMoveTimer() {\n clearTimeout(this.autoMoveTimer);\n }\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (AutoMove);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/utils/AutoMove.js?");
/***/ }),
/***/ "../simple-mind-map/src/utils/BatchExecution.js":
/*!******************************************************!*\
!*** ../simple-mind-map/src/utils/BatchExecution.js ***!
\******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var ___WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! . */ \"../simple-mind-map/src/utils/index.js\");\n\n\n\n// 批量执行\nclass BatchExecution {\n // 构造函数\n constructor() {\n this.has = {};\n this.queue = [];\n this.nextTick = Object(___WEBPACK_IMPORTED_MODULE_1__[\"nextTick\"])(this.flush, this);\n }\n\n // 添加任务\n push(name, fn) {\n if (this.has[name]) {\n this.replaceTask(name, fn);\n return;\n }\n this.has[name] = true;\n this.queue.push({\n name,\n fn\n });\n this.nextTick();\n }\n\n // 替换任务\n replaceTask(name, fn) {\n const index = this.queue.findIndex(item => {\n return item.name === name;\n });\n if (index !== -1) {\n this.queue[index] = {\n name,\n fn\n };\n }\n }\n\n // 执行队列\n flush() {\n let fns = this.queue.slice(0);\n this.queue = [];\n fns.forEach(({\n name,\n fn\n }) => {\n this.has[name] = false;\n fn();\n });\n }\n}\n/* harmony default export */ __webpack_exports__[\"default\"] = (BatchExecution);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/utils/BatchExecution.js?");
/***/ }),
/***/ "../simple-mind-map/src/utils/Lru.js":
/*!*******************************************!*\
!*** ../simple-mind-map/src/utils/Lru.js ***!
\*******************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return Lru; });\n// LRU缓存类\nclass Lru {\n constructor(max) {\n this.max = max || 1000;\n this.size = 0;\n this.pool = new Map();\n }\n add(key, value) {\n const isExist = this.has(key);\n // 如果该key之前不存在,并且现在数量已经超出最大值,则不再继续添加\n if (!isExist && this.size >= this.max) {\n return false;\n }\n // 已经存在则可以更新,因为不影响数量\n // 如果该key是否已经存在,则先删除\n this.delete(key);\n // 添加\n this.pool.set(key, value);\n this.size++;\n // 删除最早的没啥意义,详见:https://github.com/wanglin2/mind-map/issues/467\n // if (this.size > this.max) {\n // let keys = this.pool.keys()\n // let last = keys.next()\n // this.delete(last.value)\n // }\n return true;\n }\n delete(key) {\n if (this.pool.has(key)) {\n this.pool.delete(key);\n this.size--;\n }\n }\n has(key) {\n return this.pool.has(key);\n }\n get(key) {\n if (this.pool.has(key)) {\n return this.pool.get(key);\n }\n }\n clear() {\n this.size = 0;\n this.pool = new Map();\n }\n}\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/utils/Lru.js?");
/***/ }),
/***/ "../simple-mind-map/src/utils/index.js":
/*!*********************************************!*\
!*** ../simple-mind-map/src/utils/index.js ***!
\*********************************************/
/*! exports provided: walk, bfsWalk, resizeImgSizeByOriginRatio, resizeImgSize, resizeImg, getStrWithBrFromHtml, simpleDeepClone, copyRenderTree, copyNodeTree, imgToDataUrl, parseDataUrl, downloadFile, throttle, debounce, asyncRun, degToRad, camelCaseToHyphen, measureText, joinFontStr, nextTick, checkNodeOuter, getTextFromHtml, readBlob, nodeToHTML, getImageSize, createUid, loadImage, removeHTMLEntities, getType, isUndef, removeHtmlStyle, addHtmlStyle, checkIsRichText, replaceHtmlText, removeHtmlNodeByClass, isWhite, isTransparent, getVisibleColorFromTheme, removeFormulaTags, nodeRichTextToTextWithWrap, textToNodeRichTextWithWrap, removeRichTextStyes, isMobile, getObjectChangedProps, checkIsNodeStyleDataKey, isNodeNotNeedRenderData, mergerIconList, getTopAncestorsFomNodeList, checkHasSupSubRelation, parseAddGeneralizationNodeList, checkTwoRectIsOverlap, focusInput, selectAllInput, addDataToAppointNodes, createUidForAppointNodes, formatDataToArray, getNodeDataIndex, getNodeIndexInNodeList, generateColorByContent, htmlEscape, isSameObject, checkClipboardReadEnable, setDataToClipboard, getDataFromClipboard, removeFromParentNodeData, handleSelfCloseTags, checkNodeListIsEqual, getChromeVersion, createSmmFormatData, checkSmmFormatData, checkSiyuanId, checkSiyuanLinkFormatData, checkSiyuanPdfUrlFormatData, handleInputPasteText, transformTreeDataToObject, transformObjectToTreeData, getTwoPointDistance, getRectRelativePosition, handleGetSvgDataExtraContent, getNodeTreeBoundingRect, getNodeListBoundingRect, fullscrrenEvent, fullScreen, exitFullScreen, createForeignObjectNode, formatGetNodeGeneralization, defenseXSS, addXmlns, sortNodeList, mergeTheme, getNodeRichTextStyles, compareVersion */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"walk\", function() { return walk; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"bfsWalk\", function() { return bfsWalk; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"resizeImgSizeByOriginRatio\", function() { return resizeImgSizeByOriginRatio; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"resizeImgSize\", function() { return resizeImgSize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"resizeImg\", function() { return resizeImg; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getStrWithBrFromHtml\", function() { return getStrWithBrFromHtml; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"simpleDeepClone\", function() { return simpleDeepClone; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"copyRenderTree\", function() { return copyRenderTree; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"copyNodeTree\", function() { return copyNodeTree; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"imgToDataUrl\", function() { return imgToDataUrl; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseDataUrl\", function() { return parseDataUrl; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"downloadFile\", function() { return downloadFile; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"throttle\", function() { return throttle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"debounce\", function() { return debounce; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"asyncRun\", function() { return asyncRun; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"degToRad\", function() { return degToRad; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"camelCaseToHyphen\", function() { return camelCaseToHyphen; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"measureText\", function() { return measureText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"joinFontStr\", function() { return joinFontStr; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"nextTick\", function() { return nextTick; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"checkNodeOuter\", function() { return checkNodeOuter; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTextFromHtml\", function() { return getTextFromHtml; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"readBlob\", function() { return readBlob; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"nodeToHTML\", function() { return nodeToHTML; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getImageSize\", function() { return getImageSize; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createUid\", function() { return createUid; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"loadImage\", function() { return loadImage; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeHTMLEntities\", function() { return removeHTMLEntities; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getType\", function() { return getType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isUndef\", function() { return isUndef; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeHtmlStyle\", function() { return removeHtmlStyle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addHtmlStyle\", function() { return addHtmlStyle; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"checkIsRichText\", function() { return checkIsRichText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"replaceHtmlText\", function() { return replaceHtmlText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeHtmlNodeByClass\", function() { return removeHtmlNodeByClass; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isWhite\", function() { return isWhite; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isTransparent\", function() { return isTransparent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getVisibleColorFromTheme\", function() { return getVisibleColorFromTheme; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeFormulaTags\", function() { return removeFormulaTags; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"nodeRichTextToTextWithWrap\", function() { return nodeRichTextToTextWithWrap; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"textToNodeRichTextWithWrap\", function() { return textToNodeRichTextWithWrap; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeRichTextStyes\", function() { return removeRichTextStyes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isMobile\", function() { return isMobile; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getObjectChangedProps\", function() { return getObjectChangedProps; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"checkIsNodeStyleDataKey\", function() { return checkIsNodeStyleDataKey; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isNodeNotNeedRenderData\", function() { return isNodeNotNeedRenderData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mergerIconList\", function() { return mergerIconList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTopAncestorsFomNodeList\", function() { return getTopAncestorsFomNodeList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"checkHasSupSubRelation\", function() { return checkHasSupSubRelation; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseAddGeneralizationNodeList\", function() { return parseAddGeneralizationNodeList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"checkTwoRectIsOverlap\", function() { return checkTwoRectIsOverlap; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"focusInput\", function() { return focusInput; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"selectAllInput\", function() { return selectAllInput; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addDataToAppointNodes\", function() { return addDataToAppointNodes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createUidForAppointNodes\", function() { return createUidForAppointNodes; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"formatDataToArray\", function() { return formatDataToArray; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getNodeDataIndex\", function() { return getNodeDataIndex; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getNodeIndexInNodeList\", function() { return getNodeIndexInNodeList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"generateColorByContent\", function() { return generateColorByContent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"htmlEscape\", function() { return htmlEscape; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"isSameObject\", function() { return isSameObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"checkClipboardReadEnable\", function() { return checkClipboardReadEnable; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"setDataToClipboard\", function() { return setDataToClipboard; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getDataFromClipboard\", function() { return getDataFromClipboard; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"removeFromParentNodeData\", function() { return removeFromParentNodeData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"handleSelfCloseTags\", function() { return handleSelfCloseTags; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"checkNodeListIsEqual\", function() { return checkNodeListIsEqual; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getChromeVersion\", function() { return getChromeVersion; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createSmmFormatData\", function() { return createSmmFormatData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"checkSmmFormatData\", function() { return checkSmmFormatData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"checkSiyuanId\", function() { return checkSiyuanId; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"checkSiyuanLinkFormatData\", function() { return checkSiyuanLinkFormatData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"checkSiyuanPdfUrlFormatData\", function() { return checkSiyuanPdfUrlFormatData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"handleInputPasteText\", function() { return handleInputPasteText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"transformTreeDataToObject\", function() { return transformTreeDataToObject; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"transformObjectToTreeData\", function() { return transformObjectToTreeData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getTwoPointDistance\", function() { return getTwoPointDistance; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getRectRelativePosition\", function() { return getRectRelativePosition; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"handleGetSvgDataExtraContent\", function() { return handleGetSvgDataExtraContent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getNodeTreeBoundingRect\", function() { return getNodeTreeBoundingRect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getNodeListBoundingRect\", function() { return getNodeListBoundingRect; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fullscrrenEvent\", function() { return fullscrrenEvent; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"fullScreen\", function() { return fullScreen; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"exitFullScreen\", function() { return exitFullScreen; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"createForeignObjectNode\", function() { return createForeignObjectNode; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"formatGetNodeGeneralization\", function() { return formatGetNodeGeneralization; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"defenseXSS\", function() { return defenseXSS; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addXmlns\", function() { return addXmlns; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"sortNodeList\", function() { return sortNodeList; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"mergeTheme\", function() { return mergeTheme; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getNodeRichTextStyles\", function() { return getNodeRichTextStyles; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"compareVersion\", function() { return compareVersion; });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! core-js/modules/es.array.reduce.js */ \"./node_modules/core-js/modules/es.array.reduce.js\");\n/* harmony import */ var core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_reduce_js__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var uuid__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! uuid */ \"../simple-mind-map/node_modules/uuid/dist/esm-browser/index.js\");\n/* harmony import */ var _constants_constant__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../constants/constant */ \"../simple-mind-map/src/constants/constant.js\");\n/* harmony import */ var _mersenneTwister__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./mersenneTwister */ \"../simple-mind-map/src/utils/mersenneTwister.js\");\n/* harmony import */ var _svgdotjs_svg_js__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @svgdotjs/svg.js */ \"../simple-mind-map/node_modules/@svgdotjs/svg.js/dist/svg.esm.js\");\n/* harmony import */ var deepmerge__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! deepmerge */ \"../simple-mind-map/node_modules/deepmerge/dist/cjs.js\");\n/* harmony import */ var deepmerge__WEBPACK_IMPORTED_MODULE_6___default = /*#__PURE__*/__webpack_require__.n(deepmerge__WEBPACK_IMPORTED_MODULE_6__);\n/* harmony import */ var _theme_default__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ../theme/default */ \"../simple-mind-map/src/theme/default.js\");\n\n\n\n\n\n\n\n\n\n// 深度优先遍历树\nconst walk = (root, parent, beforeCallback, afterCallback, isRoot, layerIndex = 0, index = 0, ancestors = []) => {\n let stop = false;\n if (beforeCallback) {\n stop = beforeCallback(root, parent, isRoot, layerIndex, index, ancestors);\n }\n if (!stop && root.children && root.children.length > 0) {\n let _layerIndex = layerIndex + 1;\n root.children.forEach((node, nodeIndex) => {\n walk(node, root, beforeCallback, afterCallback, false, _layerIndex, nodeIndex, [...ancestors, root]);\n });\n }\n afterCallback && afterCallback(root, parent, isRoot, layerIndex, index, ancestors);\n};\n\n// 广度优先遍历树\nconst bfsWalk = (root, callback) => {\n let stack = [root];\n let isStop = false;\n if (callback(root, null) === 'stop') {\n isStop = true;\n }\n while (stack.length) {\n if (isStop) {\n break;\n }\n let cur = stack.shift();\n if (cur.children && cur.children.length) {\n cur.children.forEach(item => {\n if (isStop) return;\n stack.push(item);\n if (callback(item, cur) === 'stop') {\n isStop = true;\n }\n });\n }\n }\n};\n\n// 按原比例缩放图片\nconst resizeImgSizeByOriginRatio = (width, height, newWidth, newHeight) => {\n let arr = [];\n let nRatio = width / height;\n let mRatio = newWidth / newHeight;\n if (nRatio > mRatio) {\n // 固定宽度\n arr = [newWidth, newWidth / nRatio];\n } else {\n // 固定高度\n arr = [nRatio * newHeight, newHeight];\n }\n return arr;\n};\n\n// 缩放图片尺寸\nconst resizeImgSize = (width, height, maxWidth, maxHeight) => {\n let nRatio = width / height;\n let arr = [];\n if (maxWidth && maxHeight) {\n if (width <= maxWidth && height <= maxHeight) {\n arr = [width, height];\n } else {\n let mRatio = maxWidth / maxHeight;\n if (nRatio > mRatio) {\n // 固定宽度\n arr = [maxWidth, maxWidth / nRatio];\n } else {\n // 固定高度\n arr = [nRatio * maxHeight, maxHeight];\n }\n }\n } else if (maxWidth) {\n if (width <= maxWidth) {\n arr = [width, height];\n } else {\n arr = [maxWidth, maxWidth / nRatio];\n }\n } else if (maxHeight) {\n if (height <= maxHeight) {\n arr = [width, height];\n } else {\n arr = [nRatio * maxHeight, maxHeight];\n }\n }\n return arr;\n};\n\n// 缩放图片\nconst resizeImg = (imgUrl, maxWidth, maxHeight) => {\n return new Promise((resolve, reject) => {\n let img = new Image();\n img.src = imgUrl;\n img.onload = () => {\n let arr = resizeImgSize(img.naturalWidth, img.naturalHeight, maxWidth, maxHeight);\n resolve(arr);\n };\n img.onerror = e => {\n reject(e);\n };\n });\n};\n\n// 从头html结构字符串里获取带换行符的字符串\nconst getStrWithBrFromHtml = str => {\n str = str.replace(/
/gim, '\\n');\n let el = document.createElement('div');\n el.innerHTML = str;\n str = el.textContent;\n return str;\n};\n\n// 极简的深拷贝\nconst simpleDeepClone = data => {\n try {\n return JSON.parse(JSON.stringify(data));\n } catch (error) {\n return null;\n }\n};\n\n// 复制渲染树数据\nconst copyRenderTree = (tree, root, removeActiveState = false) => {\n // 添加空值检查\n if (!root || !root.data) {\n return null;\n }\n tree.data = simpleDeepClone(root.data);\n if (removeActiveState && tree.data) {\n tree.data.isActive = false;\n const generalizationList = formatGetNodeGeneralization(tree.data);\n generalizationList.forEach(item => {\n item.isActive = false;\n });\n }\n tree.children = [];\n if (root.children && root.children.length > 0) {\n root.children.forEach((item, index) => {\n const copied = copyRenderTree({}, item, removeActiveState);\n if (copied) {\n tree.children[index] = copied;\n }\n });\n }\n // data、children外的其他字段\n Object.keys(root).forEach(key => {\n if (!['data', 'children'].includes(key) && !/^_/.test(key)) {\n tree[key] = root[key];\n }\n });\n return tree;\n};\n\n// 复制节点树数据\nconst copyNodeTree = (tree, root, removeActiveState = false, removeId = true) => {\n const rootData = root.nodeData ? root.nodeData : root;\n tree.data = simpleDeepClone(rootData.data);\n // 移除节点uid\n if (removeId) {\n delete tree.data.uid;\n } else if (!tree.data.uid) {\n // 否则保留或生成\n tree.data.uid = createUid();\n }\n if (removeActiveState) {\n tree.data.isActive = false;\n }\n tree.children = [];\n if (root.children && root.children.length > 0) {\n root.children.forEach((item, index) => {\n tree.children[index] = copyNodeTree({}, item, removeActiveState, removeId);\n });\n } else if (root.nodeData && root.nodeData.children && root.nodeData.children.length > 0) {\n root.nodeData.children.forEach((item, index) => {\n tree.children[index] = copyNodeTree({}, item, removeActiveState, removeId);\n });\n }\n // data、children外的其他字段\n Object.keys(rootData).forEach(key => {\n if (!['data', 'children'].includes(key) && !/^_/.test(key)) {\n tree[key] = rootData[key];\n }\n });\n return tree;\n};\n\n// 图片转成dataURL\nconst imgToDataUrl = (src, returnBlob = false) => {\n return new Promise((resolve, reject) => {\n const img = new Image();\n // 跨域图片需要添加这个属性,否则画布被污染了无法导出图片\n img.setAttribute('crossOrigin', 'anonymous');\n img.onload = () => {\n try {\n let canvas = document.createElement('canvas');\n canvas.width = img.width;\n canvas.height = img.height;\n let ctx = canvas.getContext('2d');\n // 图片绘制到canvas里\n ctx.drawImage(img, 0, 0, img.width, img.height);\n if (returnBlob) {\n canvas.toBlob(blob => {\n resolve(blob);\n });\n } else {\n resolve(canvas.toDataURL());\n }\n } catch (e) {\n reject(e);\n }\n };\n img.onerror = e => {\n reject(e);\n };\n img.src = src;\n });\n};\n\n// 解析dataUrl\nconst parseDataUrl = data => {\n if (!/^data:/.test(data)) return data;\n let [typeStr, base64] = data.split(',');\n let res = /^data:[^/]+\\/([^;]+);/.exec(typeStr);\n let type = res[1];\n return {\n type,\n base64\n };\n};\n\n// 下载文件\nconst downloadFile = (file, fileName) => {\n let a = document.createElement('a');\n a.href = file;\n a.download = fileName;\n a.click();\n};\n\n// 节流函数\nconst throttle = (fn, time = 300, ctx) => {\n let timer = null;\n return (...args) => {\n if (timer) {\n return;\n }\n timer = setTimeout(() => {\n fn.call(ctx, ...args);\n timer = null;\n }, time);\n };\n};\n\n// 防抖函数\nconst debounce = (fn, wait = 300, ctx) => {\n let timeout = null;\n return (...args) => {\n if (timeout) clearTimeout(timeout);\n timeout = setTimeout(() => {\n timeout = null;\n fn.apply(ctx, args);\n }, wait);\n };\n};\n\n// 异步执行任务队列\nconst asyncRun = (taskList, callback = () => {}) => {\n let index = 0;\n let len = taskList.length;\n if (len <= 0) {\n return callback();\n }\n let loop = () => {\n if (index >= len) {\n callback();\n return;\n }\n taskList[index]();\n setTimeout(() => {\n index++;\n loop();\n }, 0);\n };\n loop();\n};\n\n// 角度转弧度\nconst degToRad = deg => {\n return deg * (Math.PI / 180);\n};\n\n// 驼峰转连字符\nconst camelCaseToHyphen = str => {\n return str.replace(/([a-z])([A-Z])/g, (...args) => {\n return args[1] + '-' + args[2].toLowerCase();\n });\n};\n\n//计算节点的文本长宽\nlet measureTextContext = null;\nconst measureText = (text, {\n italic,\n bold,\n fontSize,\n fontFamily\n}) => {\n const font = joinFontStr({\n italic,\n bold,\n fontSize,\n fontFamily\n });\n if (!measureTextContext) {\n const canvas = document.createElement('canvas');\n measureTextContext = canvas.getContext('2d');\n }\n measureTextContext.save();\n measureTextContext.font = font;\n const {\n width,\n actualBoundingBoxAscent,\n actualBoundingBoxDescent\n } = measureTextContext.measureText(text);\n measureTextContext.restore();\n const height = actualBoundingBoxAscent + actualBoundingBoxDescent;\n return {\n width,\n height\n };\n};\n\n// 拼接font字符串\nconst joinFontStr = ({\n italic,\n bold,\n fontSize,\n fontFamily\n}) => {\n return `${italic ? 'italic ' : ''} ${bold ? 'bold ' : ''} ${fontSize}px ${fontFamily} `;\n};\n\n// 在下一个事件循环里执行任务\nconst nextTick = function (fn, ctx) {\n let pending = false;\n let timerFunc = null;\n let handle = () => {\n pending = false;\n ctx ? fn.call(ctx) : fn();\n };\n // 支持MutationObserver接口的话使用MutationObserver\n if (typeof MutationObserver !== 'undefined') {\n let counter = 1;\n let observer = new MutationObserver(handle);\n let textNode = document.createTextNode(counter);\n observer.observe(textNode, {\n characterData: true // 设为 true 表示监视指定目标节点或子节点树中节点所包含的字符数据的变化\n });\n timerFunc = function () {\n counter = (counter + 1) % 2; // counter会在0和1两者循环变化\n textNode.data = counter; // 节点变化会触发回调handle,\n };\n } else {\n // 否则使用定时器\n timerFunc = setTimeout;\n }\n return function () {\n if (pending) return;\n pending = true;\n timerFunc(handle, 0);\n };\n};\n\n// 检查节点是否超出画布\nconst checkNodeOuter = (mindMap, node, offsetX = 0, offsetY = 0) => {\n let elRect = mindMap.elRect;\n let {\n scaleX,\n scaleY,\n translateX,\n translateY\n } = mindMap.draw.transform();\n let {\n left,\n top,\n width,\n height\n } = node;\n let right = (left + width) * scaleX + translateX;\n let bottom = (top + height) * scaleY + translateY;\n left = left * scaleX + translateX;\n top = top * scaleY + translateY;\n let offsetLeft = 0;\n let offsetTop = 0;\n if (left < 0 + offsetX) {\n offsetLeft = -left + offsetX;\n }\n if (right > elRect.width - offsetX) {\n offsetLeft = -(right - elRect.width) - offsetX;\n }\n if (top < 0 + offsetY) {\n offsetTop = -top + offsetY;\n }\n if (bottom > elRect.height - offsetY) {\n offsetTop = -(bottom - elRect.height) - offsetY;\n }\n return {\n isOuter: offsetLeft !== 0 || offsetTop !== 0,\n offsetLeft,\n offsetTop\n };\n};\n\n// 提取html字符串里的纯文本\nlet getTextFromHtmlEl = null;\nconst getTextFromHtml = html => {\n if (!getTextFromHtmlEl) {\n getTextFromHtmlEl = document.createElement('div');\n }\n getTextFromHtmlEl.innerHTML = html;\n return getTextFromHtmlEl.textContent;\n};\n\n// 将blob转成data:url\nconst readBlob = blob => {\n return new Promise((resolve, reject) => {\n let reader = new FileReader();\n reader.onload = evt => {\n resolve(evt.target.result);\n };\n reader.onerror = err => {\n reject(err);\n };\n reader.readAsDataURL(blob);\n });\n};\n\n// 将dom节点转换成html字符串\nlet nodeToHTMLWrapEl = null;\nconst nodeToHTML = node => {\n if (!nodeToHTMLWrapEl) {\n nodeToHTMLWrapEl = document.createElement('div');\n }\n nodeToHTMLWrapEl.innerHTML = '';\n nodeToHTMLWrapEl.appendChild(node);\n return nodeToHTMLWrapEl.innerHTML;\n};\n\n// 获取图片大小\nconst getImageSize = src => {\n return new Promise(resolve => {\n let img = new Image();\n img.src = src;\n img.onload = () => {\n resolve({\n width: img.width,\n height: img.height\n });\n };\n img.onerror = () => {\n resolve({\n width: 0,\n height: 0\n });\n };\n });\n};\n\n// 创建节点唯一的id\nconst createUid = () => {\n const timestamp = new Date().toISOString().replace(/[-:TZ]/g, '').replace('.', '');\n const uuid = Object(uuid__WEBPACK_IMPORTED_MODULE_2__[\"v4\"])().split('-')[0];\n return `kmind-node-${timestamp}-${uuid}`;\n};\n\n// 加载图片文件\nconst loadImage = imgFile => {\n return new Promise((resolve, reject) => {\n let fr = new FileReader();\n fr.readAsDataURL(imgFile);\n fr.onload = async e => {\n let url = e.target.result;\n let size = await getImageSize(url);\n resolve({\n url,\n size\n });\n };\n fr.onerror = error => {\n reject(error);\n };\n });\n};\n\n// 移除字符串中的html实体\nconst removeHTMLEntities = str => {\n [[' ', ' ']].forEach(item => {\n str = str.replace(new RegExp(item[0], 'g'), item[1]);\n });\n return str;\n};\n\n// 获取一个数据的类型\nconst getType = data => {\n return Object.prototype.toString.call(data).slice(8, -1);\n};\n\n// 判断一个数据是否是null和undefined和空字符串\nconst isUndef = data => {\n return data === null || data === undefined || data === '';\n};\n\n// 移除html字符串中节点的内联样式\nconst removeHtmlStyle = html => {\n return html.replace(/(<[^\\s]+)\\s+style=[\"'][^'\"]+[\"']\\s*(>)/g, '$1$2');\n};\n\n// 给html标签中指定的标签添加内联样式\nlet addHtmlStyleEl = null;\nconst addHtmlStyle = (html, tag, style) => {\n if (!addHtmlStyleEl) {\n addHtmlStyleEl = document.createElement('div');\n }\n const tags = Array.isArray(tag) ? tag : [tag];\n addHtmlStyleEl.innerHTML = html;\n let walk = root => {\n let childNodes = root.childNodes;\n childNodes.forEach(node => {\n if (node.nodeType === 1) {\n // 元素节点\n if (tags.includes(node.tagName.toLowerCase())) {\n node.style.cssText = style;\n } else {\n walk(node);\n }\n }\n });\n };\n walk(addHtmlStyleEl);\n return addHtmlStyleEl.innerHTML;\n};\n\n// 检查一个字符串是否是富文本字符\nlet checkIsRichTextEl = null;\nconst checkIsRichText = str => {\n if (!checkIsRichTextEl) {\n checkIsRichTextEl = document.createElement('div');\n }\n checkIsRichTextEl.innerHTML = str;\n for (let c = checkIsRichTextEl.childNodes, i = c.length; i--;) {\n if (c[i].nodeType == 1) return true;\n }\n return false;\n};\n\n// 搜索和替换html字符串中指定的文本\nlet replaceHtmlTextEl = null;\nconst replaceHtmlText = (html, searchText, replaceText) => {\n if (!replaceHtmlTextEl) {\n replaceHtmlTextEl = document.createElement('div');\n }\n replaceHtmlTextEl.innerHTML = html;\n let walk = root => {\n let childNodes = root.childNodes;\n childNodes.forEach(node => {\n if (node.nodeType === 1) {\n // 元素节点\n walk(node);\n } else if (node.nodeType === 3) {\n // 文本节点\n root.replaceChild(document.createTextNode(node.nodeValue.replace(new RegExp(searchText, 'g'), replaceText)), node);\n }\n });\n };\n walk(replaceHtmlTextEl);\n return replaceHtmlTextEl.innerHTML;\n};\n\n// 去除html字符串中指定选择器的节点,然后返回html字符串\nlet removeHtmlNodeByClassEl = null;\nconst removeHtmlNodeByClass = (html, selector) => {\n if (!removeHtmlNodeByClassEl) {\n removeHtmlNodeByClassEl = document.createElement('div');\n }\n removeHtmlNodeByClassEl.innerHTML = html;\n const node = removeHtmlNodeByClassEl.querySelector(selector);\n if (node) {\n node.parentNode.removeChild(node);\n }\n return removeHtmlNodeByClassEl.innerHTML;\n};\n\n// 判断一个颜色是否是白色\nconst isWhite = color => {\n color = String(color).replace(/\\s+/g, '');\n return ['#fff', '#ffffff', '#FFF', '#FFFFFF', 'rgb(255,255,255)'].includes(color) || /rgba\\(255,255,255,[^)]+\\)/.test(color);\n};\n\n// 判断一个颜色是否是透明\nconst isTransparent = color => {\n color = String(color).replace(/\\s+/g, '');\n return ['', 'transparent'].includes(color) || /rgba\\(\\d+,\\d+,\\d+,0\\)/.test(color);\n};\n\n// 从当前主题里获取一个非透明非白色的颜色\nconst getVisibleColorFromTheme = themeConfig => {\n let {\n lineColor,\n root,\n second,\n node\n } = themeConfig;\n let list = [lineColor, root.fillColor, root.color, second.fillColor, second.color, node.fillColor, node.color, root.borderColor, second.borderColor, node.borderColor];\n for (let i = 0; i < list.length; i++) {\n let color = list[i];\n if (!isTransparent(color) && !isWhite(color)) {\n return color;\n }\n }\n};\n\n// 去掉DOM节点中的公式标签\nconst removeFormulaTags = node => {\n const walk = root => {\n const childNodes = root.childNodes;\n childNodes.forEach(node => {\n if (node.nodeType === 1) {\n if (node.classList.contains('ql-formula')) {\n node.parentNode.removeChild(node);\n } else {\n walk(node);\n }\n }\n });\n };\n walk(node);\n};\n\n// 将
形式的节点富文本内容转换成\\n换行的文本\n// 会过滤掉节点中的格式节点\nlet nodeRichTextToTextWithWrapEl = null;\nconst nodeRichTextToTextWithWrap = html => {\n if (!nodeRichTextToTextWithWrapEl) {\n nodeRichTextToTextWithWrapEl = document.createElement('div');\n }\n nodeRichTextToTextWithWrapEl.innerHTML = html;\n const childNodes = nodeRichTextToTextWithWrapEl.childNodes;\n let res = '';\n for (let i = 0; i < childNodes.length; i++) {\n const node = childNodes[i];\n if (node.nodeType === 1) {\n // 元素节点\n removeFormulaTags(node);\n if (node.tagName.toLowerCase() === 'p') {\n res += node.textContent + '\\n';\n } else {\n res += node.textContent;\n }\n } else if (node.nodeType === 3) {\n // 文本节点\n res += node.nodeValue;\n }\n }\n return res.replace(/\\n$/, '');\n};\n\n// 将
换行的文本转换成
形式的节点富文本内容\nlet textToNodeRichTextWithWrapEl = null;\nconst textToNodeRichTextWithWrap = html => {\n if (!textToNodeRichTextWithWrapEl) {\n textToNodeRichTextWithWrapEl = document.createElement('div');\n }\n textToNodeRichTextWithWrapEl.innerHTML = html;\n const childNodes = textToNodeRichTextWithWrapEl.childNodes;\n let list = [];\n let str = '';\n for (let i = 0; i < childNodes.length; i++) {\n const node = childNodes[i];\n if (node.nodeType === 1) {\n // 元素节点\n if (node.tagName.toLowerCase() === 'br') {\n list.push(str);\n str = '';\n } else {\n str += node.textContent;\n }\n } else if (node.nodeType === 3) {\n // 文本节点\n str += node.nodeValue;\n }\n }\n if (str) {\n list.push(str);\n }\n return list.map(item => {\n return `
${htmlEscape(item)}
`;\n }).join('');\n};\n\n// 去除富文本内容的样式,包括样式标签,比如strong、em、s等\n// 但要保留数学公式内容\nlet removeRichTextStyesEl = null;\nconst removeRichTextStyes = html => {\n if (!removeRichTextStyesEl) {\n removeRichTextStyesEl = document.createElement('div');\n }\n removeRichTextStyesEl.innerHTML = html;\n // 首先用占位文本替换掉所有的公式\n const formulaList = removeRichTextStyesEl.querySelectorAll('.ql-formula');\n Array.from(formulaList).forEach(el => {\n const placeholder = document.createTextNode('$smmformula$');\n el.parentNode.replaceChild(placeholder, el);\n });\n // 然后遍历每行节点,去掉内部的所有标签,转为文本\n const childNodes = removeRichTextStyesEl.childNodes;\n let list = [];\n for (let i = 0; i < childNodes.length; i++) {\n const node = childNodes[i];\n if (node.nodeType === 1) {\n // 元素节点\n list.push(node.textContent);\n } else if (node.nodeType === 3) {\n // 文本节点\n list.push(node.nodeValue);\n }\n }\n // 拼接文本\n html = list.map(item => {\n return `${htmlEscape(item)}
`;\n }).join('');\n // 将公式添加回去\n if (formulaList.length > 0) {\n html = html.replace(/\\$smmformula\\$/g, '');\n removeRichTextStyesEl.innerHTML = html;\n const els = removeRichTextStyesEl.querySelectorAll('.smmformula');\n Array.from(els).forEach((el, index) => {\n el.parentNode.replaceChild(formulaList[index], el);\n });\n html = removeRichTextStyesEl.innerHTML;\n }\n return html;\n};\n\n// 判断是否是移动端环境\nconst isMobile = () => {\n return /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);\n};\n\n// 获取对象改变了的的属性\nconst getObjectChangedProps = (oldObject, newObject) => {\n const res = {};\n Object.keys(newObject).forEach(prop => {\n const oldVal = oldObject[prop];\n const newVal = newObject[prop];\n if (getType(oldVal) !== getType(newVal)) {\n res[prop] = newVal;\n return;\n }\n if (getType(oldVal) === 'Object') {\n if (JSON.stringify(oldVal) !== JSON.stringify(newVal)) {\n res[prop] = newVal;\n return;\n }\n } else {\n if (oldVal !== newVal) {\n res[prop] = newVal;\n return;\n }\n }\n });\n return res;\n};\n\n// 判断一个字段是否是节点数据中的样式字段\nconst checkIsNodeStyleDataKey = key => {\n // 用户自定义字段\n if (/^_/.test(key)) return false;\n // 不在节点非样式字段列表里,那么就是样式字段\n if (!_constants_constant__WEBPACK_IMPORTED_MODULE_3__[\"nodeDataNoStylePropList\"].includes(key)) {\n return true;\n }\n return false;\n};\n\n// 判断一个对象是否不需要触发节点重新创建\nconst isNodeNotNeedRenderData = config => {\n const list = [..._theme_default__WEBPACK_IMPORTED_MODULE_7__[\"lineStyleProps\"]]; // 节点连线样式\n const keys = Object.keys(config);\n for (let i = 0; i < keys.length; i++) {\n if (!list.includes(keys[i])) {\n return false;\n }\n }\n return true;\n};\n\n// 合并图标数组\n// const data = [\n// { type: 'priority', name: '优先级图标', list: [{ name: '1', icon: 'a' }, { name: 2, icon: 'b' }] },\n// { type: 'priority', name: '优先级图标', list: [{ name: '2', icon: 'c' }, { name: 3, icon: 'd' }] },\n// ];\n\n// mergerIconList(data) 结果\n\n// [\n// { type: 'priority', name: '优先级图标', list: [{ name: '1', icon: 'a' }, { name: 2, icon: 'c' }, { name: 3, icon: 'd' }] },\n// ]\nconst mergerIconList = list => {\n return list.reduce((result, item) => {\n const existingItem = result.find(x => x.type === item.type);\n if (existingItem) {\n item.list.forEach(newObj => {\n const existingObj = existingItem.list.find(x => x.name === newObj.name);\n if (existingObj) {\n existingObj.icon = newObj.icon;\n } else {\n existingItem.list.push(newObj);\n }\n });\n } else {\n result.push({\n ...item\n });\n }\n return result;\n }, []);\n};\n\n// 从节点实例列表里找出顶层的节点\nconst getTopAncestorsFomNodeList = list => {\n let res = [];\n list.forEach(node => {\n if (!list.find(item => {\n return item.uid !== node.uid && item.isAncestor(node);\n })) {\n res.push(node);\n }\n });\n return res;\n};\n\n// 从给定的节点实例列表里判断是否存在上下级关系\nconst checkHasSupSubRelation = list => {\n for (let i = 0; i < list.length; i++) {\n const cur = list[i];\n if (list.find(item => {\n return item.uid !== cur.uid && cur.isAncestor(item);\n })) {\n return true;\n }\n }\n return false;\n};\n\n// 解析要添加概要的节点实例列表\nconst parseAddGeneralizationNodeList = list => {\n const cache = {};\n const uidToParent = {};\n list.forEach(node => {\n const parent = node.parent;\n if (parent) {\n const pUid = parent.uid;\n uidToParent[pUid] = parent;\n const index = node.getIndexInBrothers();\n const data = {\n node,\n index\n };\n if (cache[pUid]) {\n if (!cache[pUid].find(item => {\n return item.index === data.index;\n })) {\n cache[pUid].push(data);\n }\n } else {\n cache[pUid] = [data];\n }\n }\n });\n const res = [];\n Object.keys(cache).forEach(uid => {\n if (cache[uid].length > 1) {\n const rangeList = cache[uid].map(item => {\n return item.index;\n }).sort((a, b) => {\n return a - b;\n });\n res.push({\n node: uidToParent[uid],\n range: [rangeList[0], rangeList[rangeList.length - 1]]\n });\n } else {\n res.push({\n node: cache[uid][0].node\n });\n }\n });\n return res;\n};\n\n// 判断两个矩形是否重叠\nconst checkTwoRectIsOverlap = (minx1, maxx1, miny1, maxy1, minx2, maxx2, miny2, maxy2) => {\n return maxx1 > minx2 && maxx2 > minx1 && maxy1 > miny2 && maxy2 > miny1;\n};\n\n// 聚焦指定输入框\nconst focusInput = el => {\n let selection = window.getSelection();\n let range = document.createRange();\n range.selectNodeContents(el);\n range.collapse();\n selection.removeAllRanges();\n selection.addRange(range);\n};\n\n// 聚焦全选指定输入框\nconst selectAllInput = el => {\n let selection = window.getSelection();\n let range = document.createRange();\n range.selectNodeContents(el);\n selection.removeAllRanges();\n selection.addRange(range);\n};\n\n// 给指定的节点列表树数据添加附加数据,会修改原数据\nconst addDataToAppointNodes = (appointNodes, data = {}) => {\n data = {\n ...data\n };\n const alreadyIsRichText = data && data.richText;\n // 如果指定的数据就是富文本格式,那么不需要重新创建\n if (alreadyIsRichText && data.resetRichText) {\n delete data.resetRichText;\n }\n const walk = list => {\n list.forEach(node => {\n node.data = {\n ...node.data,\n ...data\n };\n if (node.children && node.children.length > 0) {\n walk(node.children);\n }\n });\n };\n walk(appointNodes);\n return appointNodes;\n};\n\n// 给指定的节点列表树数据添加uid,会修改原数据\n// createNewId默认为false,即如果节点不存在uid的话,会创建新的uid。如果传true,那么无论节点数据原来是否存在uid,都会创建新的uid\nconst createUidForAppointNodes = (appointNodes, createNewId = false, handle = null, handleGeneralization = false) => {\n const walk = list => {\n list.forEach(node => {\n if (!node.data) {\n node.data = {};\n }\n if (createNewId || isUndef(node.data.uid)) {\n node.data.uid = createUid();\n }\n if (handleGeneralization) {\n const generalizationList = formatGetNodeGeneralization(node.data);\n generalizationList.forEach(gNode => {\n if (createNewId || isUndef(gNode.uid)) {\n gNode.uid = createUid();\n }\n });\n }\n handle && handle(node);\n if (node.children && node.children.length > 0) {\n walk(node.children);\n }\n });\n };\n walk(appointNodes);\n return appointNodes;\n};\n\n// 传入一个数据,如果该数据是数组,那么返回该数组,否则返回一个以该数据为成员的数组\nconst formatDataToArray = data => {\n if (!data) return [];\n return Array.isArray(data) ? data : [data];\n};\n\n// 获取节点在同级里的位置索引\nconst getNodeDataIndex = node => {\n return node.parent ? node.parent.nodeData.children.findIndex(item => {\n return item.data.uid === node.uid;\n }) : 0;\n};\n\n// 从一个节点列表里找出某个节点的索引\nconst getNodeIndexInNodeList = (node, nodeList) => {\n return nodeList.findIndex(item => {\n return item.uid === node.uid;\n });\n};\n\n// 根据内容生成颜色\nconst generateColorByContent = str => {\n let hash = 0;\n for (let i = 0; i < str.length; i++) {\n hash = str.charCodeAt(i) + ((hash << 5) - hash);\n }\n // 这里使用伪随机数的原因是因为\n // 1. 如果字符串的内容差不多,根据hash生产的颜色就比较相近,不好区分,比如v1.1 v1.2,所以需要加入随机数来使得颜色能够区分开\n // 2. 普通的随机数每次数值不一样,就会导致每次新增标签原来的标签颜色就会发生改变,所以加入了这个方法,使得内容不变随机数也不变\n const rng = new _mersenneTwister__WEBPACK_IMPORTED_MODULE_4__[\"default\"](hash);\n const h = rng.genrand_int32() % 360;\n return 'hsla(' + h + ', 50%, 50%, 1)';\n};\n\n// html转义\nconst htmlEscape = str => {\n [['&', '&'], ['<', '<'], ['>', '>']].forEach(item => {\n str = str.replace(new RegExp(item[0], 'g'), item[1]);\n });\n return str;\n};\n\n// 判断两个对象是否相同,只处理对象或数组\nconst isSameObject = (a, b) => {\n const type = getType(a);\n // a、b类型不一致,那么肯定不相同\n if (type !== getType(b)) return false;\n // 如果都是对象\n if (type === 'Object') {\n const keysa = Object.keys(a);\n const keysb = Object.keys(b);\n // 对象字段数量不一样,肯定不相同\n if (keysa.length !== keysb.length) return false;\n // 字段数量一样,那么需要遍历字段进行判断\n for (let i = 0; i < keysa.length; i++) {\n const key = keysa[i];\n // b没有a的一个字段,那么肯定不相同\n if (!keysb.includes(key)) return false;\n // 字段名称一样,那么需要递归判断它们的值\n const isSame = isSameObject(a[key], b[key]);\n if (!isSame) {\n return false;\n }\n }\n return true;\n } else if (type === 'Array') {\n // 如果都是数组\n // 数组长度不一样,肯定不相同\n if (a.length !== b.length) return false;\n // 长度一样,那么需要遍历进行判断\n for (let i = 0; i < a.length; i++) {\n const itema = a[i];\n const itemb = b[i];\n const typea = getType(itema);\n const typeb = getType(itemb);\n if (typea !== typeb) return false;\n const isSame = isSameObject(itema, itemb);\n if (!isSame) {\n return false;\n }\n }\n return true;\n } else {\n // 其他类型,直接全等判断\n return a === b;\n }\n};\n\n// 检查navigator.clipboard对象的读取是否可用\nconst checkClipboardReadEnable = () => {\n return navigator.clipboard && typeof navigator.clipboard.read === 'function';\n};\n\n// 将数据设置到用户剪切板中\nconst setDataToClipboard = data => {\n if (navigator.clipboard && navigator.clipboard.writeText) {\n navigator.clipboard.writeText(JSON.stringify(data));\n }\n};\n\n// 从用户剪贴板中读取文字和图片\nconst getDataFromClipboard = async () => {\n let text = null;\n let img = null;\n if (checkClipboardReadEnable()) {\n const items = await navigator.clipboard.read();\n if (items && items.length > 0) {\n for (const clipboardItem of items) {\n for (const type of clipboardItem.types) {\n if (/^image\\//.test(type)) {\n img = await clipboardItem.getType(type);\n } else if (type === 'text/plain') {\n const blob = await clipboardItem.getType(type);\n text = await blob.text();\n }\n }\n }\n }\n }\n return {\n text,\n img\n };\n};\n\n// 从节点的父节点的nodeData.children列表中移除该节点的数据\nconst removeFromParentNodeData = node => {\n if (!node || !node.parent) return;\n const index = getNodeDataIndex(node);\n if (index === -1) return;\n node.parent.nodeData.children.splice(index, 1);\n\n // 更新父节点的概要节点的range索引\n // 当删除一个节点后,所有在它之后的节点索引都会减1\n // 因此需要相应地更新概要节点的range\n const parentData = node.parent.nodeData.data;\n if (parentData && parentData.generalization) {\n const generalizationList = Array.isArray(parentData.generalization) ? parentData.generalization : [parentData.generalization];\n generalizationList.forEach(item => {\n if (item && item.range && Array.isArray(item.range) && item.range.length === 2) {\n const [start, end] = item.range;\n\n // 如果删除的节点在概要范围之前,需要将范围索引都减1\n if (index < start) {\n item.range = [start - 1, end - 1];\n }\n // 如果删除的节点在概要范围内的开始位置\n else if (index === start) {\n // 如果概要只包含这一个节点,则需要删除这个概要\n if (start === end) {\n // 标记这个概要为需要删除\n item._shouldRemove = true;\n } else {\n // 否则调整范围,不改变起始索引但终点索引减1\n item.range = [start, end - 1];\n }\n }\n // 如果删除的节点在概要范围内(不包括起始位置)\n else if (index > start && index <= end) {\n // 终点索引减1\n item.range = [start, end - 1];\n }\n // 如果删除的节点在概要范围之后,不需要调整\n }\n });\n\n // 移除标记为删除的概要节点\n if (Array.isArray(parentData.generalization)) {\n parentData.generalization = parentData.generalization.filter(item => !item._shouldRemove);\n // 删除临时标记\n parentData.generalization.forEach(item => {\n if (item._shouldRemove !== undefined) {\n delete item._shouldRemove;\n }\n });\n }\n }\n};\n\n// 给html自闭合标签添加闭合状态\nconst handleSelfCloseTags = str => {\n _constants_constant__WEBPACK_IMPORTED_MODULE_3__[\"selfCloseTagList\"].forEach(tagName => {\n str = str.replace(new RegExp(`<${tagName}([^>]*)>`, 'g'), `<${tagName} $1 />`);\n });\n return str;\n};\n\n// 检查两个节点列表是否包含的节点是一样的\nconst checkNodeListIsEqual = (list1, list2) => {\n if (list1.length !== list2.length) return false;\n for (let i = 0; i < list1.length; i++) {\n if (!list2.find(item => {\n return item.uid === list1[i].uid;\n })) {\n return false;\n }\n }\n return true;\n};\n\n// 获取浏览器的chrome内核版本\nconst getChromeVersion = () => {\n const match = navigator.userAgent.match(/\\s+Chrome\\/(.*)\\s+/);\n if (match && match[1]) {\n return Number.parseFloat(match[1]);\n }\n return '';\n};\n\n// 创建smm粘贴的粘贴数据\nconst createSmmFormatData = data => {\n return {\n simpleMindMap: true,\n data\n };\n};\n\n// 检查是否是smm粘贴格式的数据\nconst checkSmmFormatData = data => {\n let smmData = null;\n // 如果是字符串,则尝试解析为对象\n if (typeof data === 'string') {\n try {\n const parsedData = JSON.parse(data);\n // 判断是否是对象,且存在属性标志\n if (typeof parsedData === 'object' && parsedData.simpleMindMap) {\n smmData = parsedData.data;\n }\n } catch (error) {}\n } else if (typeof data === 'object' && data.simpleMindMap) {\n // 否则如果是对象,则检查属性标志\n smmData = data.data;\n }\n const isSmm = !!smmData;\n return {\n isSmm,\n data: isSmm ? smmData : String(data)\n };\n};\n\n// 检查是否是思源块id\n// 20241014145814-8rc1bfx\nconst checkSiyuanId = text => {\n var _arr$, _arr$2;\n const arr = text.split('-');\n if (arr.length !== 2) return false;\n return (arr === null || arr === void 0 || (_arr$ = arr[0]) === null || _arr$ === void 0 ? void 0 : _arr$.length) === 14 && (arr === null || arr === void 0 || (_arr$2 = arr[1]) === null || _arr$2 === void 0 ? void 0 : _arr$2.length) === 7;\n};\n\n// 检查是否是思源链接粘贴格式的数据\n// ((20241014145814-8rc1bfx '未命名kmind文档'))\n// siyuan://blocks/20240917095319-iqn29t9\nconst checkSiyuanLinkFormatData = text => {\n let isSiyuanLink = false;\n let siyuanLink = '';\n let siyuanLinkTitle = '';\n if (text.startsWith('siyuan://blocks/')) {\n isSiyuanLink = true;\n siyuanLink = text;\n }\n // 块引链接之后可能用其它的形式展示,先注释掉\n // if (text.startsWith('((') && text.endsWith('))')) {\n // // 去除前后双括号\n // const _text = text.slice(2, -2)\n // const arr = _text.split(' ')\n // if (arr.length === 2 && checkSiyuanId(arr[0])) {\n // siyuanLinkTitle = arr[1].replaceAll(\"'\", '')\n // isSiyuanLink = true\n // siyuanLink = `siyuan://blocks/${arr[0]}`\n // }\n // }\n return {\n isSiyuanLink,\n siyuanLink,\n siyuanLinkTitle\n };\n};\n\n// 检查是否是思源PDF粘贴格式\n/** 带有图片的矩形\n * <>\n\n */\n\n/** 文字标注\n * <>\n */\n\nconst checkSiyuanPdfUrlFormatData = text => {\n let isSiyuanPdfUrl = false;\n let siyuanPdfUrl = '';\n let siyuanPdfUrlTitle = '';\n let siyuanPdfImageUrl = ''; // 新增图片地址字段\n\n // 判断是否为思源PDF链接格式\n if (typeof text === 'string') {\n // 格式1: 带有图片的矩形标注(可能包含图片引用)\n // <>\n // \n const rectWithImageRegex = /<<(assets[/][^/]+\\.pdf)[/]([^ ]+) \"([^\"]+)\">>\\s*\\n*!\\[\\]\\((assets\\/[^)]+)\\)/;\n const rectWithImageMatch = text.match(rectWithImageRegex);\n\n // 格式1的另一种形式:仅包含矩形标注\n const rectRegex = /<<(assets[/][^/]+\\.pdf)[/]([^ ]+) \"([^\"]+)\">>$/;\n const rectMatch = text.match(rectRegex);\n\n // 格式2: 文字标注\n // <>\n const textRegex = /<<(assets[/][^/]+\\.pdf)[/]([^ ]+) \"([^\"]*)\">>$/;\n const textMatch = text.match(textRegex);\n if (rectWithImageMatch || rectMatch || textMatch) {\n const match = rectWithImageMatch || rectMatch || textMatch;\n const path = match[1]; // PDF文件路径\n const id = match[2]; // 标注ID\n const title = match[3]; // 标注标题\n\n isSiyuanPdfUrl = true;\n siyuanPdfUrlTitle = title;\n\n // 如果是带图片的格式,提取图片地址\n if (rectWithImageMatch && rectWithImageMatch[4]) {\n siyuanPdfImageUrl = `/${rectWithImageMatch[4]}`;\n }\n\n // 构建思源PDF链接URL,格式为:\n // siyuan://plugins/kmind-plugin?data={\"type\":\"pdf\",\"path\":\"assets/文件.pdf\",\"id\":\"ID\"}\n const data = {\n type: 'pdf',\n path: path,\n id: id\n };\n\n // 如果有图片地址,也添加到链接数据中\n if (siyuanPdfImageUrl) {\n data.imageUrl = siyuanPdfImageUrl;\n }\n siyuanPdfUrl = `siyuan://plugins/kmind-plugin?data=${JSON.stringify(data)}`;\n }\n }\n return {\n isSiyuanPdfUrl,\n siyuanPdfUrl,\n siyuanPdfUrlTitle,\n siyuanPdfImageUrl // 返回提取的图片地址\n };\n};\n\n// 处理输入框的粘贴事件,会去除文本的html格式、换行\nconst handleInputPasteText = (e, text) => {\n e.preventDefault();\n const selection = window.getSelection();\n if (!selection.rangeCount) return;\n selection.deleteFromDocument();\n text = text || e.clipboardData.getData('text');\n // 转义特殊字符\n text = htmlEscape(text);\n // 去除格式\n text = getTextFromHtml(text);\n // 去除换行\n // text = text.replace(/\\n/g, '')\n const textArr = text.split(/\\n/g);\n const fragment = document.createDocumentFragment();\n textArr.forEach((item, index) => {\n const node = document.createTextNode(item);\n fragment.appendChild(node);\n if (index < textArr.length - 1) {\n const br = document.createElement('br');\n fragment.appendChild(br);\n }\n });\n selection.getRangeAt(0).insertNode(fragment);\n selection.collapseToEnd();\n};\n\n// 将思维导图树结构转平级对象\n/*\n {\n data: {\n uid: 'xxx'\n },\n children: [\n {\n data: {\n uid: 'xxx'\n },\n children: []\n }\n ]\n }\n 转为:\n {\n uid: {\n children: [uid1, uid2],\n data: {}\n }\n }\n */\nconst transformTreeDataToObject = data => {\n const res = {};\n const walk = (root, parent) => {\n const uid = root.data.uid;\n if (parent) {\n parent.children.push(uid);\n }\n res[uid] = {\n isRoot: !parent,\n data: {\n ...root.data\n },\n children: []\n };\n if (root.children && root.children.length > 0) {\n root.children.forEach(item => {\n walk(item, res[uid]);\n });\n }\n };\n walk(data, null);\n return res;\n};\n\n// 将平级对象转树结构\n// transformTreeDataToObject方法的反向操作\n// 找到父节点的uid\nconst _findParentUid = (data, targetUid) => {\n const uids = Object.keys(data);\n let res = '';\n uids.forEach(uid => {\n const children = data[uid].children;\n const isParent = children.findIndex(childUid => {\n return childUid === targetUid;\n }) !== -1;\n if (isParent) {\n res = uid;\n }\n });\n return res;\n};\nconst transformObjectToTreeData = data => {\n const uids = Object.keys(data);\n if (uids.length <= 0) return null;\n const rootKey = uids.find(uid => {\n return data[uid].isRoot;\n });\n if (!rootKey || !data[rootKey]) return null;\n // 根节点\n const res = {\n data: simpleDeepClone(data[rootKey].data),\n children: []\n };\n const map = {};\n map[rootKey] = res;\n uids.forEach(uid => {\n const parentUid = _findParentUid(data, uid);\n const cur = data[uid];\n const node = map[uid] || {\n data: simpleDeepClone(cur.data),\n children: []\n };\n if (!map[uid]) {\n map[uid] = node;\n }\n if (parentUid) {\n const index = data[parentUid].children.findIndex(item => {\n return item === uid;\n });\n if (!map[parentUid]) {\n map[parentUid] = {\n data: simpleDeepClone(data[parentUid].data),\n children: []\n };\n }\n map[parentUid].children[index] = node;\n }\n });\n return res;\n};\n\n// 计算两个点的直线距离\nconst getTwoPointDistance = (x1, y1, x2, y2) => {\n return Math.sqrt(Math.pow(x1 - x2, 2) + Math.pow(y1 - y2, 2));\n};\n\n// 判断两个矩形的相对位置\n// 第一个矩形在第二个矩形的什么方向\nconst getRectRelativePosition = (rect1, rect2) => {\n // 获取第一个矩形的中心点坐标\n const rect1CenterX = rect1.x + rect1.width / 2;\n const rect1CenterY = rect1.y + rect1.height / 2;\n\n // 获取第二个矩形的中心点坐标\n const rect2CenterX = rect2.x + rect2.width / 2;\n const rect2CenterY = rect2.y + rect2.height / 2;\n\n // 判断第一个矩形在第二个矩形的哪个方向\n if (rect1CenterX < rect2CenterX && rect1CenterY < rect2CenterY) {\n return 'left-top';\n } else if (rect1CenterX > rect2CenterX && rect1CenterY < rect2CenterY) {\n return 'right-top';\n } else if (rect1CenterX > rect2CenterX && rect1CenterY > rect2CenterY) {\n return 'right-bottom';\n } else if (rect1CenterX < rect2CenterX && rect1CenterY > rect2CenterY) {\n return 'left-bottom';\n } else if (rect1CenterX < rect2CenterX && rect1CenterY === rect2CenterY) {\n return 'left';\n } else if (rect1CenterX > rect2CenterX && rect1CenterY === rect2CenterY) {\n return 'right';\n } else if (rect1CenterX === rect2CenterX && rect1CenterY < rect2CenterY) {\n return 'top';\n } else if (rect1CenterX === rect2CenterX && rect1CenterY > rect2CenterY) {\n return 'bottom';\n } else {\n return 'overlap';\n }\n};\n\n// 处理获取svg内容时添加额外内容\nconst handleGetSvgDataExtraContent = ({\n addContentToHeader,\n addContentToFooter\n}) => {\n // 追加内容\n const cssTextList = [];\n let header = null;\n let headerHeight = 0;\n let footer = null;\n let footerHeight = 0;\n const handle = (fn, callback) => {\n if (typeof fn === 'function') {\n const res = fn();\n if (!res) return;\n const {\n el,\n cssText,\n height\n } = res;\n if (el instanceof HTMLElement) {\n addXmlns(el);\n const foreignObject = createForeignObjectNode({\n el,\n height\n });\n callback(foreignObject, height);\n }\n if (cssText) {\n cssTextList.push(cssText);\n }\n }\n };\n handle(addContentToHeader, (foreignObject, height) => {\n header = foreignObject;\n headerHeight = height;\n });\n handle(addContentToFooter, (foreignObject, height) => {\n footer = foreignObject;\n footerHeight = height;\n });\n return {\n cssTextList,\n header,\n headerHeight,\n footer,\n footerHeight\n };\n};\n\n// 获取指定节点的包围框信息\nconst getNodeTreeBoundingRect = (node, x = 0, y = 0, paddingX = 0, paddingY = 0, excludeSelf = false, excludeGeneralization = false) => {\n let minX = Infinity;\n let maxX = -Infinity;\n let minY = Infinity;\n let maxY = -Infinity;\n const walk = (root, isRoot) => {\n if (!(isRoot && excludeSelf) && root.group) {\n try {\n const {\n x,\n y,\n width,\n height\n } = root.group.findOne('.smm-node-shape').rbox();\n if (x < minX) {\n minX = x;\n }\n if (x + width > maxX) {\n maxX = x + width;\n }\n if (y < minY) {\n minY = y;\n }\n if (y + height > maxY) {\n maxY = y + height;\n }\n } catch (e) {}\n }\n if (!excludeGeneralization && root._generalizationList.length > 0) {\n root._generalizationList.forEach(item => {\n walk(item.generalizationNode);\n });\n }\n if (root.children) {\n root.children.forEach(item => {\n walk(item);\n });\n }\n };\n walk(node, true);\n minX = minX - x + paddingX;\n minY = minY - y + paddingY;\n maxX = maxX - x + paddingX;\n maxY = maxY - y + paddingY;\n return {\n left: minX,\n top: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n};\n\n// 获取多个节点总的包围框\nconst getNodeListBoundingRect = (nodeList, x = 0, y = 0, paddingX = 0, paddingY = 0) => {\n let minX = Infinity;\n let maxX = -Infinity;\n let minY = Infinity;\n let maxY = -Infinity;\n nodeList.forEach(node => {\n const {\n left,\n top,\n width,\n height\n } = getNodeTreeBoundingRect(node, x, y, paddingX, paddingY, false, true);\n if (left < minX) {\n minX = left;\n }\n if (left + width > maxX) {\n maxX = left + width;\n }\n if (top < minY) {\n minY = top;\n }\n if (top + height > maxY) {\n maxY = top + height;\n }\n });\n return {\n left: minX,\n top: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n};\n\n// 全屏事件检测\nconst getOnfullscreEnevt = () => {\n if (document.documentElement.requestFullScreen) {\n return 'fullscreenchange';\n } else if (document.documentElement.webkitRequestFullScreen) {\n return 'webkitfullscreenchange';\n } else if (document.documentElement.mozRequestFullScreen) {\n return 'mozfullscreenchange';\n } else if (document.documentElement.msRequestFullscreen) {\n return 'msfullscreenchange';\n }\n};\nconst fullscrrenEvent = getOnfullscreEnevt();\n\n// 全屏\nconst fullScreen = element => {\n if (element.requestFullScreen) {\n element.requestFullScreen();\n } else if (element.webkitRequestFullScreen) {\n element.webkitRequestFullScreen();\n } else if (element.mozRequestFullScreen) {\n element.mozRequestFullScreen();\n }\n};\n\n// 退出全屏\nconst exitFullScreen = () => {\n if (!document.fullscreenElement) return;\n if (document.exitFullscreen) {\n document.exitFullscreen();\n } else if (document.webkitExitFullscreen) {\n document.webkitExitFullscreen();\n } else if (document.mozCancelFullScreen) {\n document.mozCancelFullScreen();\n }\n};\n\n// 创建foreignObject节点\nconst createForeignObjectNode = ({\n el,\n width,\n height\n}) => {\n const foreignObject = new _svgdotjs_svg_js__WEBPACK_IMPORTED_MODULE_5__[\"ForeignObject\"]();\n if (width !== undefined) {\n foreignObject.width(width);\n }\n if (height !== undefined) {\n foreignObject.height(height);\n }\n foreignObject.add(el);\n return foreignObject;\n};\n\n// 格式化获取节点的概要数据\nconst formatGetNodeGeneralization = data => {\n const generalization = data.generalization;\n if (generalization) {\n return Array.isArray(generalization) ? generalization : [generalization];\n } else {\n return [];\n }\n};\n\n/**\n * 防御 XSS 攻击,过滤恶意 HTML 标签和属性\n * @param {string} text 需要过滤的文本\n * @returns {string} 过滤后的文本\n */\nconst defenseXSS = text => {\n text = String(text);\n\n // 初始化结果变量\n let result = text;\n\n // 使用正则表达式匹配 HTML 标签\n const match = text.match(/<(\\S*?)[^>]*>.*?|<.*? \\/>/g);\n if (match == null) {\n // 如果没有匹配到任何标签,则直接返回原始文本\n return text;\n }\n\n // 遍历匹配到的标签\n for (let value of match) {\n // 定义白名单属性正则表达式(style、target、href)\n const whiteAttrRegex = new RegExp(/(style|target|href)=[\"'][^\"']*[\"']/g);\n\n // 定义黑名单href正则表达式(javascript:)\n const aHrefBlackRegex = new RegExp(/href=[\"']javascript:/g);\n\n // 过滤 HTML 标签\n const filterHtml = value.replace(\n // 匹配属性键值对(如:key=\"value\")\n /([a-zA-Z-]+)\\s*=\\s*[\"']([^\"']*)[\"']/g, text => {\n // 如果属性值包含黑名单href或不在白名单中,则删除该属性\n if (aHrefBlackRegex.test(text) || !whiteAttrRegex.test(text)) {\n return '';\n }\n\n // 否则,保留该属性\n return text;\n });\n\n // 将过滤后的标签替换回原始文本\n result = result.replace(value, filterHtml);\n }\n\n // 返回最终结果\n return result;\n};\n\n// 给节点添加命名空间\nconst addXmlns = el => {\n el.setAttribute('xmlns', 'http://www.w3.org/1999/xhtml');\n};\n\n// 给一组节点实例升序排序,依据其sortIndex值\nconst sortNodeList = nodeList => {\n nodeList = [...nodeList];\n nodeList.sort((a, b) => {\n return a.sortIndex - b.sortIndex;\n });\n return nodeList;\n};\n\n// 合并主题配置\nconst mergeTheme = (dest, source) => {\n return deepmerge__WEBPACK_IMPORTED_MODULE_6___default()(dest, source, {\n arrayMerge: (destinationArray, sourceArray) => {\n return sourceArray;\n }\n });\n};\n\n// 获取节点实例的文本样式数据\nconst getNodeRichTextStyles = node => {\n const res = {};\n _constants_constant__WEBPACK_IMPORTED_MODULE_3__[\"richTextSupportStyleList\"].forEach(prop => {\n let value = node.style.merge(prop);\n if (prop === 'fontSize') {\n value = value + 'px';\n }\n res[prop] = value;\n });\n return res;\n};\n\n// 判断两个版本号的关系\n/*\na > b 返回 >\na < b 返回 <\na = b 返回 =\n*/\nconst compareVersion = (a, b) => {\n const aArr = String(a).split('.');\n const bArr = String(b).split('.');\n const max = Math.max(aArr.length, bArr.length);\n for (let i = 0; i < max; i++) {\n const ai = aArr[i] || 0;\n const bi = bArr[i] || 0;\n if (ai > bi) {\n return '>';\n } else if (ai < bi) {\n return '<';\n }\n }\n return '=';\n};\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/utils/index.js?");
/***/ }),
/***/ "../simple-mind-map/src/utils/mersenneTwister.js":
/*!*******************************************************!*\
!*** ../simple-mind-map/src/utils/mersenneTwister.js ***!
\*******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return MersenneTwister; });\n/**\n * @description 为了保证相同的内容每次生成的随机数都是一样的,我们可以使用一个伪随机数生成器(PRNG),并使用内容的哈希值作为种子。以下是一个使用Mersenne Twister算法的PRNG的实现:\n *\n * @param {*} seed\n */\n\nfunction MersenneTwister(seed) {\n this.N = 624;\n this.M = 397;\n this.MATRIX_A = 0x9908b0df;\n this.UPPER_MASK = 0x80000000;\n this.LOWER_MASK = 0x7fffffff;\n this.mt = new Array(this.N);\n this.mti = this.N + 1;\n this.init_genrand(seed);\n}\nMersenneTwister.prototype.init_genrand = function (s) {\n this.mt[0] = s >>> 0;\n for (this.mti = 1; this.mti < this.N; this.mti++) {\n s = this.mt[this.mti - 1] ^ this.mt[this.mti - 1] >>> 30;\n this.mt[this.mti] = (((s & 0xffff0000) >>> 16) * 1812433253 << 16) + (s & 0x0000ffff) * 1812433253 + this.mti;\n this.mt[this.mti] >>>= 0;\n }\n};\nMersenneTwister.prototype.genrand_int32 = function () {\n var y;\n var mag01 = new Array(0x0, this.MATRIX_A);\n if (this.mti >= this.N) {\n var kk;\n if (this.mti == this.N + 1) this.init_genrand(5489);\n for (kk = 0; kk < this.N - this.M; kk++) {\n y = this.mt[kk] & this.UPPER_MASK | this.mt[kk + 1] & this.LOWER_MASK;\n this.mt[kk] = this.mt[kk + this.M] ^ y >>> 1 ^ mag01[y & 0x1];\n }\n for (; kk < this.N - 1; kk++) {\n y = this.mt[kk] & this.UPPER_MASK | this.mt[kk + 1] & this.LOWER_MASK;\n this.mt[kk] = this.mt[kk + (this.M - this.N)] ^ y >>> 1 ^ mag01[y & 0x1];\n }\n y = this.mt[this.N - 1] & this.UPPER_MASK | this.mt[0] & this.LOWER_MASK;\n this.mt[this.N - 1] = this.mt[this.M - 1] ^ y >>> 1 ^ mag01[y & 0x1];\n this.mti = 0;\n }\n y = this.mt[this.mti++];\n y ^= y >>> 11;\n y ^= y << 7 & 0x9d2c5680;\n y ^= y << 15 & 0xefc60000;\n y ^= y >>> 18;\n return y >>> 0;\n};\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/utils/mersenneTwister.js?");
/***/ }),
/***/ "../simple-mind-map/src/utils/simulateCSSBackgroundInCanvas.js":
/*!*********************************************************************!*\
!*** ../simple-mind-map/src/utils/simulateCSSBackgroundInCanvas.js ***!
\*********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n\n// 将以空格分隔的字符串值转换成成数字/单位/值数组\nconst getNumberValueFromStr = value => {\n let arr = String(value).split(/\\s+/);\n return arr.map(item => {\n if (/^[\\d.]+/.test(item)) {\n // 数字+单位\n let res = /^([\\d.]+)(.*)$/.exec(item);\n return [Number(res[1]), res[2]];\n } else {\n // 单个值\n return item;\n }\n });\n};\n\n// 缩放宽度\nconst zoomWidth = (ratio, height) => {\n // w / height = ratio\n return ratio * height;\n};\n\n// 缩放高度\nconst zoomHeight = (ratio, width) => {\n // width / h = ratio\n return width / ratio;\n};\n\n// 关键词到百分比值的映射\nconst keyWordToPercentageMap = {\n left: 0,\n top: 0,\n center: 50,\n bottom: 100,\n right: 100\n};\n\n// 模拟background-size\nconst handleBackgroundSize = ({\n backgroundSize,\n drawOpt,\n imageRatio,\n canvasWidth,\n canvasHeight,\n canvasRatio\n}) => {\n if (backgroundSize) {\n // 将值转换成数组\n let backgroundSizeValueArr = getNumberValueFromStr(backgroundSize);\n // 两个值都为auto,那就相当于不设置\n if (backgroundSizeValueArr[0] === 'auto' && backgroundSizeValueArr[1] === 'auto') {\n return;\n }\n // 值为cover\n if (backgroundSizeValueArr[0] === 'cover') {\n if (imageRatio > canvasRatio) {\n // 图片的宽高比大于canvas的宽高比,那么图片高度缩放到和canvas的高度一致,宽度自适应\n drawOpt.height = canvasHeight;\n drawOpt.width = zoomWidth(imageRatio, canvasHeight);\n } else {\n // 否则图片宽度缩放到和canvas的宽度一致,高度自适应\n drawOpt.width = canvasWidth;\n drawOpt.height = zoomHeight(imageRatio, canvasWidth);\n }\n return;\n }\n // 值为contain\n if (backgroundSizeValueArr[0] === 'contain') {\n if (imageRatio > canvasRatio) {\n // 图片的宽高比大于canvas的宽高比,那么图片宽度缩放到和canvas的宽度一致,高度自适应\n drawOpt.width = canvasWidth;\n drawOpt.height = zoomHeight(imageRatio, canvasWidth);\n } else {\n // 否则图片高度缩放到和canvas的高度一致,宽度自适应\n drawOpt.height = canvasHeight;\n drawOpt.width = zoomWidth(imageRatio, canvasHeight);\n }\n return;\n }\n // 图片宽度\n let newNumberWidth = -1;\n if (backgroundSizeValueArr[0]) {\n if (Array.isArray(backgroundSizeValueArr[0])) {\n // 数字+单位类型\n if (backgroundSizeValueArr[0][1] === '%') {\n // %单位\n drawOpt.width = backgroundSizeValueArr[0][0] / 100 * canvasWidth;\n newNumberWidth = drawOpt.width;\n } else {\n // 其他都认为是px单位\n drawOpt.width = backgroundSizeValueArr[0][0];\n newNumberWidth = backgroundSizeValueArr[0][0];\n }\n } else if (backgroundSizeValueArr[0] === 'auto') {\n // auto类型,那么根据设置的新高度以图片原宽高比进行自适应\n if (backgroundSizeValueArr[1]) {\n if (backgroundSizeValueArr[1][1] === '%') {\n // 高度为%单位\n drawOpt.width = zoomWidth(imageRatio, backgroundSizeValueArr[1][0] / 100 * canvasHeight);\n } else {\n // 其他都认为是px单位\n drawOpt.width = zoomWidth(imageRatio, backgroundSizeValueArr[1][0]);\n }\n }\n }\n }\n // 设置了图片高度\n if (backgroundSizeValueArr[1] && Array.isArray(backgroundSizeValueArr[1])) {\n // 数字+单位类型\n if (backgroundSizeValueArr[1][1] === '%') {\n // 高度为%单位\n drawOpt.height = backgroundSizeValueArr[1][0] / 100 * canvasHeight;\n } else {\n // 其他都认为是px单位\n drawOpt.height = backgroundSizeValueArr[1][0];\n }\n } else if (newNumberWidth !== -1) {\n // 没有设置图片高度或者设置为auto,那么根据设置的新宽度以图片原宽高比进行自适应\n drawOpt.height = zoomHeight(imageRatio, newNumberWidth);\n }\n }\n};\n\n// 模拟background-position\nconst handleBackgroundPosition = ({\n backgroundPosition,\n drawOpt,\n imgWidth,\n imgHeight,\n canvasWidth,\n canvasHeight\n}) => {\n if (backgroundPosition) {\n // 将值转换成数组\n let backgroundPositionValueArr = getNumberValueFromStr(backgroundPosition);\n // 将关键词转为百分比\n backgroundPositionValueArr = backgroundPositionValueArr.map(item => {\n if (typeof item === 'string') {\n return keyWordToPercentageMap[item] !== undefined ? [keyWordToPercentageMap[item], '%'] : item;\n }\n return item;\n });\n if (Array.isArray(backgroundPositionValueArr[0])) {\n if (backgroundPositionValueArr.length === 1) {\n // 如果只设置了一个值,第二个默认为50%\n backgroundPositionValueArr.push([50, '%']);\n }\n // 水平位置\n if (backgroundPositionValueArr[0][1] === '%') {\n // 单位为%\n let canvasX = backgroundPositionValueArr[0][0] / 100 * canvasWidth;\n let imgX = backgroundPositionValueArr[0][0] / 100 * imgWidth;\n // 计算差值\n drawOpt.x = canvasX - imgX;\n } else {\n // 其他单位默认都为px\n drawOpt.x = backgroundPositionValueArr[0][0];\n }\n // 垂直位置\n if (backgroundPositionValueArr[1][1] === '%') {\n // 单位为%\n let canvasY = backgroundPositionValueArr[1][0] / 100 * canvasHeight;\n let imgY = backgroundPositionValueArr[1][0] / 100 * imgHeight;\n // 计算差值\n drawOpt.y = canvasY - imgY;\n } else {\n // 其他单位默认都为px\n drawOpt.y = backgroundPositionValueArr[1][0];\n }\n }\n }\n};\n\n// 模拟background-repeat\nconst handleBackgroundRepeat = ({\n ctx,\n image,\n backgroundRepeat,\n drawOpt,\n imgWidth,\n imgHeight,\n canvasWidth,\n canvasHeight\n}) => {\n if (backgroundRepeat) {\n // 保存在handleBackgroundPosition中计算出来的x、y\n let ox = drawOpt.x;\n let oy = drawOpt.y;\n // 计算ox和oy能平铺的图片数量\n let oxRepeatNum = Math.ceil(ox / imgWidth);\n let oyRepeatNum = Math.ceil(oy / imgHeight);\n // 计算ox和oy第一张图片的位置\n let oxRepeatX = ox - oxRepeatNum * imgWidth;\n let oxRepeatY = oy - oyRepeatNum * imgHeight;\n // 将值转换成数组\n let backgroundRepeatValueArr = getNumberValueFromStr(backgroundRepeat);\n // 不处理\n if (backgroundRepeatValueArr[0] === 'no-repeat' || imgWidth >= canvasWidth && imgHeight >= canvasHeight) {\n return;\n }\n // 水平平铺\n if (backgroundRepeatValueArr[0] === 'repeat-x') {\n if (canvasWidth > imgWidth) {\n let x = oxRepeatX;\n while (x < canvasWidth) {\n drawImage(ctx, image, {\n ...drawOpt,\n x\n });\n x += imgWidth;\n }\n return true;\n }\n }\n // 垂直平铺\n if (backgroundRepeatValueArr[0] === 'repeat-y') {\n if (canvasHeight > imgHeight) {\n let y = oxRepeatY;\n while (y < canvasHeight) {\n drawImage(ctx, image, {\n ...drawOpt,\n y\n });\n y += imgHeight;\n }\n return true;\n }\n }\n // 平铺\n if (backgroundRepeatValueArr[0] === 'repeat') {\n let x = oxRepeatX;\n while (x < canvasWidth) {\n if (canvasHeight > imgHeight) {\n let y = oxRepeatY;\n while (y < canvasHeight) {\n drawImage(ctx, image, {\n ...drawOpt,\n x,\n y\n });\n y += imgHeight;\n }\n }\n x += imgWidth;\n }\n return true;\n }\n }\n};\n\n// 根据参数绘制图片\nconst drawImage = (ctx, image, drawOpt) => {\n ctx.drawImage(image, drawOpt.sx, drawOpt.sy, drawOpt.swidth, drawOpt.sheight, drawOpt.x, drawOpt.y, drawOpt.width, drawOpt.height);\n};\nconst drawBackgroundImageToCanvas = (ctx, width, height, img, {\n backgroundSize,\n backgroundPosition,\n backgroundRepeat\n}, callback = () => {}) => {\n // 画布的长宽比\n let canvasRatio = width / height;\n // 加载图片\n let image = new Image();\n image.src = img;\n image.onload = () => {\n // 图片的宽度及长宽比\n let imgWidth = image.width;\n let imgHeight = image.height;\n let imageRatio = imgWidth / imgHeight;\n // 绘制图片\n // drawImage方法的参数值\n let drawOpt = {\n sx: 0,\n sy: 0,\n swidth: imgWidth,\n sheight: imgHeight,\n x: 0,\n y: 0,\n width: imgWidth,\n height: imgHeight\n };\n // 模拟background-size\n handleBackgroundSize({\n backgroundSize,\n drawOpt,\n imageRatio,\n canvasWidth: width,\n canvasHeight: height,\n canvasRatio\n });\n\n // 模拟background-position\n handleBackgroundPosition({\n backgroundPosition,\n drawOpt,\n imgWidth: drawOpt.width,\n imgHeight: drawOpt.height,\n imageRatio,\n canvasWidth: width,\n canvasHeight: height,\n canvasRatio\n });\n\n // 模拟background-repeat\n let notNeedDraw = handleBackgroundRepeat({\n ctx,\n image,\n backgroundRepeat,\n drawOpt,\n imgWidth: drawOpt.width,\n imgHeight: drawOpt.height,\n imageRatio,\n canvasWidth: width,\n canvasHeight: height,\n canvasRatio\n });\n\n // 绘制图片\n if (!notNeedDraw) {\n drawImage(ctx, image, drawOpt);\n }\n callback();\n };\n image.onerror = e => {\n callback(e);\n };\n};\n/* harmony default export */ __webpack_exports__[\"default\"] = (drawBackgroundImageToCanvas);\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/utils/simulateCSSBackgroundInCanvas.js?");
/***/ }),
/***/ "../simple-mind-map/src/utils/xmind.js":
/*!*********************************************!*\
!*** ../simple-mind-map/src/utils/xmind.js ***!
\*********************************************/
/*! exports provided: getSummaryText, getSummaryText2, getRoot, getItemByName, getElementsByType, addSummaryData, handleNodeImageFromXmind, handleNodeImageToXmind, getXmindContentXmlData, parseNodeGeneralizationToXmind */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getSummaryText\", function() { return getSummaryText; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getSummaryText2\", function() { return getSummaryText2; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getRoot\", function() { return getRoot; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getItemByName\", function() { return getItemByName; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getElementsByType\", function() { return getElementsByType; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"addSummaryData\", function() { return addSummaryData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"handleNodeImageFromXmind\", function() { return handleNodeImageFromXmind; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"handleNodeImageToXmind\", function() { return handleNodeImageToXmind; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"getXmindContentXmlData\", function() { return getXmindContentXmlData; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"parseNodeGeneralizationToXmind\", function() { return parseNodeGeneralizationToXmind; });\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.array.push.js */ \"./node_modules/core-js/modules/es.array.push.js\");\n/* harmony import */ var core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_array_push_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _index__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./index */ \"../simple-mind-map/src/utils/index.js\");\n\n\n\n\n// 解析出新xmind的概要文本\nconst getSummaryText = (node, topicId) => {\n if (node.children.summary && node.children.summary.length > 0) {\n for (let i = 0; i < node.children.summary.length; i++) {\n const cur = node.children.summary[i];\n if (cur.id === topicId) {\n return cur.title;\n }\n }\n }\n};\n\n// 解析出旧xmind的概要文本\nconst getSummaryText2 = (item, topicId) => {\n const summaryElements = getElementsByType(item.elements, 'summary');\n if (summaryElements && summaryElements && summaryElements.length > 0) {\n for (let i = 0; i < summaryElements.length; i++) {\n const cur = summaryElements[i];\n if (cur.attributes.id === topicId) {\n return cur.elements && cur.elements[0] && cur.elements[0].elements && cur.elements[0].elements[0] ? cur.elements[0].elements[0].text : '';\n }\n }\n }\n return '';\n};\n\n// 解析旧版xmind数据时,找出根节点\nconst getRoot = list => {\n let root = null;\n const walk = arr => {\n if (!arr) return;\n for (let i = 0; i < arr.length; i++) {\n if (!root && arr[i].name === 'topic') {\n root = arr[i];\n return;\n }\n }\n arr.forEach(item => {\n walk(item.elements);\n });\n };\n walk(list);\n return root;\n};\n\n// 解析旧版xmind数据,从一个数组中根据name找出该项\nconst getItemByName = (arr, name) => {\n return arr.find(item => {\n return item.name === name;\n });\n};\n\n// 解析旧版xmind数据,从一个数组中根据attributes.type找出该项\nconst getElementsByType = (arr, type) => {\n return arr.find(el => {\n return el.attributes.type === type;\n }).elements;\n};\n\n// 解析xmind数据,将概要转换为smm支持的结构\nconst addSummaryData = (selfList, childrenList, getText, range) => {\n const summaryData = {\n expand: true,\n isActive: false,\n text: getText(),\n range: null\n };\n const match = range.match(/\\((\\d+),(\\d+)\\)/);\n if (match) {\n const startIndex = Number(match[1]);\n const endIndex = Number(match[2]);\n if (startIndex === endIndex) {\n childrenList[startIndex] = summaryData;\n } else {\n summaryData.range = [startIndex, endIndex];\n selfList.push(summaryData);\n }\n } else {\n selfList.push(summaryData);\n }\n};\n\n// 解析xmind数据时,解析其中的图片数据\nconst handleNodeImageFromXmind = async (node, newNode, promiseList, files) => {\n if (node.image && /\\.(jpg|jpeg|png|gif|webp)$/.test(node.image.src)) {\n // 处理异步逻辑\n let resolve = null;\n const promise = new Promise(_resolve => {\n resolve = _resolve;\n });\n promiseList.push(promise);\n try {\n // 读取图片\n const imageType = /\\.([^.]+)$/.exec(node.image.src)[1];\n const imageBase64 = `data:image/${imageType};base64,` + (await files['resources/' + node.image.src.split('/')[1]].async('base64'));\n newNode.data.image = imageBase64;\n // 如果图片尺寸不存在\n if (!node.image.width && !node.image.height) {\n const imageSize = await Object(_index__WEBPACK_IMPORTED_MODULE_1__[\"getImageSize\"])(imageBase64);\n newNode.data.imageSize = {\n width: imageSize.width,\n height: imageSize.height\n };\n } else {\n newNode.data.imageSize = {\n width: node.image.width,\n height: node.image.height\n };\n }\n resolve();\n } catch (error) {\n console.log(error);\n resolve();\n }\n }\n};\n\n// 导出为xmind时,处理图片数据\nconst handleNodeImageToXmind = async (node, newData, promiseList, imageList) => {\n if (node.data.image) {\n // 处理异步逻辑\n let resolve = null;\n let promise = new Promise(_resolve => {\n resolve = _resolve;\n });\n promiseList.push(promise);\n try {\n let imgName = '';\n let imgData = node.data.image;\n // base64之外的其他图片要先转换成data:url\n if (!/^data:/.test(node.data.image)) {\n imgData = await Object(_index__WEBPACK_IMPORTED_MODULE_1__[\"imgToDataUrl\"])(node.data.image);\n }\n // 从data:url中解析出图片类型和ase64\n let dataUrlRes = Object(_index__WEBPACK_IMPORTED_MODULE_1__[\"parseDataUrl\"])(imgData);\n imgName = 'image_' + imageList.length + '.' + dataUrlRes.type;\n imageList.push({\n name: imgName,\n data: dataUrlRes.base64\n });\n newData.image = {\n src: 'xap:resources/' + imgName,\n width: node.data.imageSize.width,\n height: node.data.imageSize.height\n };\n resolve();\n } catch (error) {\n console.log(error);\n resolve();\n }\n }\n};\nconst getXmindContentXmlData = () => {\n return ` Warning 警告 Attention Warnung 경고 This file can not be opened normally, please do not modify and save, otherwise the contents will be permanently lost! You can try using XMind 8 Update 3 or later version to open 该文件无法正常打开,请勿修改并保存,否则文件内容将会永久性丢失! 你可以尝试使用 XMind 8 Update 3 或更新版本打开 該文件無法正常打開,請勿修改並保存,否則文件內容將會永久性丟失! 你可以嘗試使用 XMind 8 Update 3 或更新版本打開 この文書は正常に開かないので、修正して保存しないようにしてください。そうでないと、書類の内容が永久に失われます。! XMind 8 Update 3 や更新版を使って開くこともできます Datei kann nicht richtig geöffnet werden. Bitte ändern Sie diese Datei nicht und speichern Sie sie, sonst wird die Datei endgültig gelöscht werden. Bitte versuchen Sie, diese Datei mit XMind 8 Update 3 oder später zu öffnen. Ce fichier ne peut pas ouvert normalement, veuillez le rédiger et sauvegarder, sinon le fichier sera perdu en permanence. Vous pouvez essayer d'ouvrir avec XMind 8 Update 3 ou avec une version plus récente. 파일을 정상적으로 열 수 없으며, 수정 및 저장하지 마십시오. 그렇지 않으면 파일의 내용이 영구적으로 손실됩니다! XMind 8 Update 3 또는 이후 버전을 사용하여 -1 Sheet 1 `;\n};\n\n// 获取节点自身的概要,非子节点区间\nconst getSelfGeneralization = data => {\n const list = Object(_index__WEBPACK_IMPORTED_MODULE_1__[\"formatGetNodeGeneralization\"])(data);\n return list.filter(item => {\n return !item.range || item.range.length <= 0;\n });\n};\n\n// 获取节点区间概要\nconst getRangeGeneralization = data => {\n const list = Object(_index__WEBPACK_IMPORTED_MODULE_1__[\"formatGetNodeGeneralization\"])(data);\n return list.filter(item => {\n return item.range && item.range.length > 0;\n });\n};\n\n// 导出为xmind时,将概要转换为xmind的格式\nconst parseNodeGeneralizationToXmind = node => {\n const summary = [];\n const summaries = [];\n const collectSummary = (item, startIndex, endIndex) => {\n const summaryTopicId = Object(_index__WEBPACK_IMPORTED_MODULE_1__[\"createUid\"])();\n const summaryTitle = Object(_index__WEBPACK_IMPORTED_MODULE_1__[\"getTextFromHtml\"])(item.text);\n summary.push({\n id: summaryTopicId,\n title: summaryTitle,\n attributedTitle: [{\n text: summaryTitle\n }]\n });\n summaries.push({\n id: Object(_index__WEBPACK_IMPORTED_MODULE_1__[\"createUid\"])(),\n range: '(' + startIndex + ',' + endIndex + ')',\n topicId: summaryTopicId\n });\n };\n // 在xmind中,概要都是保存在父节点的\n // 而在simple-mind-map中,区间概要保存在父节点中,不带区间的保存在自身\n // 所以先要过滤出自身的区间概要\n const generalizationList = getRangeGeneralization(node.data);\n generalizationList.forEach(item => {\n collectSummary(item, item.range[0], item.range[1]);\n })\n\n // 遍历子节点,找出子节点自身的概要\n ;\n (node.children || []).forEach((child, childIndex) => {\n const list = getSelfGeneralization(child.data);\n list.forEach(item => {\n collectSummary(item, childIndex, childIndex);\n });\n });\n return {\n summary,\n summaries\n };\n};\n\n//# sourceURL=webpack://kmind-plugin/../simple-mind-map/src/utils/xmind.js?");
/***/ }),
/***/ "./_virtual_~icons%2Fant-design%2Fexport-outlined":
/*!********************************************************!*\
!*** ./_virtual_~icons%2Fant-design%2Fexport-outlined ***!
\********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 1024 1024\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"fill-rule\":\"evenodd\",\"d\":\"M880 912H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h360c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H184v656h656V520c0-4.4 3.6-8 8-8h56c4.4 0 8 3.6 8 8v360c0 17.7-14.3 32-32 32M770.87 199.131l-52.2-52.2c-4.7-4.7-1.9-12.8 4.7-13.6l179.4-21c5.1-.6 9.5 3.7 8.9 8.9l-21 179.4c-.8 6.6-8.9 9.4-13.6 4.7l-52.4-52.4l-256.2 256.2c-3.1 3.1-8.2 3.1-11.3 0l-42.4-42.4c-3.1-3.1-3.1-8.2 0-11.3z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'ant-design-export-outlined',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fant-design%252Fexport-outlined?");
/***/ }),
/***/ "./_virtual_~icons%2Fant-design%2Fhighlight-outlined":
/*!***********************************************************!*\
!*** ./_virtual_~icons%2Fant-design%2Fhighlight-outlined ***!
\***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 1024 1024\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M957.6 507.4L603.2 158.2a7.9 7.9 0 0 0-11.2 0L353.3 393.4a8.03 8.03 0 0 0-.1 11.3l.1.1l40 39.4l-117.2 115.3a8.03 8.03 0 0 0-.1 11.3l.1.1l39.5 38.9l-189.1 187H72.1c-4.4 0-8.1 3.6-8.1 8V860c0 4.4 3.6 8 8 8h344.9c2.1 0 4.1-.8 5.6-2.3l76.1-75.6l40.4 39.8a7.9 7.9 0 0 0 11.2 0l117.1-115.6l40.1 39.5a7.9 7.9 0 0 0 11.2 0l238.7-235.2c3.4-3 3.4-8 .3-11.2M389.8 796.2H229.6l134.4-133l80.1 78.9zm154.8-62.1L373.2 565.2l68.6-67.6l171.4 168.9zM713.1 658L450.3 399.1L597.6 254l262.8 259z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'ant-design-highlight-outlined',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fant-design%252Fhighlight-outlined?");
/***/ }),
/***/ "./_virtual_~icons%2Fant-design%2Fhistory-outlined":
/*!*********************************************************!*\
!*** ./_virtual_~icons%2Fant-design%2Fhistory-outlined ***!
\*********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 1024 1024\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M536.1 273H488c-4.4 0-8 3.6-8 8v275.3c0 2.6 1.2 5 3.3 6.5l165.3 120.7c3.6 2.6 8.6 1.9 11.2-1.7l28.6-39c2.7-3.7 1.9-8.7-1.7-11.2L544.1 528.5V281c0-4.4-3.6-8-8-8m219.8 75.2l156.8 38.3c5 1.2 9.9-2.6 9.9-7.7l.8-161.5c0-6.7-7.7-10.5-12.9-6.3L752.9 334.1a8 8 0 0 0 3 14.1m167.7 301.1l-56.7-19.5a8 8 0 0 0-10.1 4.8c-1.9 5.1-3.9 10.1-6 15.1c-17.8 42.1-43.3 80-75.9 112.5a353 353 0 0 1-112.5 75.9a352.2 352.2 0 0 1-137.7 27.8c-47.8 0-94.1-9.3-137.7-27.8a353 353 0 0 1-112.5-75.9c-32.5-32.5-58-70.4-75.9-112.5A353.4 353.4 0 0 1 171 512c0-47.8 9.3-94.2 27.8-137.8c17.8-42.1 43.3-80 75.9-112.5a353 353 0 0 1 112.5-75.9C430.6 167.3 477 158 524.8 158s94.1 9.3 137.7 27.8A353 353 0 0 1 775 261.7c10.2 10.3 19.8 21 28.6 32.3l59.8-46.8C784.7 146.6 662.2 81.9 524.6 82C285 82.1 92.6 276.7 95 516.4C97.4 751.9 288.9 942 524.8 942c185.5 0 343.5-117.6 403.7-282.3c1.5-4.2-.7-8.9-4.9-10.4\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'ant-design-history-outlined',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fant-design%252Fhistory-outlined?");
/***/ }),
/***/ "./_virtual_~icons%2Fant-design%2Fimport-outlined":
/*!********************************************************!*\
!*** ./_virtual_~icons%2Fant-design%2Fimport-outlined ***!
\********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 1024 1024\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"fill-rule\":\"evenodd\",\"d\":\"M880 912H144c-17.7 0-32-14.3-32-32V144c0-17.7 14.3-32 32-32h360c4.4 0 8 3.6 8 8v56c0 4.4-3.6 8-8 8H184v656h656V520c0-4.4 3.6-8 8-8h56c4.4 0 8 3.6 8 8v360c0 17.7-14.3 32-32 32M653.3 424.6l52.2 52.2c4.7 4.7 1.9 12.8-4.7 13.6l-179.4 21c-5.1.6-9.5-3.7-8.9-8.9l21-179.4c.8-6.6 8.9-9.4 13.6-4.7l52.4 52.4l256.2-256.2c3.1-3.1 8.2-3.1 11.3 0l42.4 42.4c3.1 3.1 3.1 8.2 0 11.3z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'ant-design-import-outlined',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fant-design%252Fimport-outlined?");
/***/ }),
/***/ "./_virtual_~icons%2Fant-design%2Fnode-index-outlined":
/*!************************************************************!*\
!*** ./_virtual_~icons%2Fant-design%2Fnode-index-outlined ***!
\************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 1024 1024\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M843.5 737.4c-12.4-75.2-79.2-129.1-155.3-125.4S550.9 676 546 752c-153.5-4.8-208-40.7-199.1-113.7c3.3-27.3 19.8-41.9 50.1-49c18.4-4.3 38.8-4.9 57.3-3.2c1.7.2 3.5.3 5.2.5c11.3 2.7 22.8 5 34.3 6.8c34.1 5.6 68.8 8.4 101.8 6.6c92.8-5 156-45.9 159.2-132.7c3.1-84.1-54.7-143.7-147.9-183.6c-29.9-12.8-61.6-22.7-93.3-30.2c-14.3-3.4-26.3-5.7-35.2-7.2c-7.9-75.9-71.5-133.8-147.8-134.4S189.7 168 180.5 243.8s40 146.3 114.2 163.9s149.9-23.3 175.7-95.1c9.4 1.7 18.7 3.6 28 5.8c28.2 6.6 56.4 15.4 82.4 26.6c70.7 30.2 109.3 70.1 107.5 119.9c-1.6 44.6-33.6 65.2-96.2 68.6c-27.5 1.5-57.6-.9-87.3-5.8c-8.3-1.4-15.9-2.8-22.6-4.3c-3.9-.8-6.6-1.5-7.8-1.8l-3.1-.6c-2.2-.3-5.9-.8-10.7-1.3c-25-2.3-52.1-1.5-78.5 4.6c-55.2 12.9-93.9 47.2-101.1 105.8c-15.7 126.2 78.6 184.7 276 188.9c29.1 70.4 106.4 107.9 179.6 87c73.3-20.9 119.3-93.4 106.9-168.6M329.1 345.2c-46 0-83.3-37.3-83.3-83.3s37.3-83.3 83.3-83.3s83.3 37.3 83.3 83.3s-37.3 83.3-83.3 83.3M695.6 845c-46 0-83.3-37.3-83.3-83.3s37.3-83.3 83.3-83.3s83.3 37.3 83.3 83.3s-37.3 83.3-83.3 83.3\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'ant-design-node-index-outlined',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fant-design%252Fnode-index-outlined?");
/***/ }),
/***/ "./_virtual_~icons%2Fclarity%2Fadd-text-line":
/*!***************************************************!*\
!*** ./_virtual_~icons%2Fclarity%2Fadd-text-line ***!
\***************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 36 36\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{staticClass:\"clr-i-outline clr-i-outline-path-1\",attrs:{\"fill\":\"currentColor\",\"d\":\"M31 21H13a1 1 0 0 0 0 2h18a1 1 0 0 0 0-2\"}}),_c('path',{staticClass:\"clr-i-outline clr-i-outline-path-2\",attrs:{\"fill\":\"currentColor\",\"d\":\"M12 16a1 1 0 0 0 1 1h18a1 1 0 0 0 0-2H13a1 1 0 0 0-1 1\"}}),_c('path',{staticClass:\"clr-i-outline clr-i-outline-path-3\",attrs:{\"fill\":\"currentColor\",\"d\":\"M27 27H13a1 1 0 0 0 0 2h14a1 1 0 0 0 0-2\"}}),_c('path',{staticClass:\"clr-i-outline clr-i-outline-path-4\",attrs:{\"fill\":\"currentColor\",\"d\":\"M15.89 9a1 1 0 0 0-1-1H10V3.21a1 1 0 0 0-2 0V8H2.89a1 1 0 0 0 0 2H8v5.21a1 1 0 0 0 2 0V10h4.89a1 1 0 0 0 1-1\"}}),_c('path',{attrs:{\"fill\":\"none\",\"d\":\"M0 0h36v36H0z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'clarity-add-text-line',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fclarity%252Fadd-text-line?");
/***/ }),
/***/ "./_virtual_~icons%2Fclarity%2Fdirectory-line":
/*!****************************************************!*\
!*** ./_virtual_~icons%2Fclarity%2Fdirectory-line ***!
\****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 36 36\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{staticClass:\"clr-i-outline clr-i-outline-path-1\",attrs:{\"fill\":\"currentColor\",\"d\":\"M30 9H16.42l-2.31-3.18A2 2 0 0 0 12.49 5H6a2 2 0 0 0-2 2v22a2 2 0 0 0 2 2h24a2 2 0 0 0 2-2V11a2 2 0 0 0-2-2m0 20H6V13h7.31a2 2 0 0 0 2-2H6V7h6.49l2.61 3.59a1 1 0 0 0 .81.41H30Z\"}}),_c('path',{attrs:{\"fill\":\"none\",\"d\":\"M0 0h36v36H0z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'clarity-directory-line',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fclarity%252Fdirectory-line?");
/***/ }),
/***/ "./_virtual_~icons%2Fclarity%2Ftree-view-line":
/*!****************************************************!*\
!*** ./_virtual_~icons%2Fclarity%2Ftree-view-line ***!
\****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 36 36\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{staticClass:\"clr-i-outline clr-i-outline-path-1\",attrs:{\"fill\":\"currentColor\",\"d\":\"M15 32h-4a1 1 0 0 1-1-1v-4a1 1 0 0 1 1-1h4a1 1 0 0 1 1 1v4a1 1 0 0 1-1 1m-3-2h2v-2h-2Z\"}}),_c('path',{staticClass:\"clr-i-outline clr-i-outline-path-2\",attrs:{\"fill\":\"currentColor\",\"d\":\"M15 16h-4a1 1 0 0 0-1 1v1.2H5.8V12H7a1 1 0 0 0 1-1V7a1 1 0 0 0-1-1H3a1 1 0 0 0-1 1v4a1 1 0 0 0 1 1h1.2v17.8h6.36a.8.8 0 0 0 0-1.6H5.8v-8.4H10V21a1 1 0 0 0 1 1h4a1 1 0 0 0 1-1v-4a1 1 0 0 0-1-1M4 8h2v2H4Zm10 12h-2v-2h2Z\"}}),_c('path',{staticClass:\"clr-i-outline clr-i-outline-path-3\",attrs:{\"fill\":\"currentColor\",\"d\":\"M34 9a1 1 0 0 0-1-1H10v2h23a1 1 0 0 0 1-1\"}}),_c('path',{staticClass:\"clr-i-outline clr-i-outline-path-4\",attrs:{\"fill\":\"currentColor\",\"d\":\"M33 18H18v2h15a1 1 0 0 0 0-2\"}}),_c('path',{staticClass:\"clr-i-outline clr-i-outline-path-5\",attrs:{\"fill\":\"currentColor\",\"d\":\"M33 28H18v2h15a1 1 0 0 0 0-2\"}}),_c('path',{attrs:{\"fill\":\"none\",\"d\":\"M0 0h36v36H0z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'clarity-tree-view-line',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fclarity%252Ftree-view-line?");
/***/ }),
/***/ "./_virtual_~icons%2Ffluent%2Fcomment-add-16-regular":
/*!***********************************************************!*\
!*** ./_virtual_~icons%2Ffluent%2Fcomment-add-16-regular ***!
\***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 16 16\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M15 5.5a4.5 4.5 0 1 1-9 0a4.5 4.5 0 0 1 9 0m-4-2a.5.5 0 0 0-1 0V5H8.5a.5.5 0 0 0 0 1H10v1.5a.5.5 0 0 0 1 0V6h1.5a.5.5 0 0 0 0-1H11zM3.5 3h2.1q.276-.538.657-1H3.5A2.5 2.5 0 0 0 1 4.5v5A2.5 2.5 0 0 0 3.5 12H4v1.942a.98.98 0 0 0 1.625.738L8.688 12H12.5A2.5 2.5 0 0 0 15 9.5v-.837c-.29.411-.634.78-1.023 1.098A1.5 1.5 0 0 1 12.5 11H8.312L5 13.898V11H3.5A1.5 1.5 0 0 1 2 9.5v-5A1.5 1.5 0 0 1 3.5 3\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'fluent-comment-add-16-regular',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Ffluent%252Fcomment-add-16-regular?");
/***/ }),
/***/ "./_virtual_~icons%2Ffluent-mdl2%2Ffull-width-edit":
/*!*********************************************************!*\
!*** ./_virtual_~icons%2Ffluent-mdl2%2Ffull-width-edit ***!
\*********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 2048 2048\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M2048 256v540q-58-37-128-51V384h-384v256h-128V384H640v256H512V384H128v1280h384v-128h128v128h128v128H0V256zM640 1024H512V768h128zm-128 128h128v256H512zm1024-384v256h-128V768zm312 128q42 0 78 15t64 42t42 63t16 78q0 39-15 76t-43 65l-717 719l-377 94l94-377l717-718q28-28 65-42t76-15m51 249q21-21 21-51q0-31-20-50t-52-20q-14 0-27 4t-23 15l-692 694l-34 135l135-34z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'fluent-mdl2-full-width-edit',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Ffluent-mdl2%252Ffull-width-edit?");
/***/ }),
/***/ "./_virtual_~icons%2Ffluent-mdl2%2Fhighlight-mapped-shapes":
/*!*****************************************************************!*\
!*** ./_virtual_~icons%2Ffluent-mdl2%2Fhighlight-mapped-shapes ***!
\*****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 2048 2048\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M2048 640v640h-896v-256H979l-339 226v158h384v640H128v-640h384v-158L77 960l435-290V512H384q-53 0-99-20t-82-55t-55-81t-20-100q0-53 20-99t55-82t81-55T384 0h384q53 0 99 20t82 55t55 81t20 100q0 53-20 99t-55 82t-81 55t-100 20H640v158l339 226h173V640zM768 384q27 0 50-10t40-27t28-41t10-50q0-27-10-50t-27-40t-41-28t-50-10H384q-27 0-50 10t-40 27t-28 41t-10 50q0 27 10 50t27 40t41 28t50 10zM384 1664v128h384v-128zm461-704L576 781L307 960l269 179zm947-64h-384v128h384z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'fluent-mdl2-highlight-mapped-shapes',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Ffluent-mdl2%252Fhighlight-mapped-shapes?");
/***/ }),
/***/ "./_virtual_~icons%2Fhugeicons%2Fbook-edit":
/*!*************************************************!*\
!*** ./_virtual_~icons%2Fhugeicons%2Fbook-edit ***!
\*************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"1.5\",\"d\":\"M11.022 6.787v13M11 19.5c-.222 0-.677-.242-1.585-.726c-.923-.492-2.198-.982-3.832-1.29c-1.834-.344-2.75-.516-3.167-1.025C2 15.949 2 15.135 2 13.504V7.097c0-1.783 0-2.675.649-3.224c.648-.549 1.41-.406 2.933-.12c3.008.566 4.8 1.749 5.418 2.428c.618-.679 2.41-1.862 5.418-2.427c1.523-.287 2.285-.43 2.933.119c.649.549.649 1.44.649 3.224V10m.864 2.94l.695.692a1.496 1.496 0 0 1 0 2.12l-3.642 3.696a2 2 0 0 1-1.051.552l-2.257.488a.5.5 0 0 1-.598-.593l.48-2.235c.075-.397.268-.762.555-1.047l3.688-3.674a1.51 1.51 0 0 1 2.13 0\",\"color\":\"currentColor\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'hugeicons-book-edit',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fhugeicons%252Fbook-edit?");
/***/ }),
/***/ "./_virtual_~icons%2Fhugeicons%2Fnode-edit":
/*!*************************************************!*\
!*** ./_virtual_~icons%2Fhugeicons%2Fnode-edit ***!
\*************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('g',{attrs:{\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"1.5\",\"color\":\"currentColor\"}},[_c('path',{attrs:{\"d\":\"M13 19.5h-1c-2.828 0-4.243 0-5.121-.879C6 17.743 6 16.328 6 13.5v-2m0 0V8m0 3.5h5.5\"}}),_c('path',{attrs:{\"d\":\"M13 19.5c0-1.178 0-1.768.351-2.134C13.704 17 14.27 17 15.4 17h1.2c1.131 0 1.697 0 2.048.366c.352.366.352.956.352 2.134s0 1.768-.352 2.134c-.35.366-.917.366-2.048.366h-1.2c-1.131 0-1.697 0-2.049-.366S13 20.678 13 19.5M4.286 2h3.428C9.79 2 10 3.11 10 5s-.211 3-2.286 3H4.286C2.21 8 2 6.89 2 5s.211-3 2.286-3m16.72 3.384l.608.606a1.31 1.31 0 0 1 0 1.856l-3.187 3.234a1.76 1.76 0 0 1-.92.483l-1.974.427a.438.438 0 0 1-.523-.52l.42-1.955c.066-.347.235-.667.485-.916l3.227-3.215a1.32 1.32 0 0 1 1.864 0\"}})])])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'hugeicons-node-edit',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fhugeicons%252Fnode-edit?");
/***/ }),
/***/ "./_virtual_~icons%2Fhugeicons%2Fsubnode-add":
/*!***************************************************!*\
!*** ./_virtual_~icons%2Fhugeicons%2Fsubnode-add ***!
\***************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('g',{attrs:{\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"1.5\",\"color\":\"currentColor\"}},[_c('path',{attrs:{\"d\":\"M14.5 19.5h-1c-2.828 0-4.243 0-5.121-.879C7.5 17.743 7.5 16.328 7.5 13.5v-2m0-3.5v3.5m0 0H12\"}}),_c('path',{attrs:{\"d\":\"M14.5 19.5c0-1.178 0-1.768.351-2.134C15.204 17 15.77 17 16.9 17h1.2c1.131 0 1.697 0 2.048.366c.352.366.352.956.352 2.134s0 1.768-.352 2.134c-.35.366-.917.366-2.048.366h-1.2c-1.131 0-1.697 0-2.048-.366c-.352-.366-.352-.956-.352-2.134M5.786 2h3.428C11.29 2 11.5 3.11 11.5 5s-.211 3-2.286 3H5.786C3.71 8 3.5 6.89 3.5 5s.211-3 2.286-3M17.5 9v5m2.5-2.5h-5\"}})])])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'hugeicons-subnode-add',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fhugeicons%252Fsubnode-add?");
/***/ }),
/***/ "./_virtual_~icons%2Fhugeicons%2Fsubnode-delete":
/*!******************************************************!*\
!*** ./_virtual_~icons%2Fhugeicons%2Fsubnode-delete ***!
\******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('g',{attrs:{\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"1.5\",\"color\":\"currentColor\"}},[_c('path',{attrs:{\"d\":\"M14.5 19.5h-1c-2.828 0-4.243 0-5.121-.879C7.5 17.743 7.5 16.328 7.5 13.5v-2m0-3.5v3.5m0 0h5\"}}),_c('path',{attrs:{\"d\":\"M14.5 19.5c0-1.178 0-1.768.351-2.134C15.204 17 15.77 17 16.9 17h1.2c1.131 0 1.697 0 2.048.366c.352.366.352.956.352 2.134s0 1.768-.352 2.134c-.35.366-.917.366-2.048.366h-1.2c-1.131 0-1.697 0-2.048-.366c-.352-.366-.352-.956-.352-2.134M5.786 2h3.428C11.29 2 11.5 3.11 11.5 5s-.211 3-2.286 3H5.786C3.71 8 3.5 6.89 3.5 5s.211-3 2.286-3M19.5 9.5l-2 2m0 0l-2 2m2-2l2 2m-2-2l-2-2\"}})])])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'hugeicons-subnode-delete',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fhugeicons%252Fsubnode-delete?");
/***/ }),
/***/ "./_virtual_~icons%2Fhugeicons%2Fsummation-01":
/*!****************************************************!*\
!*** ./_virtual_~icons%2Fhugeicons%2Fsummation-01 ***!
\****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"1.5\",\"d\":\"M19 17.143c0 1.503 0 2.255-.35 2.804a2.3 2.3 0 0 1-.717.708c-.557.345-1.32.345-2.844.345H9.2c-2.585 0-3.878 0-4.153-.735c-.276-.734.705-1.564 2.668-3.223l3.943-3.334c.939-.794 1.408-1.19 1.408-1.708c0-.517-.47-.914-1.408-1.708L7.714 6.958C5.751 5.3 4.77 4.47 5.046 3.735C5.32 3 6.614 3 9.199 3h5.89c1.525 0 2.287 0 2.844.345c.29.18.535.422.717.708c.35.549.35 1.3.35 2.804\",\"color\":\"currentColor\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'hugeicons-summation-01',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fhugeicons%252Fsummation-01?");
/***/ }),
/***/ "./_virtual_~icons%2Fic%2Foutline-format-paint":
/*!*****************************************************!*\
!*** ./_virtual_~icons%2Fic%2Foutline-format-paint ***!
\*****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M18 4V3c0-.55-.45-1-1-1H5c-.55 0-1 .45-1 1v4c0 .55.45 1 1 1h12c.55 0 1-.45 1-1V6h1v4H9v11c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-9h8V4zm-2 2H6V4h10z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'ic-outline-format-paint',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fic%252Foutline-format-paint?");
/***/ }),
/***/ "./_virtual_~icons%2Fic%2Foutline-lock":
/*!*********************************************!*\
!*** ./_virtual_~icons%2Fic%2Foutline-lock ***!
\*********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M18 8h-1V6c0-2.76-2.24-5-5-5S7 3.24 7 6v2H6c-1.1 0-2 .9-2 2v10c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V10c0-1.1-.9-2-2-2M9 6c0-1.66 1.34-3 3-3s3 1.34 3 3v2H9zm9 14H6V10h12zm-6-3c1.1 0 2-.9 2-2s-.9-2-2-2s-2 .9-2 2s.9 2 2 2\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'ic-outline-lock',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fic%252Foutline-lock?");
/***/ }),
/***/ "./_virtual_~icons%2Fic%2Ftwotone-delete-outline":
/*!*******************************************************!*\
!*** ./_virtual_~icons%2Fic%2Ftwotone-delete-outline ***!
\*******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM8 9h8v10H8zm7.5-5l-1-1h-5l-1 1H5v2h14V4z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'ic-twotone-delete-outline',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fic%252Ftwotone-delete-outline?");
/***/ }),
/***/ "./_virtual_~icons%2Fic%2Ftwotone-map":
/*!********************************************!*\
!*** ./_virtual_~icons%2Fic%2Ftwotone-map ***!
\********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"m5 18.31l3-1.16V5.45L5 6.46zm11 .24l3-1.01V5.69l-3 1.17z\",\"opacity\":\".3\"}}),_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"m20.5 3l-.16.03L15 5.1L9 3L3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1l5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5M8 17.15l-3 1.16V6.46l3-1.01zm6 1.38l-4-1.4V5.47l4 1.4zm5-.99l-3 1.01V6.86l3-1.16z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'ic-twotone-map',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fic%252Ftwotone-map?");
/***/ }),
/***/ "./_virtual_~icons%2Ficon-park-outline%2Fdark-mode":
/*!*********************************************************!*\
!*** ./_virtual_~icons%2Ficon-park-outline%2Fdark-mode ***!
\*********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 48 48\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('g',{attrs:{\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-miterlimit\":\"10\",\"stroke-width\":\"4\"}},[_c('path',{attrs:{\"d\":\"m24.003 4l5.27 5.27h9.457v9.456l5.27 5.27l-5.27 5.278v9.456h-9.456L24.004 44l-5.278-5.27H9.27v-9.456L4 23.997l5.27-5.27V9.27h9.456z\"}}),_c('path',{attrs:{\"d\":\"M27 17c0 8-5 9-10 9c0 4 6.5 8 12 4s2-13-2-13\"}})])])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'icon-park-outline-dark-mode',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Ficon-park-outline%252Fdark-mode?");
/***/ }),
/***/ "./_virtual_~icons%2Ficon-park-outline%2Ffull-screen-one":
/*!***************************************************************!*\
!*** ./_virtual_~icons%2Ficon-park-outline%2Ffull-screen-one ***!
\***************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 48 48\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"4\",\"d\":\"m6 6l10 9.9m-10 26L16 32m26 9.9L32.1 32m9.8-26L32 15.9M33 6h9v9m0 18v9h-9m-18 0H6v-9m0-18V6h9\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'icon-park-outline-full-screen-one',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Ficon-park-outline%252Ffull-screen-one?");
/***/ }),
/***/ "./_virtual_~icons%2Ficon-park-solid%2Fdark-mode":
/*!*******************************************************!*\
!*** ./_virtual_~icons%2Ficon-park-solid%2Fdark-mode ***!
\*******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 48 48\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('defs',[_c('mask',{attrs:{\"id\":_vm.idMap['ipSDarkMode0']}},[_c('g',{attrs:{\"fill\":\"none\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-miterlimit\":\"10\",\"stroke-width\":\"4\"}},[_c('path',{attrs:{\"fill\":\"#fff\",\"stroke\":\"#fff\",\"d\":\"m24.003 4l5.27 5.27h9.457v9.456l5.27 5.27l-5.27 5.278v9.456h-9.456L24.004 44l-5.278-5.27H9.27v-9.456L4 23.997l5.27-5.27V9.27h9.456z\"}}),_c('path',{attrs:{\"fill\":\"#000\",\"stroke\":\"#000\",\"d\":\"M27 17c0 8-5 9-10 9c0 4 6.5 8 12 4s2-13-2-13\"}})])])]),_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M0 0h48v48H0z\",\"mask\":'url(#'+_vm.idMap['ipSDarkMode0']+')'}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n data() {const __randId = () => Math.random().toString(36).substr(2, 10);const idMap = {'ipSDarkMode0':'uicons-'+__randId()};;return { idMap }},\n name: 'icon-park-solid-dark-mode',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Ficon-park-solid%252Fdark-mode?");
/***/ }),
/***/ "./_virtual_~icons%2Ficon-park-twotone%2Ffull-screen-play":
/*!****************************************************************!*\
!*** ./_virtual_~icons%2Ficon-park-twotone%2Ffull-screen-play ***!
\****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 48 48\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('defs',[_c('mask',{attrs:{\"id\":_vm.idMap['ipTFullScreenPlay0']}},[_c('g',{attrs:{\"fill\":\"none\",\"stroke\":\"#fff\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"4\"}},[_c('path',{attrs:{\"stroke-linecap\":\"round\",\"d\":\"M16 40H6a2 2 0 0 1-2-2V10a2 2 0 0 1 2-2h36a2 2 0 0 1 2 2v6\"}}),_c('path',{attrs:{\"fill\":\"#555\",\"d\":\"M42 24H26a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2V26a2 2 0 0 0-2-2Z\"}})])])]),_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M0 0h48v48H0z\",\"mask\":'url(#'+_vm.idMap['ipTFullScreenPlay0']+')'}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n data() {const __randId = () => Math.random().toString(36).substr(2, 10);const idMap = {'ipTFullScreenPlay0':'uicons-'+__randId()};;return { idMap }},\n name: 'icon-park-twotone-full-screen-play',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Ficon-park-twotone%252Ffull-screen-play?");
/***/ }),
/***/ "./_virtual_~icons%2Ficonoir%2Fedit":
/*!******************************************!*\
!*** ./_virtual_~icons%2Ficonoir%2Fedit ***!
\******************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"1.5\",\"d\":\"M3 21h18M12.222 5.828L15.05 3L20 7.95l-2.828 2.828m-4.95-4.95l-5.607 5.607a1 1 0 0 0-.293.707v4.536h4.536a1 1 0 0 0 .707-.293l5.607-5.607m-4.95-4.95l4.95 4.95\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'iconoir-edit',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Ficonoir%252Fedit?");
/***/ }),
/***/ "./_virtual_~icons%2Flucide%2Fimage-plus":
/*!***********************************************!*\
!*** ./_virtual_~icons%2Flucide%2Fimage-plus ***!
\***********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('g',{attrs:{\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"stroke-width\":\"2\"}},[_c('path',{attrs:{\"d\":\"M21 12v7a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h7m4 2h6m-3-3v6\"}}),_c('circle',{attrs:{\"cx\":\"9\",\"cy\":\"9\",\"r\":\"2\"}}),_c('path',{attrs:{\"d\":\"m21 15l-3.086-3.086a2 2 0 0 0-2.828 0L6 21\"}})])])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'lucide-image-plus',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Flucide%252Fimage-plus?");
/***/ }),
/***/ "./_virtual_~icons%2Fmaterial-symbols%2Fadd":
/*!**************************************************!*\
!*** ./_virtual_~icons%2Fmaterial-symbols%2Fadd ***!
\**************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M11 13H5v-2h6V5h2v6h6v2h-6v6h-2z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'material-symbols-add',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmaterial-symbols%252Fadd?");
/***/ }),
/***/ "./_virtual_~icons%2Fmaterial-symbols%2Fadd-link":
/*!*******************************************************!*\
!*** ./_virtual_~icons%2Fmaterial-symbols%2Fadd-link ***!
\*******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M17 20v-3h-3v-2h3v-3h2v3h3v2h-3v3zm-6-3H7q-2.075 0-3.537-1.463T2 12t1.463-3.537T7 7h4v2H7q-1.25 0-2.125.875T4 12t.875 2.125T7 15h4zm-3-4v-2h8v2zm14-1h-2q0-1.25-.875-2.125T17 9h-4V7h4q2.075 0 3.538 1.463T22 12\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'material-symbols-add-link',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmaterial-symbols%252Fadd-link?");
/***/ }),
/***/ "./_virtual_~icons%2Fmaterial-symbols%2Fdock-to-bottom":
/*!*************************************************************!*\
!*** ./_virtual_~icons%2Fmaterial-symbols%2Fdock-to-bottom ***!
\*************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm0-7h14V5H5z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'material-symbols-dock-to-bottom',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmaterial-symbols%252Fdock-to-bottom?");
/***/ }),
/***/ "./_virtual_~icons%2Fmaterial-symbols%2Fdock-to-right":
/*!************************************************************!*\
!*** ./_virtual_~icons%2Fmaterial-symbols%2Fdock-to-right ***!
\************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm5-2h9V5h-9z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'material-symbols-dock-to-right',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmaterial-symbols%252Fdock-to-right?");
/***/ }),
/***/ "./_virtual_~icons%2Fmaterial-symbols%2Fkeyboard-arrow-down":
/*!******************************************************************!*\
!*** ./_virtual_~icons%2Fmaterial-symbols%2Fkeyboard-arrow-down ***!
\******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"m12 15.4l-6-6L7.4 8l4.6 4.6L16.6 8L18 9.4z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'material-symbols-keyboard-arrow-down',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmaterial-symbols%252Fkeyboard-arrow-down?");
/***/ }),
/***/ "./_virtual_~icons%2Fmaterial-symbols%2Fkeyboard-arrow-left":
/*!******************************************************************!*\
!*** ./_virtual_~icons%2Fmaterial-symbols%2Fkeyboard-arrow-left ***!
\******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"m14 18l-6-6l6-6l1.4 1.4l-4.6 4.6l4.6 4.6z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'material-symbols-keyboard-arrow-left',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmaterial-symbols%252Fkeyboard-arrow-left?");
/***/ }),
/***/ "./_virtual_~icons%2Fmaterial-symbols%2Fkeyboard-arrow-right":
/*!*******************************************************************!*\
!*** ./_virtual_~icons%2Fmaterial-symbols%2Fkeyboard-arrow-right ***!
\*******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M12.6 12L8 7.4L9.4 6l6 6l-6 6L8 16.6z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'material-symbols-keyboard-arrow-right',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmaterial-symbols%252Fkeyboard-arrow-right?");
/***/ }),
/***/ "./_virtual_~icons%2Fmaterial-symbols%2Fredo":
/*!***************************************************!*\
!*** ./_virtual_~icons%2Fmaterial-symbols%2Fredo ***!
\***************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M9.9 19q-2.425 0-4.163-1.575T4 13.5t1.738-3.925T9.9 8h6.3l-2.6-2.6L15 4l5 5l-5 5l-1.4-1.4l2.6-2.6H9.9q-1.575 0-2.738 1T6 13.5T7.163 16T9.9 17H17v2z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'material-symbols-redo',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmaterial-symbols%252Fredo?");
/***/ }),
/***/ "./_virtual_~icons%2Fmaterial-symbols%2Fundo":
/*!***************************************************!*\
!*** ./_virtual_~icons%2Fmaterial-symbols%2Fundo ***!
\***************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M7 19v-2h7.1q1.575 0 2.738-1T18 13.5T16.838 11T14.1 10H7.8l2.6 2.6L9 14L4 9l5-5l1.4 1.4L7.8 8h6.3q2.425 0 4.163 1.575T20 13.5t-1.737 3.925T14.1 19z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'material-symbols-undo',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmaterial-symbols%252Fundo?");
/***/ }),
/***/ "./_virtual_~icons%2Fmaterial-symbols%2Fvisibility-outline":
/*!*****************************************************************!*\
!*** ./_virtual_~icons%2Fmaterial-symbols%2Fvisibility-outline ***!
\*****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M12 16q1.875 0 3.188-1.312T16.5 11.5t-1.312-3.187T12 7T8.813 8.313T7.5 11.5t1.313 3.188T12 16m0-1.8q-1.125 0-1.912-.788T9.3 11.5t.788-1.912T12 8.8t1.913.788t.787 1.912t-.787 1.913T12 14.2m0 4.8q-3.65 0-6.65-2.037T1 11.5q1.35-3.425 4.35-5.462T12 4t6.65 2.038T23 11.5q-1.35 3.425-4.35 5.463T12 19m0-2q2.825 0 5.188-1.487T20.8 11.5q-1.25-2.525-3.613-4.012T12 6T6.813 7.488T3.2 11.5q1.25 2.525 3.613 4.013T12 17\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'material-symbols-visibility-outline',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmaterial-symbols%252Fvisibility-outline?");
/***/ }),
/***/ "./_virtual_~icons%2Fmaterial-symbols-light%2Farrows-more-down-outline-rounded":
/*!*************************************************************************************!*\
!*** ./_virtual_~icons%2Fmaterial-symbols-light%2Farrows-more-down-outline-rounded ***!
\*************************************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M6.808 20q-.343 0-.576-.232T6 19.192V10.5q0-.213.144-.356T6.501 10t.356.144T7 10.5V19h8.5q.213 0 .356.144t.144.357t-.144.356T15.5 20zm4-4q-.343 0-.576-.232T10 15.192V6.5q0-.213.144-.356T10.501 6t.356.144T11 6.5V15h8.5q.213 0 .356.144t.144.357t-.144.356T19.5 16z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'material-symbols-light-arrows-more-down-outline-rounded',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmaterial-symbols-light%252Farrows-more-down-outline-rounded?");
/***/ }),
/***/ "./_virtual_~icons%2Fmaterial-symbols-light%2Ffile-open-outline":
/*!**********************************************************************!*\
!*** ./_virtual_~icons%2Fmaterial-symbols-light%2Ffile-open-outline ***!
\**********************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M6.616 21q-.691 0-1.153-.462T5 19.385V4.615q0-.69.463-1.152T6.616 3H14.5L19 7.5v7h-1V8h-4V4H6.616q-.231 0-.424.192T6 4.615v14.77q0 .23.192.423t.423.192H15.5v1zm15.334.663l-3.45-3.45v2.956h-1V16.5h4.67v1h-2.982l3.45 3.45zM6 20V4z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'material-symbols-light-file-open-outline',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmaterial-symbols-light%252Ffile-open-outline?");
/***/ }),
/***/ "./_virtual_~icons%2Fmdi%2Falarm-off":
/*!*******************************************!*\
!*** ./_virtual_~icons%2Fmdi%2Falarm-off ***!
\*******************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M8 3.28L6.6 1.86l-.86.71L7.16 4m9.31 14.39C15.26 19.39 13.7 20 12 20a7 7 0 0 1-7-7c0-1.7.61-3.26 1.61-4.47M2.92 2.29L1.65 3.57L3 4.9l-1.13.93l1.42 1.42l1.11-.94l.8.8A8.96 8.96 0 0 0 3 13a9 9 0 0 0 9 9c2.25 0 4.31-.83 5.89-2.2l2.2 2.2l1.27-1.27L3.89 3.27zM22 5.72l-4.6-3.86l-1.29 1.53l4.6 3.86zM12 6a7 7 0 0 1 7 7c0 .84-.16 1.65-.43 2.4l1.52 1.52c.58-1.19.91-2.51.91-3.92a9 9 0 0 0-9-9c-1.41 0-2.73.33-3.92.91L9.6 6.43C10.35 6.16 11.16 6 12 6\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'mdi-alarm-off',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmdi%252Falarm-off?");
/***/ }),
/***/ "./_virtual_~icons%2Fmdi%2Fbracket":
/*!*****************************************!*\
!*** ./_virtual_~icons%2Fmdi%2Fbracket ***!
\*****************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M2 2v2h5v4H2v2h5c1.11 0 2-.89 2-2V7h5v10H9v-1c0-1.11-.89-2-2-2H2v2h5v4H2v2h5c1.11 0 2-.89 2-2v-1h5c1.11 0 2-.89 2-2v-4h6v-2h-6V7c0-1.11-.89-2-2-2H9V4c0-1.11-.89-2-2-2z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'mdi-bracket',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmdi%252Fbracket?");
/***/ }),
/***/ "./_virtual_~icons%2Fmdi%2Fbrain-freeze-outline":
/*!******************************************************!*\
!*** ./_virtual_~icons%2Fmdi%2Fbrain-freeze-outline ***!
\******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M13 3c3.88 0 7 3.14 7 7c0 2.8-1.63 5.19-4 6.31V21H9v-3H8c-1.11 0-2-.89-2-2v-3H4.5c-.42 0-.66-.5-.42-.81L6 9.66A7.003 7.003 0 0 1 13 3m0-2C8.41 1 4.61 4.42 4.06 8.9L2.5 11h-.03l-.02.03c-.55.76-.62 1.76-.19 2.59c.36.69 1 1.17 1.74 1.32V16c0 1.85 1.28 3.42 3 3.87V23h11v-5.5c2.5-1.67 4-4.44 4-7.5c0-4.97-4.04-9-9-9m4.33 8.3l-1.96.51l1.44 1.46c.35.34.35.92 0 1.27s-.93.35-1.27 0l-1.45-1.44l-.52 1.96c-.12.49-.61.76-1.07.64a.91.91 0 0 1-.66-1.11l.53-1.96l-1.96.53a.91.91 0 0 1-1.11-.66c-.12-.45.16-.95.64-1.07l1.96-.52l-1.44-1.45a.9.9 0 0 1 1.27-1.27l1.46 1.44l.51-1.96c.12-.49.62-.77 1.09-.64c.49.13.77.62.64 1.1L14.9 8.1l1.97-.53c.48-.13.97.15 1.1.64c.13.47-.15.97-.64 1.09\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'mdi-brain-freeze-outline',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmdi%252Fbrain-freeze-outline?");
/***/ }),
/***/ "./_virtual_~icons%2Fmdi%2Fcode-block-brackets":
/*!*****************************************************!*\
!*** ./_virtual_~icons%2Fmdi%2Fcode-block-brackets ***!
\*****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M2 3v10h4v-2H4V5h2V3zm10 8h-2v2h4V3h-4v2h2zm10-5v12c0 1.11-.89 2-2 2H4a2 2 0 0 1-2-2v-3h2v3h16V6h-2.97V4H20c1.11 0 2 .89 2 2\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'mdi-code-block-brackets',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmdi%252Fcode-block-brackets?");
/***/ }),
/***/ "./_virtual_~icons%2Fmdi%2Fcontent-save-move-outline":
/*!***********************************************************!*\
!*** ./_virtual_~icons%2Fmdi%2Fcontent-save-move-outline ***!
\***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M13 17h4v-3l5 4.5l-5 4.5v-3h-4zm1-4.2c-.5-.49-1.22-.8-2-.8a2.996 2.996 0 0 0-1 5.82a6.03 6.03 0 0 1 3-5.02M11.09 19H5V5h11.17L19 7.83v4.52c.75.26 1.42.65 2 1.19V7l-4-4H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h6.81c-.35-.61-.6-1.28-.72-2M6 10h9V6H6z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'mdi-content-save-move-outline',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmdi%252Fcontent-save-move-outline?");
/***/ }),
/***/ "./_virtual_~icons%2Fmdi%2Femoticon-plus-outline":
/*!*******************************************************!*\
!*** ./_virtual_~icons%2Fmdi%2Femoticon-plus-outline ***!
\*******************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M15 18h3v-3h2v3h3v2h-3v3h-2v-3h-3zm-3-.5c-2.33 0-4.31-1.46-5.11-3.5h8.8a5.94 5.94 0 0 0-2.46 3.36c-.4.09-.81.14-1.23.14M8.5 11C7.67 11 7 10.33 7 9.5S7.67 8 8.5 8s1.5.67 1.5 1.5S9.33 11 8.5 11m7 0c-.83 0-1.5-.67-1.5-1.5S14.67 8 15.5 8s1.5.67 1.5 1.5s-.67 1.5-1.5 1.5M12 20l1.07-.07c.11.68.33 1.33.65 1.92c-.56.1-1.14.15-1.72.15c-5.53 0-10-4.5-10-10S6.47 2 12 2c5.5 0 10 4.5 10 10c0 .59-.05 1.16-.15 1.72c-.59-.32-1.23-.54-1.92-.65L20 12c0-4.42-3.58-8-8-8s-8 3.58-8 8s3.58 8 8 8\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'mdi-emoticon-plus-outline',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmdi%252Femoticon-plus-outline?");
/***/ }),
/***/ "./_virtual_~icons%2Fmdi%2Feye-outline":
/*!*********************************************!*\
!*** ./_virtual_~icons%2Fmdi%2Feye-outline ***!
\*********************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M12 9a3 3 0 0 1 3 3a3 3 0 0 1-3 3a3 3 0 0 1-3-3a3 3 0 0 1 3-3m0-4.5c5 0 9.27 3.11 11 7.5c-1.73 4.39-6 7.5-11 7.5S2.73 16.39 1 12c1.73-4.39 6-7.5 11-7.5M3.18 12a9.821 9.821 0 0 0 17.64 0a9.821 9.821 0 0 0-17.64 0\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'mdi-eye-outline',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmdi%252Feye-outline?");
/***/ }),
/***/ "./_virtual_~icons%2Fmdi%2Fkeyboard-variant":
/*!**************************************************!*\
!*** ./_virtual_~icons%2Fmdi%2Fkeyboard-variant ***!
\**************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M6 16h12v2H6zm0-3v2H2v-2zm1 2v-2h3v2zm4 0v-2h2v2zm3 0v-2h3v2zm4 0v-2h4v2zM2 10h3v2H2zm17 2v-2h3v2zm-1 0h-2v-2h2zM8 12H6v-2h2zm4 0H9v-2h3zm3 0h-2v-2h2zM2 9V7h2v2zm3 0V7h2v2zm3 0V7h2v2zm3 0V7h2v2zm3 0V7h2v2zm3 0V7h5v2z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'mdi-keyboard-variant',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmdi%252Fkeyboard-variant?");
/***/ }),
/***/ "./_virtual_~icons%2Fmdi%2Ftag-add":
/*!*****************************************!*\
!*** ./_virtual_~icons%2Fmdi%2Ftag-add ***!
\*****************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"m21.41 11.58l-9-9C12.04 2.21 11.53 2 11 2H4a2 2 0 0 0-2 2v7c0 .53.21 1.04.59 1.41l.41.4c.9-.54 1.94-.81 3-.81a6 6 0 0 1 6 6c0 1.06-.28 2.09-.82 3l.4.4c.37.38.89.6 1.42.6s1.04-.21 1.41-.59l7-7c.38-.37.59-.88.59-1.41s-.21-1.04-.59-1.42M5.5 7A1.5 1.5 0 0 1 4 5.5A1.5 1.5 0 0 1 5.5 4A1.5 1.5 0 0 1 7 5.5A1.5 1.5 0 0 1 5.5 7M10 19H7v3H5v-3H2v-2h3v-3h2v3h3z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'mdi-tag-add',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmdi%252Ftag-add?");
/***/ }),
/***/ "./_virtual_~icons%2Fmingcute%2Ffile-new-line":
/*!****************************************************!*\
!*** ./_virtual_~icons%2Fmingcute%2Ffile-new-line ***!
\****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('g',{attrs:{\"fill\":\"none\"}},[_c('path',{attrs:{\"d\":\"M24 0v24H0V0zM12.593 23.258l-.011.002l-.071.035l-.02.004l-.014-.004l-.071-.035q-.016-.005-.024.005l-.004.01l-.017.428l.005.02l.01.013l.104.074l.015.004l.012-.004l.104-.074l.012-.016l.004-.017l-.017-.427q-.004-.016-.017-.018m.265-.113l-.013.002l-.185.093l-.01.01l-.003.011l.018.43l.005.012l.008.007l.201.093q.019.005.029-.008l.004-.014l-.034-.614q-.005-.019-.02-.022m-.715.002a.02.02 0 0 0-.027.006l-.006.014l-.034.614q.001.018.017.024l.015-.002l.201-.093l.01-.008l.004-.011l.017-.43l-.003-.012l-.01-.01z\"}}),_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M13.586 2a2 2 0 0 1 1.284.467l.13.119L19.414 7a2 2 0 0 1 .578 1.238l.008.176V20a2 2 0 0 1-1.85 1.995L18 22H6a2 2 0 0 1-1.995-1.85L4 20V4a2 2 0 0 1 1.85-1.995L6 2zM12 4H6v16h12V10h-4.5A1.5 1.5 0 0 1 12 8.5zm0 7.5a1 1 0 0 1 1 1V14h1.5a1 1 0 1 1 0 2H13v1.5a1 1 0 1 1-2 0V16H9.5a1 1 0 1 1 0-2H11v-1.5a1 1 0 0 1 1-1m2-7.086V8h3.586z\"}})])])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'mingcute-file-new-line',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fmingcute%252Ffile-new-line?");
/***/ }),
/***/ "./_virtual_~icons%2Fph%2Ftree-structure-light":
/*!*****************************************************!*\
!*** ./_virtual_~icons%2Fph%2Ftree-structure-light ***!
\*****************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 256 256\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M160 110h48a14 14 0 0 0 14-14V48a14 14 0 0 0-14-14h-48a14 14 0 0 0-14 14v18h-18a22 22 0 0 0-22 22v34H70v-10a14 14 0 0 0-14-14H24a14 14 0 0 0-14 14v32a14 14 0 0 0 14 14h32a14 14 0 0 0 14-14v-10h36v34a22 22 0 0 0 22 22h18v18a14 14 0 0 0 14 14h48a14 14 0 0 0 14-14v-48a14 14 0 0 0-14-14h-48a14 14 0 0 0-14 14v18h-18a10 10 0 0 1-10-10V88a10 10 0 0 1 10-10h18v18a14 14 0 0 0 14 14M58 144a2 2 0 0 1-2 2H24a2 2 0 0 1-2-2v-32a2 2 0 0 1 2-2h32a2 2 0 0 1 2 2Zm100 16a2 2 0 0 1 2-2h48a2 2 0 0 1 2 2v48a2 2 0 0 1-2 2h-48a2 2 0 0 1-2-2Zm0-112a2 2 0 0 1 2-2h48a2 2 0 0 1 2 2v48a2 2 0 0 1-2 2h-48a2 2 0 0 1-2-2Z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'ph-tree-structure-light',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fph%252Ftree-structure-light?");
/***/ }),
/***/ "./_virtual_~icons%2Fri%2Fmenu-search-line":
/*!*************************************************!*\
!*** ./_virtual_~icons%2Fri%2Fmenu-search-line ***!
\*************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M15.5 5a3.5 3.5 0 1 0 0 7a3.5 3.5 0 0 0 0-7M10 8.5a5.5 5.5 0 1 1 10.032 3.117l2.675 2.676l-1.414 1.414l-2.675-2.675A5.5 5.5 0 0 1 10 8.5M3 4h5v2H3zm0 7h5v2H3zm18 7v2H3v-2z\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'ri-menu-search-line',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fri%252Fmenu-search-line?");
/***/ }),
/***/ "./_virtual_~icons%2Fri%2Fmind-map":
/*!*****************************************!*\
!*** ./_virtual_~icons%2Fri%2Fmind-map ***!
\*****************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M18 3a3 3 0 1 1 0 6h-3a3 3 0 0 1-2.829-2H11c-1.1 0-2 .9-2 2v.171a3.001 3.001 0 0 1 0 5.658V15c0 1.1.9 2 2 2h1.17A3 3 0 0 1 15 15h3a3 3 0 1 1 0 6h-3a3 3 0 0 1-2.829-2H11c-2.21 0-4-1.79-4-4H5a3 3 0 1 1 0-6h2a4 4 0 0 1 4-4h1.17A3 3 0 0 1 15 3zm0 14h-3a1 1 0 1 0 0 2h3a1 1 0 1 0 0-2M8 11H5a1 1 0 1 0 0 2h3a1 1 0 1 0 0-2m10-6h-3a1 1 0 1 0 0 2h3a1 1 0 1 0 0-2\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'ri-mind-map',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fri%252Fmind-map?");
/***/ }),
/***/ "./_virtual_~icons%2Fsimple-icons%2Frelay":
/*!************************************************!*\
!*** ./_virtual_~icons%2Fsimple-icons%2Frelay ***!
\************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M2.264 4.937A2.264 2.264 0 1 0 4.456 7.77h10.339a1.792 1.792 0 0 1 0 3.583h-5.73a3.037 3.037 0 0 0-3.034 3.033a3.036 3.036 0 0 0 3.033 3.033h10.494a2.264 2.264 0 1 0 0-1.242H9.064a1.793 1.793 0 0 1-1.791-1.791c0-.988.803-1.792 1.791-1.792h5.73a3.036 3.036 0 0 0 3.034-3.033a3.036 3.036 0 0 0-3.033-3.033H4.427a2.265 2.265 0 0 0-2.163-1.592\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'simple-icons-relay',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fsimple-icons%252Frelay?");
/***/ }),
/***/ "./_virtual_~icons%2Fstreamline%2Ftarget-3":
/*!*************************************************!*\
!*** ./_virtual_~icons%2Fstreamline%2Ftarget-3 ***!
\*************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 14 14\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"none\",\"stroke\":\"currentColor\",\"stroke-linecap\":\"round\",\"stroke-linejoin\":\"round\",\"d\":\"M.875 7a6.125 6.125 0 1 1 12.25 0A6.125 6.125 0 0 1 .875 7M7 .875v1.633M13.125 7h-1.633M7 13.125v-1.633M.875 7h1.633m2.888 0h3.208M7 5.396v3.208\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'streamline-target-3',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fstreamline%252Ftarget-3?");
/***/ }),
/***/ "./_virtual_~icons%2Fuil%2Fgame-structure":
/*!************************************************!*\
!*** ./_virtual_~icons%2Fuil%2Fgame-structure ***!
\************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\nvar render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('svg',{attrs:{\"viewBox\":\"0 0 24 24\",\"width\":\"1.2em\",\"height\":\"1.2em\"}},[_c('path',{attrs:{\"fill\":\"currentColor\",\"d\":\"M21 18h-2v-3a1 1 0 0 0-1-1h-5v-2.71l1.13.59a1 1 0 0 0 1.45-1.05l-.4-2.37l1.72-1.69a1 1 0 0 0 .26-1a1 1 0 0 0-.81-.68L14 4.72l-1.1-2.16a1 1 0 0 0-1.8 0L10 4.72l-2.39.35a1 1 0 0 0-.81.68a1 1 0 0 0 .26 1l1.76 1.71l-.4 2.37a1 1 0 0 0 1.45 1.05l1.13-.59V14H6a1 1 0 0 0-1 1v3H3a1 1 0 0 0-1 1v2a1 1 0 0 0 2 0v-1h4v1a1 1 0 0 0 2 0v-2a1 1 0 0 0-1-1H7v-2h10v2h-2a1 1 0 0 0-1 1v2a1 1 0 0 0 2 0v-1h4v1a1 1 0 0 0 2 0v-2a1 1 0 0 0-1-1m-9-9.37a1 1 0 0 0-.47.12l-.8.42l.15-.9a1 1 0 0 0-.29-.88l-.65-.64l.9-.13a1 1 0 0 0 .76-.54l.4-.82l.4.82a1 1 0 0 0 .76.54l.9.13l-.65.64a1 1 0 0 0-.29.88l.15.9l-.8-.42a1 1 0 0 0-.47-.12\"}})])}\n\n/* vite-plugin-components disabled */\n/* harmony default export */ __webpack_exports__[\"default\"] = ({\n render: render,\n \n name: 'uil-game-structure',\n});\n\n\n//# sourceURL=webpack://kmind-plugin/./_virtual_~icons%252Fuil%252Fgame-structure?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/defineProperty.js":
/*!*******************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/defineProperty.js ***!
\*******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _defineProperty; });\n/* harmony import */ var _toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./toPropertyKey.js */ \"./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js\");\n\nfunction _defineProperty(e, r, t) {\n return (r = Object(_toPropertyKey_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\n\n\n//# sourceURL=webpack://kmind-plugin/./node_modules/@babel/runtime/helpers/esm/defineProperty.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/toPrimitive.js":
/*!****************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/toPrimitive.js ***!
\****************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return toPrimitive; });\n/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! core-js/modules/es.error.cause.js */ \"./node_modules/core-js/modules/es.error.cause.js\");\n/* harmony import */ var core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(core_js_modules_es_error_cause_js__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./typeof.js */ \"./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n\n\nfunction toPrimitive(t, r) {\n if (\"object\" != Object(_typeof_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != Object(_typeof_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\n\n\n//# sourceURL=webpack://kmind-plugin/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js":
/*!******************************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js ***!
\******************************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return toPropertyKey; });\n/* harmony import */ var _typeof_js__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./typeof.js */ \"./node_modules/@babel/runtime/helpers/esm/typeof.js\");\n/* harmony import */ var _toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./toPrimitive.js */ \"./node_modules/@babel/runtime/helpers/esm/toPrimitive.js\");\n\n\nfunction toPropertyKey(t) {\n var i = Object(_toPrimitive_js__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(t, \"string\");\n return \"symbol\" == Object(_typeof_js__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(i) ? i : i + \"\";\n}\n\n\n//# sourceURL=webpack://kmind-plugin/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js?");
/***/ }),
/***/ "./node_modules/@babel/runtime/helpers/esm/typeof.js":
/*!***********************************************************!*\
!*** ./node_modules/@babel/runtime/helpers/esm/typeof.js ***!
\***********************************************************/
/*! exports provided: default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return _typeof; });\nfunction _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\n\n\n//# sourceURL=webpack://kmind-plugin/./node_modules/@babel/runtime/helpers/esm/typeof.js?");
/***/ }),
/***/ "./node_modules/@toast-ui/editor/dist/esm/index.js":
/*!*********************************************************!*\
!*** ./node_modules/@toast-ui/editor/dist/esm/index.js ***!
\*********************************************************/
/*! exports provided: Editor, EditorCore, default */
/***/ (function(module, __webpack_exports__, __webpack_require__) {
"use strict";
eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(global) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"Editor\", function() { return ToastUIEditor; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"EditorCore\", function() { return ToastUIEditorCore; });\n/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ToastUIEditor; });\n/* harmony import */ var prosemirror_model__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! prosemirror-model */ \"./node_modules/prosemirror-model/dist/index.js\");\n/* harmony import */ var prosemirror_view__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! prosemirror-view */ \"./node_modules/prosemirror-view/dist/index.js\");\n/* harmony import */ var prosemirror_transform__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! prosemirror-transform */ \"./node_modules/prosemirror-transform/dist/index.js\");\n/* harmony import */ var prosemirror_state__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! prosemirror-state */ \"./node_modules/prosemirror-state/dist/index.js\");\n/* harmony import */ var prosemirror_keymap__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! prosemirror-keymap */ \"./node_modules/prosemirror-keymap/dist/index.js\");\n/* harmony import */ var prosemirror_commands__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! prosemirror-commands */ \"./node_modules/prosemirror-commands/dist/index.js\");\n/* harmony import */ var prosemirror_inputrules__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! prosemirror-inputrules */ \"./node_modules/prosemirror-inputrules/dist/index.js\");\n/* harmony import */ var prosemirror_history__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! prosemirror-history */ \"./node_modules/prosemirror-history/dist/index.js\");\n/**\n * @toast-ui/editor\n * @version 3.2.2 | Fri Feb 17 2023\n * @author NHN Cloud FE Development Lab \n * @license MIT\n */\n\n\n\n\n\n\n\n\n\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics$1 = function(d, b) {\r\n extendStatics$1 = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics$1(d, b);\r\n};\r\n\r\nfunction __extends$1(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics$1(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign$1 = function() {\r\n __assign$1 = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign$1.apply(this, arguments);\r\n};\r\n\r\nfunction __spreadArray$1(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nfunction __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n}\n\n/**\n * @fileoverview Execute the provided callback once for each property of object which actually exist.\n * @author NHN FE Development Lab \n */\n\n/**\n * Execute the provided callback once for each property of object which actually exist.\n * If the callback function returns false, the loop will be stopped.\n * Callback function(iteratee) is invoked with three arguments:\n * 1) The value of the property\n * 2) The name of the property\n * 3) The object being traversed\n * @param {Object} obj The object that will be traversed\n * @param {function} iteratee Callback function\n * @param {Object} [context] Context(this) of callback function\n * @memberof module:collection\n * @example\n * // ES6\n * import forEachOwnProperties from 'tui-code-snippet/collection/forEachOwnProperties';\n * \n * // CommonJS\n * const forEachOwnProperties = require('tui-code-snippet/collection/forEachOwnProperties'); \n *\n * let sum = 0;\n *\n * forEachOwnProperties({a:1,b:2,c:3}, function(value){\n * sum += value;\n * });\n * alert(sum); // 6\n */\nfunction forEachOwnProperties$2(obj, iteratee, context) {\n var key;\n\n context = context || null;\n\n for (key in obj) {\n if (obj.hasOwnProperty(key)) {\n if (iteratee.call(context, obj[key], key, obj) === false) {\n break;\n }\n }\n }\n}\n\nvar forEachOwnProperties_1 = forEachOwnProperties$2;\n\n/**\n * @fileoverview Extend the target object from other objects.\n * @author NHN FE Development Lab \n */\n\n/**\n * @module object\n */\n\n/**\n * Extend the target object from other objects.\n * @param {object} target - Object that will be extended\n * @param {...object} objects - Objects as sources\n * @returns {object} Extended object\n * @memberof module:object\n */\nfunction extend(target, objects) { // eslint-disable-line no-unused-vars\n var hasOwnProp = Object.prototype.hasOwnProperty;\n var source, prop, i, len;\n\n for (i = 1, len = arguments.length; i < len; i += 1) {\n source = arguments[i];\n for (prop in source) {\n if (hasOwnProp.call(source, prop)) {\n target[prop] = source[prop];\n }\n }\n }\n\n return target;\n}\n\nvar extend_1 = extend;\n\n/**\n * @fileoverview Check whether the given variable is a string or not.\n * @author NHN FE Development Lab \n */\n\n/**\n * Check whether the given variable is a string or not.\n * If the given variable is a string, return true.\n * @param {*} obj - Target for checking\n * @returns {boolean} Is string?\n * @memberof module:type\n */\nfunction isString$3(obj) {\n return typeof obj === 'string' || obj instanceof String;\n}\n\nvar isString_1 = isString$3;\n\n/**\n * @fileoverview Check whether the given variable is an instance of Array or not.\n * @author NHN FE Development Lab \n */\n\n/**\n * Check whether the given variable is an instance of Array or not.\n * If the given variable is an instance of Array, return true.\n * @param {*} obj - Target for checking\n * @returns {boolean} Is array instance?\n * @memberof module:type\n */\nfunction isArray$3(obj) {\n return obj instanceof Array;\n}\n\nvar isArray_1 = isArray$3;\n\n/**\n * @fileoverview Execute the provided callback once for each element present in the array(or Array-like object) in ascending order.\n * @author NHN FE Development Lab \n */\n\n/**\n * Execute the provided callback once for each element present\n * in the array(or Array-like object) in ascending order.\n * If the callback function returns false, the loop will be stopped.\n * Callback function(iteratee) is invoked with three arguments:\n * 1) The value of the element\n * 2) The index of the element\n * 3) The array(or Array-like object) being traversed\n * @param {Array|Arguments|NodeList} arr The array(or Array-like object) that will be traversed\n * @param {function} iteratee Callback function\n * @param {Object} [context] Context(this) of callback function\n * @memberof module:collection\n * @example\n * // ES6\n * import forEachArray from 'tui-code-snippet/collection/forEachArray';\n * \n * // CommonJS\n * const forEachArray = require('tui-code-snippet/collection/forEachArray'); \n *\n * let sum = 0;\n *\n * forEachArray([1,2,3], function(value){\n * sum += value;\n * });\n * alert(sum); // 6\n */\nfunction forEachArray$3(arr, iteratee, context) {\n var index = 0;\n var len = arr.length;\n\n context = context || null;\n\n for (; index < len; index += 1) {\n if (iteratee.call(context, arr[index], index, arr) === false) {\n break;\n }\n }\n}\n\nvar forEachArray_1 = forEachArray$3;\n\n/**\n * @fileoverview Execute the provided callback once for each property of object(or element of array) which actually exist.\n * @author NHN FE Development Lab \n */\n\nvar isArray$2 = isArray_1;\nvar forEachArray$2 = forEachArray_1;\nvar forEachOwnProperties$1 = forEachOwnProperties_1;\n\n/**\n * @module collection\n */\n\n/**\n * Execute the provided callback once for each property of object(or element of array) which actually exist.\n * If the object is Array-like object(ex-arguments object), It needs to transform to Array.(see 'ex2' of example).\n * If the callback function returns false, the loop will be stopped.\n * Callback function(iteratee) is invoked with three arguments:\n * 1) The value of the property(or The value of the element)\n * 2) The name of the property(or The index of the element)\n * 3) The object being traversed\n * @param {Object} obj The object that will be traversed\n * @param {function} iteratee Callback function\n * @param {Object} [context] Context(this) of callback function\n * @memberof module:collection\n * @example\n * // ES6\n * import forEach from 'tui-code-snippet/collection/forEach'; \n * \n * // CommonJS\n * const forEach = require('tui-code-snippet/collection/forEach'); \n *\n * let sum = 0;\n *\n * forEach([1,2,3], function(value){\n * sum += value;\n * });\n * alert(sum); // 6\n *\n * // In case of Array-like object\n * const array = Array.prototype.slice.call(arrayLike); // change to array\n * forEach(array, function(value){\n * sum += value;\n * });\n */\nfunction forEach$4(obj, iteratee, context) {\n if (isArray$2(obj)) {\n forEachArray$2(obj, iteratee, context);\n } else {\n forEachOwnProperties$1(obj, iteratee, context);\n }\n}\n\nvar forEach_1 = forEach$4;\n\n/**\n * @fileoverview Setting element style\n * @author NHN FE Development Lab \n */\n\nvar isString$2 = isString_1;\nvar forEach$3 = forEach_1;\n\n/**\n * Setting element style\n * @param {(HTMLElement|SVGElement)} element - element to setting style\n * @param {(string|object)} key - style prop name or {prop: value} pair object\n * @param {string} [value] - style value\n * @memberof module:domUtil\n */\nfunction css(element, key, value) {\n var style = element.style;\n\n if (isString$2(key)) {\n style[key] = value;\n\n return;\n }\n\n forEach$3(key, function(v, k) {\n style[k] = v;\n });\n}\n\nvar css_1 = css;\n\n/* eslint-disable complexity */\n\nvar isArray$1 = isArray_1;\n\n/**\n * @module array\n */\n\n/**\n * Returns the first index at which a given element can be found in the array\n * from start index(default 0), or -1 if it is not present.\n * It compares searchElement to elements of the Array using strict equality\n * (the same method used by the ===, or triple-equals, operator).\n * @param {*} searchElement Element to locate in the array\n * @param {Array} array Array that will be traversed.\n * @param {number} startIndex Start index in array for searching (default 0)\n * @returns {number} the First index at which a given element, or -1 if it is not present\n * @memberof module:array\n * @example\n * // ES6\n * import inArray from 'tui-code-snippet/array/inArray';\n * \n * // CommonJS\n * const inArray = require('tui-code-snippet/array/inArray');\n *\n * const arr = ['one', 'two', 'three', 'four'];\n * const idx1 = inArray('one', arr, 3); // -1\n * const idx2 = inArray('one', arr); // 0\n */\nfunction inArray$4(searchElement, array, startIndex) {\n var i;\n var length;\n startIndex = startIndex || 0;\n\n if (!isArray$1(array)) {\n return -1;\n }\n\n if (Array.prototype.indexOf) {\n return Array.prototype.indexOf.call(array, searchElement, startIndex);\n }\n\n length = array.length;\n for (i = startIndex; startIndex >= 0 && i < length; i += 1) {\n if (array[i] === searchElement) {\n return i;\n }\n }\n\n return -1;\n}\n\nvar inArray_1 = inArray$4;\n\n/**\n * @fileoverview Check whether the given variable is undefined or not.\n * @author NHN FE Development Lab \n */\n\n/**\n * Check whether the given variable is undefined or not.\n * If the given variable is undefined, returns true.\n * @param {*} obj - Target for checking\n * @returns {boolean} Is undefined?\n * @memberof module:type\n */\nfunction isUndefined$4(obj) {\n return obj === undefined; // eslint-disable-line no-undefined\n}\n\nvar isUndefined_1 = isUndefined$4;\n\n/**\n * @fileoverview Get HTML element's design classes.\n * @author NHN FE Development Lab \n */\n\nvar isUndefined$3 = isUndefined_1;\n\n/**\n * Get HTML element's design classes.\n * @param {(HTMLElement|SVGElement)} element target element\n * @returns {string} element css class name\n * @memberof module:domUtil\n */\nfunction getClass$3(element) {\n if (!element || !element.className) {\n return '';\n }\n\n if (isUndefined$3(element.className.baseVal)) {\n return element.className;\n }\n\n return element.className.baseVal;\n}\n\nvar getClass_1 = getClass$3;\n\n/**\n * @fileoverview Set className value\n * @author NHN FE Development Lab \n */\n\nvar isArray = isArray_1;\nvar isUndefined$2 = isUndefined_1;\n\n/**\n * Set className value\n * @param {(HTMLElement|SVGElement)} element - target element\n * @param {(string|string[])} cssClass - class names\n * @private\n */\nfunction setClassName$2(element, cssClass) {\n cssClass = isArray(cssClass) ? cssClass.join(' ') : cssClass;\n\n cssClass = cssClass.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n if (isUndefined$2(element.className.baseVal)) {\n element.className = cssClass;\n\n return;\n }\n\n element.className.baseVal = cssClass;\n}\n\nvar _setClassName = setClassName$2;\n\n/**\n * @fileoverview Add css class to element\n * @author NHN FE Development Lab \n */\n\nvar forEach$2 = forEach_1;\nvar inArray$3 = inArray_1;\nvar getClass$2 = getClass_1;\nvar setClassName$1 = _setClassName;\n\n/**\n * domUtil module\n * @module domUtil\n */\n\n/**\n * Add css class to element\n * @param {(HTMLElement|SVGElement)} element - target element\n * @param {...string} cssClass - css classes to add\n * @memberof module:domUtil\n */\nfunction addClass(element) {\n var cssClass = Array.prototype.slice.call(arguments, 1);\n var classList = element.classList;\n var newClass = [];\n var origin;\n\n if (classList) {\n forEach$2(cssClass, function(name) {\n element.classList.add(name);\n });\n\n return;\n }\n\n origin = getClass$2(element);\n\n if (origin) {\n cssClass = [].concat(origin.split(/\\s+/), cssClass);\n }\n\n forEach$2(cssClass, function(cls) {\n if (inArray$3(cls, newClass) < 0) {\n newClass.push(cls);\n }\n });\n\n setClassName$1(element, newClass);\n}\n\nvar addClass_1 = addClass;\n\n/**\n * @fileoverview Remove css class from element\n * @author NHN FE Development Lab \n */\n\nvar forEachArray$1 = forEachArray_1;\nvar inArray$2 = inArray_1;\nvar getClass$1 = getClass_1;\nvar setClassName = _setClassName;\n\n/**\n * Remove css class from element\n * @param {(HTMLElement|SVGElement)} element - target element\n * @param {...string} cssClass - css classes to remove\n * @memberof module:domUtil\n */\nfunction removeClass(element) {\n var cssClass = Array.prototype.slice.call(arguments, 1);\n var classList = element.classList;\n var origin, newClass;\n\n if (classList) {\n forEachArray$1(cssClass, function(name) {\n classList.remove(name);\n });\n\n return;\n }\n\n origin = getClass$1(element).split(/\\s+/);\n newClass = [];\n forEachArray$1(origin, function(name) {\n if (inArray$2(name, cssClass) < 0) {\n newClass.push(name);\n }\n });\n\n setClassName(element, newClass);\n}\n\nvar removeClass_1 = removeClass;\n\n/**\n * @fileoverview Check whether the given variable is a number or not.\n * @author NHN FE Development Lab \n */\n\n/**\n * Check whether the given variable is a number or not.\n * If the given variable is a number, return true.\n * @param {*} obj - Target for checking\n * @returns {boolean} Is number?\n * @memberof module:type\n */\nfunction isNumber(obj) {\n return typeof obj === 'number' || obj instanceof Number;\n}\n\nvar isNumber_1 = isNumber;\n\n/**\n * @fileoverview Check whether the given variable is null or not.\n * @author NHN FE Development Lab \n */\n\n/**\n * Check whether the given variable is null or not.\n * If the given variable(arguments[0]) is null, returns true.\n * @param {*} obj - Target for checking\n * @returns {boolean} Is null?\n * @memberof module:type\n */\nfunction isNull$1(obj) {\n return obj === null;\n}\n\nvar isNull_1 = isNull$1;\n\n/**\n * @fileoverview Request image ping.\n * @author NHN FE Development Lab \n */\n\nvar forEachOwnProperties = forEachOwnProperties_1;\n\n/**\n * @module request\n */\n\n/**\n * Request image ping.\n * @param {String} url url for ping request\n * @param {Object} trackingInfo infos for make query string\n * @returns {HTMLElement}\n * @memberof module:request\n * @example\n * // ES6\n * import imagePing from 'tui-code-snippet/request/imagePing';\n * \n * // CommonJS\n * const imagePing = require('tui-code-snippet/request/imagePing');\n *\n * imagePing('https://www.google-analytics.com/collect', {\n * v: 1,\n * t: 'event',\n * tid: 'trackingid',\n * cid: 'cid',\n * dp: 'dp',\n * dh: 'dh'\n * });\n */\nfunction imagePing$1(url, trackingInfo) {\n var trackingElement = document.createElement('img');\n var queryString = '';\n forEachOwnProperties(trackingInfo, function(value, key) {\n queryString += '&' + key + '=' + value;\n });\n queryString = queryString.substring(1);\n\n trackingElement.src = url + '?' + queryString;\n\n trackingElement.style.display = 'none';\n document.body.appendChild(trackingElement);\n document.body.removeChild(trackingElement);\n\n return trackingElement;\n}\n\nvar imagePing_1 = imagePing$1;\n\n/**\n * @fileoverview Send hostname on DOMContentLoaded.\n * @author NHN FE Development Lab \n */\n\nvar isUndefined$1 = isUndefined_1;\nvar imagePing = imagePing_1;\n\nvar ms7days = 7 * 24 * 60 * 60 * 1000;\n\n/**\n * Check if the date has passed 7 days\n * @param {number} date - milliseconds\n * @returns {boolean}\n * @private\n */\nfunction isExpired(date) {\n var now = new Date().getTime();\n\n return now - date > ms7days;\n}\n\n/**\n * Send hostname on DOMContentLoaded.\n * To prevent hostname set tui.usageStatistics to false.\n * @param {string} appName - application name\n * @param {string} trackingId - GA tracking ID\n * @ignore\n */\nfunction sendHostname(appName, trackingId) {\n var url = 'https://www.google-analytics.com/collect';\n var hostname = location.hostname;\n var hitType = 'event';\n var eventCategory = 'use';\n var applicationKeyForStorage = 'TOAST UI ' + appName + ' for ' + hostname + ': Statistics';\n var date = window.localStorage.getItem(applicationKeyForStorage);\n\n // skip if the flag is defined and is set to false explicitly\n if (!isUndefined$1(window.tui) && window.tui.usageStatistics === false) {\n return;\n }\n\n // skip if not pass seven days old\n if (date && !isExpired(date)) {\n return;\n }\n\n window.localStorage.setItem(applicationKeyForStorage, new Date().getTime());\n\n setTimeout(function() {\n if (document.readyState === 'interactive' || document.readyState === 'complete') {\n imagePing(url, {\n v: 1,\n t: hitType,\n tid: trackingId,\n cid: hostname,\n dp: hostname,\n dh: appName,\n el: appName,\n ec: eventCategory\n });\n }\n }, 1000);\n}\n\nvar sendHostname_1 = sendHostname;\n\n/Mac/.test(navigator.platform);\nvar reSpaceMoreThanOne = /[\\u0020]+/g;\nvar reEscapeChars$1 = /[>(){}[\\]+-.!#|]/g;\nvar reEscapeHTML = /<([a-zA-Z_][a-zA-Z0-9\\-._]*)(\\s|[^\\\\>])*\\/?>|<(\\/)([a-zA-Z_][a-zA-Z0-9\\-._]*)\\s*\\/?>||<([a-zA-Z_][a-zA-Z0-9\\-.:/]*)>/g;\nvar reEscapeBackSlash = /\\\\[!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~\\\\]/g;\nvar reEscapePairedChars = /[*_~`]/g;\nvar reMdImageSyntax = /!\\[.*\\]\\(.*\\)/g;\nvar reEscapedCharInLinkSyntax = /[[\\]]/g;\nvar reEscapeBackSlashInSentence = /(?:^|[^\\\\])\\\\(?!\\\\)/g;\nvar XMLSPECIAL$1 = '[&<>\"]';\nvar reXmlSpecial$1 = new RegExp(XMLSPECIAL$1, 'g');\nfunction replaceUnsafeChar$1(char) {\n switch (char) {\n case '&':\n return '&';\n case '<':\n return '<';\n case '>':\n return '>';\n case '\"':\n return '"';\n default:\n return char;\n }\n}\nfunction escapeXml$1(text) {\n if (reXmlSpecial$1.test(text)) {\n return text.replace(reXmlSpecial$1, replaceUnsafeChar$1);\n }\n return text;\n}\nfunction sendHostName() {\n sendHostname_1('editor', 'UA-129966929-1');\n}\nfunction includes(arr, targetItem) {\n return arr.indexOf(targetItem) !== -1;\n}\nvar availableLinkAttributes = ['rel', 'target', 'hreflang', 'type'];\nvar reMarkdownTextToEscapeMap = {\n codeblock: /(^ {4}[^\\n]+\\n*)+/,\n thematicBreak: /^ *((\\* *){3,}|(- *){3,} *|(_ *){3,}) */,\n atxHeading: /^(#{1,6}) +[\\s\\S]+/,\n seTextheading: /^([^\\n]+)\\n *(=|-){2,} */,\n blockquote: /^( *>[^\\n]+.*)+/,\n list: /^ *(\\*+|-+|\\d+\\.) [\\s\\S]+/,\n def: /^ *\\[([^\\]]+)\\]: *([^\\s>]+)>?(?: +[\"(]([^\\n]+)[\")])? */,\n link: /!?\\[.*\\]\\(.*\\)/,\n reflink: /!?\\[.*\\]\\s*\\[([^\\]]*)\\]/,\n verticalBar: /\\u007C/,\n fencedCodeblock: /^((`|~){3,})/,\n};\nfunction sanitizeLinkAttribute(attribute) {\n if (!attribute) {\n return null;\n }\n var linkAttributes = {};\n availableLinkAttributes.forEach(function (key) {\n if (!isUndefined_1(attribute[key])) {\n linkAttributes[key] = attribute[key];\n }\n });\n return linkAttributes;\n}\nfunction repeat$1(text, count) {\n var result = '';\n for (var i = 0; i < count; i += 1) {\n result += text;\n }\n return result;\n}\nfunction isNeedEscapeText(text) {\n var needEscape = false;\n forEachOwnProperties_1(reMarkdownTextToEscapeMap, function (reMarkdownTextToEscape) {\n if (reMarkdownTextToEscape.test(text)) {\n needEscape = true;\n }\n return !needEscape;\n });\n return needEscape;\n}\nfunction escapeTextForLink(text) {\n var imageSyntaxRanges = [];\n var result = reMdImageSyntax.exec(text);\n while (result) {\n imageSyntaxRanges.push([result.index, result.index + result[0].length]);\n result = reMdImageSyntax.exec(text);\n }\n return text.replace(reEscapedCharInLinkSyntax, function (matched, offset) {\n var isDelimiter = imageSyntaxRanges.some(function (range) { return offset > range[0] && offset < range[1]; });\n return isDelimiter ? matched : \"\\\\\" + matched;\n });\n}\nfunction escape$1(text) {\n var aheadReplacer = function (matched) { return \"\\\\\" + matched; };\n var behindReplacer = function (matched) { return matched + \"\\\\\"; };\n var escapedText = text.replace(reSpaceMoreThanOne, ' ');\n if (reEscapeBackSlash.test(escapedText)) {\n escapedText = escapedText.replace(reEscapeBackSlash, aheadReplacer);\n }\n if (reEscapeBackSlashInSentence.test(escapedText)) {\n escapedText = escapedText.replace(reEscapeBackSlashInSentence, behindReplacer);\n }\n escapedText = escapedText.replace(reEscapePairedChars, aheadReplacer);\n if (reEscapeHTML.test(escapedText)) {\n escapedText = escapedText.replace(reEscapeHTML, aheadReplacer);\n }\n if (isNeedEscapeText(escapedText)) {\n escapedText = escapedText.replace(reEscapeChars$1, aheadReplacer);\n }\n return escapedText;\n}\nfunction quote(text) {\n var result;\n if (text.indexOf('\"') === -1) {\n result = '\"\"';\n }\n else {\n result = text.indexOf(\"'\") === -1 ? \"''\" : '()';\n }\n return result[0] + text + result[1];\n}\nfunction isNil(value) {\n return isNull_1(value) || isUndefined_1(value);\n}\nfunction shallowEqual(o1, o2) {\n if (o1 === null && o1 === o2) {\n return true;\n }\n if (typeof o1 !== 'object' || typeof o2 !== 'object' || isNil(o1) || isNil(o2)) {\n return o1 === o2;\n }\n for (var key in o1) {\n if (o1[key] !== o2[key]) {\n return false;\n }\n }\n for (var key in o2) {\n if (!(key in o1)) {\n return false;\n }\n }\n return true;\n}\nfunction last$1(arr) {\n return arr[arr.length - 1];\n}\nfunction between$1(value, min, max) {\n return value >= min && value <= max;\n}\nfunction isObject$1(obj) {\n return typeof obj === 'object' && obj !== null;\n}\nfunction deepMergedCopy(targetObj, obj) {\n var resultObj = __assign$1({}, targetObj);\n if (targetObj && obj) {\n Object.keys(obj).forEach(function (prop) {\n if (isObject$1(resultObj[prop])) {\n if (Array.isArray(obj[prop])) {\n resultObj[prop] = deepCopyArray(obj[prop]);\n }\n else if (resultObj.hasOwnProperty(prop)) {\n resultObj[prop] = deepMergedCopy(resultObj[prop], obj[prop]);\n }\n else {\n resultObj[prop] = deepCopy(obj[prop]);\n }\n }\n else {\n resultObj[prop] = obj[prop];\n }\n });\n }\n return resultObj;\n}\nfunction deepCopyArray(items) {\n return items.map(function (item) {\n if (isObject$1(item)) {\n return Array.isArray(item) ? deepCopyArray(item) : deepCopy(item);\n }\n return item;\n });\n}\nfunction deepCopy(obj) {\n var keys = Object.keys(obj);\n if (!keys.length) {\n return obj;\n }\n return keys.reduce(function (acc, prop) {\n if (isObject$1(obj[prop])) {\n acc[prop] = Array.isArray(obj[prop]) ? deepCopyArray(obj[prop]) : deepCopy(obj[prop]);\n }\n else {\n acc[prop] = obj[prop];\n }\n return acc;\n }, {});\n}\nfunction assign(targetObj, obj) {\n if (obj === void 0) { obj = {}; }\n Object.keys(obj).forEach(function (prop) {\n if (targetObj.hasOwnProperty(prop) && typeof targetObj[prop] === 'object') {\n if (Array.isArray(obj[prop])) {\n targetObj[prop] = obj[prop];\n }\n else {\n assign(targetObj[prop], obj[prop]);\n }\n }\n else {\n targetObj[prop] = obj[prop];\n }\n });\n return targetObj;\n}\nfunction getSortedNumPair(valueA, valueB) {\n return valueA > valueB ? [valueB, valueA] : [valueA, valueB];\n}\n\n/**\n * @fileoverview Transform the Array-like object to Array.\n * @author NHN FE Development Lab \n */\n\nvar forEachArray = forEachArray_1;\n\n/**\n * Transform the Array-like object to Array.\n * In low IE (below 8), Array.prototype.slice.call is not perfect. So, try-catch statement is used.\n * @param {*} arrayLike Array-like object\n * @returns {Array} Array\n * @memberof module:collection\n * @example\n * // ES6\n * import toArray from 'tui-code-snippet/collection/toArray'; \n * \n * // CommonJS\n * const toArray = require('tui-code-snippet/collection/toArray'); \n *\n * const arrayLike = {\n * 0: 'one',\n * 1: 'two',\n * 2: 'three',\n * 3: 'four',\n * length: 4\n * };\n * const result = toArray(arrayLike);\n *\n * alert(result instanceof Array); // true\n * alert(result); // one,two,three,four\n */\nfunction toArray$1(arrayLike) {\n var arr;\n try {\n arr = Array.prototype.slice.call(arrayLike);\n } catch (e) {\n arr = [];\n forEachArray(arrayLike, function(value) {\n arr.push(value);\n });\n }\n\n return arr;\n}\n\nvar toArray_1 = toArray$1;\n\nfunction createParagraph(schema, content) {\n var paragraph = schema.nodes.paragraph;\n if (!content) {\n return paragraph.createAndFill();\n }\n return paragraph.create(null, isString_1(content) ? schema.text(content) : content);\n}\nfunction createTextNode$1(schema, text, marks) {\n return schema.text(text, marks);\n}\nfunction createTextSelection(tr, from, to) {\n if (to === void 0) { to = from; }\n var contentSize = tr.doc.content.size;\n var size = contentSize > 0 ? contentSize - 1 : 1;\n return prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"TextSelection\"].create(tr.doc, Math.min(from, size), Math.min(to, size));\n}\nfunction addParagraph(tr, _a, schema) {\n var pos = _a.pos;\n tr.replaceWith(pos, pos, createParagraph(schema));\n return tr.setSelection(createTextSelection(tr, pos + 1));\n}\nfunction replaceTextNode(_a) {\n var state = _a.state, from = _a.from, startIndex = _a.startIndex, endIndex = _a.endIndex, createText = _a.createText;\n var tr = state.tr, doc = state.doc, schema = state.schema;\n for (var i = startIndex; i <= endIndex; i += 1) {\n var _b = doc.child(i), nodeSize = _b.nodeSize, textContent = _b.textContent, content = _b.content;\n var text = createText(textContent);\n var node = text ? createTextNode$1(schema, text) : prosemirror_model__WEBPACK_IMPORTED_MODULE_0__[\"Fragment\"].empty;\n var mappedFrom = tr.mapping.map(from);\n var mappedTo = mappedFrom + content.size;\n tr.replaceWith(mappedFrom, mappedTo, node);\n from += nodeSize;\n }\n return tr;\n}\nfunction splitAndExtendBlock(tr, pos, text, node) {\n var textLen = text.length;\n tr.split(pos)\n .delete(pos - textLen, pos)\n .insert(tr.mapping.map(pos), node)\n .setSelection(createTextSelection(tr, tr.mapping.map(pos) - textLen));\n}\n\nfunction getMdStartLine(mdNode) {\n return mdNode.sourcepos[0][0];\n}\nfunction getMdEndLine(mdNode) {\n return mdNode.sourcepos[1][0];\n}\nfunction getMdStartCh(mdNode) {\n return mdNode.sourcepos[0][1];\n}\nfunction getMdEndCh(mdNode) {\n return mdNode.sourcepos[1][1];\n}\nfunction isHTMLNode(mdNode) {\n var type = mdNode.type;\n return type === 'htmlBlock' || type === 'htmlInline';\n}\nfunction isStyledInlineNode(mdNode) {\n var type = mdNode.type;\n return (type === 'strike' ||\n type === 'strong' ||\n type === 'emph' ||\n type === 'code' ||\n type === 'link' ||\n type === 'image');\n}\nfunction isCodeBlockNode(mdNode) {\n return mdNode && mdNode.type === 'codeBlock';\n}\nfunction isListNode$1(mdNode) {\n return mdNode && (mdNode.type === 'item' || mdNode.type === 'list');\n}\nfunction isOrderedListNode(mdNode) {\n return isListNode$1(mdNode) && mdNode.listData.type === 'ordered';\n}\nfunction isBulletListNode(mdNode) {\n return isListNode$1(mdNode) && mdNode.listData.type !== 'ordered';\n}\nfunction isTableCellNode(mdNode) {\n return mdNode && (mdNode.type === 'tableCell' || mdNode.type === 'tableDelimCell');\n}\nfunction isInlineNode$1(mdNode) {\n switch (mdNode.type) {\n case 'code':\n case 'text':\n case 'emph':\n case 'strong':\n case 'strike':\n case 'link':\n case 'image':\n case 'htmlInline':\n case 'linebreak':\n case 'softbreak':\n case 'customInline':\n return true;\n default:\n return false;\n }\n}\nfunction findClosestNode(mdNode, condition, includeSelf) {\n if (includeSelf === void 0) { includeSelf = true; }\n mdNode = includeSelf ? mdNode : mdNode.parent;\n while (mdNode && mdNode.type !== 'document') {\n if (condition(mdNode)) {\n return mdNode;\n }\n mdNode = mdNode.parent;\n }\n return null;\n}\nfunction traverseParentNodes(mdNode, iteratee, includeSelf) {\n if (includeSelf === void 0) { includeSelf = true; }\n mdNode = includeSelf ? mdNode : mdNode.parent;\n while (mdNode && mdNode.type !== 'document') {\n iteratee(mdNode);\n mdNode = mdNode.parent;\n }\n}\nfunction addOffsetPos(originPos, offset) {\n return [originPos[0], originPos[1] + offset];\n}\nfunction setOffsetPos(originPos, newOffset) {\n return [originPos[0], newOffset];\n}\nfunction getInlineMarkdownText(mdNode) {\n var text = mdNode.firstChild.literal;\n switch (mdNode.type) {\n case 'emph':\n return \"*\" + text + \"*\";\n case 'strong':\n return \"**\" + text + \"**\";\n case 'strike':\n return \"~~\" + text + \"~~\";\n case 'code':\n return \"`\" + text + \"`\";\n case 'link':\n case 'image':\n /* eslint-disable no-case-declarations */\n var _a = mdNode, destination = _a.destination, title = _a.title;\n var delim = mdNode.type === 'link' ? '' : '!';\n return delim + \"[\" + text + \"](\" + destination + (title ? \" \\\"\" + title + \"\\\"\" : '') + \")\";\n default:\n return null;\n }\n}\nfunction isContainer$2(node) {\n switch (node.type) {\n case 'document':\n case 'blockQuote':\n case 'list':\n case 'item':\n case 'paragraph':\n case 'heading':\n case 'emph':\n case 'strong':\n case 'strike':\n case 'link':\n case 'image':\n case 'table':\n case 'tableHead':\n case 'tableBody':\n case 'tableRow':\n case 'tableCell':\n case 'tableDelimRow':\n case 'customInline':\n return true;\n default:\n return false;\n }\n}\nfunction getChildrenText$1(node) {\n var buffer = [];\n var walker = node.walker();\n var event = null;\n while ((event = walker.next())) {\n var childNode = event.node;\n if (childNode.type === 'text') {\n buffer.push(childNode.literal);\n }\n }\n return buffer.join('');\n}\n\nvar widgetRules = [];\nvar widgetRuleMap = {};\nvar reWidgetPrefix = /\\$\\$widget\\d+\\s/;\nfunction unwrapWidgetSyntax(text) {\n var index = text.search(reWidgetPrefix);\n if (index !== -1) {\n var rest = text.substring(index);\n var replaced = rest.replace(reWidgetPrefix, '').replace('$$', '');\n text = text.substring(0, index);\n text += unwrapWidgetSyntax(replaced);\n }\n return text;\n}\nfunction createWidgetContent(info, text) {\n return \"$$\" + info + \" \" + text + \"$$\";\n}\nfunction widgetToDOM(info, text) {\n var _a = widgetRuleMap[info], rule = _a.rule, toDOM = _a.toDOM;\n var matches = unwrapWidgetSyntax(text).match(rule);\n if (matches) {\n text = matches[0];\n }\n return toDOM(text);\n}\nfunction getWidgetRules() {\n return widgetRules;\n}\nfunction setWidgetRules(rules) {\n widgetRules = rules;\n widgetRules.forEach(function (rule, index) {\n widgetRuleMap[\"widget\" + index] = rule;\n });\n}\nfunction mergeNodes(nodes, text, schema, ruleIndex) {\n return nodes.concat(createNodesWithWidget(text, schema, ruleIndex));\n}\n/**\n * create nodes with plain text and replace text matched to the widget rules with the widget node\n * For example, in case the text and widget rules as below\n *\n * text: $test plain text #test\n * widget rules: [{ rule: /$.+/ }, { rule: /#.+/ }]\n *\n * The creating node process is recursive and is as follows.\n *\n * in first widget rule(/$.+/)\n * $test -> widget node\n * plain text -> match with next widget rule\n * #test -> match with next widget rule\n *\n * in second widget rule(/#.+/)\n * plain text -> text node(no rule for matching)\n * #test -> widget node\n */\nfunction createNodesWithWidget(text, schema, ruleIndex) {\n if (ruleIndex === void 0) { ruleIndex = 0; }\n var nodes = [];\n var rule = (widgetRules[ruleIndex] || {}).rule;\n var nextRuleIndex = ruleIndex + 1;\n text = unwrapWidgetSyntax(text);\n if (rule && rule.test(text)) {\n var index = void 0;\n while ((index = text.search(rule)) !== -1) {\n var prev = text.substring(0, index);\n // get widget node on first splitted text using next widget rule\n if (prev) {\n nodes = mergeNodes(nodes, prev, schema, nextRuleIndex);\n }\n // build widget node using current widget rule\n text = text.substring(index);\n var literal = text.match(rule)[0];\n var info = \"widget\" + ruleIndex;\n nodes.push(schema.nodes.widget.create({ info: info }, schema.text(createWidgetContent(info, literal))));\n text = text.substring(literal.length);\n }\n // get widget node on last splitted text using next widget rule\n if (text) {\n nodes = mergeNodes(nodes, text, schema, nextRuleIndex);\n }\n }\n else if (text) {\n nodes =\n ruleIndex < widgetRules.length - 1\n ? mergeNodes(nodes, text, schema, nextRuleIndex)\n : [schema.text(text)];\n }\n return nodes;\n}\nfunction getWidgetContent(widgetNode) {\n var event;\n var text = '';\n var walker = widgetNode.walker();\n while ((event = walker.next())) {\n var node = event.node, entering = event.entering;\n if (entering) {\n if (node !== widgetNode && node.type !== 'text') {\n text += getInlineMarkdownText(node);\n // skip the children\n walker.resumeAt(widgetNode, false);\n walker.next();\n }\n else if (node.type === 'text') {\n text += node.literal;\n }\n }\n }\n return text;\n}\n\nfunction getDefaultCommands() {\n return {\n deleteSelection: function () { return prosemirror_commands__WEBPACK_IMPORTED_MODULE_5__[\"deleteSelection\"]; },\n selectAll: function () { return prosemirror_commands__WEBPACK_IMPORTED_MODULE_5__[\"selectAll\"]; },\n undo: function () { return prosemirror_history__WEBPACK_IMPORTED_MODULE_7__[\"undo\"]; },\n redo: function () { return prosemirror_history__WEBPACK_IMPORTED_MODULE_7__[\"redo\"]; },\n };\n}\n\nfunction placeholder(options) {\n return new prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"Plugin\"]({\n props: {\n decorations: function (state) {\n var doc = state.doc;\n if (options.text &&\n doc.childCount === 1 &&\n doc.firstChild.isTextblock &&\n doc.firstChild.content.size === 0) {\n var placeHolder = document.createElement('span');\n addClass_1(placeHolder, 'placeholder');\n if (options.className) {\n addClass_1(placeHolder, options.className);\n }\n placeHolder.textContent = options.text;\n return prosemirror_view__WEBPACK_IMPORTED_MODULE_1__[\"DecorationSet\"].create(doc, [prosemirror_view__WEBPACK_IMPORTED_MODULE_1__[\"Decoration\"].widget(1, placeHolder)]);\n }\n return null;\n },\n },\n });\n}\n\n/**\n * @fileoverview Check element has specific css class\n * @author NHN FE Development Lab \n */\n\nvar inArray$1 = inArray_1;\nvar getClass = getClass_1;\n\n/**\n * Check element has specific css class\n * @param {(HTMLElement|SVGElement)} element - target element\n * @param {string} cssClass - css class\n * @returns {boolean}\n * @memberof module:domUtil\n */\nfunction hasClass(element, cssClass) {\n var origin;\n\n if (element.classList) {\n return element.classList.contains(cssClass);\n }\n\n origin = getClass(element).split(/\\s+/);\n\n return inArray$1(cssClass, origin) > -1;\n}\n\nvar hasClass_1 = hasClass;\n\n/**\n * @fileoverview Check element match selector\n * @author NHN FE Development Lab \n */\n\nvar inArray = inArray_1;\nvar toArray = toArray_1;\n\nvar elProto = Element.prototype;\nvar matchSelector = elProto.matches ||\n elProto.webkitMatchesSelector ||\n elProto.mozMatchesSelector ||\n elProto.msMatchesSelector ||\n function(selector) {\n var doc = this.document || this.ownerDocument;\n\n return inArray(this, toArray(doc.querySelectorAll(selector))) > -1;\n };\n\n/**\n * Check element match selector\n * @param {HTMLElement} element - element to check\n * @param {string} selector - selector to check\n * @returns {boolean} is selector matched to element?\n * @memberof module:domUtil\n */\nfunction matches(element, selector) {\n return matchSelector.call(element, selector);\n}\n\nvar matches_1 = matches;\n\nvar TAG_NAME = '[A-Za-z][A-Za-z0-9-]*';\nvar ATTRIBUTE_NAME = '[a-zA-Z_:][a-zA-Z0-9:._-]*';\nvar UNQUOTED_VALUE = '[^\"\\'=<>`\\\\x00-\\\\x20]+';\nvar SINGLE_QUOTED_VALUE = \"'[^']*'\";\nvar DOUBLE_QUOTED_VALUE = '\"[^\"]*\"';\nvar ATTRIBUTE_VALUE = \"(?:\" + UNQUOTED_VALUE + \"|\" + SINGLE_QUOTED_VALUE + \"|\" + DOUBLE_QUOTED_VALUE + \")\";\nvar ATTRIBUTE_VALUE_SPEC = \"\" + '(?:\\\\s*=\\\\s*' + ATTRIBUTE_VALUE + \")\";\nvar ATTRIBUTE$1 = \"\" + '(?:\\\\s+' + ATTRIBUTE_NAME + ATTRIBUTE_VALUE_SPEC + \"?)\";\nvar OPEN_TAG = \"<(\" + TAG_NAME + \")(\" + ATTRIBUTE$1 + \")*\\\\s*/?>\";\nvar CLOSE_TAG = \"(\" + TAG_NAME + \")\\\\s*[>]\";\nvar HTML_TAG = \"(?:\" + OPEN_TAG + \"|\" + CLOSE_TAG + \")\";\nvar reHTMLTag = new RegExp(\"^\" + HTML_TAG, 'i');\nvar reBR = /
/i;\nvar reHTMLComment = /|/;\nvar ALTERNATIVE_TAG_FOR_BR = '';\n\nfunction isPositionInBox(style, offsetX, offsetY) {\n var left = parseInt(style.left, 10);\n var top = parseInt(style.top, 10);\n var width = parseInt(style.width, 10) + parseInt(style.paddingLeft, 10) + parseInt(style.paddingRight, 10);\n var height = parseInt(style.height, 10) + parseInt(style.paddingTop, 10) + parseInt(style.paddingBottom, 10);\n return offsetX >= left && offsetX <= left + width && offsetY >= top && offsetY <= top + height;\n}\nvar CLS_PREFIX = 'toastui-editor-';\nfunction cls() {\n var names = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n names[_i] = arguments[_i];\n }\n var result = [];\n for (var _a = 0, names_1 = names; _a < names_1.length; _a++) {\n var name_1 = names_1[_a];\n var className = void 0;\n if (Array.isArray(name_1)) {\n className = name_1[0] ? name_1[1] : null;\n }\n else {\n className = name_1;\n }\n if (className) {\n result.push(\"\" + CLS_PREFIX + className);\n }\n }\n return result.join(' ');\n}\nfunction clsWithMdPrefix() {\n var names = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n names[_i] = arguments[_i];\n }\n return names.map(function (className) { return CLS_PREFIX + \"md-\" + className; }).join(' ');\n}\nfunction isTextNode(node) {\n return (node === null || node === void 0 ? void 0 : node.nodeType) === Node.TEXT_NODE;\n}\nfunction isElemNode(node) {\n return node && node.nodeType === Node.ELEMENT_NODE;\n}\nfunction findNodes(element, selector) {\n var nodeList = toArray_1(element.querySelectorAll(selector));\n if (nodeList.length) {\n return nodeList;\n }\n return [];\n}\nfunction appendNodes(node, nodesToAppend) {\n nodesToAppend = isArray_1(nodesToAppend) ? toArray_1(nodesToAppend) : [nodesToAppend];\n nodesToAppend.forEach(function (nodeToAppend) {\n node.appendChild(nodeToAppend);\n });\n}\nfunction insertBeforeNode(insertedNode, node) {\n if (node.parentNode) {\n node.parentNode.insertBefore(insertedNode, node);\n }\n}\nfunction removeNode$1(node) {\n if (node.parentNode) {\n node.parentNode.removeChild(node);\n }\n}\nfunction unwrapNode(node) {\n var result = [];\n while (node.firstChild) {\n result.push(node.firstChild);\n if (node.parentNode) {\n node.parentNode.insertBefore(node.firstChild, node);\n }\n }\n removeNode$1(node);\n return result;\n}\nfunction toggleClass(element, className, state) {\n if (isUndefined_1(state)) {\n state = !hasClass_1(element, className);\n }\n var toggleFn = state ? addClass_1 : removeClass_1;\n toggleFn(element, className);\n}\nfunction createElementWith(contents, target) {\n var container = document.createElement('div');\n if (isString_1(contents)) {\n container.innerHTML = contents;\n }\n else {\n container.appendChild(contents);\n }\n var firstChild = container.firstChild;\n if (target) {\n target.appendChild(firstChild);\n }\n return firstChild;\n}\nfunction getOuterWidth(el) {\n var computed = window.getComputedStyle(el);\n return (['margin-left', 'margin-right'].reduce(function (acc, type) { return acc + parseInt(computed.getPropertyValue(type), 10); }, 0) + el.offsetWidth);\n}\nfunction closest(node, found) {\n var condition;\n if (isString_1(found)) {\n condition = function (target) { return matches_1(target, found); };\n }\n else {\n condition = function (target) { return target === found; };\n }\n while (node && node !== document) {\n if (isElemNode(node) && condition(node)) {\n return node;\n }\n node = node.parentNode;\n }\n return null;\n}\nfunction getTotalOffset(el, root) {\n var offsetTop = 0;\n var offsetLeft = 0;\n while (el && el !== root) {\n var top_1 = el.offsetTop, left = el.offsetLeft, offsetParent = el.offsetParent;\n offsetTop += top_1;\n offsetLeft += left;\n if (offsetParent === root.offsetParent) {\n break;\n }\n el = el.offsetParent;\n }\n return { offsetTop: offsetTop, offsetLeft: offsetLeft };\n}\nfunction setAttributes(attributes, element) {\n Object.keys(attributes).forEach(function (attrName) {\n if (isNil(attributes[attrName])) {\n element.removeAttribute(attrName);\n }\n else {\n element.setAttribute(attrName, attributes[attrName]);\n }\n });\n}\nfunction replaceBRWithEmptyBlock(html) {\n // remove br in paragraph to compatible with markdown\n var replacedHTML = html.replace(/
<\\/p>/gi, '
');\n var reHTMLTag = new RegExp(HTML_TAG, 'ig');\n var htmlTagMatched = replacedHTML.match(reHTMLTag);\n htmlTagMatched === null || htmlTagMatched === void 0 ? void 0 : htmlTagMatched.forEach(function (htmlTag, index) {\n if (reBR.test(htmlTag)) {\n var alternativeTag = ALTERNATIVE_TAG_FOR_BR;\n if (index) {\n var prevTag = htmlTagMatched[index - 1];\n var openTagMatched = prevTag.match(OPEN_TAG);\n if (openTagMatched && !/br/i.test(openTagMatched[1])) {\n var tagName = openTagMatched[1];\n alternativeTag = \"\" + tagName + \"><\" + tagName + \">\";\n }\n }\n replacedHTML = replacedHTML.replace(reBR, alternativeTag);\n }\n });\n return replacedHTML;\n}\nfunction removeProseMirrorHackNodes(html) {\n var reProseMirrorImage = /
/g;\n var reProseMirrorTrailingBreak = / class=\"ProseMirror-trailingBreak\"/g;\n var resultHTML = html;\n resultHTML = resultHTML.replace(reProseMirrorImage, '');\n resultHTML = resultHTML.replace(reProseMirrorTrailingBreak, '');\n return resultHTML;\n}\n\nvar pluginKey$1 = new prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"PluginKey\"]('widget');\nvar MARGIN = 5;\nvar PopupWidget = /** @class */ (function () {\n function PopupWidget(view, eventEmitter) {\n var _this = this;\n this.popup = null;\n this.removeWidget = function () {\n if (_this.popup) {\n _this.rootEl.removeChild(_this.popup);\n _this.popup = null;\n }\n };\n this.rootEl = view.dom.parentElement;\n this.eventEmitter = eventEmitter;\n this.eventEmitter.listen('blur', this.removeWidget);\n this.eventEmitter.listen('loadUI', function () {\n _this.rootEl = closest(view.dom.parentElement, \".\" + cls('defaultUI'));\n });\n this.eventEmitter.listen('removePopupWidget', this.removeWidget);\n }\n PopupWidget.prototype.update = function (view) {\n var widget = pluginKey$1.getState(view.state);\n this.removeWidget();\n if (widget) {\n var node = widget.node, style = widget.style;\n var _a = view.coordsAtPos(widget.pos), top_1 = _a.top, left = _a.left, bottom = _a.bottom;\n var height = bottom - top_1;\n var rect = this.rootEl.getBoundingClientRect();\n var relTopPos = top_1 - rect.top;\n css_1(node, { opacity: '0' });\n this.rootEl.appendChild(node);\n css_1(node, {\n position: 'absolute',\n left: left - rect.left + MARGIN + \"px\",\n top: (style === 'bottom' ? relTopPos + height - MARGIN : relTopPos - height) + \"px\",\n opacity: '1',\n });\n this.popup = node;\n view.focus();\n }\n };\n PopupWidget.prototype.destroy = function () {\n this.eventEmitter.removeEventHandler('blur', this.removeWidget);\n };\n return PopupWidget;\n}());\nfunction addWidget(eventEmitter) {\n return new prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"Plugin\"]({\n key: pluginKey$1,\n state: {\n init: function () {\n return null;\n },\n apply: function (tr) {\n return tr.getMeta('widget');\n },\n },\n view: function (editorView) {\n return new PopupWidget(editorView, eventEmitter);\n },\n });\n}\n\nfunction addDefaultImageBlobHook(eventEmitter) {\n eventEmitter.listen('addImageBlobHook', function (blob, callback) {\n var reader = new FileReader();\n reader.onload = function (_a) {\n var target = _a.target;\n return callback(target.result);\n };\n reader.readAsDataURL(blob);\n });\n}\nfunction emitImageBlobHook(eventEmitter, blob, type) {\n var hook = function (imageUrl, altText) {\n eventEmitter.emit('command', 'addImage', {\n imageUrl: imageUrl,\n altText: altText || blob.name || 'image',\n });\n };\n eventEmitter.emit('addImageBlobHook', blob, hook, type);\n}\nfunction pasteImageOnly(items) {\n var images = toArray_1(items).filter(function (_a) {\n var type = _a.type;\n return type.indexOf('image') !== -1;\n });\n if (images.length === 1) {\n var item = images[0];\n if (item) {\n return item.getAsFile();\n }\n }\n return null;\n}\n\nfunction dropImage(_a) {\n var eventEmitter = _a.eventEmitter;\n return new prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"Plugin\"]({\n props: {\n handleDOMEvents: {\n drop: function (_, ev) {\n var _a;\n var items = (_a = ev.dataTransfer) === null || _a === void 0 ? void 0 : _a.files;\n if (items) {\n forEachArray_1(items, function (item) {\n if (item.type.indexOf('image') !== -1) {\n ev.preventDefault();\n ev.stopPropagation();\n emitImageBlobHook(eventEmitter, item, ev.type);\n return false;\n }\n return true;\n });\n }\n return true;\n },\n },\n },\n });\n}\n\nvar Node$2 = /** @class */ (function () {\n function Node() {\n }\n Object.defineProperty(Node.prototype, \"type\", {\n get: function () {\n return 'node';\n },\n enumerable: false,\n configurable: true\n });\n Node.prototype.setContext = function (context) {\n this.context = context;\n };\n return Node;\n}());\n\nfunction widgetNodeView(pmNode) {\n var dom = document.createElement('span');\n var node = widgetToDOM(pmNode.attrs.info, pmNode.textContent);\n dom.className = 'tui-widget';\n dom.appendChild(node);\n return { dom: dom };\n}\nfunction isWidgetNode(pmNode) {\n return pmNode.type.name === 'widget';\n}\nvar Widget = /** @class */ (function (_super) {\n __extends$1(Widget, _super);\n function Widget() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Widget.prototype, \"name\", {\n get: function () {\n return 'widget';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Widget.prototype, \"schema\", {\n get: function () {\n return {\n attrs: {\n info: { default: null },\n },\n group: 'inline',\n inline: true,\n content: 'text*',\n selectable: false,\n atom: true,\n toDOM: function () {\n return ['span', { class: 'tui-widget' }, 0];\n },\n parseDOM: [\n {\n tag: 'span.tui-widget',\n getAttrs: function (dom) {\n var text = dom.textContent;\n var _a = text.match(/\\$\\$(widget\\d+)/), info = _a[1];\n return { info: info };\n },\n },\n ],\n };\n },\n enumerable: false,\n configurable: true\n });\n return Widget;\n}(Node$2));\n\nvar EditorBase = /** @class */ (function () {\n function EditorBase(eventEmitter) {\n this.timer = null;\n this.el = document.createElement('div');\n this.el.className = 'toastui-editor';\n this.eventEmitter = eventEmitter;\n this.placeholder = { text: '' };\n }\n EditorBase.prototype.createState = function () {\n return prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"EditorState\"].create({\n schema: this.schema,\n plugins: this.createPlugins(),\n });\n };\n EditorBase.prototype.initEvent = function () {\n var _a = this, eventEmitter = _a.eventEmitter, view = _a.view, editorType = _a.editorType;\n view.dom.addEventListener('focus', function () { return eventEmitter.emit('focus', editorType); });\n view.dom.addEventListener('blur', function () { return eventEmitter.emit('blur', editorType); });\n };\n EditorBase.prototype.emitChangeEvent = function (tr) {\n this.eventEmitter.emit('caretChange', this.editorType);\n if (tr.docChanged) {\n this.eventEmitter.emit('change', this.editorType);\n }\n };\n Object.defineProperty(EditorBase.prototype, \"defaultPlugins\", {\n get: function () {\n var rules = this.createInputRules();\n var plugins = __spreadArray$1(__spreadArray$1([], this.keymaps), [\n Object(prosemirror_keymap__WEBPACK_IMPORTED_MODULE_4__[\"keymap\"])(__assign$1({ 'Shift-Enter': prosemirror_commands__WEBPACK_IMPORTED_MODULE_5__[\"baseKeymap\"].Enter }, prosemirror_commands__WEBPACK_IMPORTED_MODULE_5__[\"baseKeymap\"])),\n Object(prosemirror_history__WEBPACK_IMPORTED_MODULE_7__[\"history\"])(),\n placeholder(this.placeholder),\n addWidget(this.eventEmitter),\n dropImage(this.context),\n ]);\n return rules ? plugins.concat(rules) : plugins;\n },\n enumerable: false,\n configurable: true\n });\n EditorBase.prototype.createInputRules = function () {\n var widgetRules = getWidgetRules();\n var rules = widgetRules.map(function (_a) {\n var rule = _a.rule;\n return new prosemirror_inputrules__WEBPACK_IMPORTED_MODULE_6__[\"InputRule\"](rule, function (state, match, start, end) {\n var schema = state.schema, tr = state.tr, doc = state.doc;\n var allMatched = match.input.match(new RegExp(rule, 'g'));\n var pos = doc.resolve(start);\n var parent = pos.parent;\n var count = 0;\n if (isWidgetNode(parent)) {\n parent = pos.node(pos.depth - 1);\n }\n parent.forEach(function (child) { return isWidgetNode(child) && (count += 1); });\n // replace the content only if the count of matched rules in whole text is greater than current widget node count\n if (allMatched.length > count) {\n var content = last$1(allMatched);\n var nodes = createNodesWithWidget(content, schema);\n // adjust start position based on widget content\n return tr.replaceWith(end - content.length + 1, end, nodes);\n }\n return null;\n });\n });\n return rules.length ? Object(prosemirror_inputrules__WEBPACK_IMPORTED_MODULE_6__[\"inputRules\"])({ rules: rules }) : null;\n };\n EditorBase.prototype.clearTimer = function () {\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n };\n EditorBase.prototype.createSchema = function () {\n return new prosemirror_model__WEBPACK_IMPORTED_MODULE_0__[\"Schema\"]({\n nodes: this.specs.nodes,\n marks: this.specs.marks,\n });\n };\n EditorBase.prototype.createKeymaps = function (useCommandShortcut) {\n var _a = getDefaultCommands(), undo = _a.undo, redo = _a.redo;\n var allKeymaps = this.specs.keymaps(useCommandShortcut);\n var historyKeymap = {\n 'Mod-z': undo(),\n 'Shift-Mod-z': redo(),\n };\n return useCommandShortcut ? allKeymaps.concat(Object(prosemirror_keymap__WEBPACK_IMPORTED_MODULE_4__[\"keymap\"])(historyKeymap)) : allKeymaps;\n };\n EditorBase.prototype.createCommands = function () {\n return this.specs.commands(this.view);\n };\n EditorBase.prototype.createPluginProps = function () {\n var _this = this;\n return this.extraPlugins.map(function (plugin) { return plugin(_this.eventEmitter); });\n };\n EditorBase.prototype.focus = function () {\n var _this = this;\n this.clearTimer();\n // prevent the error for IE11\n this.timer = setTimeout(function () {\n _this.view.focus();\n _this.view.dispatch(_this.view.state.tr.scrollIntoView());\n });\n };\n EditorBase.prototype.blur = function () {\n this.view.dom.blur();\n };\n EditorBase.prototype.destroy = function () {\n var _this = this;\n this.clearTimer();\n this.view.destroy();\n Object.keys(this).forEach(function (prop) {\n delete _this[prop];\n });\n };\n EditorBase.prototype.moveCursorToStart = function (focus) {\n var tr = this.view.state.tr;\n this.view.dispatch(tr.setSelection(createTextSelection(tr, 1)).scrollIntoView());\n if (focus) {\n this.focus();\n }\n };\n EditorBase.prototype.moveCursorToEnd = function (focus) {\n var tr = this.view.state.tr;\n this.view.dispatch(tr.setSelection(createTextSelection(tr, tr.doc.content.size - 1)).scrollIntoView());\n if (focus) {\n this.focus();\n }\n };\n EditorBase.prototype.setScrollTop = function (top) {\n this.view.dom.scrollTop = top;\n };\n EditorBase.prototype.getScrollTop = function () {\n return this.view.dom.scrollTop;\n };\n EditorBase.prototype.setPlaceholder = function (text) {\n this.placeholder.text = text;\n this.view.dispatch(this.view.state.tr.scrollIntoView());\n };\n EditorBase.prototype.setHeight = function (height) {\n css_1(this.el, { height: height + \"px\" });\n };\n EditorBase.prototype.setMinHeight = function (minHeight) {\n css_1(this.el, { minHeight: minHeight + \"px\" });\n };\n EditorBase.prototype.getElement = function () {\n return this.el;\n };\n return EditorBase;\n}());\n\n/**\n * @fileoverview Check whether the given variable is a function or not.\n * @author NHN FE Development Lab \n */\n\n/**\n * Check whether the given variable is a function or not.\n * If the given variable is a function, return true.\n * @param {*} obj - Target for checking\n * @returns {boolean} Is function?\n * @memberof module:type\n */\nfunction isFunction(obj) {\n return obj instanceof Function;\n}\n\nvar isFunction_1 = isFunction;\n\nvar defaultCommandShortcuts = [\n 'Enter',\n 'Shift-Enter',\n 'Mod-Enter',\n 'Tab',\n 'Shift-Tab',\n 'Delete',\n 'Backspace',\n 'Mod-Delete',\n 'Mod-Backspace',\n 'ArrowUp',\n 'ArrowDown',\n 'ArrowLeft',\n 'ArrowRight',\n 'Mod-d',\n 'Mod-D',\n 'Alt-ArrowUp',\n 'Alt-ArrowDown',\n];\nfunction execCommand(view, command, payload) {\n view.focus();\n return command(payload)(view.state, view.dispatch, view);\n}\nvar SpecManager = /** @class */ (function () {\n function SpecManager(specs) {\n this.specs = specs;\n }\n Object.defineProperty(SpecManager.prototype, \"nodes\", {\n get: function () {\n return this.specs\n .filter(function (spec) { return spec.type === 'node'; })\n .reduce(function (nodes, _a) {\n var _b;\n var name = _a.name, schema = _a.schema;\n return __assign$1(__assign$1({}, nodes), (_b = {}, _b[name] = schema, _b));\n }, {});\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(SpecManager.prototype, \"marks\", {\n get: function () {\n return this.specs\n .filter(function (spec) { return spec.type === 'mark'; })\n .reduce(function (marks, _a) {\n var _b;\n var name = _a.name, schema = _a.schema;\n return __assign$1(__assign$1({}, marks), (_b = {}, _b[name] = schema, _b));\n }, {});\n },\n enumerable: false,\n configurable: true\n });\n SpecManager.prototype.commands = function (view, addedCommands) {\n var specCommands = this.specs\n .filter(function (_a) {\n var commands = _a.commands;\n return commands;\n })\n .reduce(function (allCommands, spec) {\n var commands = {};\n var specCommand = spec.commands();\n if (isFunction_1(specCommand)) {\n commands[spec.name] = function (payload) { return execCommand(view, specCommand, payload); };\n }\n else {\n Object.keys(specCommand).forEach(function (name) {\n commands[name] = function (payload) { return execCommand(view, specCommand[name], payload); };\n });\n }\n return __assign$1(__assign$1({}, allCommands), commands);\n }, {});\n var defaultCommands = getDefaultCommands();\n Object.keys(defaultCommands).forEach(function (name) {\n specCommands[name] = function (payload) { return execCommand(view, defaultCommands[name], payload); };\n });\n if (addedCommands) {\n Object.keys(addedCommands).forEach(function (name) {\n specCommands[name] = function (payload) { return execCommand(view, addedCommands[name], payload); };\n });\n }\n return specCommands;\n };\n SpecManager.prototype.keymaps = function (useCommandShortcut) {\n var specKeymaps = this.specs.filter(function (spec) { return spec.keymaps; }).map(function (spec) { return spec.keymaps(); });\n return specKeymaps.map(function (keys) {\n if (!useCommandShortcut) {\n Object.keys(keys).forEach(function (key) {\n if (!includes(defaultCommandShortcuts, key)) {\n delete keys[key];\n }\n });\n }\n return Object(prosemirror_keymap__WEBPACK_IMPORTED_MODULE_4__[\"keymap\"])(keys);\n });\n };\n SpecManager.prototype.setContext = function (context) {\n this.specs.forEach(function (spec) {\n spec.setContext(context);\n });\n };\n return SpecManager;\n}());\n\nfunction resolveSelectionPos(selection) {\n var from = selection.from, to = selection.to;\n if (selection instanceof prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"AllSelection\"]) {\n return [from + 1, to - 1];\n }\n return [from, to];\n}\nfunction getMdLine(resolvedPos) {\n return resolvedPos.index(0) + 1;\n}\nfunction getWidgetNodePos(node, chPos, direction) {\n if (direction === void 0) { direction = 1; }\n var additionalPos = 0;\n node.forEach(function (child, pos) {\n // add or subtract widget node tag\n if (isWidgetNode(child) && pos + 2 < chPos) {\n additionalPos += 2 * direction;\n }\n });\n return additionalPos;\n}\nfunction getEditorToMdPos(doc, from, to) {\n if (to === void 0) { to = from; }\n var collapsed = from === to;\n var startResolvedPos = doc.resolve(from);\n var startLine = getMdLine(startResolvedPos);\n var endLine = startLine;\n var startOffset = startResolvedPos.start(1);\n var endOffset = startOffset;\n if (!collapsed) {\n // prevent the end offset from pointing to the root document position\n var endResolvedPos = doc.resolve(to === doc.content.size ? to - 1 : to);\n endOffset = endResolvedPos.start(1);\n endLine = getMdLine(endResolvedPos);\n // To resolve the end offset excluding document tag size\n if (endResolvedPos.pos === doc.content.size) {\n to = doc.content.size - 2;\n }\n }\n var startCh = Math.max(from - startOffset + 1, 1);\n var endCh = Math.max(to - endOffset + 1, 1);\n return [\n [startLine, startCh + getWidgetNodePos(doc.child(startLine - 1), startCh, -1)],\n [endLine, endCh + getWidgetNodePos(doc.child(endLine - 1), endCh, -1)],\n ];\n}\nfunction getStartPosListPerLine(doc, endIndex) {\n var startPosListPerLine = [];\n for (var i = 0, pos = 0; i < endIndex; i += 1) {\n var child = doc.child(i);\n startPosListPerLine[i] = pos;\n pos += child.nodeSize;\n }\n return startPosListPerLine;\n}\nfunction getMdToEditorPos(doc, startPos, endPos) {\n var startPosListPerLine = getStartPosListPerLine(doc, endPos[0]);\n var startIndex = startPos[0] - 1;\n var endIndex = endPos[0] - 1;\n var startNode = doc.child(startIndex);\n var endNode = doc.child(endIndex);\n // calculate the position corresponding to the line\n var from = startPosListPerLine[startIndex];\n var to = startPosListPerLine[endIndex];\n // calculate the position corresponding to the character offset of the line\n from += startPos[1] + getWidgetNodePos(startNode, startPos[1] - 1);\n to += endPos[1] + getWidgetNodePos(endNode, endPos[1] - 1);\n return [from, Math.min(to, doc.content.size)];\n}\nfunction getRangeInfo(selection) {\n var $from = selection.$from, $to = selection.$to;\n var from = selection.from, to = selection.to;\n var doc = $from.doc;\n if (selection instanceof prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"AllSelection\"]) {\n $from = doc.resolve(from + 1);\n $to = doc.resolve(to - 1);\n }\n if ($from.depth === 0) {\n $from = doc.resolve(from - 1);\n $to = $from;\n }\n return {\n startFromOffset: $from.start(1),\n endFromOffset: $to.start(1),\n startToOffset: $from.end(1),\n endToOffset: $to.end(1),\n startIndex: $from.index(0),\n endIndex: $to.index(0),\n from: $from.pos,\n to: $to.pos,\n };\n}\nfunction getNodeContentOffsetRange(doc, targetIndex) {\n var startOffset = 1;\n var endOffset = 1;\n for (var i = 0, offset = 0; i < doc.childCount; i += 1) {\n var nodeSize = doc.child(i).nodeSize;\n // calculate content start, end offset(not node offset)\n startOffset = offset + 1;\n endOffset = offset + nodeSize - 1;\n if (i === targetIndex) {\n break;\n }\n offset += nodeSize;\n }\n return { startOffset: startOffset, endOffset: endOffset };\n}\n\nvar HEADING = 'heading';\nvar BLOCK_QUOTE = 'blockQuote';\nvar LIST_ITEM = 'listItem';\nvar TABLE = 'table';\nvar TABLE_CELL = 'tableCell';\nvar CODE_BLOCK = 'codeBlock';\nvar THEMATIC_BREAK = 'thematicBreak';\nvar LINK = 'link';\nvar CODE = 'code';\nvar META = 'meta';\nvar DELIM = 'delimiter';\nvar TASK_DELIM = 'taskDelimiter';\nvar TEXT = 'markedText';\nvar HTML = 'html';\nvar CUSTOM_BLOCK = 'customBlock';\nvar delimSize = {\n strong: 2,\n emph: 1,\n strike: 2,\n};\nfunction markInfo(start, end, type, attrs) {\n return { start: start, end: end, spec: { type: type, attrs: attrs } };\n}\nfunction heading$1(_a, start, end) {\n var level = _a.level, headingType = _a.headingType;\n var marks = [markInfo(start, end, HEADING, { level: level })];\n if (headingType === 'atx') {\n marks.push(markInfo(start, addOffsetPos(start, level), DELIM));\n }\n else {\n marks.push(markInfo(setOffsetPos(end, 0), end, HEADING, { seText: true }));\n }\n return marks;\n}\nfunction emphasisAndStrikethrough(_a, start, end) {\n var type = _a.type;\n var startDelimPos = addOffsetPos(start, delimSize[type]);\n var endDelimPos = addOffsetPos(end, -delimSize[type]);\n return [\n markInfo(startDelimPos, endDelimPos, type),\n markInfo(start, startDelimPos, DELIM),\n markInfo(endDelimPos, end, DELIM),\n ];\n}\nfunction markLink(start, end, linkTextStart, lastChildCh) {\n return [\n markInfo(start, end, LINK),\n markInfo(setOffsetPos(start, linkTextStart[1] + 1), setOffsetPos(end, lastChildCh), LINK, {\n desc: true,\n }),\n markInfo(setOffsetPos(end, lastChildCh + 2), addOffsetPos(end, -1), LINK, { url: true }),\n ];\n}\nfunction image$1(_a, start, end) {\n var lastChild = _a.lastChild;\n var lastChildCh = lastChild ? getMdEndCh(lastChild) + 1 : 3; // 3: length of '![]'\n var linkTextEnd = addOffsetPos(start, 1);\n return __spreadArray$1([markInfo(start, linkTextEnd, META)], markLink(start, end, linkTextEnd, lastChildCh));\n}\nfunction link(_a, start, end) {\n var lastChild = _a.lastChild, extendedAutolink = _a.extendedAutolink;\n var lastChildCh = lastChild ? getMdEndCh(lastChild) + 1 : 2; // 2: length of '[]'\n return extendedAutolink\n ? [markInfo(start, end, LINK, { desc: true })]\n : markLink(start, end, start, lastChildCh);\n}\nfunction code(_a, start, end) {\n var tickCount = _a.tickCount;\n var openDelimEnd = addOffsetPos(start, tickCount);\n var closeDelimStart = addOffsetPos(end, -tickCount);\n return [\n markInfo(start, end, CODE),\n markInfo(start, openDelimEnd, CODE, { start: true }),\n markInfo(openDelimEnd, closeDelimStart, CODE, { marked: true }),\n markInfo(closeDelimStart, end, CODE, { end: true }),\n ];\n}\nfunction lineBackground(parent, start, end, prefix) {\n var defaultBackground = {\n start: start,\n end: end,\n spec: {\n attrs: { className: prefix + \"-line-background\", codeStart: start[0], codeEnd: end[0] },\n },\n lineBackground: true,\n };\n return parent.type !== 'item' && parent.type !== 'blockQuote'\n ? [\n __assign$1(__assign$1({}, defaultBackground), { end: start, spec: { attrs: { className: prefix + \"-line-background start\" } } }),\n __assign$1(__assign$1({}, defaultBackground), { start: [Math.min(start[0] + 1, end[0]), start[1]] }),\n ]\n : null;\n}\nfunction codeBlock$1(node, start, end, endLine) {\n var fenceOffset = node.fenceOffset, fenceLength = node.fenceLength, fenceChar = node.fenceChar, info = node.info, infoPadding = node.infoPadding, parent = node.parent;\n var fenceEnd = fenceOffset + fenceLength;\n var marks = [markInfo(setOffsetPos(start, 1), end, CODE_BLOCK)];\n if (fenceChar) {\n marks.push(markInfo(start, addOffsetPos(start, fenceEnd), DELIM));\n }\n if (info) {\n marks.push(markInfo(addOffsetPos(start, fenceLength), addOffsetPos(start, fenceLength + infoPadding + info.length), META));\n }\n var codeBlockEnd = \"^(\\\\s{0,4})(\" + fenceChar + \"{\" + fenceLength + \",})\";\n var reCodeBlockEnd = new RegExp(codeBlockEnd);\n if (reCodeBlockEnd.test(endLine)) {\n marks.push(markInfo(setOffsetPos(end, 1), end, DELIM));\n }\n var lineBackgroundMarkInfo = lineBackground(parent, start, end, 'code-block');\n return lineBackgroundMarkInfo ? marks.concat(lineBackgroundMarkInfo) : marks;\n}\nfunction customBlock$2(node, start, end) {\n var _a = node, offset = _a.offset, syntaxLength = _a.syntaxLength, info = _a.info, parent = _a.parent;\n var syntaxEnd = offset + syntaxLength;\n var marks = [markInfo(setOffsetPos(start, 1), end, CUSTOM_BLOCK)];\n marks.push(markInfo(start, addOffsetPos(start, syntaxEnd), DELIM));\n if (info) {\n marks.push(markInfo(addOffsetPos(start, syntaxEnd), addOffsetPos(start, syntaxLength + info.length), META));\n }\n marks.push(markInfo(setOffsetPos(end, 1), end, DELIM));\n var lineBackgroundMarkInfo = lineBackground(parent, start, end, 'custom-block');\n return lineBackgroundMarkInfo ? marks.concat(lineBackgroundMarkInfo) : marks;\n}\nfunction markListItemChildren(node, markType) {\n var marks = [];\n while (node) {\n var type = node.type;\n if (type === 'paragraph' || type === 'codeBlock') {\n marks.push(markInfo([getMdStartLine(node), getMdStartCh(node) - 1], [getMdEndLine(node), getMdEndCh(node) + 1], markType));\n }\n node = node.next;\n }\n return marks;\n}\nfunction markParagraphInBlockQuote(node) {\n var marks = [];\n while (node) {\n marks.push(markInfo([getMdStartLine(node), getMdStartCh(node)], [getMdEndLine(node), getMdEndCh(node) + 1], TEXT));\n node = node.next;\n }\n return marks;\n}\nfunction blockQuote$2(node, start, end) {\n var marks = node.parent && node.parent.type !== 'blockQuote' ? [markInfo(start, end, BLOCK_QUOTE)] : [];\n if (node.firstChild) {\n var childMarks = [];\n if (node.firstChild.type === 'paragraph') {\n childMarks = markParagraphInBlockQuote(node.firstChild.firstChild);\n }\n else if (node.firstChild.type === 'list') {\n childMarks = markListItemChildren(node.firstChild, TEXT);\n }\n marks = __spreadArray$1(__spreadArray$1([], marks), childMarks);\n }\n return marks;\n}\nfunction getSpecOfListItemStyle(node) {\n var depth = 0;\n while (node.parent.parent && node.parent.parent.type === 'item') {\n node = node.parent.parent;\n depth += 1;\n }\n var attrs = [{ odd: true }, { even: true }][depth % 2];\n return [LIST_ITEM, __assign$1(__assign$1({}, attrs), { listStyle: true })];\n}\nfunction item$1(node, start) {\n var _a = node.listData, padding = _a.padding, task = _a.task;\n var spec = getSpecOfListItemStyle(node);\n var marks = [markInfo.apply(void 0, __spreadArray$1([start, addOffsetPos(start, padding)], spec))];\n if (task) {\n marks.push(markInfo(addOffsetPos(start, padding), addOffsetPos(start, padding + 3), TASK_DELIM));\n marks.push(markInfo(addOffsetPos(start, padding + 1), addOffsetPos(start, padding + 2), META));\n }\n return marks.concat(markListItemChildren(node.firstChild, TEXT));\n}\nvar markNodeFuncMap = {\n heading: heading$1,\n strong: emphasisAndStrikethrough,\n emph: emphasisAndStrikethrough,\n strike: emphasisAndStrikethrough,\n link: link,\n image: image$1,\n code: code,\n codeBlock: codeBlock$1,\n blockQuote: blockQuote$2,\n item: item$1,\n customBlock: customBlock$2,\n};\nvar simpleMarkClassNameMap = {\n thematicBreak: THEMATIC_BREAK,\n table: TABLE,\n tableCell: TABLE_CELL,\n htmlInline: HTML,\n};\nfunction getMarkInfo(node, start, end, endLine) {\n var type = node.type;\n if (isFunction_1(markNodeFuncMap[type])) {\n // @ts-ignore\n return markNodeFuncMap[type](node, start, end, endLine);\n }\n if (simpleMarkClassNameMap[type]) {\n return [markInfo(start, end, simpleMarkClassNameMap[type])];\n }\n return null;\n}\n\nvar removingBackgroundIndexMap = {};\nfunction syntaxHighlight(_a) {\n var schema = _a.schema, toastMark = _a.toastMark;\n return new prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"Plugin\"]({\n appendTransaction: function (transactions, _, newState) {\n var tr = transactions[0];\n var newTr = newState.tr;\n if (tr.docChanged) {\n var markInfo_1 = [];\n var editResult = tr.getMeta('editResult');\n editResult.forEach(function (result) {\n var nodes = result.nodes, removedNodeRange = result.removedNodeRange;\n if (nodes.length) {\n markInfo_1 = markInfo_1.concat(getMarkForRemoving(newTr, nodes));\n for (var _i = 0, nodes_1 = nodes; _i < nodes_1.length; _i++) {\n var parent_1 = nodes_1[_i];\n var walker = parent_1.walker();\n var event_1 = walker.next();\n while (event_1) {\n var node = event_1.node, entering = event_1.entering;\n if (entering) {\n markInfo_1 = markInfo_1.concat(getMarkForAdding(node, toastMark));\n }\n event_1 = walker.next();\n }\n }\n }\n else if (removedNodeRange) {\n var maxIndex = newTr.doc.childCount - 1;\n var _a = removedNodeRange.line, startLine = _a[0], endLine = _a[1];\n var startIndex = Math.min(startLine, maxIndex);\n var endIndex = Math.min(endLine, maxIndex);\n // cache the index to remove code block, custom block background when there are no adding nodes\n for (var i = startIndex; i <= endIndex; i += 1) {\n removingBackgroundIndexMap[i] = true;\n }\n }\n });\n appendMarkTr(newTr, schema, markInfo_1);\n }\n return newTr.setMeta('widget', tr.getMeta('widget'));\n },\n });\n}\nfunction isDifferentBlock(doc, index, attrs) {\n return Object.keys(attrs).some(function (name) { return attrs[name] !== doc.child(index).attrs[name]; });\n}\nfunction addLineBackground(tr, doc, paragraph, blockPosInfo, attrs) {\n if (attrs === void 0) { attrs = {}; }\n var startIndex = blockPosInfo.startIndex, endIndex = blockPosInfo.endIndex, from = blockPosInfo.from, to = blockPosInfo.to;\n var shouldChangeBlockType = false;\n for (var i = startIndex; i <= endIndex; i += 1) {\n // prevent to remove background of the node that need to have background\n delete removingBackgroundIndexMap[i];\n shouldChangeBlockType = isDifferentBlock(doc, i, attrs);\n }\n if (shouldChangeBlockType) {\n tr.setBlockType(from, to, paragraph, attrs);\n }\n}\nfunction appendMarkTr(tr, schema, marks) {\n var doc = tr.doc;\n var paragraph = schema.nodes.paragraph;\n // get start position per line for lazy calculation\n var startPosListPerLine = getStartPosListPerLine(doc, doc.childCount);\n marks.forEach(function (_a) {\n var start = _a.start, end = _a.end, spec = _a.spec, lineBackground = _a.lineBackground;\n var startIndex = Math.min(start[0], doc.childCount) - 1;\n var endIndex = Math.min(end[0], doc.childCount) - 1;\n var startNode = doc.child(startIndex);\n var endNode = doc.child(endIndex);\n // calculate the position corresponding to the line\n var from = startPosListPerLine[startIndex];\n var to = startPosListPerLine[endIndex];\n // calculate the position corresponding to the character offset of the line\n from += start[1] + getWidgetNodePos(startNode, start[1] - 1);\n to += end[1] + getWidgetNodePos(endNode, end[1] - 1);\n if (spec) {\n if (lineBackground) {\n var posInfo = { from: from, to: to, startIndex: startIndex, endIndex: endIndex };\n addLineBackground(tr, doc, paragraph, posInfo, spec.attrs);\n }\n else {\n tr.addMark(from, to, schema.mark(spec.type, spec.attrs));\n }\n }\n else {\n tr.removeMark(from, to);\n }\n });\n removeBlockBackground(tr, startPosListPerLine, paragraph);\n}\nfunction removeBlockBackground(tr, startPosListPerLine, paragraph) {\n Object.keys(removingBackgroundIndexMap).forEach(function (index) {\n var startIndex = Number(index);\n // get the end position of the current line with the next node start position.\n var endIndex = Math.min(Number(index) + 1, tr.doc.childCount - 1);\n var from = startPosListPerLine[startIndex];\n // subtract '1' for getting end position of the line\n var to = startPosListPerLine[endIndex] - 1;\n if (startIndex === endIndex) {\n to += 2;\n }\n tr.setBlockType(from, to, paragraph);\n });\n}\nfunction cacheIndexToRemoveBackground(doc, start, end) {\n var skipLines = [];\n removingBackgroundIndexMap = {};\n for (var i = start[0] - 1; i < end[0]; i += 1) {\n var node = doc.child(i);\n var codeEnd = node.attrs.codeEnd;\n var codeStart = node.attrs.codeStart;\n if (codeStart && codeEnd && !includes(skipLines, codeStart)) {\n skipLines.push(codeStart);\n codeEnd = Math.min(codeEnd, doc.childCount);\n // should subtract '1' to markdown line position\n // because markdown parser has '1'(not zero) as the start number\n var startIndex = codeStart - 1;\n var endIndex = end[0];\n for (var index = startIndex; index < endIndex; index += 1) {\n removingBackgroundIndexMap[index] = true;\n }\n }\n }\n}\nfunction getMarkForRemoving(_a, nodes) {\n var doc = _a.doc;\n var start = nodes[0].sourcepos[0];\n var _b = last$1(nodes).sourcepos, end = _b[1];\n var startPos = [start[0], start[1]];\n var endPos = [end[0], end[1] + 1];\n var marks = [];\n cacheIndexToRemoveBackground(doc, start, end);\n marks.push({ start: startPos, end: endPos });\n return marks;\n}\nfunction getMarkForAdding(node, toastMark) {\n var lineTexts = toastMark.getLineTexts();\n var startPos = [getMdStartLine(node), getMdStartCh(node)];\n var endPos = [getMdEndLine(node), getMdEndCh(node) + 1];\n var markInfo = getMarkInfo(node, startPos, endPos, lineTexts[endPos[0] - 1]);\n return markInfo !== null && markInfo !== void 0 ? markInfo : [];\n}\n\nvar defaultToolbarStateKeys = [\n 'taskList',\n 'orderedList',\n 'bulletList',\n 'table',\n 'strong',\n 'emph',\n 'strike',\n 'heading',\n 'thematicBreak',\n 'blockQuote',\n 'code',\n 'codeBlock',\n 'indent',\n 'outdent',\n];\nfunction getToolbarStateType$1(mdNode) {\n var type = mdNode.type;\n if (isListNode$1(mdNode)) {\n if (mdNode.listData.task) {\n return 'taskList';\n }\n return mdNode.listData.type === 'ordered' ? 'orderedList' : 'bulletList';\n }\n if (type.indexOf('table') !== -1) {\n return 'table';\n }\n if (!includes(defaultToolbarStateKeys, type)) {\n return null;\n }\n return type;\n}\nfunction getToolbarState$1(targetNode) {\n var toolbarState = {\n indent: { active: false, disabled: true },\n outdent: { active: false, disabled: true },\n };\n var listEnabled = true;\n traverseParentNodes(targetNode, function (mdNode) {\n var type = getToolbarStateType$1(mdNode);\n if (!type) {\n return;\n }\n if (type === 'bulletList' || type === 'orderedList') {\n // to apply the nearlist list state in the nested list\n if (listEnabled) {\n toolbarState[type] = { active: true };\n toolbarState.indent.disabled = false;\n toolbarState.outdent.disabled = false;\n listEnabled = false;\n }\n }\n else {\n toolbarState[type] = { active: true };\n }\n });\n return toolbarState;\n}\nfunction previewHighlight(_a) {\n var toastMark = _a.toastMark, eventEmitter = _a.eventEmitter;\n return new prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"Plugin\"]({\n view: function () {\n return {\n update: function (view, prevState) {\n var state = view.state;\n var doc = state.doc, selection = state.selection;\n if (prevState && prevState.doc.eq(doc) && prevState.selection.eq(selection)) {\n return;\n }\n var from = selection.from;\n var startChOffset = state.doc.resolve(from).start();\n var line = state.doc.content.findIndex(from).index + 1;\n var ch = from - startChOffset;\n if (from === startChOffset) {\n ch += 1;\n }\n var cursorPos = [line, ch];\n var mdNode = toastMark.findNodeAtPosition(cursorPos);\n var toolbarState = getToolbarState$1(mdNode);\n eventEmitter.emit('changeToolbarState', {\n cursorPos: cursorPos,\n mdNode: mdNode,\n toolbarState: toolbarState,\n });\n eventEmitter.emit('setFocusedNode', mdNode);\n },\n };\n },\n });\n}\n\nvar Doc$1 = /** @class */ (function (_super) {\n __extends$1(Doc, _super);\n function Doc() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Doc.prototype, \"name\", {\n get: function () {\n return 'doc';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Doc.prototype, \"schema\", {\n get: function () {\n return {\n content: 'block+',\n };\n },\n enumerable: false,\n configurable: true\n });\n return Doc;\n}(Node$2));\n\nvar Mark = /** @class */ (function () {\n function Mark() {\n }\n Object.defineProperty(Mark.prototype, \"type\", {\n get: function () {\n return 'mark';\n },\n enumerable: false,\n configurable: true\n });\n Mark.prototype.setContext = function (context) {\n this.context = context;\n };\n return Mark;\n}());\n\nfunction getTextByMdLine(doc, mdLine) {\n return getTextContent(doc, mdLine - 1);\n}\nfunction getTextContent(doc, index) {\n return doc.child(index).textContent;\n}\n\nvar reBlockQuote = /^\\s*> ?/;\nvar BlockQuote$1 = /** @class */ (function (_super) {\n __extends$1(BlockQuote, _super);\n function BlockQuote() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(BlockQuote.prototype, \"name\", {\n get: function () {\n return 'blockQuote';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BlockQuote.prototype, \"schema\", {\n get: function () {\n return {\n toDOM: function () {\n return ['span', { class: clsWithMdPrefix('block-quote') }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n BlockQuote.prototype.createBlockQuoteText = function (text, isBlockQuote) {\n return isBlockQuote ? text.replace(reBlockQuote, '').trim() : \"> \" + text.trim();\n };\n BlockQuote.prototype.extendBlockQuote = function () {\n var _this = this;\n return function (_a, dispatch) {\n var selection = _a.selection, doc = _a.doc, tr = _a.tr, schema = _a.schema;\n var _b = getRangeInfo(selection), endFromOffset = _b.endFromOffset, endToOffset = _b.endToOffset, endIndex = _b.endIndex, to = _b.to;\n var textContent = getTextContent(doc, endIndex);\n var isBlockQuote = reBlockQuote.test(textContent);\n if (isBlockQuote && to > endFromOffset && selection.empty) {\n var isEmpty = !textContent.replace(reBlockQuote, '').trim();\n if (isEmpty) {\n tr.deleteRange(endFromOffset, endToOffset).split(tr.mapping.map(endToOffset));\n }\n else {\n var slicedText = textContent.slice(to - endFromOffset).trim();\n var node = createTextNode$1(schema, _this.createBlockQuoteText(slicedText));\n splitAndExtendBlock(tr, endToOffset, slicedText, node);\n }\n dispatch(tr);\n return true;\n }\n return false;\n };\n };\n BlockQuote.prototype.commands = function () {\n var _this = this;\n return function () { return function (state, dispatch) {\n var selection = state.selection, doc = state.doc;\n var _a = getRangeInfo(selection), startFromOffset = _a.startFromOffset, endToOffset = _a.endToOffset, startIndex = _a.startIndex, endIndex = _a.endIndex;\n var isBlockQuote = reBlockQuote.test(getTextContent(doc, startIndex));\n var tr = replaceTextNode({\n state: state,\n startIndex: startIndex,\n endIndex: endIndex,\n from: startFromOffset,\n createText: function (textContent) { return _this.createBlockQuoteText(textContent, isBlockQuote); },\n });\n dispatch(tr.setSelection(createTextSelection(tr, tr.mapping.map(endToOffset))));\n return true;\n }; };\n };\n BlockQuote.prototype.keymaps = function () {\n var blockQuoteCommand = this.commands()();\n return {\n 'alt-q': blockQuoteCommand,\n 'alt-Q': blockQuoteCommand,\n Enter: this.extendBlockQuote(),\n };\n };\n return BlockQuote;\n}(Mark));\n\nvar reList = /(^\\s*)([-*+] |[\\d]+\\. )/;\nvar reOrderedList = /(^\\s*)([\\d])+\\.( \\[[ xX]])? /;\nvar reOrderedListGroup = /^(\\s*)((\\d+)([.)]\\s(?:\\[(?:x|\\s)\\]\\s)?))(.*)/;\nvar reCanBeTaskList = /(^\\s*)([-*+]|[\\d]+\\.)( \\[[ xX]])? /;\nvar reBulletListGroup = /^(\\s*)([-*+]+(\\s(?:\\[(?:x|\\s)\\]\\s)?))(.*)/;\nvar reTaskList = /(^\\s*)([-*+] |[\\d]+\\. )(\\[[ xX]] )/;\nvar reBulletTaskList = /(^\\s*)([-*+])( \\[[ xX]]) /;\nfunction getListType(text) {\n return reOrderedList.test(text) ? 'ordered' : 'bullet';\n}\nfunction getListDepth(mdNode) {\n var depth = 0;\n while (mdNode && mdNode.type !== 'document') {\n if (mdNode.type === 'list') {\n depth += 1;\n }\n mdNode = mdNode.parent;\n }\n return depth;\n}\nfunction findSameDepthList(toastMark, currentLine, depth, backward) {\n var lineTexts = toastMark.getLineTexts();\n var lineLen = lineTexts.length;\n var result = [];\n var line = currentLine;\n while (backward ? line < lineLen : line > 1) {\n line = backward ? line + 1 : line - 1;\n var mdNode = toastMark.findFirstNodeAtLine(line);\n var currentListDepth = getListDepth(mdNode);\n if (currentListDepth === depth) {\n result.push({ line: line, depth: depth, mdNode: mdNode });\n }\n else if (currentListDepth < depth) {\n break;\n }\n }\n return result;\n}\nfunction getSameDepthItems(_a) {\n var toastMark = _a.toastMark, mdNode = _a.mdNode, line = _a.line;\n var depth = getListDepth(mdNode);\n var forwardList = findSameDepthList(toastMark, line, depth, false).reverse();\n var backwardList = findSameDepthList(toastMark, line, depth, true);\n return forwardList.concat([{ line: line, depth: depth, mdNode: mdNode }]).concat(backwardList);\n}\nfunction textToBullet(text) {\n if (!reList.test(text)) {\n return \"* \" + text;\n }\n var type = getListType(text);\n if (type === 'bullet' && reCanBeTaskList.test(text)) {\n text = text.replace(reBulletTaskList, '$1$2 ');\n }\n else if (type === 'ordered') {\n text = text.replace(reOrderedList, '$1* ');\n }\n return text;\n}\nfunction textToOrdered(text, ordinalNum) {\n if (!reList.test(text)) {\n return ordinalNum + \". \" + text;\n }\n var type = getListType(text);\n if (type === 'bullet' || (type === 'ordered' && reCanBeTaskList.test(text))) {\n text = text.replace(reCanBeTaskList, \"$1\" + ordinalNum + \". \");\n }\n else if (type === 'ordered') {\n // eslint-disable-next-line prefer-destructuring\n var start = reOrderedListGroup.exec(text)[3];\n if (Number(start) !== ordinalNum) {\n text = text.replace(reOrderedList, \"$1\" + ordinalNum + \". \");\n }\n }\n return text;\n}\nfunction getChangedInfo(doc, sameDepthItems, type, start) {\n if (start === void 0) { start = 0; }\n var firstIndex = Number.MAX_VALUE;\n var lastIndex = 0;\n var changedResults = sameDepthItems.map(function (_a, index) {\n var line = _a.line;\n firstIndex = Math.min(line - 1, firstIndex);\n lastIndex = Math.max(line - 1, lastIndex);\n var text = getTextByMdLine(doc, line);\n text = type === 'bullet' ? textToBullet(text) : textToOrdered(text, index + 1 + start);\n return { text: text, line: line };\n });\n return { changedResults: changedResults, firstIndex: firstIndex, lastIndex: lastIndex };\n}\nfunction getBulletOrOrdered(type, context) {\n var sameDepthListInfo = getSameDepthItems(context);\n return getChangedInfo(context.doc, sameDepthListInfo, type);\n}\nvar otherListToList = {\n bullet: function (context) {\n return getBulletOrOrdered('bullet', context);\n },\n ordered: function (context) {\n return getBulletOrOrdered('ordered', context);\n },\n task: function (_a) {\n var mdNode = _a.mdNode, doc = _a.doc, line = _a.line;\n var text = getTextByMdLine(doc, line);\n if (mdNode.listData.task) {\n text = text.replace(reTaskList, '$1$2');\n }\n else if (isListNode$1(mdNode)) {\n text = text.replace(reList, '$1$2[ ] ');\n }\n return { changedResults: [{ text: text, line: line }] };\n },\n};\nvar otherNodeToList = {\n bullet: function (_a) {\n var doc = _a.doc, line = _a.line;\n var lineText = getTextByMdLine(doc, line);\n var changedResults = [{ text: \"* \" + lineText, line: line }];\n return { changedResults: changedResults };\n },\n ordered: function (_a) {\n var toastMark = _a.toastMark, doc = _a.doc, line = _a.line, startLine = _a.startLine;\n var lineText = getTextByMdLine(doc, line);\n var firstOrderedListNum = 1;\n var firstOrderedListLine = startLine;\n var skipped = 0;\n for (var i = startLine - 1; i > 0; i -= 1) {\n var mdNode = toastMark.findFirstNodeAtLine(i);\n var text = getTextByMdLine(doc, i);\n var canBeListNode = text && !!findClosestNode(mdNode, function (targetNode) { return isListNode$1(targetNode); });\n var searchResult = reOrderedListGroup.exec(getTextByMdLine(doc, i));\n if (!searchResult && !canBeListNode) {\n break;\n }\n if (!searchResult && canBeListNode) {\n skipped += 1;\n continue;\n }\n var _b = searchResult, indent = _b[1], start = _b[3];\n // basis on one depth list\n if (!indent) {\n firstOrderedListNum = Number(start);\n firstOrderedListLine = i;\n break;\n }\n }\n var ordinalNum = firstOrderedListNum + line - firstOrderedListLine - skipped;\n var changedResults = [{ text: ordinalNum + \". \" + lineText, line: line }];\n return { changedResults: changedResults };\n },\n task: function (_a) {\n var doc = _a.doc, line = _a.line;\n var lineText = getTextByMdLine(doc, line);\n var changedResults = [{ text: \"* [ ] \" + lineText, line: line }];\n return { changedResults: changedResults };\n },\n};\nvar extendList = {\n bullet: function (_a) {\n var line = _a.line, doc = _a.doc;\n var lineText = getTextByMdLine(doc, line);\n var _b = reBulletListGroup.exec(lineText), indent = _b[1], delimiter = _b[2];\n return { listSyntax: \"\" + indent + delimiter };\n },\n ordered: function (_a) {\n var toastMark = _a.toastMark, line = _a.line, mdNode = _a.mdNode, doc = _a.doc;\n var depth = getListDepth(mdNode);\n var lineText = getTextByMdLine(doc, line);\n var _b = reOrderedListGroup.exec(lineText), indent = _b[1], start = _b[3], delimiter = _b[4];\n var ordinalNum = Number(start) + 1;\n var listSyntax = \"\" + indent + ordinalNum + delimiter;\n var backwardList = findSameDepthList(toastMark, line, depth, true);\n var filteredList = backwardList.filter(function (info) {\n var searchResult = reOrderedListGroup.exec(getTextByMdLine(doc, info.line));\n return (searchResult &&\n searchResult[1].length === indent.length &&\n !!findClosestNode(info.mdNode, function (targetNode) { return isOrderedListNode(targetNode); }));\n });\n return __assign$1({ listSyntax: listSyntax }, getChangedInfo(doc, filteredList, 'ordered', ordinalNum));\n },\n};\nfunction getReorderedListInfo(doc, schema, line, ordinalNum, prevIndentLength) {\n var nodes = [];\n var lineText = getTextByMdLine(doc, line);\n var searchResult = reOrderedListGroup.exec(lineText);\n while (searchResult) {\n var indent = searchResult[1], delimiter = searchResult[4], text = searchResult[5];\n var indentLength = indent.length;\n if (indentLength === prevIndentLength) {\n nodes.push(createTextNode$1(schema, \"\" + indent + ordinalNum + delimiter + text));\n ordinalNum += 1;\n line += 1;\n }\n else if (indentLength > prevIndentLength) {\n var nestedListInfo = getReorderedListInfo(doc, schema, line, 1, indentLength);\n line = nestedListInfo.line;\n nodes = nodes.concat(nestedListInfo.nodes);\n }\n if (indentLength < prevIndentLength || line > doc.childCount) {\n break;\n }\n lineText = getTextByMdLine(doc, line);\n searchResult = reOrderedListGroup.exec(lineText);\n }\n return { nodes: nodes, line: line };\n}\n\nvar reStartSpace = /(^\\s{1,4})(.*)/;\nfunction isBlockUnit(from, to, text) {\n return from < to || reList.test(text) || reBlockQuote.test(text);\n}\nfunction isInTableCellNode(doc, schema, selection) {\n var $pos = selection.$from;\n if ($pos.depth === 0) {\n $pos = doc.resolve($pos.pos - 1);\n }\n var node = $pos.node(1);\n var startOffset = $pos.start(1);\n var contentSize = node.content.size;\n return (node.rangeHasMark(0, contentSize, schema.marks.table) &&\n $pos.pos - startOffset !== contentSize &&\n $pos.pos !== startOffset);\n}\nfunction createSelection(tr, posInfo) {\n var from = posInfo.from, to = posInfo.to;\n if (posInfo.type === 'indent') {\n var softTabLen = 4;\n from += softTabLen;\n to += (posInfo.lineLen + 1) * softTabLen;\n }\n else {\n var spaceLenList = posInfo.spaceLenList;\n from -= spaceLenList[0];\n for (var i = 0; i < spaceLenList.length; i += 1) {\n to -= spaceLenList[i];\n }\n }\n return createTextSelection(tr, from, to);\n}\nvar Paragraph$1 = /** @class */ (function (_super) {\n __extends$1(Paragraph, _super);\n function Paragraph() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Paragraph.prototype, \"name\", {\n get: function () {\n return 'paragraph';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Paragraph.prototype, \"schema\", {\n get: function () {\n return {\n content: 'inline*',\n attrs: {\n className: { default: null },\n codeStart: { default: null },\n codeEnd: { default: null },\n },\n selectable: false,\n group: 'block',\n parseDOM: [{ tag: 'div' }],\n toDOM: function (_a) {\n var attrs = _a.attrs;\n return attrs.className\n ? ['div', { class: clsWithMdPrefix(attrs.className) }, 0]\n : ['div', 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n Paragraph.prototype.reorderList = function (startLine, endLine) {\n var _a = this.context, view = _a.view, toastMark = _a.toastMark, schema = _a.schema;\n var _b = view.state, tr = _b.tr, selection = _b.selection, doc = _b.doc;\n var mdNode = toastMark.findFirstNodeAtLine(startLine);\n var topListNode = mdNode;\n while (mdNode && !isBulletListNode(mdNode) && mdNode.parent.type !== 'document') {\n mdNode = mdNode.parent;\n if (isOrderedListNode(mdNode)) {\n topListNode = mdNode;\n break;\n }\n }\n if (topListNode) {\n startLine = topListNode.sourcepos[0][0];\n }\n var _c = reOrderedListGroup.exec(getTextByMdLine(doc, startLine)), indent = _c[1], start = _c[3];\n var indentLen = indent.length;\n var _d = getReorderedListInfo(doc, schema, startLine, Number(start), indentLen), line = _d.line, nodes = _d.nodes;\n endLine = Math.max(endLine, line - 1);\n var startOffset = getNodeContentOffsetRange(doc, startLine - 1).startOffset;\n for (var i = startLine - 1; i <= endLine - 1; i += 1) {\n var _e = doc.child(i), nodeSize = _e.nodeSize, content = _e.content;\n var mappedFrom = tr.mapping.map(startOffset);\n var mappedTo = mappedFrom + content.size;\n tr.replaceWith(mappedFrom, mappedTo, nodes[i - startLine + 1]);\n startOffset += nodeSize;\n }\n var newSelection = createTextSelection(tr, selection.from, selection.to);\n view.dispatch(tr.setSelection(newSelection));\n };\n Paragraph.prototype.indent = function (tabKey) {\n var _this = this;\n if (tabKey === void 0) { tabKey = false; }\n return function () { return function (state, dispatch) {\n var schema = state.schema, selection = state.selection, doc = state.doc;\n var _a = getRangeInfo(selection), from = _a.from, to = _a.to, startFromOffset = _a.startFromOffset, startIndex = _a.startIndex, endIndex = _a.endIndex;\n if (tabKey && isInTableCellNode(doc, schema, selection)) {\n return false;\n }\n var startLineText = getTextContent(doc, startIndex);\n if ((tabKey && isBlockUnit(from, to, startLineText)) ||\n (!tabKey && reList.test(startLineText))) {\n var tr = replaceTextNode({\n state: state,\n from: startFromOffset,\n startIndex: startIndex,\n endIndex: endIndex,\n createText: function (textContent) { return \" \" + textContent; },\n });\n var posInfo = {\n type: 'indent',\n from: from,\n to: to,\n lineLen: endIndex - startIndex,\n };\n dispatch(tr.setSelection(createSelection(tr, posInfo)));\n if (reOrderedListGroup.test(startLineText)) {\n _this.reorderList(startIndex + 1, endIndex + 1);\n }\n }\n else if (tabKey) {\n dispatch(state.tr.insert(to, createTextNode$1(schema, ' ')));\n }\n return true;\n }; };\n };\n Paragraph.prototype.outdent = function (tabKey) {\n var _this = this;\n if (tabKey === void 0) { tabKey = false; }\n return function () { return function (state, dispatch) {\n var selection = state.selection, doc = state.doc, schema = state.schema;\n var _a = getRangeInfo(selection), from = _a.from, to = _a.to, startFromOffset = _a.startFromOffset, startIndex = _a.startIndex, endIndex = _a.endIndex;\n if (tabKey && isInTableCellNode(doc, schema, selection)) {\n return false;\n }\n var startLineText = getTextContent(doc, startIndex);\n if ((tabKey && isBlockUnit(from, to, startLineText)) ||\n (!tabKey && reList.test(startLineText))) {\n var spaceLenList_1 = [];\n var tr = replaceTextNode({\n state: state,\n from: startFromOffset,\n startIndex: startIndex,\n endIndex: endIndex,\n createText: function (textContent) {\n var searchResult = reStartSpace.exec(textContent);\n spaceLenList_1.push(searchResult ? searchResult[1].length : 0);\n return textContent.replace(reStartSpace, '$2');\n },\n });\n var posInfo = { type: 'outdent', from: from, to: to, spaceLenList: spaceLenList_1 };\n dispatch(tr.setSelection(createSelection(tr, posInfo)));\n if (reOrderedListGroup.test(startLineText)) {\n _this.reorderList(startIndex + 1, endIndex + 1);\n }\n }\n else if (tabKey) {\n var startText = startLineText.slice(0, to - startFromOffset);\n var startTextWithoutSpace = startText.replace(/\\s{1,4}$/, '');\n var deletStart = to - (startText.length - startTextWithoutSpace.length);\n dispatch(state.tr.delete(deletStart, to));\n }\n return true;\n }; };\n };\n Paragraph.prototype.deleteLines = function () {\n var _this = this;\n return function (state, dispatch) {\n var view = _this.context.view;\n var _a = getRangeInfo(state.selection), startFromOffset = _a.startFromOffset, endToOffset = _a.endToOffset;\n var deleteRange = function () {\n dispatch(state.tr.deleteRange(startFromOffset, endToOffset));\n return true;\n };\n return Object(prosemirror_commands__WEBPACK_IMPORTED_MODULE_5__[\"chainCommands\"])(deleteRange, prosemirror_commands__WEBPACK_IMPORTED_MODULE_5__[\"joinForward\"])(state, dispatch, view);\n };\n };\n Paragraph.prototype.moveDown = function () {\n return function (state, dispatch) {\n var doc = state.doc, tr = state.tr, selection = state.selection, schema = state.schema;\n var _a = getRangeInfo(selection), startFromOffset = _a.startFromOffset, endToOffset = _a.endToOffset, endIndex = _a.endIndex;\n if (endIndex < doc.content.childCount - 1) {\n var _b = doc.child(endIndex + 1), nodeSize = _b.nodeSize, textContent = _b.textContent;\n tr.delete(endToOffset, endToOffset + nodeSize)\n .split(startFromOffset)\n // subtract 2(start, end tag length) to insert prev line\n .insert(tr.mapping.map(startFromOffset) - 2, createTextNode$1(schema, textContent));\n dispatch(tr);\n return true;\n }\n return false;\n };\n };\n Paragraph.prototype.moveUp = function () {\n return function (state, dispatch) {\n var tr = state.tr, doc = state.doc, selection = state.selection, schema = state.schema;\n var _a = getRangeInfo(selection), startFromOffset = _a.startFromOffset, endToOffset = _a.endToOffset, startIndex = _a.startIndex;\n if (startIndex > 0) {\n var _b = doc.child(startIndex - 1), nodeSize = _b.nodeSize, textContent = _b.textContent;\n tr.delete(startFromOffset - nodeSize, startFromOffset)\n .split(tr.mapping.map(endToOffset))\n .insert(tr.mapping.map(endToOffset), createTextNode$1(schema, textContent));\n dispatch(tr);\n return true;\n }\n return false;\n };\n };\n Paragraph.prototype.commands = function () {\n return {\n indent: this.indent(),\n outdent: this.outdent(),\n };\n };\n Paragraph.prototype.keymaps = function () {\n return {\n Tab: this.indent(true)(),\n 'Shift-Tab': this.outdent(true)(),\n 'Mod-d': this.deleteLines(),\n 'Mod-D': this.deleteLines(),\n 'Alt-ArrowUp': this.moveUp(),\n 'Alt-ArrowDown': this.moveDown(),\n };\n };\n return Paragraph;\n}(Node$2));\n\nvar Text$1 = /** @class */ (function (_super) {\n __extends$1(Text, _super);\n function Text() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Text.prototype, \"name\", {\n get: function () {\n return 'text';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Text.prototype, \"schema\", {\n get: function () {\n return {\n group: 'inline',\n };\n },\n enumerable: false,\n configurable: true\n });\n return Text;\n}(Node$2));\n\nvar reHeading = /^#{1,6}\\s/;\nvar Heading$1 = /** @class */ (function (_super) {\n __extends$1(Heading, _super);\n function Heading() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Heading.prototype, \"name\", {\n get: function () {\n return 'heading';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Heading.prototype, \"schema\", {\n get: function () {\n return {\n attrs: {\n level: { default: 1 },\n seText: { default: false },\n },\n toDOM: function (_a) {\n var attrs = _a.attrs;\n var level = attrs.level, seText = attrs.seText;\n var classNames = \"heading|heading\" + level;\n if (seText) {\n classNames += '|delimiter|setext';\n }\n return ['span', { class: clsWithMdPrefix.apply(void 0, classNames.split('|')) }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n Heading.prototype.createHeadingText = function (level, text, curHeadingSyntax) {\n var textContent = text.replace(curHeadingSyntax, '').trim();\n var headingText = '';\n while (level > 0) {\n headingText += '#';\n level -= 1;\n }\n return headingText + \" \" + textContent;\n };\n Heading.prototype.commands = function () {\n var _this = this;\n return function (payload) { return function (state, dispatch) {\n var level = payload.level;\n var _a = getRangeInfo(state.selection), startFromOffset = _a.startFromOffset, endToOffset = _a.endToOffset, startIndex = _a.startIndex, endIndex = _a.endIndex;\n var tr = replaceTextNode({\n state: state,\n from: startFromOffset,\n startIndex: startIndex,\n endIndex: endIndex,\n createText: function (textContent) {\n var matchedHeading = textContent.match(reHeading);\n var curHeadingSyntax = matchedHeading ? matchedHeading[0] : '';\n return _this.createHeadingText(level, textContent, curHeadingSyntax);\n },\n });\n dispatch(tr.setSelection(createTextSelection(tr, tr.mapping.map(endToOffset))));\n return true;\n }; };\n };\n return Heading;\n}(Mark));\n\nvar fencedCodeBlockSyntax = '```';\nvar CodeBlock$1 = /** @class */ (function (_super) {\n __extends$1(CodeBlock, _super);\n function CodeBlock() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(CodeBlock.prototype, \"name\", {\n get: function () {\n return 'codeBlock';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CodeBlock.prototype, \"schema\", {\n get: function () {\n return {\n toDOM: function () {\n return ['span', { class: clsWithMdPrefix('code-block') }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n CodeBlock.prototype.commands = function () {\n return function () { return function (state, dispatch) {\n var selection = state.selection, schema = state.schema, tr = state.tr;\n var _a = getRangeInfo(selection), startFromOffset = _a.startFromOffset, endToOffset = _a.endToOffset;\n var fencedNode = createTextNode$1(schema, fencedCodeBlockSyntax);\n // add fenced start block\n tr.insert(startFromOffset, fencedNode).split(startFromOffset + fencedCodeBlockSyntax.length);\n // add fenced end block\n tr.split(tr.mapping.map(endToOffset)).insert(tr.mapping.map(endToOffset), fencedNode);\n dispatch(tr.setSelection(\n // subtract fenced syntax length and open, close tag(2)\n createTextSelection(tr, tr.mapping.map(endToOffset) - (fencedCodeBlockSyntax.length + 2))));\n return true;\n }; };\n };\n CodeBlock.prototype.keepIndentation = function () {\n var _this = this;\n return function (_a, dispatch) {\n var selection = _a.selection, tr = _a.tr, doc = _a.doc, schema = _a.schema;\n var toastMark = _this.context.toastMark;\n var _b = getRangeInfo(selection), startFromOffset = _b.startFromOffset, endToOffset = _b.endToOffset, endIndex = _b.endIndex, from = _b.from, to = _b.to;\n var textContent = getTextContent(doc, endIndex);\n if (from === to && textContent.trim()) {\n var matched = textContent.match(/^\\s+/);\n var mdNode = toastMark.findFirstNodeAtLine(endIndex + 1);\n if (isCodeBlockNode(mdNode) && matched) {\n var spaces = matched[0];\n var slicedText = textContent.slice(to - startFromOffset);\n var node = createTextNode$1(schema, spaces + slicedText);\n splitAndExtendBlock(tr, endToOffset, slicedText, node);\n dispatch(tr);\n return true;\n }\n }\n return false;\n };\n };\n CodeBlock.prototype.keymaps = function () {\n var codeBlockCommand = this.commands()();\n return {\n 'Shift-Mod-p': codeBlockCommand,\n 'Shift-Mod-P': codeBlockCommand,\n Enter: this.keepIndentation(),\n };\n };\n return CodeBlock;\n}(Mark));\n\nvar reEmptyTable = /\\||\\s/g;\nfunction createTableHeader(columnCount) {\n return [createTableRow(columnCount), createTableRow(columnCount, true)];\n}\nfunction createTableBody$1(columnCount, rowCount) {\n var bodyRows = [];\n for (var i = 0; i < rowCount; i += 1) {\n bodyRows.push(createTableRow(columnCount));\n }\n return bodyRows;\n}\nfunction createTableRow(columnCount, delim) {\n var row = '|';\n for (var i = 0; i < columnCount; i += 1) {\n row += delim ? ' --- |' : ' |';\n }\n return row;\n}\nfunction createTargetTypes(moveNext) {\n return moveNext\n ? { type: 'next', parentType: 'tableHead', childType: 'firstChild' }\n : { type: 'prev', parentType: 'tableBody', childType: 'lastChild' };\n}\nvar Table$1 = /** @class */ (function (_super) {\n __extends$1(Table, _super);\n function Table() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Table.prototype, \"name\", {\n get: function () {\n return 'table';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Table.prototype, \"schema\", {\n get: function () {\n return {\n toDOM: function () {\n return ['span', { class: clsWithMdPrefix('table') }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n Table.prototype.extendTable = function () {\n var _this = this;\n return function (_a, dispatch) {\n var selection = _a.selection, doc = _a.doc, tr = _a.tr, schema = _a.schema;\n if (!selection.empty) {\n return false;\n }\n var _b = getRangeInfo(selection), endFromOffset = _b.endFromOffset, endToOffset = _b.endToOffset, endIndex = _b.endIndex, to = _b.to;\n var textContent = getTextContent(doc, endIndex);\n // should add `1` to line for the markdown parser\n // because markdown parser has `1`(not zero) as the start number\n var mdPos = [endIndex + 1, to - endFromOffset + 1];\n var mdNode = _this.context.toastMark.findNodeAtPosition(mdPos);\n var cellNode = findClosestNode(mdNode, function (node) {\n return isTableCellNode(node) &&\n (node.parent.type === 'tableDelimRow' || node.parent.parent.type === 'tableBody');\n });\n if (cellNode) {\n var isEmpty = !textContent.replace(reEmptyTable, '').trim();\n var parent_1 = cellNode.parent;\n var columnCount = parent_1.parent.parent.columns.length;\n var row = createTableRow(columnCount);\n if (isEmpty) {\n tr.deleteRange(endFromOffset, endToOffset).split(tr.mapping.map(endToOffset));\n }\n else {\n tr\n .split(endToOffset)\n .insert(tr.mapping.map(endToOffset), createTextNode$1(schema, row))\n // should subtract `2` to selection end position considering ` |` text\n .setSelection(createTextSelection(tr, tr.mapping.map(endToOffset) - 2));\n }\n dispatch(tr);\n return true;\n }\n return false;\n };\n };\n Table.prototype.moveTableCell = function (moveNext) {\n var _this = this;\n return function (_a, dispatch) {\n var selection = _a.selection, tr = _a.tr;\n var _b = getRangeInfo(selection), endFromOffset = _b.endFromOffset, endIndex = _b.endIndex, to = _b.to;\n var mdPos = [endIndex + 1, to - endFromOffset];\n var mdNode = _this.context.toastMark.findNodeAtPosition(mdPos);\n var cellNode = findClosestNode(mdNode, function (node) { return isTableCellNode(node); });\n if (cellNode) {\n var parent_2 = cellNode.parent;\n var _c = createTargetTypes(moveNext), type = _c.type, parentType = _c.parentType, childType = _c.childType;\n var chOffset = getMdEndCh(cellNode);\n if (cellNode[type]) {\n chOffset = getMdEndCh(cellNode[type]) - 1;\n }\n else {\n var row = !parent_2[type] && parent_2.parent.type === parentType\n ? parent_2.parent[type][childType]\n : parent_2[type];\n if (type === 'next') {\n // if there is next row, the base offset would be end position of the next row's first child.\n // Otherwise, the base offset is zero.\n var baseOffset = row ? getMdEndCh(row[childType]) : 0;\n // calculate tag(open, close) position('2') for selection\n chOffset += baseOffset + 2;\n }\n else if (type === 'prev') {\n // if there is prev row, the target position would be '-4' for calculating ' |' characters and tag(open, close)\n // Otherwise, the target position is zero.\n chOffset = row ? -4 : 0;\n }\n }\n dispatch(tr.setSelection(createTextSelection(tr, endFromOffset + chOffset)));\n return true;\n }\n return false;\n };\n };\n Table.prototype.addTable = function () {\n return function (payload) { return function (_a, dispatch) {\n var selection = _a.selection, tr = _a.tr, schema = _a.schema;\n var _b = payload, columnCount = _b.columnCount, rowCount = _b.rowCount;\n var endToOffset = getRangeInfo(selection).endToOffset;\n var headerRows = createTableHeader(columnCount);\n var bodyRows = createTableBody$1(columnCount, rowCount - 1);\n var rows = __spreadArray$1(__spreadArray$1([], headerRows), bodyRows);\n rows.forEach(function (row) {\n tr.split(tr.mapping.map(endToOffset)).insert(tr.mapping.map(endToOffset), createTextNode$1(schema, row));\n });\n // should add `4` to selection position considering `| ` text and start block tag length\n dispatch(tr.setSelection(createTextSelection(tr, endToOffset + 4)));\n return true;\n }; };\n };\n Table.prototype.commands = function () {\n return { addTable: this.addTable() };\n };\n Table.prototype.keymaps = function () {\n return {\n Enter: this.extendTable(),\n Tab: this.moveTableCell(true),\n 'Shift-Tab': this.moveTableCell(false),\n };\n };\n return Table;\n}(Mark));\n\nvar thematicBreakSyntax = '***';\nvar ThematicBreak$1 = /** @class */ (function (_super) {\n __extends$1(ThematicBreak, _super);\n function ThematicBreak() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(ThematicBreak.prototype, \"name\", {\n get: function () {\n return 'thematicBreak';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ThematicBreak.prototype, \"schema\", {\n get: function () {\n return {\n toDOM: function () {\n return ['span', { class: clsWithMdPrefix('thematic-break') }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n ThematicBreak.prototype.hr = function () {\n return function () { return function (state, dispatch) {\n var selection = state.selection, schema = state.schema, tr = state.tr;\n var _a = getRangeInfo(selection), from = _a.from, to = _a.to, endToOffset = _a.endToOffset;\n var node = createTextNode$1(schema, thematicBreakSyntax);\n tr\n .split(from)\n .replaceWith(tr.mapping.map(from), tr.mapping.map(to), node)\n .split(tr.mapping.map(to)).setSelection(createTextSelection(tr, tr.mapping.map(endToOffset)));\n dispatch(tr);\n return true;\n }; };\n };\n ThematicBreak.prototype.commands = function () {\n return { hr: this.hr() };\n };\n ThematicBreak.prototype.keymaps = function () {\n var lineCommand = this.hr()();\n return { 'Mod-l': lineCommand, 'Mod-L': lineCommand };\n };\n return ThematicBreak;\n}(Mark));\n\nfunction cannotBeListNode(_a, line) {\n var type = _a.type, sourcepos = _a.sourcepos;\n // eslint-disable-next-line prefer-destructuring\n var startLine = sourcepos[0][0];\n return line <= startLine && (type === 'codeBlock' || type === 'heading' || type.match('table'));\n}\nvar ListItem$1 = /** @class */ (function (_super) {\n __extends$1(ListItem, _super);\n function ListItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(ListItem.prototype, \"name\", {\n get: function () {\n return 'listItem';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ListItem.prototype, \"schema\", {\n get: function () {\n return {\n attrs: {\n odd: { default: false },\n even: { default: false },\n listStyle: { default: false },\n },\n toDOM: function (_a) {\n var attrs = _a.attrs;\n var odd = attrs.odd, even = attrs.even, listStyle = attrs.listStyle;\n var classNames = 'list-item';\n if (listStyle) {\n classNames += '|list-item-style';\n }\n if (odd) {\n classNames += '|list-item-odd';\n }\n if (even) {\n classNames += '|list-item-even';\n }\n return ['span', { class: clsWithMdPrefix.apply(void 0, classNames.split('|')) }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n ListItem.prototype.extendList = function () {\n var _this = this;\n return function (_a, dispatch) {\n var selection = _a.selection, doc = _a.doc, schema = _a.schema, tr = _a.tr;\n var toastMark = _this.context.toastMark;\n var _b = getRangeInfo(selection), to = _b.to, startFromOffset = _b.startFromOffset, endFromOffset = _b.endFromOffset, endIndex = _b.endIndex, endToOffset = _b.endToOffset;\n var textContent = getTextContent(doc, endIndex);\n var isList = reList.test(textContent);\n if (!isList || selection.from === startFromOffset || !selection.empty) {\n return false;\n }\n var isEmpty = !textContent.replace(reCanBeTaskList, '').trim();\n if (isEmpty) {\n tr.deleteRange(endFromOffset, endToOffset).split(tr.mapping.map(endToOffset));\n }\n else {\n var commandType = getListType(textContent);\n // should add `1` to line for the markdown parser\n // because markdown parser has `1`(not zero) as the start number\n var mdNode = toastMark.findFirstNodeAtLine(endIndex + 1);\n var slicedText = textContent.slice(to - endFromOffset);\n var context = { toastMark: toastMark, mdNode: mdNode, doc: doc, line: endIndex + 1 };\n var _c = extendList[commandType](context), listSyntax = _c.listSyntax, changedResults = _c.changedResults;\n // change ordinal number of backward ordered list\n if (changedResults === null || changedResults === void 0 ? void 0 : changedResults.length) {\n // split the block\n tr.split(to);\n // set first ordered list info\n changedResults.unshift({ text: listSyntax + slicedText, line: endIndex + 1 });\n _this.changeToListPerLine(tr, changedResults, {\n from: to,\n // don't subtract 1 because the line has increased through 'split' command.\n startLine: changedResults[0].line,\n endLine: last$1(changedResults).line,\n });\n var pos = tr.mapping.map(endToOffset) - slicedText.length;\n tr.setSelection(createTextSelection(tr, pos));\n }\n else {\n var node = createTextNode$1(schema, listSyntax + slicedText);\n splitAndExtendBlock(tr, endToOffset, slicedText, node);\n }\n }\n dispatch(tr);\n return true;\n };\n };\n ListItem.prototype.toList = function (commandType) {\n var _this = this;\n return function () { return function (_a, dispatch) {\n var doc = _a.doc, tr = _a.tr, selection = _a.selection;\n var toastMark = _this.context.toastMark;\n var rangeInfo = getRangeInfo(selection);\n // should add `1` to line for the markdown parser\n // because markdown parser has `1`(not zero) as the start number\n var startLine = rangeInfo.startIndex + 1;\n var endLine = rangeInfo.endIndex + 1;\n var endToOffset = rangeInfo.endToOffset;\n var skipLines = [];\n for (var line = startLine; line <= endLine; line += 1) {\n var mdNode = toastMark.findFirstNodeAtLine(line);\n if (mdNode && cannotBeListNode(mdNode, line)) {\n break;\n }\n // to skip unnecessary processing\n if (skipLines.indexOf(line) !== -1) {\n continue;\n }\n var context = { toastMark: toastMark, mdNode: mdNode, doc: doc, line: line, startLine: startLine };\n var changedResults = (isListNode$1(mdNode)\n ? otherListToList[commandType](context)\n : otherNodeToList[commandType](context)).changedResults;\n var endOffset = _this.changeToListPerLine(tr, changedResults, {\n from: getNodeContentOffsetRange(doc, changedResults[0].line - 1).startOffset,\n startLine: changedResults[0].line,\n endLine: last$1(changedResults).line,\n indexDiff: 1,\n });\n endToOffset = Math.max(endOffset, endToOffset);\n if (changedResults) {\n skipLines = skipLines.concat(changedResults.map(function (info) { return info.line; }));\n }\n }\n dispatch(tr.setSelection(createTextSelection(tr, tr.mapping.map(endToOffset))));\n return true;\n }; };\n };\n ListItem.prototype.changeToListPerLine = function (tr, changedResults, _a) {\n var from = _a.from, startLine = _a.startLine, endLine = _a.endLine, _b = _a.indexDiff, indexDiff = _b === void 0 ? 0 : _b;\n var maxEndOffset = 0;\n var _loop_1 = function (i) {\n var _c = tr.doc.child(i), nodeSize = _c.nodeSize, content = _c.content;\n var mappedFrom = tr.mapping.map(from);\n var mappedTo = mappedFrom + content.size;\n var changedResult = changedResults.filter(function (result) { return result.line - indexDiff === i; })[0];\n if (changedResult) {\n tr.replaceWith(mappedFrom, mappedTo, createTextNode$1(this_1.context.schema, changedResult.text));\n maxEndOffset = Math.max(maxEndOffset, from + content.size);\n }\n from += nodeSize;\n };\n var this_1 = this;\n for (var i = startLine - indexDiff; i <= endLine - indexDiff; i += 1) {\n _loop_1(i);\n }\n return maxEndOffset;\n };\n ListItem.prototype.toggleTask = function () {\n var _this = this;\n return function (_a, dispatch) {\n var selection = _a.selection, tr = _a.tr, doc = _a.doc, schema = _a.schema;\n var toastMark = _this.context.toastMark;\n var _b = getRangeInfo(selection), startIndex = _b.startIndex, endIndex = _b.endIndex;\n var newTr = null;\n for (var i = startIndex; i <= endIndex; i += 1) {\n var mdNode = toastMark.findFirstNodeAtLine(i + 1);\n if (isListNode$1(mdNode) && mdNode.listData.task) {\n var _c = mdNode.listData, checked = _c.checked, padding = _c.padding;\n var stateChar = checked ? ' ' : 'x';\n var mdPos = mdNode.sourcepos[0];\n var startOffset = getNodeContentOffsetRange(doc, mdPos[0] - 1).startOffset;\n startOffset += mdPos[1] + padding;\n newTr = tr.replaceWith(startOffset, startOffset + 1, schema.text(stateChar));\n }\n }\n if (newTr) {\n dispatch(newTr);\n return true;\n }\n return false;\n };\n };\n ListItem.prototype.commands = function () {\n return {\n bulletList: this.toList('bullet'),\n orderedList: this.toList('ordered'),\n taskList: this.toList('task'),\n };\n };\n ListItem.prototype.keymaps = function () {\n var bulletCommand = this.toList('bullet')();\n var orderedCommand = this.toList('ordered')();\n var taskCommand = this.toList('task')();\n var togleTaskCommand = this.toggleTask();\n return {\n 'Mod-u': bulletCommand,\n 'Mod-U': bulletCommand,\n 'Mod-o': orderedCommand,\n 'Mod-O': orderedCommand,\n 'alt-t': taskCommand,\n 'alt-T': taskCommand,\n 'Shift-Ctrl-x': togleTaskCommand,\n 'Shift-Ctrl-X': togleTaskCommand,\n Enter: this.extendList(),\n };\n };\n return ListItem;\n}(Mark));\n\nfunction toggleMark(condition, syntax) {\n return function () { return function (_a, dispatch) {\n var tr = _a.tr, selection = _a.selection;\n var conditionFn = !isFunction_1(condition)\n ? function (text) { return condition.test(text); }\n : condition;\n var syntaxLen = syntax.length;\n var doc = tr.doc;\n var _b = resolveSelectionPos(selection), from = _b[0], to = _b[1];\n var prevPos = Math.max(from - syntaxLen, 1);\n var nextPos = Math.min(to + syntaxLen, doc.content.size - 1);\n var slice = selection.content();\n var textContent = slice.content.textBetween(0, slice.content.size, '\\n');\n var prevText = doc.textBetween(prevPos, from, '\\n');\n var nextText = doc.textBetween(to, nextPos, '\\n');\n textContent = \"\" + prevText + textContent + nextText;\n if (prevText && nextText && conditionFn(textContent)) {\n tr.delete(nextPos - syntaxLen, nextPos).delete(prevPos, prevPos + syntaxLen);\n }\n else {\n tr.insertText(syntax, to).insertText(syntax, from);\n var newSelection = selection.empty\n ? createTextSelection(tr, from + syntaxLen)\n : createTextSelection(tr, from + syntaxLen, to + syntaxLen);\n tr.setSelection(newSelection);\n }\n dispatch(tr);\n return true;\n }; };\n}\n\nvar reStrong = /^(\\*{2}|_{2}).*([\\s\\S]*)\\1$/m;\nvar strongSyntax = '**';\nvar Strong$1 = /** @class */ (function (_super) {\n __extends$1(Strong, _super);\n function Strong() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Strong.prototype, \"name\", {\n get: function () {\n return 'strong';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Strong.prototype, \"schema\", {\n get: function () {\n return {\n toDOM: function () {\n return ['span', { class: clsWithMdPrefix('strong') }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n Strong.prototype.bold = function () {\n return toggleMark(reStrong, strongSyntax);\n };\n Strong.prototype.commands = function () {\n return { bold: this.bold() };\n };\n Strong.prototype.keymaps = function () {\n var boldCommand = this.bold()();\n return { 'Mod-b': boldCommand, 'Mod-B': boldCommand };\n };\n return Strong;\n}(Mark));\n\nvar reStrike = /^(~{2}).*([\\s\\S]*)\\1$/m;\nvar strikeSyntax = '~~';\nvar Strike$1 = /** @class */ (function (_super) {\n __extends$1(Strike, _super);\n function Strike() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Strike.prototype, \"name\", {\n get: function () {\n return 'strike';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Strike.prototype, \"schema\", {\n get: function () {\n return {\n toDOM: function () {\n return ['span', { class: clsWithMdPrefix('strike') }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n Strike.prototype.commands = function () {\n return toggleMark(reStrike, strikeSyntax);\n };\n Strike.prototype.keymaps = function () {\n var strikeCommand = this.commands()();\n return { 'Mod-s': strikeCommand, 'Mod-S': strikeCommand };\n };\n return Strike;\n}(Mark));\n\nvar reEmph = /^(\\*|_).*([\\s\\S]*)\\1$/m;\nvar emphSyntax = '*';\nvar Emph$1 = /** @class */ (function (_super) {\n __extends$1(Emph, _super);\n function Emph() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Emph.prototype, \"name\", {\n get: function () {\n return 'emph';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Emph.prototype, \"schema\", {\n get: function () {\n return {\n toDOM: function () {\n return ['span', { class: clsWithMdPrefix('emph') }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n Emph.prototype.italic = function () {\n return toggleMark(reEmph, emphSyntax);\n };\n Emph.prototype.commands = function () {\n return { italic: this.italic() };\n };\n Emph.prototype.keymaps = function () {\n var italicCommand = this.italic()();\n return { 'Mod-i': italicCommand, 'Mod-I': italicCommand };\n };\n return Emph;\n}(Mark));\n\nvar reCode = /^(`).*([\\s\\S]*)\\1$/m;\nvar codeSyntax = '`';\nvar Code$1 = /** @class */ (function (_super) {\n __extends$1(Code, _super);\n function Code() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Code.prototype, \"name\", {\n get: function () {\n return 'code';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Code.prototype, \"schema\", {\n get: function () {\n return {\n attrs: {\n start: { default: false },\n end: { default: false },\n marked: { default: false },\n },\n toDOM: function (mark) {\n var _a = mark.attrs, start = _a.start, end = _a.end, marked = _a.marked;\n var classNames = 'code';\n if (start) {\n classNames += '|delimiter|start';\n }\n if (end) {\n classNames += '|delimiter|end';\n }\n if (marked) {\n classNames += '|marked-text';\n }\n return ['span', { class: clsWithMdPrefix.apply(void 0, classNames.split('|')) }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n Code.prototype.commands = function () {\n return toggleMark(reCode, codeSyntax);\n };\n Code.prototype.keymaps = function () {\n var codeCommand = this.commands()();\n return { 'Shift-Mod-c': codeCommand, 'Shift-Mod-C': codeCommand };\n };\n return Code;\n}(Mark));\n\nvar Link$1 = /** @class */ (function (_super) {\n __extends$1(Link, _super);\n function Link() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Link.prototype, \"name\", {\n get: function () {\n return 'link';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Link.prototype, \"schema\", {\n get: function () {\n return {\n attrs: {\n url: { default: false },\n desc: { default: false },\n },\n toDOM: function (_a) {\n var attrs = _a.attrs;\n var url = attrs.url, desc = attrs.desc;\n var classNames = 'link';\n if (url) {\n classNames += '|link-url|marked-text';\n }\n if (desc) {\n classNames += '|link-desc|marked-text';\n }\n return ['span', { class: clsWithMdPrefix.apply(void 0, classNames.split('|')) }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n Link.prototype.addLinkOrImage = function (commandType) {\n return function (payload) { return function (_a, dispatch) {\n var selection = _a.selection, tr = _a.tr, schema = _a.schema;\n var _b = resolveSelectionPos(selection), from = _b[0], to = _b[1];\n var _c = payload, linkText = _c.linkText, altText = _c.altText, linkUrl = _c.linkUrl, imageUrl = _c.imageUrl;\n var text = linkText;\n var url = linkUrl;\n var syntax = '';\n if (commandType === 'image') {\n text = altText;\n url = imageUrl;\n syntax = '!';\n }\n text = escapeTextForLink(text);\n syntax += \"[\" + text + \"](\" + url + \")\";\n dispatch(tr.replaceWith(from, to, createTextNode$1(schema, syntax)));\n return true;\n }; };\n };\n Link.prototype.commands = function () {\n return {\n addImage: this.addLinkOrImage('image'),\n addLink: this.addLinkOrImage('link'),\n };\n };\n return Link;\n}(Mark));\n\nvar TaskDelimiter = /** @class */ (function (_super) {\n __extends$1(TaskDelimiter, _super);\n function TaskDelimiter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(TaskDelimiter.prototype, \"name\", {\n get: function () {\n return 'taskDelimiter';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TaskDelimiter.prototype, \"schema\", {\n get: function () {\n return {\n toDOM: function () {\n return ['span', { class: clsWithMdPrefix('delimiter', 'list-item') }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n return TaskDelimiter;\n}(Mark));\nvar Delimiter = /** @class */ (function (_super) {\n __extends$1(Delimiter, _super);\n function Delimiter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Delimiter.prototype, \"name\", {\n get: function () {\n return 'delimiter';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Delimiter.prototype, \"schema\", {\n get: function () {\n return {\n toDOM: function () {\n return ['span', { class: clsWithMdPrefix('delimiter') }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n return Delimiter;\n}(Mark));\nvar Meta = /** @class */ (function (_super) {\n __extends$1(Meta, _super);\n function Meta() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Meta.prototype, \"name\", {\n get: function () {\n return 'meta';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Meta.prototype, \"schema\", {\n get: function () {\n return {\n toDOM: function () {\n return ['span', { class: clsWithMdPrefix('meta') }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n return Meta;\n}(Mark));\nvar MarkedText = /** @class */ (function (_super) {\n __extends$1(MarkedText, _super);\n function MarkedText() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(MarkedText.prototype, \"name\", {\n get: function () {\n return 'markedText';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(MarkedText.prototype, \"schema\", {\n get: function () {\n return {\n toDOM: function () {\n return ['span', { class: clsWithMdPrefix('marked-text') }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n return MarkedText;\n}(Mark));\nvar TableCell = /** @class */ (function (_super) {\n __extends$1(TableCell, _super);\n function TableCell() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(TableCell.prototype, \"name\", {\n get: function () {\n return 'tableCell';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TableCell.prototype, \"schema\", {\n get: function () {\n return {\n toDOM: function () {\n return ['span', { class: clsWithMdPrefix('table-cell') }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n return TableCell;\n}(Mark));\n\nvar Html = /** @class */ (function (_super) {\n __extends$1(Html, _super);\n function Html() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Html.prototype, \"name\", {\n get: function () {\n return 'html';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Html.prototype, \"schema\", {\n get: function () {\n return {\n toDOM: function () {\n return ['span', { class: clsWithMdPrefix('html') }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n return Html;\n}(Mark));\n\nvar customBlockSyntax = '$$';\nvar CustomBlock$1 = /** @class */ (function (_super) {\n __extends$1(CustomBlock, _super);\n function CustomBlock() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(CustomBlock.prototype, \"name\", {\n get: function () {\n return 'customBlock';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CustomBlock.prototype, \"schema\", {\n get: function () {\n return {\n toDOM: function () {\n return ['span', { class: clsWithMdPrefix('custom-block') }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n CustomBlock.prototype.commands = function () {\n return function (payload) { return function (state, dispatch) {\n var selection = state.selection, schema = state.schema, tr = state.tr;\n var _a = getRangeInfo(selection), startFromOffset = _a.startFromOffset, endToOffset = _a.endToOffset;\n if (!(payload === null || payload === void 0 ? void 0 : payload.info)) {\n return false;\n }\n var customBlock = \"\" + customBlockSyntax + payload.info;\n var startNode = createTextNode$1(schema, customBlock);\n var endNode = createTextNode$1(schema, customBlockSyntax);\n tr.insert(startFromOffset, startNode).split(startFromOffset + customBlock.length);\n tr.split(tr.mapping.map(endToOffset)).insert(tr.mapping.map(endToOffset), endNode);\n dispatch(tr.setSelection(createTextSelection(tr, tr.mapping.map(endToOffset) - (customBlockSyntax.length + 2))));\n return true;\n }; };\n };\n return CustomBlock;\n}(Mark));\n\nvar reTaskMarkerKey = /x|backspace/i;\nvar reTaskMarker = /^\\[(\\s*)(x?)(\\s*)\\](?:\\s+)/i;\nfunction smartTask(_a) {\n var schema = _a.schema, toastMark = _a.toastMark;\n return new prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"Plugin\"]({\n props: {\n handleDOMEvents: {\n keyup: function (view, ev) {\n var _a;\n var _b = view.state, doc = _b.doc, tr = _b.tr, selection = _b.selection;\n if (selection.empty && reTaskMarkerKey.test(ev.key)) {\n var _c = getRangeInfo(selection), startIndex = _c.startIndex, startFromOffset = _c.startFromOffset, from = _c.from;\n // should add `1` to line for the markdown parser\n // because markdown parser has `1`(not zero) as the start number\n var mdPos = [startIndex + 1, from - startFromOffset + 1];\n var mdNode = toastMark.findNodeAtPosition(mdPos);\n var paraNode = findClosestNode(mdNode, function (node) { var _a; return node.type === 'paragraph' && ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.type) === 'item'; });\n if ((_a = paraNode === null || paraNode === void 0 ? void 0 : paraNode.firstChild) === null || _a === void 0 ? void 0 : _a.literal) {\n var firstChild = paraNode.firstChild;\n var matched = firstChild.literal.match(reTaskMarker);\n if (matched) {\n var startMdPos = firstChild.sourcepos[0];\n var startSpaces = matched[1], stateChar = matched[2], lastSpaces = matched[3];\n var spaces = startSpaces.length + lastSpaces.length;\n var startOffset = getNodeContentOffsetRange(doc, startMdPos[0] - 1).startOffset;\n var startPos = startMdPos[1] + startOffset;\n if (stateChar) {\n var addedPos = spaces ? spaces + 1 : 0;\n tr.replaceWith(startPos, addedPos + startPos, schema.text(stateChar));\n view.dispatch(tr);\n }\n else if (!spaces) {\n tr.insertText(' ', startPos);\n view.dispatch(tr);\n }\n }\n }\n }\n return false;\n },\n },\n },\n });\n}\n\nvar EVENT_TYPE = 'cut';\nvar reLineEnding$2 = /\\r\\n|\\n|\\r/;\nvar MdEditor = /** @class */ (function (_super) {\n __extends$1(MdEditor, _super);\n function MdEditor(eventEmitter, options) {\n var _this = _super.call(this, eventEmitter) || this;\n var toastMark = options.toastMark, _a = options.useCommandShortcut, useCommandShortcut = _a === void 0 ? true : _a, _b = options.mdPlugins, mdPlugins = _b === void 0 ? [] : _b;\n _this.editorType = 'markdown';\n _this.el.classList.add('md-mode');\n _this.toastMark = toastMark;\n _this.extraPlugins = mdPlugins;\n _this.specs = _this.createSpecs();\n _this.schema = _this.createSchema();\n _this.context = _this.createContext();\n _this.keymaps = _this.createKeymaps(useCommandShortcut);\n _this.view = _this.createView();\n _this.commands = _this.createCommands();\n _this.specs.setContext(__assign$1(__assign$1({}, _this.context), { view: _this.view }));\n _this.createClipboard();\n // To prevent unnecessary focus setting during initial rendering\n _this.eventEmitter.listen('changePreviewTabWrite', function (isMarkdownTabMounted) {\n return _this.toggleActive(true, isMarkdownTabMounted);\n });\n _this.eventEmitter.listen('changePreviewTabPreview', function () { return _this.toggleActive(false); });\n _this.initEvent();\n return _this;\n }\n MdEditor.prototype.toggleActive = function (active, isMarkdownTabMounted) {\n toggleClass(this.el, 'active', active);\n if (active) {\n if (!isMarkdownTabMounted) {\n this.focus();\n }\n }\n else {\n this.blur();\n }\n };\n MdEditor.prototype.createClipboard = function () {\n var _this = this;\n this.clipboard = document.createElement('textarea');\n this.clipboard.className = cls('pseudo-clipboard');\n this.clipboard.addEventListener('paste', function (ev) {\n var clipboardData = ev.clipboardData || window.clipboardData;\n var items = clipboardData && clipboardData.items;\n if (items) {\n var containRtfItem = toArray_1(items).some(function (item) { return item.kind === 'string' && item.type === 'text/rtf'; });\n // if it contains rtf, it's most likely copy paste from office -> no image\n if (!containRtfItem) {\n var imageBlob = pasteImageOnly(items);\n if (imageBlob) {\n ev.preventDefault();\n emitImageBlobHook(_this.eventEmitter, imageBlob, ev.type);\n }\n }\n }\n });\n // process the pasted data in input event for IE11\n this.clipboard.addEventListener('input', function (ev) {\n var text = ev.target.value;\n _this.replaceSelection(text);\n ev.preventDefault();\n ev.target.value = '';\n });\n this.el.insertBefore(this.clipboard, this.view.dom);\n };\n MdEditor.prototype.createContext = function () {\n return {\n toastMark: this.toastMark,\n schema: this.schema,\n eventEmitter: this.eventEmitter,\n };\n };\n MdEditor.prototype.createSpecs = function () {\n return new SpecManager([\n new Doc$1(),\n new Paragraph$1(),\n new Widget(),\n new Text$1(),\n new Heading$1(),\n new BlockQuote$1(),\n new CodeBlock$1(),\n new CustomBlock$1(),\n new Table$1(),\n new TableCell(),\n new ThematicBreak$1(),\n new ListItem$1(),\n new Strong$1(),\n new Strike$1(),\n new Emph$1(),\n new Code$1(),\n new Link$1(),\n new Delimiter(),\n new TaskDelimiter(),\n new MarkedText(),\n new Meta(),\n new Html(),\n ]);\n };\n MdEditor.prototype.createPlugins = function () {\n return __spreadArray$1([\n syntaxHighlight(this.context),\n previewHighlight(this.context),\n smartTask(this.context)\n ], this.createPluginProps()).concat(this.defaultPlugins);\n };\n MdEditor.prototype.createView = function () {\n var _this = this;\n return new prosemirror_view__WEBPACK_IMPORTED_MODULE_1__[\"EditorView\"](this.el, {\n state: this.createState(),\n dispatchTransaction: function (tr) {\n _this.updateMarkdown(tr);\n var state = _this.view.state.applyTransaction(tr).state;\n _this.view.updateState(state);\n _this.emitChangeEvent(tr);\n },\n handleKeyDown: function (_, ev) {\n if ((ev.metaKey || ev.ctrlKey) && ev.key.toUpperCase() === 'V') {\n _this.clipboard.focus();\n }\n _this.eventEmitter.emit('keydown', _this.editorType, ev);\n return false;\n },\n handleDOMEvents: {\n copy: function (_, ev) { return _this.captureCopy(ev); },\n cut: function (_, ev) { return _this.captureCopy(ev, EVENT_TYPE); },\n scroll: function () {\n _this.eventEmitter.emit('scroll', 'editor');\n return true;\n },\n keyup: function (_, ev) {\n _this.eventEmitter.emit('keyup', _this.editorType, ev);\n return false;\n },\n },\n nodeViews: {\n widget: widgetNodeView,\n },\n });\n };\n MdEditor.prototype.createCommands = function () {\n return this.specs.commands(this.view);\n };\n MdEditor.prototype.captureCopy = function (ev, type) {\n ev.preventDefault();\n var _a = this.view.state, selection = _a.selection, tr = _a.tr;\n if (selection.empty) {\n return true;\n }\n var text = this.getChanged(selection.content());\n if (ev.clipboardData) {\n ev.clipboardData.setData('text/plain', text);\n }\n else {\n window.clipboardData.setData('Text', text);\n }\n if (type === EVENT_TYPE) {\n this.view.dispatch(tr.deleteSelection().scrollIntoView().setMeta('uiEvent', EVENT_TYPE));\n }\n return true;\n };\n MdEditor.prototype.updateMarkdown = function (tr) {\n var _this = this;\n if (tr.docChanged) {\n tr.steps.forEach(function (step, index) {\n if (step.slice && !(step instanceof prosemirror_transform__WEBPACK_IMPORTED_MODULE_2__[\"ReplaceAroundStep\"])) {\n var doc = tr.docs[index];\n var _a = [step.from, step.to], from = _a[0], to = _a[1];\n var _b = getEditorToMdPos(doc, from, to), startPos = _b[0], endPos = _b[1];\n var changed = _this.getChanged(step.slice);\n if (startPos[0] === endPos[0] && startPos[1] === endPos[1] && changed === '') {\n changed = '\\n';\n }\n var editResult = _this.toastMark.editMarkdown(startPos, endPos, changed);\n _this.eventEmitter.emit('updatePreview', editResult);\n tr.setMeta('editResult', editResult).scrollIntoView();\n }\n });\n }\n };\n MdEditor.prototype.getChanged = function (slice) {\n var changed = '';\n var from = 0;\n var to = slice.content.size;\n slice.content.nodesBetween(from, to, function (node, pos) {\n if (node.isText) {\n changed += node.text.slice(Math.max(from, pos) - pos, to - pos);\n }\n else if (node.isBlock && pos > 0) {\n changed += '\\n';\n }\n });\n return changed;\n };\n MdEditor.prototype.setSelection = function (start, end) {\n if (end === void 0) { end = start; }\n var tr = this.view.state.tr;\n var _a = getMdToEditorPos(tr.doc, start, end), from = _a[0], to = _a[1];\n this.view.dispatch(tr.setSelection(createTextSelection(tr, from, to)).scrollIntoView());\n };\n MdEditor.prototype.replaceSelection = function (text, start, end) {\n var newTr;\n var _a = this.view.state, tr = _a.tr, schema = _a.schema, doc = _a.doc;\n var lineTexts = text.split(reLineEnding$2);\n var nodes = lineTexts.map(function (lineText) {\n return createParagraph(schema, createNodesWithWidget(lineText, schema));\n });\n var slice = new prosemirror_model__WEBPACK_IMPORTED_MODULE_0__[\"Slice\"](prosemirror_model__WEBPACK_IMPORTED_MODULE_0__[\"Fragment\"].from(nodes), 1, 1);\n this.focus();\n if (start && end) {\n var _b = getMdToEditorPos(doc, start, end), from = _b[0], to = _b[1];\n newTr = tr.replaceRange(from, to, slice);\n }\n else {\n newTr = tr.replaceSelection(slice);\n }\n this.view.dispatch(newTr.scrollIntoView());\n };\n MdEditor.prototype.deleteSelection = function (start, end) {\n var newTr;\n var _a = this.view.state, tr = _a.tr, doc = _a.doc;\n if (start && end) {\n var _b = getMdToEditorPos(doc, start, end), from = _b[0], to = _b[1];\n newTr = tr.deleteRange(from, to);\n }\n else {\n newTr = tr.deleteSelection();\n }\n this.view.dispatch(newTr.scrollIntoView());\n };\n MdEditor.prototype.getSelectedText = function (start, end) {\n var _a = this.view.state, doc = _a.doc, selection = _a.selection;\n var from = selection.from, to = selection.to;\n if (start && end) {\n var pos = getMdToEditorPos(doc, start, end);\n from = pos[0];\n to = pos[1];\n }\n return doc.textBetween(from, to, '\\n');\n };\n MdEditor.prototype.getSelection = function () {\n var _a = this.view.state.selection, from = _a.from, to = _a.to;\n return getEditorToMdPos(this.view.state.tr.doc, from, to);\n };\n MdEditor.prototype.setMarkdown = function (markdown, cursorToEnd) {\n if (cursorToEnd === void 0) { cursorToEnd = true; }\n var lineTexts = markdown.split(reLineEnding$2);\n var _a = this.view.state, tr = _a.tr, doc = _a.doc, schema = _a.schema;\n var nodes = lineTexts.map(function (lineText) {\n return createParagraph(schema, createNodesWithWidget(lineText, schema));\n });\n this.view.dispatch(tr.replaceWith(0, doc.content.size, nodes));\n if (cursorToEnd) {\n this.moveCursorToEnd(true);\n }\n };\n MdEditor.prototype.addWidget = function (node, style, mdPos) {\n var _a = this.view.state, tr = _a.tr, doc = _a.doc, selection = _a.selection;\n var pos = mdPos ? getMdToEditorPos(doc, mdPos, mdPos)[0] : selection.to;\n this.view.dispatch(tr.setMeta('widget', { pos: pos, node: node, style: style }));\n };\n MdEditor.prototype.replaceWithWidget = function (start, end, text) {\n var _a = this.view.state, tr = _a.tr, schema = _a.schema, doc = _a.doc;\n var pos = getMdToEditorPos(doc, start, end);\n var nodes = createNodesWithWidget(text, schema);\n this.view.dispatch(tr.replaceWith(pos[0], pos[1], nodes));\n };\n MdEditor.prototype.getRangeInfoOfNode = function (pos) {\n var _a = this.view.state, doc = _a.doc, selection = _a.selection;\n var mdPos = pos || getEditorToMdPos(doc, selection.from)[0];\n var mdNode = this.toastMark.findNodeAtPosition(mdPos);\n if (mdNode.type === 'text' && mdNode.parent.type !== 'paragraph') {\n mdNode = mdNode.parent;\n }\n // add 1 sync for prosemirror position\n mdNode.sourcepos[1][1] += 1;\n return { range: mdNode.sourcepos, type: mdNode.type };\n };\n MdEditor.prototype.getMarkdown = function () {\n return this.toastMark\n .getLineTexts()\n .map(function (lineText) { return unwrapWidgetSyntax(lineText); })\n .join('\\n');\n };\n MdEditor.prototype.getToastMark = function () {\n return this.toastMark;\n };\n return MdEditor;\n}(EditorBase));\n\n/**\n * @fileoverview Get event collection for specific HTML element\n * @author NHN FE Development Lab \n */\n\nvar EVENT_KEY = '_feEventKey';\n\n/**\n * Get event collection for specific HTML element\n * @param {HTMLElement} element - HTML element\n * @param {string} type - event type\n * @returns {array}\n * @private\n */\nfunction safeEvent$2(element, type) {\n var events = element[EVENT_KEY];\n var handlers;\n\n if (!events) {\n events = element[EVENT_KEY] = {};\n }\n\n handlers = events[type];\n if (!handlers) {\n handlers = events[type] = [];\n }\n\n return handlers;\n}\n\nvar _safeEvent = safeEvent$2;\n\n/**\n * @fileoverview Unbind DOM events\n * @author NHN FE Development Lab \n */\n\nvar isString$1 = isString_1;\nvar forEach$1 = forEach_1;\n\nvar safeEvent$1 = _safeEvent;\n\n/**\n * Unbind DOM events\n * If a handler function is not passed, remove all events of that type.\n * @param {HTMLElement} element - element to unbind events\n * @param {(string|object)} types - Space splitted events names or eventName:handler object\n * @param {function} [handler] - handler function\n * @memberof module:domEvent\n * @example\n * // Following the example of domEvent#on\n * \n * // Unbind one event from an element.\n * off(div, 'click', toggle);\n * \n * // Unbind multiple events with a same handler from multiple elements at once.\n * // Use event names splitted by a space.\n * off(element, 'mouseenter mouseleave', changeColor);\n * \n * // Unbind multiple events with different handlers from an element at once.\n * // Use an object which of key is an event name and value is a handler function.\n * off(div, {\n * keydown: highlight,\n * keyup: dehighlight\n * });\n * \n * // Unbind events without handlers.\n * off(div, 'drag');\n */\nfunction off(element, types, handler) {\n if (isString$1(types)) {\n forEach$1(types.split(/\\s+/g), function(type) {\n unbindEvent(element, type, handler);\n });\n\n return;\n }\n\n forEach$1(types, function(func, type) {\n unbindEvent(element, type, func);\n });\n}\n\n/**\n * Unbind DOM events\n * If a handler function is not passed, remove all events of that type.\n * @param {HTMLElement} element - element to unbind events\n * @param {string} type - events name\n * @param {function} [handler] - handler function\n * @private\n */\nfunction unbindEvent(element, type, handler) {\n var events = safeEvent$1(element, type);\n var index;\n\n if (!handler) {\n forEach$1(events, function(item) {\n removeHandler(element, type, item.wrappedHandler);\n });\n events.splice(0, events.length);\n } else {\n forEach$1(events, function(item, idx) {\n if (handler === item.handler) {\n removeHandler(element, type, item.wrappedHandler);\n index = idx;\n\n return false;\n }\n\n return true;\n });\n events.splice(index, 1);\n }\n}\n\n/**\n * Remove an event handler\n * @param {HTMLElement} element - An element to remove an event\n * @param {string} type - event type\n * @param {function} handler - event handler\n * @private\n */\nfunction removeHandler(element, type, handler) {\n if ('removeEventListener' in element) {\n element.removeEventListener(type, handler);\n } else if ('detachEvent' in element) {\n element.detachEvent('on' + type, handler);\n }\n}\n\nvar off_1 = off;\n\n/**\n * @fileoverview Bind DOM events\n * @author NHN FE Development Lab \n */\n\nvar isString = isString_1;\nvar forEach = forEach_1;\n\nvar safeEvent = _safeEvent;\n\n/**\n * Bind DOM events.\n * @param {HTMLElement} element - element to bind events\n * @param {(string|object)} types - Space splitted events names or eventName:handler object\n * @param {(function|object)} handler - handler function or context for handler method\n * @param {object} [context] context - context for handler method.\n * @memberof module:domEvent\n * @example\n * const div = document.querySelector('div');\n * \n * // Bind one event to an element.\n * on(div, 'click', toggle);\n * \n * // Bind multiple events with a same handler to multiple elements at once.\n * // Use event names splitted by a space.\n * on(div, 'mouseenter mouseleave', changeColor);\n * \n * // Bind multiple events with different handlers to an element at once.\n * // Use an object which of key is an event name and value is a handler function.\n * on(div, {\n * keydown: highlight,\n * keyup: dehighlight\n * });\n * \n * // Set a context for handler method.\n * const name = 'global';\n * const repository = {name: 'CodeSnippet'};\n * on(div, 'drag', function() {\n * console.log(this.name);\n * }, repository);\n * // Result when you drag a div: \"CodeSnippet\"\n */\nfunction on(element, types, handler, context) {\n if (isString(types)) {\n forEach(types.split(/\\s+/g), function(type) {\n bindEvent(element, type, handler, context);\n });\n\n return;\n }\n\n forEach(types, function(func, type) {\n bindEvent(element, type, func, handler);\n });\n}\n\n/**\n * Bind DOM events\n * @param {HTMLElement} element - element to bind events\n * @param {string} type - events name\n * @param {function} handler - handler function or context for handler method\n * @param {object} [context] context - context for handler method.\n * @private\n */\nfunction bindEvent(element, type, handler, context) {\n /**\n * Event handler\n * @param {Event} e - event object\n */\n function eventHandler(e) {\n handler.call(context || element, e || window.event);\n }\n\n if ('addEventListener' in element) {\n element.addEventListener(type, eventHandler);\n } else if ('attachEvent' in element) {\n element.attachEvent('on' + type, eventHandler);\n }\n memorizeHandler(element, type, handler, eventHandler);\n}\n\n/**\n * Memorize DOM event handler for unbinding.\n * @param {HTMLElement} element - element to bind events\n * @param {string} type - events name\n * @param {function} handler - handler function that user passed at on() use\n * @param {function} wrappedHandler - handler function that wrapped by domevent for implementing some features\n * @private\n */\nfunction memorizeHandler(element, type, handler, wrappedHandler) {\n var events = safeEvent(element, type);\n var existInEvents = false;\n\n forEach(events, function(obj) {\n if (obj.handler === handler) {\n existInEvents = true;\n\n return false;\n }\n\n return true;\n });\n\n if (!existInEvents) {\n events.push({\n handler: handler,\n wrappedHandler: wrappedHandler\n });\n }\n}\n\nvar on_1 = on;\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nfunction __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nvar __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\n\r\nfunction __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\n\nvar commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};\n\nvar encodeCache = {};\n\n\n// Create a lookup array where anything but characters in `chars` string\n// and alphanumeric chars is percent-encoded.\n//\nfunction getEncodeCache(exclude) {\n var i, ch, cache = encodeCache[exclude];\n if (cache) { return cache; }\n\n cache = encodeCache[exclude] = [];\n\n for (i = 0; i < 128; i++) {\n ch = String.fromCharCode(i);\n\n if (/^[0-9a-z]$/i.test(ch)) {\n // always allow unencoded alphanumeric characters\n cache.push(ch);\n } else {\n cache.push('%' + ('0' + i.toString(16).toUpperCase()).slice(-2));\n }\n }\n\n for (i = 0; i < exclude.length; i++) {\n cache[exclude.charCodeAt(i)] = exclude[i];\n }\n\n return cache;\n}\n\n\n// Encode unsafe characters with percent-encoding, skipping already\n// encoded sequences.\n//\n// - string - string to encode\n// - exclude - list of characters to ignore (in addition to a-zA-Z0-9)\n// - keepEscaped - don't encode '%' in a correct escape sequence (default: true)\n//\nfunction encode$1(string, exclude, keepEscaped) {\n var i, l, code, nextCode, cache,\n result = '';\n\n if (typeof exclude !== 'string') {\n // encode(string, keepEscaped)\n keepEscaped = exclude;\n exclude = encode$1.defaultChars;\n }\n\n if (typeof keepEscaped === 'undefined') {\n keepEscaped = true;\n }\n\n cache = getEncodeCache(exclude);\n\n for (i = 0, l = string.length; i < l; i++) {\n code = string.charCodeAt(i);\n\n if (keepEscaped && code === 0x25 /* % */ && i + 2 < l) {\n if (/^[0-9a-f]{2}$/i.test(string.slice(i + 1, i + 3))) {\n result += string.slice(i, i + 3);\n i += 2;\n continue;\n }\n }\n\n if (code < 128) {\n result += cache[code];\n continue;\n }\n\n if (code >= 0xD800 && code <= 0xDFFF) {\n if (code >= 0xD800 && code <= 0xDBFF && i + 1 < l) {\n nextCode = string.charCodeAt(i + 1);\n if (nextCode >= 0xDC00 && nextCode <= 0xDFFF) {\n result += encodeURIComponent(string[i] + string[i + 1]);\n i++;\n continue;\n }\n }\n result += '%EF%BF%BD';\n continue;\n }\n\n result += encodeURIComponent(string[i]);\n }\n\n return result;\n}\n\nencode$1.defaultChars = \";/?:@&=+$,-_.!~*'()#\";\nencode$1.componentChars = \"-_.!~*'()\";\n\n\nvar encode_1 = encode$1;\n\nvar lib = {};\n\nvar decode = {};\n\nvar Aacute$1 = \"Á\";\nvar aacute$1 = \"á\";\nvar Abreve = \"Ă\";\nvar abreve = \"ă\";\nvar ac = \"∾\";\nvar acd = \"∿\";\nvar acE = \"∾̳\";\nvar Acirc$1 = \"Â\";\nvar acirc$1 = \"â\";\nvar acute$1 = \"´\";\nvar Acy = \"А\";\nvar acy = \"а\";\nvar AElig$1 = \"Æ\";\nvar aelig$1 = \"æ\";\nvar af = \"\";\nvar Afr = \"𝔄\";\nvar afr = \"𝔞\";\nvar Agrave$1 = \"À\";\nvar agrave$1 = \"à\";\nvar alefsym = \"ℵ\";\nvar aleph = \"ℵ\";\nvar Alpha = \"Α\";\nvar alpha = \"α\";\nvar Amacr = \"Ā\";\nvar amacr = \"ā\";\nvar amalg = \"⨿\";\nvar amp$2 = \"&\";\nvar AMP$1 = \"&\";\nvar andand = \"⩕\";\nvar And = \"⩓\";\nvar and = \"∧\";\nvar andd = \"⩜\";\nvar andslope = \"⩘\";\nvar andv = \"⩚\";\nvar ang = \"∠\";\nvar ange = \"⦤\";\nvar angle = \"∠\";\nvar angmsdaa = \"⦨\";\nvar angmsdab = \"⦩\";\nvar angmsdac = \"⦪\";\nvar angmsdad = \"⦫\";\nvar angmsdae = \"⦬\";\nvar angmsdaf = \"⦭\";\nvar angmsdag = \"⦮\";\nvar angmsdah = \"⦯\";\nvar angmsd = \"∡\";\nvar angrt = \"∟\";\nvar angrtvb = \"⊾\";\nvar angrtvbd = \"⦝\";\nvar angsph = \"∢\";\nvar angst = \"Å\";\nvar angzarr = \"⍼\";\nvar Aogon = \"Ą\";\nvar aogon = \"ą\";\nvar Aopf = \"𝔸\";\nvar aopf = \"𝕒\";\nvar apacir = \"⩯\";\nvar ap = \"≈\";\nvar apE = \"⩰\";\nvar ape = \"≊\";\nvar apid = \"≋\";\nvar apos$1 = \"'\";\nvar ApplyFunction = \"\";\nvar approx = \"≈\";\nvar approxeq = \"≊\";\nvar Aring$1 = \"Å\";\nvar aring$1 = \"å\";\nvar Ascr = \"𝒜\";\nvar ascr = \"𝒶\";\nvar Assign = \"≔\";\nvar ast = \"*\";\nvar asymp = \"≈\";\nvar asympeq = \"≍\";\nvar Atilde$1 = \"Ã\";\nvar atilde$1 = \"ã\";\nvar Auml$1 = \"Ä\";\nvar auml$1 = \"ä\";\nvar awconint = \"∳\";\nvar awint = \"⨑\";\nvar backcong = \"≌\";\nvar backepsilon = \"϶\";\nvar backprime = \"‵\";\nvar backsim = \"∽\";\nvar backsimeq = \"⋍\";\nvar Backslash = \"∖\";\nvar Barv = \"⫧\";\nvar barvee = \"⊽\";\nvar barwed = \"⌅\";\nvar Barwed = \"⌆\";\nvar barwedge = \"⌅\";\nvar bbrk = \"⎵\";\nvar bbrktbrk = \"⎶\";\nvar bcong = \"≌\";\nvar Bcy = \"Б\";\nvar bcy = \"б\";\nvar bdquo = \"„\";\nvar becaus = \"∵\";\nvar because = \"∵\";\nvar Because = \"∵\";\nvar bemptyv = \"⦰\";\nvar bepsi = \"϶\";\nvar bernou = \"ℬ\";\nvar Bernoullis = \"ℬ\";\nvar Beta = \"Β\";\nvar beta = \"β\";\nvar beth = \"ℶ\";\nvar between = \"≬\";\nvar Bfr = \"𝔅\";\nvar bfr = \"𝔟\";\nvar bigcap = \"⋂\";\nvar bigcirc = \"◯\";\nvar bigcup = \"⋃\";\nvar bigodot = \"⨀\";\nvar bigoplus = \"⨁\";\nvar bigotimes = \"⨂\";\nvar bigsqcup = \"⨆\";\nvar bigstar = \"★\";\nvar bigtriangledown = \"▽\";\nvar bigtriangleup = \"△\";\nvar biguplus = \"⨄\";\nvar bigvee = \"⋁\";\nvar bigwedge = \"⋀\";\nvar bkarow = \"⤍\";\nvar blacklozenge = \"⧫\";\nvar blacksquare = \"▪\";\nvar blacktriangle = \"▴\";\nvar blacktriangledown = \"▾\";\nvar blacktriangleleft = \"◂\";\nvar blacktriangleright = \"▸\";\nvar blank = \"␣\";\nvar blk12 = \"▒\";\nvar blk14 = \"░\";\nvar blk34 = \"▓\";\nvar block = \"█\";\nvar bne = \"=⃥\";\nvar bnequiv = \"≡⃥\";\nvar bNot = \"⫭\";\nvar bnot = \"⌐\";\nvar Bopf = \"𝔹\";\nvar bopf = \"𝕓\";\nvar bot = \"⊥\";\nvar bottom = \"⊥\";\nvar bowtie = \"⋈\";\nvar boxbox = \"⧉\";\nvar boxdl = \"┐\";\nvar boxdL = \"╕\";\nvar boxDl = \"╖\";\nvar boxDL = \"╗\";\nvar boxdr = \"┌\";\nvar boxdR = \"╒\";\nvar boxDr = \"╓\";\nvar boxDR = \"╔\";\nvar boxh = \"─\";\nvar boxH = \"═\";\nvar boxhd = \"┬\";\nvar boxHd = \"╤\";\nvar boxhD = \"╥\";\nvar boxHD = \"╦\";\nvar boxhu = \"┴\";\nvar boxHu = \"╧\";\nvar boxhU = \"╨\";\nvar boxHU = \"╩\";\nvar boxminus = \"⊟\";\nvar boxplus = \"⊞\";\nvar boxtimes = \"⊠\";\nvar boxul = \"┘\";\nvar boxuL = \"╛\";\nvar boxUl = \"╜\";\nvar boxUL = \"╝\";\nvar boxur = \"└\";\nvar boxuR = \"╘\";\nvar boxUr = \"╙\";\nvar boxUR = \"╚\";\nvar boxv = \"│\";\nvar boxV = \"║\";\nvar boxvh = \"┼\";\nvar boxvH = \"╪\";\nvar boxVh = \"╫\";\nvar boxVH = \"╬\";\nvar boxvl = \"┤\";\nvar boxvL = \"╡\";\nvar boxVl = \"╢\";\nvar boxVL = \"╣\";\nvar boxvr = \"├\";\nvar boxvR = \"╞\";\nvar boxVr = \"╟\";\nvar boxVR = \"╠\";\nvar bprime = \"‵\";\nvar breve = \"˘\";\nvar Breve = \"˘\";\nvar brvbar$1 = \"¦\";\nvar bscr = \"𝒷\";\nvar Bscr = \"ℬ\";\nvar bsemi = \"⁏\";\nvar bsim = \"∽\";\nvar bsime = \"⋍\";\nvar bsolb = \"⧅\";\nvar bsol = \"\\\\\";\nvar bsolhsub = \"⟈\";\nvar bull = \"•\";\nvar bullet = \"•\";\nvar bump = \"≎\";\nvar bumpE = \"⪮\";\nvar bumpe = \"≏\";\nvar Bumpeq = \"≎\";\nvar bumpeq = \"≏\";\nvar Cacute = \"Ć\";\nvar cacute = \"ć\";\nvar capand = \"⩄\";\nvar capbrcup = \"⩉\";\nvar capcap = \"⩋\";\nvar cap = \"∩\";\nvar Cap = \"⋒\";\nvar capcup = \"⩇\";\nvar capdot = \"⩀\";\nvar CapitalDifferentialD = \"ⅅ\";\nvar caps = \"∩︀\";\nvar caret = \"⁁\";\nvar caron = \"ˇ\";\nvar Cayleys = \"ℭ\";\nvar ccaps = \"⩍\";\nvar Ccaron = \"Č\";\nvar ccaron = \"č\";\nvar Ccedil$1 = \"Ç\";\nvar ccedil$1 = \"ç\";\nvar Ccirc = \"Ĉ\";\nvar ccirc = \"ĉ\";\nvar Cconint = \"∰\";\nvar ccups = \"⩌\";\nvar ccupssm = \"⩐\";\nvar Cdot = \"Ċ\";\nvar cdot = \"ċ\";\nvar cedil$1 = \"¸\";\nvar Cedilla = \"¸\";\nvar cemptyv = \"⦲\";\nvar cent$1 = \"¢\";\nvar centerdot = \"·\";\nvar CenterDot = \"·\";\nvar cfr = \"𝔠\";\nvar Cfr = \"ℭ\";\nvar CHcy = \"Ч\";\nvar chcy = \"ч\";\nvar check = \"✓\";\nvar checkmark = \"✓\";\nvar Chi = \"Χ\";\nvar chi = \"χ\";\nvar circ = \"ˆ\";\nvar circeq = \"≗\";\nvar circlearrowleft = \"↺\";\nvar circlearrowright = \"↻\";\nvar circledast = \"⊛\";\nvar circledcirc = \"⊚\";\nvar circleddash = \"⊝\";\nvar CircleDot = \"⊙\";\nvar circledR = \"®\";\nvar circledS = \"Ⓢ\";\nvar CircleMinus = \"⊖\";\nvar CirclePlus = \"⊕\";\nvar CircleTimes = \"⊗\";\nvar cir = \"○\";\nvar cirE = \"⧃\";\nvar cire = \"≗\";\nvar cirfnint = \"⨐\";\nvar cirmid = \"⫯\";\nvar cirscir = \"⧂\";\nvar ClockwiseContourIntegral = \"∲\";\nvar CloseCurlyDoubleQuote = \"”\";\nvar CloseCurlyQuote = \"’\";\nvar clubs = \"♣\";\nvar clubsuit = \"♣\";\nvar colon = \":\";\nvar Colon = \"∷\";\nvar Colone = \"⩴\";\nvar colone = \"≔\";\nvar coloneq = \"≔\";\nvar comma = \",\";\nvar commat = \"@\";\nvar comp = \"∁\";\nvar compfn = \"∘\";\nvar complement = \"∁\";\nvar complexes = \"ℂ\";\nvar cong = \"≅\";\nvar congdot = \"⩭\";\nvar Congruent = \"≡\";\nvar conint = \"∮\";\nvar Conint = \"∯\";\nvar ContourIntegral = \"∮\";\nvar copf = \"𝕔\";\nvar Copf = \"ℂ\";\nvar coprod = \"∐\";\nvar Coproduct = \"∐\";\nvar copy$1 = \"©\";\nvar COPY$1 = \"©\";\nvar copysr = \"℗\";\nvar CounterClockwiseContourIntegral = \"∳\";\nvar crarr = \"↵\";\nvar cross = \"✗\";\nvar Cross = \"⨯\";\nvar Cscr = \"𝒞\";\nvar cscr = \"𝒸\";\nvar csub = \"⫏\";\nvar csube = \"⫑\";\nvar csup = \"⫐\";\nvar csupe = \"⫒\";\nvar ctdot = \"⋯\";\nvar cudarrl = \"⤸\";\nvar cudarrr = \"⤵\";\nvar cuepr = \"⋞\";\nvar cuesc = \"⋟\";\nvar cularr = \"↶\";\nvar cularrp = \"⤽\";\nvar cupbrcap = \"⩈\";\nvar cupcap = \"⩆\";\nvar CupCap = \"≍\";\nvar cup = \"∪\";\nvar Cup = \"⋓\";\nvar cupcup = \"⩊\";\nvar cupdot = \"⊍\";\nvar cupor = \"⩅\";\nvar cups = \"∪︀\";\nvar curarr = \"↷\";\nvar curarrm = \"⤼\";\nvar curlyeqprec = \"⋞\";\nvar curlyeqsucc = \"⋟\";\nvar curlyvee = \"⋎\";\nvar curlywedge = \"⋏\";\nvar curren$1 = \"¤\";\nvar curvearrowleft = \"↶\";\nvar curvearrowright = \"↷\";\nvar cuvee = \"⋎\";\nvar cuwed = \"⋏\";\nvar cwconint = \"∲\";\nvar cwint = \"∱\";\nvar cylcty = \"⌭\";\nvar dagger = \"†\";\nvar Dagger = \"‡\";\nvar daleth = \"ℸ\";\nvar darr = \"↓\";\nvar Darr = \"↡\";\nvar dArr = \"⇓\";\nvar dash = \"‐\";\nvar Dashv = \"⫤\";\nvar dashv = \"⊣\";\nvar dbkarow = \"⤏\";\nvar dblac = \"˝\";\nvar Dcaron = \"Ď\";\nvar dcaron = \"ď\";\nvar Dcy = \"Д\";\nvar dcy = \"д\";\nvar ddagger = \"‡\";\nvar ddarr = \"⇊\";\nvar DD = \"ⅅ\";\nvar dd = \"ⅆ\";\nvar DDotrahd = \"⤑\";\nvar ddotseq = \"⩷\";\nvar deg$1 = \"°\";\nvar Del = \"∇\";\nvar Delta = \"Δ\";\nvar delta = \"δ\";\nvar demptyv = \"⦱\";\nvar dfisht = \"⥿\";\nvar Dfr = \"𝔇\";\nvar dfr = \"𝔡\";\nvar dHar = \"⥥\";\nvar dharl = \"⇃\";\nvar dharr = \"⇂\";\nvar DiacriticalAcute = \"´\";\nvar DiacriticalDot = \"˙\";\nvar DiacriticalDoubleAcute = \"˝\";\nvar DiacriticalGrave = \"`\";\nvar DiacriticalTilde = \"˜\";\nvar diam = \"⋄\";\nvar diamond = \"⋄\";\nvar Diamond = \"⋄\";\nvar diamondsuit = \"♦\";\nvar diams = \"♦\";\nvar die = \"¨\";\nvar DifferentialD = \"ⅆ\";\nvar digamma = \"ϝ\";\nvar disin = \"⋲\";\nvar div = \"÷\";\nvar divide$1 = \"÷\";\nvar divideontimes = \"⋇\";\nvar divonx = \"⋇\";\nvar DJcy = \"Ђ\";\nvar djcy = \"ђ\";\nvar dlcorn = \"⌞\";\nvar dlcrop = \"⌍\";\nvar dollar = \"$\";\nvar Dopf = \"𝔻\";\nvar dopf = \"𝕕\";\nvar Dot = \"¨\";\nvar dot = \"˙\";\nvar DotDot = \"⃜\";\nvar doteq = \"≐\";\nvar doteqdot = \"≑\";\nvar DotEqual = \"≐\";\nvar dotminus = \"∸\";\nvar dotplus = \"∔\";\nvar dotsquare = \"⊡\";\nvar doublebarwedge = \"⌆\";\nvar DoubleContourIntegral = \"∯\";\nvar DoubleDot = \"¨\";\nvar DoubleDownArrow = \"⇓\";\nvar DoubleLeftArrow = \"⇐\";\nvar DoubleLeftRightArrow = \"⇔\";\nvar DoubleLeftTee = \"⫤\";\nvar DoubleLongLeftArrow = \"⟸\";\nvar DoubleLongLeftRightArrow = \"⟺\";\nvar DoubleLongRightArrow = \"⟹\";\nvar DoubleRightArrow = \"⇒\";\nvar DoubleRightTee = \"⊨\";\nvar DoubleUpArrow = \"⇑\";\nvar DoubleUpDownArrow = \"⇕\";\nvar DoubleVerticalBar = \"∥\";\nvar DownArrowBar = \"⤓\";\nvar downarrow = \"↓\";\nvar DownArrow = \"↓\";\nvar Downarrow = \"⇓\";\nvar DownArrowUpArrow = \"⇵\";\nvar DownBreve = \"̑\";\nvar downdownarrows = \"⇊\";\nvar downharpoonleft = \"⇃\";\nvar downharpoonright = \"⇂\";\nvar DownLeftRightVector = \"⥐\";\nvar DownLeftTeeVector = \"⥞\";\nvar DownLeftVectorBar = \"⥖\";\nvar DownLeftVector = \"↽\";\nvar DownRightTeeVector = \"⥟\";\nvar DownRightVectorBar = \"⥗\";\nvar DownRightVector = \"⇁\";\nvar DownTeeArrow = \"↧\";\nvar DownTee = \"⊤\";\nvar drbkarow = \"⤐\";\nvar drcorn = \"⌟\";\nvar drcrop = \"⌌\";\nvar Dscr = \"𝒟\";\nvar dscr = \"𝒹\";\nvar DScy = \"Ѕ\";\nvar dscy = \"ѕ\";\nvar dsol = \"⧶\";\nvar Dstrok = \"Đ\";\nvar dstrok = \"đ\";\nvar dtdot = \"⋱\";\nvar dtri = \"▿\";\nvar dtrif = \"▾\";\nvar duarr = \"⇵\";\nvar duhar = \"⥯\";\nvar dwangle = \"⦦\";\nvar DZcy = \"Џ\";\nvar dzcy = \"џ\";\nvar dzigrarr = \"⟿\";\nvar Eacute$1 = \"É\";\nvar eacute$1 = \"é\";\nvar easter = \"⩮\";\nvar Ecaron = \"Ě\";\nvar ecaron = \"ě\";\nvar Ecirc$1 = \"Ê\";\nvar ecirc$1 = \"ê\";\nvar ecir = \"≖\";\nvar ecolon = \"≕\";\nvar Ecy = \"Э\";\nvar ecy = \"э\";\nvar eDDot = \"⩷\";\nvar Edot = \"Ė\";\nvar edot = \"ė\";\nvar eDot = \"≑\";\nvar ee = \"ⅇ\";\nvar efDot = \"≒\";\nvar Efr = \"𝔈\";\nvar efr = \"𝔢\";\nvar eg = \"⪚\";\nvar Egrave$1 = \"È\";\nvar egrave$1 = \"è\";\nvar egs = \"⪖\";\nvar egsdot = \"⪘\";\nvar el = \"⪙\";\nvar Element$1 = \"∈\";\nvar elinters = \"⏧\";\nvar ell = \"ℓ\";\nvar els = \"⪕\";\nvar elsdot = \"⪗\";\nvar Emacr = \"Ē\";\nvar emacr = \"ē\";\nvar empty = \"∅\";\nvar emptyset = \"∅\";\nvar EmptySmallSquare = \"◻\";\nvar emptyv = \"∅\";\nvar EmptyVerySmallSquare = \"▫\";\nvar emsp13 = \" \";\nvar emsp14 = \" \";\nvar emsp = \" \";\nvar ENG = \"Ŋ\";\nvar eng = \"ŋ\";\nvar ensp = \" \";\nvar Eogon = \"Ę\";\nvar eogon = \"ę\";\nvar Eopf = \"𝔼\";\nvar eopf = \"𝕖\";\nvar epar = \"⋕\";\nvar eparsl = \"⧣\";\nvar eplus = \"⩱\";\nvar epsi = \"ε\";\nvar Epsilon = \"Ε\";\nvar epsilon = \"ε\";\nvar epsiv = \"ϵ\";\nvar eqcirc = \"≖\";\nvar eqcolon = \"≕\";\nvar eqsim = \"≂\";\nvar eqslantgtr = \"⪖\";\nvar eqslantless = \"⪕\";\nvar Equal = \"⩵\";\nvar equals = \"=\";\nvar EqualTilde = \"≂\";\nvar equest = \"≟\";\nvar Equilibrium = \"⇌\";\nvar equiv = \"≡\";\nvar equivDD = \"⩸\";\nvar eqvparsl = \"⧥\";\nvar erarr = \"⥱\";\nvar erDot = \"≓\";\nvar escr = \"ℯ\";\nvar Escr = \"ℰ\";\nvar esdot = \"≐\";\nvar Esim = \"⩳\";\nvar esim = \"≂\";\nvar Eta = \"Η\";\nvar eta = \"η\";\nvar ETH$1 = \"Ð\";\nvar eth$1 = \"ð\";\nvar Euml$1 = \"Ë\";\nvar euml$1 = \"ë\";\nvar euro = \"€\";\nvar excl = \"!\";\nvar exist = \"∃\";\nvar Exists = \"∃\";\nvar expectation = \"ℰ\";\nvar exponentiale = \"ⅇ\";\nvar ExponentialE = \"ⅇ\";\nvar fallingdotseq = \"≒\";\nvar Fcy = \"Ф\";\nvar fcy = \"ф\";\nvar female = \"♀\";\nvar ffilig = \"ffi\";\nvar fflig = \"ff\";\nvar ffllig = \"ffl\";\nvar Ffr = \"𝔉\";\nvar ffr = \"𝔣\";\nvar filig = \"fi\";\nvar FilledSmallSquare = \"◼\";\nvar FilledVerySmallSquare = \"▪\";\nvar fjlig = \"fj\";\nvar flat = \"♭\";\nvar fllig = \"fl\";\nvar fltns = \"▱\";\nvar fnof = \"ƒ\";\nvar Fopf = \"𝔽\";\nvar fopf = \"𝕗\";\nvar forall = \"∀\";\nvar ForAll = \"∀\";\nvar fork = \"⋔\";\nvar forkv = \"⫙\";\nvar Fouriertrf = \"ℱ\";\nvar fpartint = \"⨍\";\nvar frac12$1 = \"½\";\nvar frac13 = \"⅓\";\nvar frac14$1 = \"¼\";\nvar frac15 = \"⅕\";\nvar frac16 = \"⅙\";\nvar frac18 = \"⅛\";\nvar frac23 = \"⅔\";\nvar frac25 = \"⅖\";\nvar frac34$1 = \"¾\";\nvar frac35 = \"⅗\";\nvar frac38 = \"⅜\";\nvar frac45 = \"⅘\";\nvar frac56 = \"⅚\";\nvar frac58 = \"⅝\";\nvar frac78 = \"⅞\";\nvar frasl = \"⁄\";\nvar frown = \"⌢\";\nvar fscr = \"𝒻\";\nvar Fscr = \"ℱ\";\nvar gacute = \"ǵ\";\nvar Gamma = \"Γ\";\nvar gamma = \"γ\";\nvar Gammad = \"Ϝ\";\nvar gammad = \"ϝ\";\nvar gap = \"⪆\";\nvar Gbreve = \"Ğ\";\nvar gbreve = \"ğ\";\nvar Gcedil = \"Ģ\";\nvar Gcirc = \"Ĝ\";\nvar gcirc = \"ĝ\";\nvar Gcy = \"Г\";\nvar gcy = \"г\";\nvar Gdot = \"Ġ\";\nvar gdot = \"ġ\";\nvar ge = \"≥\";\nvar gE = \"≧\";\nvar gEl = \"⪌\";\nvar gel = \"⋛\";\nvar geq = \"≥\";\nvar geqq = \"≧\";\nvar geqslant = \"⩾\";\nvar gescc = \"⪩\";\nvar ges = \"⩾\";\nvar gesdot = \"⪀\";\nvar gesdoto = \"⪂\";\nvar gesdotol = \"⪄\";\nvar gesl = \"⋛︀\";\nvar gesles = \"⪔\";\nvar Gfr = \"𝔊\";\nvar gfr = \"𝔤\";\nvar gg = \"≫\";\nvar Gg = \"⋙\";\nvar ggg = \"⋙\";\nvar gimel = \"ℷ\";\nvar GJcy = \"Ѓ\";\nvar gjcy = \"ѓ\";\nvar gla = \"⪥\";\nvar gl = \"≷\";\nvar glE = \"⪒\";\nvar glj = \"⪤\";\nvar gnap = \"⪊\";\nvar gnapprox = \"⪊\";\nvar gne = \"⪈\";\nvar gnE = \"≩\";\nvar gneq = \"⪈\";\nvar gneqq = \"≩\";\nvar gnsim = \"⋧\";\nvar Gopf = \"𝔾\";\nvar gopf = \"𝕘\";\nvar grave = \"`\";\nvar GreaterEqual = \"≥\";\nvar GreaterEqualLess = \"⋛\";\nvar GreaterFullEqual = \"≧\";\nvar GreaterGreater = \"⪢\";\nvar GreaterLess = \"≷\";\nvar GreaterSlantEqual = \"⩾\";\nvar GreaterTilde = \"≳\";\nvar Gscr = \"𝒢\";\nvar gscr = \"ℊ\";\nvar gsim = \"≳\";\nvar gsime = \"⪎\";\nvar gsiml = \"⪐\";\nvar gtcc = \"⪧\";\nvar gtcir = \"⩺\";\nvar gt$2 = \">\";\nvar GT$1 = \">\";\nvar Gt = \"≫\";\nvar gtdot = \"⋗\";\nvar gtlPar = \"⦕\";\nvar gtquest = \"⩼\";\nvar gtrapprox = \"⪆\";\nvar gtrarr = \"⥸\";\nvar gtrdot = \"⋗\";\nvar gtreqless = \"⋛\";\nvar gtreqqless = \"⪌\";\nvar gtrless = \"≷\";\nvar gtrsim = \"≳\";\nvar gvertneqq = \"≩︀\";\nvar gvnE = \"≩︀\";\nvar Hacek = \"ˇ\";\nvar hairsp = \" \";\nvar half = \"½\";\nvar hamilt = \"ℋ\";\nvar HARDcy = \"Ъ\";\nvar hardcy = \"ъ\";\nvar harrcir = \"⥈\";\nvar harr = \"↔\";\nvar hArr = \"⇔\";\nvar harrw = \"↭\";\nvar Hat = \"^\";\nvar hbar = \"ℏ\";\nvar Hcirc = \"Ĥ\";\nvar hcirc = \"ĥ\";\nvar hearts = \"♥\";\nvar heartsuit = \"♥\";\nvar hellip = \"…\";\nvar hercon = \"⊹\";\nvar hfr = \"𝔥\";\nvar Hfr = \"ℌ\";\nvar HilbertSpace = \"ℋ\";\nvar hksearow = \"⤥\";\nvar hkswarow = \"⤦\";\nvar hoarr = \"⇿\";\nvar homtht = \"∻\";\nvar hookleftarrow = \"↩\";\nvar hookrightarrow = \"↪\";\nvar hopf = \"𝕙\";\nvar Hopf = \"ℍ\";\nvar horbar = \"―\";\nvar HorizontalLine = \"─\";\nvar hscr = \"𝒽\";\nvar Hscr = \"ℋ\";\nvar hslash = \"ℏ\";\nvar Hstrok = \"Ħ\";\nvar hstrok = \"ħ\";\nvar HumpDownHump = \"≎\";\nvar HumpEqual = \"≏\";\nvar hybull = \"⁃\";\nvar hyphen = \"‐\";\nvar Iacute$1 = \"Í\";\nvar iacute$1 = \"í\";\nvar ic = \"\";\nvar Icirc$1 = \"Î\";\nvar icirc$1 = \"î\";\nvar Icy = \"И\";\nvar icy = \"и\";\nvar Idot = \"İ\";\nvar IEcy = \"Е\";\nvar iecy = \"е\";\nvar iexcl$1 = \"¡\";\nvar iff = \"⇔\";\nvar ifr = \"𝔦\";\nvar Ifr = \"ℑ\";\nvar Igrave$1 = \"Ì\";\nvar igrave$1 = \"ì\";\nvar ii = \"ⅈ\";\nvar iiiint = \"⨌\";\nvar iiint = \"∭\";\nvar iinfin = \"⧜\";\nvar iiota = \"℩\";\nvar IJlig = \"IJ\";\nvar ijlig = \"ij\";\nvar Imacr = \"Ī\";\nvar imacr = \"ī\";\nvar image = \"ℑ\";\nvar ImaginaryI = \"ⅈ\";\nvar imagline = \"ℐ\";\nvar imagpart = \"ℑ\";\nvar imath = \"ı\";\nvar Im = \"ℑ\";\nvar imof = \"⊷\";\nvar imped = \"Ƶ\";\nvar Implies = \"⇒\";\nvar incare = \"℅\";\nvar infin = \"∞\";\nvar infintie = \"⧝\";\nvar inodot = \"ı\";\nvar intcal = \"⊺\";\nvar int = \"∫\";\nvar Int = \"∬\";\nvar integers = \"ℤ\";\nvar Integral = \"∫\";\nvar intercal = \"⊺\";\nvar Intersection = \"⋂\";\nvar intlarhk = \"⨗\";\nvar intprod = \"⨼\";\nvar InvisibleComma = \"\";\nvar InvisibleTimes = \"\";\nvar IOcy = \"Ё\";\nvar iocy = \"ё\";\nvar Iogon = \"Į\";\nvar iogon = \"į\";\nvar Iopf = \"𝕀\";\nvar iopf = \"𝕚\";\nvar Iota = \"Ι\";\nvar iota = \"ι\";\nvar iprod = \"⨼\";\nvar iquest$1 = \"¿\";\nvar iscr = \"𝒾\";\nvar Iscr = \"ℐ\";\nvar isin = \"∈\";\nvar isindot = \"⋵\";\nvar isinE = \"⋹\";\nvar isins = \"⋴\";\nvar isinsv = \"⋳\";\nvar isinv = \"∈\";\nvar it = \"\";\nvar Itilde = \"Ĩ\";\nvar itilde = \"ĩ\";\nvar Iukcy = \"І\";\nvar iukcy = \"і\";\nvar Iuml$1 = \"Ï\";\nvar iuml$1 = \"ï\";\nvar Jcirc = \"Ĵ\";\nvar jcirc = \"ĵ\";\nvar Jcy = \"Й\";\nvar jcy = \"й\";\nvar Jfr = \"𝔍\";\nvar jfr = \"𝔧\";\nvar jmath = \"ȷ\";\nvar Jopf = \"𝕁\";\nvar jopf = \"𝕛\";\nvar Jscr = \"𝒥\";\nvar jscr = \"𝒿\";\nvar Jsercy = \"Ј\";\nvar jsercy = \"ј\";\nvar Jukcy = \"Є\";\nvar jukcy = \"є\";\nvar Kappa = \"Κ\";\nvar kappa = \"κ\";\nvar kappav = \"ϰ\";\nvar Kcedil = \"Ķ\";\nvar kcedil = \"ķ\";\nvar Kcy = \"К\";\nvar kcy = \"к\";\nvar Kfr = \"𝔎\";\nvar kfr = \"𝔨\";\nvar kgreen = \"ĸ\";\nvar KHcy = \"Х\";\nvar khcy = \"х\";\nvar KJcy = \"Ќ\";\nvar kjcy = \"ќ\";\nvar Kopf = \"𝕂\";\nvar kopf = \"𝕜\";\nvar Kscr = \"𝒦\";\nvar kscr = \"𝓀\";\nvar lAarr = \"⇚\";\nvar Lacute = \"Ĺ\";\nvar lacute = \"ĺ\";\nvar laemptyv = \"⦴\";\nvar lagran = \"ℒ\";\nvar Lambda = \"Λ\";\nvar lambda = \"λ\";\nvar lang = \"⟨\";\nvar Lang = \"⟪\";\nvar langd = \"⦑\";\nvar langle = \"⟨\";\nvar lap = \"⪅\";\nvar Laplacetrf = \"ℒ\";\nvar laquo$1 = \"«\";\nvar larrb = \"⇤\";\nvar larrbfs = \"⤟\";\nvar larr = \"←\";\nvar Larr = \"↞\";\nvar lArr = \"⇐\";\nvar larrfs = \"⤝\";\nvar larrhk = \"↩\";\nvar larrlp = \"↫\";\nvar larrpl = \"⤹\";\nvar larrsim = \"⥳\";\nvar larrtl = \"↢\";\nvar latail = \"⤙\";\nvar lAtail = \"⤛\";\nvar lat = \"⪫\";\nvar late = \"⪭\";\nvar lates = \"⪭︀\";\nvar lbarr = \"⤌\";\nvar lBarr = \"⤎\";\nvar lbbrk = \"❲\";\nvar lbrace = \"{\";\nvar lbrack = \"[\";\nvar lbrke = \"⦋\";\nvar lbrksld = \"⦏\";\nvar lbrkslu = \"⦍\";\nvar Lcaron = \"Ľ\";\nvar lcaron = \"ľ\";\nvar Lcedil = \"Ļ\";\nvar lcedil = \"ļ\";\nvar lceil = \"⌈\";\nvar lcub = \"{\";\nvar Lcy = \"Л\";\nvar lcy = \"л\";\nvar ldca = \"⤶\";\nvar ldquo = \"“\";\nvar ldquor = \"„\";\nvar ldrdhar = \"⥧\";\nvar ldrushar = \"⥋\";\nvar ldsh = \"↲\";\nvar le = \"≤\";\nvar lE = \"≦\";\nvar LeftAngleBracket = \"⟨\";\nvar LeftArrowBar = \"⇤\";\nvar leftarrow = \"←\";\nvar LeftArrow = \"←\";\nvar Leftarrow = \"⇐\";\nvar LeftArrowRightArrow = \"⇆\";\nvar leftarrowtail = \"↢\";\nvar LeftCeiling = \"⌈\";\nvar LeftDoubleBracket = \"⟦\";\nvar LeftDownTeeVector = \"⥡\";\nvar LeftDownVectorBar = \"⥙\";\nvar LeftDownVector = \"⇃\";\nvar LeftFloor = \"⌊\";\nvar leftharpoondown = \"↽\";\nvar leftharpoonup = \"↼\";\nvar leftleftarrows = \"⇇\";\nvar leftrightarrow = \"↔\";\nvar LeftRightArrow = \"↔\";\nvar Leftrightarrow = \"⇔\";\nvar leftrightarrows = \"⇆\";\nvar leftrightharpoons = \"⇋\";\nvar leftrightsquigarrow = \"↭\";\nvar LeftRightVector = \"⥎\";\nvar LeftTeeArrow = \"↤\";\nvar LeftTee = \"⊣\";\nvar LeftTeeVector = \"⥚\";\nvar leftthreetimes = \"⋋\";\nvar LeftTriangleBar = \"⧏\";\nvar LeftTriangle = \"⊲\";\nvar LeftTriangleEqual = \"⊴\";\nvar LeftUpDownVector = \"⥑\";\nvar LeftUpTeeVector = \"⥠\";\nvar LeftUpVectorBar = \"⥘\";\nvar LeftUpVector = \"↿\";\nvar LeftVectorBar = \"⥒\";\nvar LeftVector = \"↼\";\nvar lEg = \"⪋\";\nvar leg = \"⋚\";\nvar leq = \"≤\";\nvar leqq = \"≦\";\nvar leqslant = \"⩽\";\nvar lescc = \"⪨\";\nvar les = \"⩽\";\nvar lesdot = \"⩿\";\nvar lesdoto = \"⪁\";\nvar lesdotor = \"⪃\";\nvar lesg = \"⋚︀\";\nvar lesges = \"⪓\";\nvar lessapprox = \"⪅\";\nvar lessdot = \"⋖\";\nvar lesseqgtr = \"⋚\";\nvar lesseqqgtr = \"⪋\";\nvar LessEqualGreater = \"⋚\";\nvar LessFullEqual = \"≦\";\nvar LessGreater = \"≶\";\nvar lessgtr = \"≶\";\nvar LessLess = \"⪡\";\nvar lesssim = \"≲\";\nvar LessSlantEqual = \"⩽\";\nvar LessTilde = \"≲\";\nvar lfisht = \"⥼\";\nvar lfloor = \"⌊\";\nvar Lfr = \"𝔏\";\nvar lfr = \"𝔩\";\nvar lg = \"≶\";\nvar lgE = \"⪑\";\nvar lHar = \"⥢\";\nvar lhard = \"↽\";\nvar lharu = \"↼\";\nvar lharul = \"⥪\";\nvar lhblk = \"▄\";\nvar LJcy = \"Љ\";\nvar ljcy = \"љ\";\nvar llarr = \"⇇\";\nvar ll = \"≪\";\nvar Ll = \"⋘\";\nvar llcorner = \"⌞\";\nvar Lleftarrow = \"⇚\";\nvar llhard = \"⥫\";\nvar lltri = \"◺\";\nvar Lmidot = \"Ŀ\";\nvar lmidot = \"ŀ\";\nvar lmoustache = \"⎰\";\nvar lmoust = \"⎰\";\nvar lnap = \"⪉\";\nvar lnapprox = \"⪉\";\nvar lne = \"⪇\";\nvar lnE = \"≨\";\nvar lneq = \"⪇\";\nvar lneqq = \"≨\";\nvar lnsim = \"⋦\";\nvar loang = \"⟬\";\nvar loarr = \"⇽\";\nvar lobrk = \"⟦\";\nvar longleftarrow = \"⟵\";\nvar LongLeftArrow = \"⟵\";\nvar Longleftarrow = \"⟸\";\nvar longleftrightarrow = \"⟷\";\nvar LongLeftRightArrow = \"⟷\";\nvar Longleftrightarrow = \"⟺\";\nvar longmapsto = \"⟼\";\nvar longrightarrow = \"⟶\";\nvar LongRightArrow = \"⟶\";\nvar Longrightarrow = \"⟹\";\nvar looparrowleft = \"↫\";\nvar looparrowright = \"↬\";\nvar lopar = \"⦅\";\nvar Lopf = \"𝕃\";\nvar lopf = \"𝕝\";\nvar loplus = \"⨭\";\nvar lotimes = \"⨴\";\nvar lowast = \"∗\";\nvar lowbar = \"_\";\nvar LowerLeftArrow = \"↙\";\nvar LowerRightArrow = \"↘\";\nvar loz = \"◊\";\nvar lozenge = \"◊\";\nvar lozf = \"⧫\";\nvar lpar = \"(\";\nvar lparlt = \"⦓\";\nvar lrarr = \"⇆\";\nvar lrcorner = \"⌟\";\nvar lrhar = \"⇋\";\nvar lrhard = \"⥭\";\nvar lrm = \"\";\nvar lrtri = \"⊿\";\nvar lsaquo = \"‹\";\nvar lscr = \"𝓁\";\nvar Lscr = \"ℒ\";\nvar lsh = \"↰\";\nvar Lsh = \"↰\";\nvar lsim = \"≲\";\nvar lsime = \"⪍\";\nvar lsimg = \"⪏\";\nvar lsqb = \"[\";\nvar lsquo = \"‘\";\nvar lsquor = \"‚\";\nvar Lstrok = \"Ł\";\nvar lstrok = \"ł\";\nvar ltcc = \"⪦\";\nvar ltcir = \"⩹\";\nvar lt$2 = \"<\";\nvar LT$1 = \"<\";\nvar Lt = \"≪\";\nvar ltdot = \"⋖\";\nvar lthree = \"⋋\";\nvar ltimes = \"⋉\";\nvar ltlarr = \"⥶\";\nvar ltquest = \"⩻\";\nvar ltri = \"◃\";\nvar ltrie = \"⊴\";\nvar ltrif = \"◂\";\nvar ltrPar = \"⦖\";\nvar lurdshar = \"⥊\";\nvar luruhar = \"⥦\";\nvar lvertneqq = \"≨︀\";\nvar lvnE = \"≨︀\";\nvar macr$1 = \"¯\";\nvar male = \"♂\";\nvar malt = \"✠\";\nvar maltese = \"✠\";\nvar map = \"↦\";\nvar mapsto = \"↦\";\nvar mapstodown = \"↧\";\nvar mapstoleft = \"↤\";\nvar mapstoup = \"↥\";\nvar marker = \"▮\";\nvar mcomma = \"⨩\";\nvar Mcy = \"М\";\nvar mcy = \"м\";\nvar mdash = \"—\";\nvar mDDot = \"∺\";\nvar measuredangle = \"∡\";\nvar MediumSpace = \" \";\nvar Mellintrf = \"ℳ\";\nvar Mfr = \"𝔐\";\nvar mfr = \"𝔪\";\nvar mho = \"℧\";\nvar micro$1 = \"µ\";\nvar midast = \"*\";\nvar midcir = \"⫰\";\nvar mid = \"∣\";\nvar middot$1 = \"·\";\nvar minusb = \"⊟\";\nvar minus = \"−\";\nvar minusd = \"∸\";\nvar minusdu = \"⨪\";\nvar MinusPlus = \"∓\";\nvar mlcp = \"⫛\";\nvar mldr = \"…\";\nvar mnplus = \"∓\";\nvar models = \"⊧\";\nvar Mopf = \"𝕄\";\nvar mopf = \"𝕞\";\nvar mp = \"∓\";\nvar mscr = \"𝓂\";\nvar Mscr = \"ℳ\";\nvar mstpos = \"∾\";\nvar Mu = \"Μ\";\nvar mu = \"μ\";\nvar multimap = \"⊸\";\nvar mumap = \"⊸\";\nvar nabla = \"∇\";\nvar Nacute = \"Ń\";\nvar nacute = \"ń\";\nvar nang = \"∠⃒\";\nvar nap = \"≉\";\nvar napE = \"⩰̸\";\nvar napid = \"≋̸\";\nvar napos = \"ʼn\";\nvar napprox = \"≉\";\nvar natural = \"♮\";\nvar naturals = \"ℕ\";\nvar natur = \"♮\";\nvar nbsp$1 = \" \";\nvar nbump = \"≎̸\";\nvar nbumpe = \"≏̸\";\nvar ncap = \"⩃\";\nvar Ncaron = \"Ň\";\nvar ncaron = \"ň\";\nvar Ncedil = \"Ņ\";\nvar ncedil = \"ņ\";\nvar ncong = \"≇\";\nvar ncongdot = \"⩭̸\";\nvar ncup = \"⩂\";\nvar Ncy = \"Н\";\nvar ncy = \"н\";\nvar ndash = \"–\";\nvar nearhk = \"⤤\";\nvar nearr = \"↗\";\nvar neArr = \"⇗\";\nvar nearrow = \"↗\";\nvar ne = \"≠\";\nvar nedot = \"≐̸\";\nvar NegativeMediumSpace = \"\";\nvar NegativeThickSpace = \"\";\nvar NegativeThinSpace = \"\";\nvar NegativeVeryThinSpace = \"\";\nvar nequiv = \"≢\";\nvar nesear = \"⤨\";\nvar nesim = \"≂̸\";\nvar NestedGreaterGreater = \"≫\";\nvar NestedLessLess = \"≪\";\nvar NewLine = \"\\n\";\nvar nexist = \"∄\";\nvar nexists = \"∄\";\nvar Nfr = \"𝔑\";\nvar nfr = \"𝔫\";\nvar ngE = \"≧̸\";\nvar nge = \"≱\";\nvar ngeq = \"≱\";\nvar ngeqq = \"≧̸\";\nvar ngeqslant = \"⩾̸\";\nvar nges = \"⩾̸\";\nvar nGg = \"⋙̸\";\nvar ngsim = \"≵\";\nvar nGt = \"≫⃒\";\nvar ngt = \"≯\";\nvar ngtr = \"≯\";\nvar nGtv = \"≫̸\";\nvar nharr = \"↮\";\nvar nhArr = \"⇎\";\nvar nhpar = \"⫲\";\nvar ni = \"∋\";\nvar nis = \"⋼\";\nvar nisd = \"⋺\";\nvar niv = \"∋\";\nvar NJcy = \"Њ\";\nvar njcy = \"њ\";\nvar nlarr = \"↚\";\nvar nlArr = \"⇍\";\nvar nldr = \"‥\";\nvar nlE = \"≦̸\";\nvar nle = \"≰\";\nvar nleftarrow = \"↚\";\nvar nLeftarrow = \"⇍\";\nvar nleftrightarrow = \"↮\";\nvar nLeftrightarrow = \"⇎\";\nvar nleq = \"≰\";\nvar nleqq = \"≦̸\";\nvar nleqslant = \"⩽̸\";\nvar nles = \"⩽̸\";\nvar nless = \"≮\";\nvar nLl = \"⋘̸\";\nvar nlsim = \"≴\";\nvar nLt = \"≪⃒\";\nvar nlt = \"≮\";\nvar nltri = \"⋪\";\nvar nltrie = \"⋬\";\nvar nLtv = \"≪̸\";\nvar nmid = \"∤\";\nvar NoBreak = \"\";\nvar NonBreakingSpace = \" \";\nvar nopf = \"𝕟\";\nvar Nopf = \"ℕ\";\nvar Not = \"⫬\";\nvar not$1 = \"¬\";\nvar NotCongruent = \"≢\";\nvar NotCupCap = \"≭\";\nvar NotDoubleVerticalBar = \"∦\";\nvar NotElement = \"∉\";\nvar NotEqual = \"≠\";\nvar NotEqualTilde = \"≂̸\";\nvar NotExists = \"∄\";\nvar NotGreater = \"≯\";\nvar NotGreaterEqual = \"≱\";\nvar NotGreaterFullEqual = \"≧̸\";\nvar NotGreaterGreater = \"≫̸\";\nvar NotGreaterLess = \"≹\";\nvar NotGreaterSlantEqual = \"⩾̸\";\nvar NotGreaterTilde = \"≵\";\nvar NotHumpDownHump = \"≎̸\";\nvar NotHumpEqual = \"≏̸\";\nvar notin = \"∉\";\nvar notindot = \"⋵̸\";\nvar notinE = \"⋹̸\";\nvar notinva = \"∉\";\nvar notinvb = \"⋷\";\nvar notinvc = \"⋶\";\nvar NotLeftTriangleBar = \"⧏̸\";\nvar NotLeftTriangle = \"⋪\";\nvar NotLeftTriangleEqual = \"⋬\";\nvar NotLess = \"≮\";\nvar NotLessEqual = \"≰\";\nvar NotLessGreater = \"≸\";\nvar NotLessLess = \"≪̸\";\nvar NotLessSlantEqual = \"⩽̸\";\nvar NotLessTilde = \"≴\";\nvar NotNestedGreaterGreater = \"⪢̸\";\nvar NotNestedLessLess = \"⪡̸\";\nvar notni = \"∌\";\nvar notniva = \"∌\";\nvar notnivb = \"⋾\";\nvar notnivc = \"⋽\";\nvar NotPrecedes = \"⊀\";\nvar NotPrecedesEqual = \"⪯̸\";\nvar NotPrecedesSlantEqual = \"⋠\";\nvar NotReverseElement = \"∌\";\nvar NotRightTriangleBar = \"⧐̸\";\nvar NotRightTriangle = \"⋫\";\nvar NotRightTriangleEqual = \"⋭\";\nvar NotSquareSubset = \"⊏̸\";\nvar NotSquareSubsetEqual = \"⋢\";\nvar NotSquareSuperset = \"⊐̸\";\nvar NotSquareSupersetEqual = \"⋣\";\nvar NotSubset = \"⊂⃒\";\nvar NotSubsetEqual = \"⊈\";\nvar NotSucceeds = \"⊁\";\nvar NotSucceedsEqual = \"⪰̸\";\nvar NotSucceedsSlantEqual = \"⋡\";\nvar NotSucceedsTilde = \"≿̸\";\nvar NotSuperset = \"⊃⃒\";\nvar NotSupersetEqual = \"⊉\";\nvar NotTilde = \"≁\";\nvar NotTildeEqual = \"≄\";\nvar NotTildeFullEqual = \"≇\";\nvar NotTildeTilde = \"≉\";\nvar NotVerticalBar = \"∤\";\nvar nparallel = \"∦\";\nvar npar = \"∦\";\nvar nparsl = \"⫽⃥\";\nvar npart = \"∂̸\";\nvar npolint = \"⨔\";\nvar npr = \"⊀\";\nvar nprcue = \"⋠\";\nvar nprec = \"⊀\";\nvar npreceq = \"⪯̸\";\nvar npre = \"⪯̸\";\nvar nrarrc = \"⤳̸\";\nvar nrarr = \"↛\";\nvar nrArr = \"⇏\";\nvar nrarrw = \"↝̸\";\nvar nrightarrow = \"↛\";\nvar nRightarrow = \"⇏\";\nvar nrtri = \"⋫\";\nvar nrtrie = \"⋭\";\nvar nsc = \"⊁\";\nvar nsccue = \"⋡\";\nvar nsce = \"⪰̸\";\nvar Nscr = \"𝒩\";\nvar nscr = \"𝓃\";\nvar nshortmid = \"∤\";\nvar nshortparallel = \"∦\";\nvar nsim = \"≁\";\nvar nsime = \"≄\";\nvar nsimeq = \"≄\";\nvar nsmid = \"∤\";\nvar nspar = \"∦\";\nvar nsqsube = \"⋢\";\nvar nsqsupe = \"⋣\";\nvar nsub = \"⊄\";\nvar nsubE = \"⫅̸\";\nvar nsube = \"⊈\";\nvar nsubset = \"⊂⃒\";\nvar nsubseteq = \"⊈\";\nvar nsubseteqq = \"⫅̸\";\nvar nsucc = \"⊁\";\nvar nsucceq = \"⪰̸\";\nvar nsup = \"⊅\";\nvar nsupE = \"⫆̸\";\nvar nsupe = \"⊉\";\nvar nsupset = \"⊃⃒\";\nvar nsupseteq = \"⊉\";\nvar nsupseteqq = \"⫆̸\";\nvar ntgl = \"≹\";\nvar Ntilde$1 = \"Ñ\";\nvar ntilde$1 = \"ñ\";\nvar ntlg = \"≸\";\nvar ntriangleleft = \"⋪\";\nvar ntrianglelefteq = \"⋬\";\nvar ntriangleright = \"⋫\";\nvar ntrianglerighteq = \"⋭\";\nvar Nu = \"Ν\";\nvar nu = \"ν\";\nvar num = \"#\";\nvar numero = \"№\";\nvar numsp = \" \";\nvar nvap = \"≍⃒\";\nvar nvdash = \"⊬\";\nvar nvDash = \"⊭\";\nvar nVdash = \"⊮\";\nvar nVDash = \"⊯\";\nvar nvge = \"≥⃒\";\nvar nvgt = \">⃒\";\nvar nvHarr = \"⤄\";\nvar nvinfin = \"⧞\";\nvar nvlArr = \"⤂\";\nvar nvle = \"≤⃒\";\nvar nvlt = \"<⃒\";\nvar nvltrie = \"⊴⃒\";\nvar nvrArr = \"⤃\";\nvar nvrtrie = \"⊵⃒\";\nvar nvsim = \"∼⃒\";\nvar nwarhk = \"⤣\";\nvar nwarr = \"↖\";\nvar nwArr = \"⇖\";\nvar nwarrow = \"↖\";\nvar nwnear = \"⤧\";\nvar Oacute$1 = \"Ó\";\nvar oacute$1 = \"ó\";\nvar oast = \"⊛\";\nvar Ocirc$1 = \"Ô\";\nvar ocirc$1 = \"ô\";\nvar ocir = \"⊚\";\nvar Ocy = \"О\";\nvar ocy = \"о\";\nvar odash = \"⊝\";\nvar Odblac = \"Ő\";\nvar odblac = \"ő\";\nvar odiv = \"⨸\";\nvar odot = \"⊙\";\nvar odsold = \"⦼\";\nvar OElig = \"Œ\";\nvar oelig = \"œ\";\nvar ofcir = \"⦿\";\nvar Ofr = \"𝔒\";\nvar ofr = \"𝔬\";\nvar ogon = \"˛\";\nvar Ograve$1 = \"Ò\";\nvar ograve$1 = \"ò\";\nvar ogt = \"⧁\";\nvar ohbar = \"⦵\";\nvar ohm = \"Ω\";\nvar oint = \"∮\";\nvar olarr = \"↺\";\nvar olcir = \"⦾\";\nvar olcross = \"⦻\";\nvar oline = \"‾\";\nvar olt = \"⧀\";\nvar Omacr = \"Ō\";\nvar omacr = \"ō\";\nvar Omega = \"Ω\";\nvar omega = \"ω\";\nvar Omicron = \"Ο\";\nvar omicron = \"ο\";\nvar omid = \"⦶\";\nvar ominus = \"⊖\";\nvar Oopf = \"𝕆\";\nvar oopf = \"𝕠\";\nvar opar = \"⦷\";\nvar OpenCurlyDoubleQuote = \"“\";\nvar OpenCurlyQuote = \"‘\";\nvar operp = \"⦹\";\nvar oplus = \"⊕\";\nvar orarr = \"↻\";\nvar Or = \"⩔\";\nvar or = \"∨\";\nvar ord = \"⩝\";\nvar order = \"ℴ\";\nvar orderof = \"ℴ\";\nvar ordf$1 = \"ª\";\nvar ordm$1 = \"º\";\nvar origof = \"⊶\";\nvar oror = \"⩖\";\nvar orslope = \"⩗\";\nvar orv = \"⩛\";\nvar oS = \"Ⓢ\";\nvar Oscr = \"𝒪\";\nvar oscr = \"ℴ\";\nvar Oslash$1 = \"Ø\";\nvar oslash$1 = \"ø\";\nvar osol = \"⊘\";\nvar Otilde$1 = \"Õ\";\nvar otilde$1 = \"õ\";\nvar otimesas = \"⨶\";\nvar Otimes = \"⨷\";\nvar otimes = \"⊗\";\nvar Ouml$1 = \"Ö\";\nvar ouml$1 = \"ö\";\nvar ovbar = \"⌽\";\nvar OverBar = \"‾\";\nvar OverBrace = \"⏞\";\nvar OverBracket = \"⎴\";\nvar OverParenthesis = \"⏜\";\nvar para$1 = \"¶\";\nvar parallel = \"∥\";\nvar par = \"∥\";\nvar parsim = \"⫳\";\nvar parsl = \"⫽\";\nvar part = \"∂\";\nvar PartialD = \"∂\";\nvar Pcy = \"П\";\nvar pcy = \"п\";\nvar percnt = \"%\";\nvar period = \".\";\nvar permil = \"‰\";\nvar perp = \"⊥\";\nvar pertenk = \"‱\";\nvar Pfr = \"𝔓\";\nvar pfr = \"𝔭\";\nvar Phi = \"Φ\";\nvar phi = \"φ\";\nvar phiv = \"ϕ\";\nvar phmmat = \"ℳ\";\nvar phone = \"☎\";\nvar Pi = \"Π\";\nvar pi = \"π\";\nvar pitchfork = \"⋔\";\nvar piv = \"ϖ\";\nvar planck = \"ℏ\";\nvar planckh = \"ℎ\";\nvar plankv = \"ℏ\";\nvar plusacir = \"⨣\";\nvar plusb = \"⊞\";\nvar pluscir = \"⨢\";\nvar plus = \"+\";\nvar plusdo = \"∔\";\nvar plusdu = \"⨥\";\nvar pluse = \"⩲\";\nvar PlusMinus = \"±\";\nvar plusmn$1 = \"±\";\nvar plussim = \"⨦\";\nvar plustwo = \"⨧\";\nvar pm = \"±\";\nvar Poincareplane = \"ℌ\";\nvar pointint = \"⨕\";\nvar popf = \"𝕡\";\nvar Popf = \"ℙ\";\nvar pound$1 = \"£\";\nvar prap = \"⪷\";\nvar Pr = \"⪻\";\nvar pr = \"≺\";\nvar prcue = \"≼\";\nvar precapprox = \"⪷\";\nvar prec = \"≺\";\nvar preccurlyeq = \"≼\";\nvar Precedes = \"≺\";\nvar PrecedesEqual = \"⪯\";\nvar PrecedesSlantEqual = \"≼\";\nvar PrecedesTilde = \"≾\";\nvar preceq = \"⪯\";\nvar precnapprox = \"⪹\";\nvar precneqq = \"⪵\";\nvar precnsim = \"⋨\";\nvar pre = \"⪯\";\nvar prE = \"⪳\";\nvar precsim = \"≾\";\nvar prime = \"′\";\nvar Prime = \"″\";\nvar primes = \"ℙ\";\nvar prnap = \"⪹\";\nvar prnE = \"⪵\";\nvar prnsim = \"⋨\";\nvar prod = \"∏\";\nvar Product = \"∏\";\nvar profalar = \"⌮\";\nvar profline = \"⌒\";\nvar profsurf = \"⌓\";\nvar prop = \"∝\";\nvar Proportional = \"∝\";\nvar Proportion = \"∷\";\nvar propto = \"∝\";\nvar prsim = \"≾\";\nvar prurel = \"⊰\";\nvar Pscr = \"𝒫\";\nvar pscr = \"𝓅\";\nvar Psi = \"Ψ\";\nvar psi = \"ψ\";\nvar puncsp = \" \";\nvar Qfr = \"𝔔\";\nvar qfr = \"𝔮\";\nvar qint = \"⨌\";\nvar qopf = \"𝕢\";\nvar Qopf = \"ℚ\";\nvar qprime = \"⁗\";\nvar Qscr = \"𝒬\";\nvar qscr = \"𝓆\";\nvar quaternions = \"ℍ\";\nvar quatint = \"⨖\";\nvar quest = \"?\";\nvar questeq = \"≟\";\nvar quot$2 = \"\\\"\";\nvar QUOT$1 = \"\\\"\";\nvar rAarr = \"⇛\";\nvar race = \"∽̱\";\nvar Racute = \"Ŕ\";\nvar racute = \"ŕ\";\nvar radic = \"√\";\nvar raemptyv = \"⦳\";\nvar rang = \"⟩\";\nvar Rang = \"⟫\";\nvar rangd = \"⦒\";\nvar range = \"⦥\";\nvar rangle = \"⟩\";\nvar raquo$1 = \"»\";\nvar rarrap = \"⥵\";\nvar rarrb = \"⇥\";\nvar rarrbfs = \"⤠\";\nvar rarrc = \"⤳\";\nvar rarr = \"→\";\nvar Rarr = \"↠\";\nvar rArr = \"⇒\";\nvar rarrfs = \"⤞\";\nvar rarrhk = \"↪\";\nvar rarrlp = \"↬\";\nvar rarrpl = \"⥅\";\nvar rarrsim = \"⥴\";\nvar Rarrtl = \"⤖\";\nvar rarrtl = \"↣\";\nvar rarrw = \"↝\";\nvar ratail = \"⤚\";\nvar rAtail = \"⤜\";\nvar ratio = \"∶\";\nvar rationals = \"ℚ\";\nvar rbarr = \"⤍\";\nvar rBarr = \"⤏\";\nvar RBarr = \"⤐\";\nvar rbbrk = \"❳\";\nvar rbrace = \"}\";\nvar rbrack = \"]\";\nvar rbrke = \"⦌\";\nvar rbrksld = \"⦎\";\nvar rbrkslu = \"⦐\";\nvar Rcaron = \"Ř\";\nvar rcaron = \"ř\";\nvar Rcedil = \"Ŗ\";\nvar rcedil = \"ŗ\";\nvar rceil = \"⌉\";\nvar rcub = \"}\";\nvar Rcy = \"Р\";\nvar rcy = \"р\";\nvar rdca = \"⤷\";\nvar rdldhar = \"⥩\";\nvar rdquo = \"”\";\nvar rdquor = \"”\";\nvar rdsh = \"↳\";\nvar real = \"ℜ\";\nvar realine = \"ℛ\";\nvar realpart = \"ℜ\";\nvar reals = \"ℝ\";\nvar Re = \"ℜ\";\nvar rect = \"▭\";\nvar reg$1 = \"®\";\nvar REG$1 = \"®\";\nvar ReverseElement = \"∋\";\nvar ReverseEquilibrium = \"⇋\";\nvar ReverseUpEquilibrium = \"⥯\";\nvar rfisht = \"⥽\";\nvar rfloor = \"⌋\";\nvar rfr = \"𝔯\";\nvar Rfr = \"ℜ\";\nvar rHar = \"⥤\";\nvar rhard = \"⇁\";\nvar rharu = \"⇀\";\nvar rharul = \"⥬\";\nvar Rho = \"Ρ\";\nvar rho = \"ρ\";\nvar rhov = \"ϱ\";\nvar RightAngleBracket = \"⟩\";\nvar RightArrowBar = \"⇥\";\nvar rightarrow = \"→\";\nvar RightArrow = \"→\";\nvar Rightarrow = \"⇒\";\nvar RightArrowLeftArrow = \"⇄\";\nvar rightarrowtail = \"↣\";\nvar RightCeiling = \"⌉\";\nvar RightDoubleBracket = \"⟧\";\nvar RightDownTeeVector = \"⥝\";\nvar RightDownVectorBar = \"⥕\";\nvar RightDownVector = \"⇂\";\nvar RightFloor = \"⌋\";\nvar rightharpoondown = \"⇁\";\nvar rightharpoonup = \"⇀\";\nvar rightleftarrows = \"⇄\";\nvar rightleftharpoons = \"⇌\";\nvar rightrightarrows = \"⇉\";\nvar rightsquigarrow = \"↝\";\nvar RightTeeArrow = \"↦\";\nvar RightTee = \"⊢\";\nvar RightTeeVector = \"⥛\";\nvar rightthreetimes = \"⋌\";\nvar RightTriangleBar = \"⧐\";\nvar RightTriangle = \"⊳\";\nvar RightTriangleEqual = \"⊵\";\nvar RightUpDownVector = \"⥏\";\nvar RightUpTeeVector = \"⥜\";\nvar RightUpVectorBar = \"⥔\";\nvar RightUpVector = \"↾\";\nvar RightVectorBar = \"⥓\";\nvar RightVector = \"⇀\";\nvar ring = \"˚\";\nvar risingdotseq = \"≓\";\nvar rlarr = \"⇄\";\nvar rlhar = \"⇌\";\nvar rlm = \"\";\nvar rmoustache = \"⎱\";\nvar rmoust = \"⎱\";\nvar rnmid = \"⫮\";\nvar roang = \"⟭\";\nvar roarr = \"⇾\";\nvar robrk = \"⟧\";\nvar ropar = \"⦆\";\nvar ropf = \"𝕣\";\nvar Ropf = \"ℝ\";\nvar roplus = \"⨮\";\nvar rotimes = \"⨵\";\nvar RoundImplies = \"⥰\";\nvar rpar = \")\";\nvar rpargt = \"⦔\";\nvar rppolint = \"⨒\";\nvar rrarr = \"⇉\";\nvar Rrightarrow = \"⇛\";\nvar rsaquo = \"›\";\nvar rscr = \"𝓇\";\nvar Rscr = \"ℛ\";\nvar rsh = \"↱\";\nvar Rsh = \"↱\";\nvar rsqb = \"]\";\nvar rsquo = \"’\";\nvar rsquor = \"’\";\nvar rthree = \"⋌\";\nvar rtimes = \"⋊\";\nvar rtri = \"▹\";\nvar rtrie = \"⊵\";\nvar rtrif = \"▸\";\nvar rtriltri = \"⧎\";\nvar RuleDelayed = \"⧴\";\nvar ruluhar = \"⥨\";\nvar rx = \"℞\";\nvar Sacute = \"Ś\";\nvar sacute = \"ś\";\nvar sbquo = \"‚\";\nvar scap = \"⪸\";\nvar Scaron = \"Š\";\nvar scaron = \"š\";\nvar Sc = \"⪼\";\nvar sc = \"≻\";\nvar sccue = \"≽\";\nvar sce = \"⪰\";\nvar scE = \"⪴\";\nvar Scedil = \"Ş\";\nvar scedil = \"ş\";\nvar Scirc = \"Ŝ\";\nvar scirc = \"ŝ\";\nvar scnap = \"⪺\";\nvar scnE = \"⪶\";\nvar scnsim = \"⋩\";\nvar scpolint = \"⨓\";\nvar scsim = \"≿\";\nvar Scy = \"С\";\nvar scy = \"с\";\nvar sdotb = \"⊡\";\nvar sdot = \"⋅\";\nvar sdote = \"⩦\";\nvar searhk = \"⤥\";\nvar searr = \"↘\";\nvar seArr = \"⇘\";\nvar searrow = \"↘\";\nvar sect$1 = \"§\";\nvar semi = \";\";\nvar seswar = \"⤩\";\nvar setminus = \"∖\";\nvar setmn = \"∖\";\nvar sext = \"✶\";\nvar Sfr = \"𝔖\";\nvar sfr = \"𝔰\";\nvar sfrown = \"⌢\";\nvar sharp = \"♯\";\nvar SHCHcy = \"Щ\";\nvar shchcy = \"щ\";\nvar SHcy = \"Ш\";\nvar shcy = \"ш\";\nvar ShortDownArrow = \"↓\";\nvar ShortLeftArrow = \"←\";\nvar shortmid = \"∣\";\nvar shortparallel = \"∥\";\nvar ShortRightArrow = \"→\";\nvar ShortUpArrow = \"↑\";\nvar shy$1 = \"\";\nvar Sigma = \"Σ\";\nvar sigma = \"σ\";\nvar sigmaf = \"ς\";\nvar sigmav = \"ς\";\nvar sim = \"∼\";\nvar simdot = \"⩪\";\nvar sime = \"≃\";\nvar simeq = \"≃\";\nvar simg = \"⪞\";\nvar simgE = \"⪠\";\nvar siml = \"⪝\";\nvar simlE = \"⪟\";\nvar simne = \"≆\";\nvar simplus = \"⨤\";\nvar simrarr = \"⥲\";\nvar slarr = \"←\";\nvar SmallCircle = \"∘\";\nvar smallsetminus = \"∖\";\nvar smashp = \"⨳\";\nvar smeparsl = \"⧤\";\nvar smid = \"∣\";\nvar smile = \"⌣\";\nvar smt = \"⪪\";\nvar smte = \"⪬\";\nvar smtes = \"⪬︀\";\nvar SOFTcy = \"Ь\";\nvar softcy = \"ь\";\nvar solbar = \"⌿\";\nvar solb = \"⧄\";\nvar sol = \"/\";\nvar Sopf = \"𝕊\";\nvar sopf = \"𝕤\";\nvar spades = \"♠\";\nvar spadesuit = \"♠\";\nvar spar = \"∥\";\nvar sqcap = \"⊓\";\nvar sqcaps = \"⊓︀\";\nvar sqcup = \"⊔\";\nvar sqcups = \"⊔︀\";\nvar Sqrt = \"√\";\nvar sqsub = \"⊏\";\nvar sqsube = \"⊑\";\nvar sqsubset = \"⊏\";\nvar sqsubseteq = \"⊑\";\nvar sqsup = \"⊐\";\nvar sqsupe = \"⊒\";\nvar sqsupset = \"⊐\";\nvar sqsupseteq = \"⊒\";\nvar square = \"□\";\nvar Square = \"□\";\nvar SquareIntersection = \"⊓\";\nvar SquareSubset = \"⊏\";\nvar SquareSubsetEqual = \"⊑\";\nvar SquareSuperset = \"⊐\";\nvar SquareSupersetEqual = \"⊒\";\nvar SquareUnion = \"⊔\";\nvar squarf = \"▪\";\nvar squ = \"□\";\nvar squf = \"▪\";\nvar srarr = \"→\";\nvar Sscr = \"𝒮\";\nvar sscr = \"𝓈\";\nvar ssetmn = \"∖\";\nvar ssmile = \"⌣\";\nvar sstarf = \"⋆\";\nvar Star = \"⋆\";\nvar star = \"☆\";\nvar starf = \"★\";\nvar straightepsilon = \"ϵ\";\nvar straightphi = \"ϕ\";\nvar strns = \"¯\";\nvar sub = \"⊂\";\nvar Sub = \"⋐\";\nvar subdot = \"⪽\";\nvar subE = \"⫅\";\nvar sube = \"⊆\";\nvar subedot = \"⫃\";\nvar submult = \"⫁\";\nvar subnE = \"⫋\";\nvar subne = \"⊊\";\nvar subplus = \"⪿\";\nvar subrarr = \"⥹\";\nvar subset = \"⊂\";\nvar Subset = \"⋐\";\nvar subseteq = \"⊆\";\nvar subseteqq = \"⫅\";\nvar SubsetEqual = \"⊆\";\nvar subsetneq = \"⊊\";\nvar subsetneqq = \"⫋\";\nvar subsim = \"⫇\";\nvar subsub = \"⫕\";\nvar subsup = \"⫓\";\nvar succapprox = \"⪸\";\nvar succ = \"≻\";\nvar succcurlyeq = \"≽\";\nvar Succeeds = \"≻\";\nvar SucceedsEqual = \"⪰\";\nvar SucceedsSlantEqual = \"≽\";\nvar SucceedsTilde = \"≿\";\nvar succeq = \"⪰\";\nvar succnapprox = \"⪺\";\nvar succneqq = \"⪶\";\nvar succnsim = \"⋩\";\nvar succsim = \"≿\";\nvar SuchThat = \"∋\";\nvar sum = \"∑\";\nvar Sum = \"∑\";\nvar sung = \"♪\";\nvar sup1$1 = \"¹\";\nvar sup2$1 = \"²\";\nvar sup3$1 = \"³\";\nvar sup = \"⊃\";\nvar Sup = \"⋑\";\nvar supdot = \"⪾\";\nvar supdsub = \"⫘\";\nvar supE = \"⫆\";\nvar supe = \"⊇\";\nvar supedot = \"⫄\";\nvar Superset = \"⊃\";\nvar SupersetEqual = \"⊇\";\nvar suphsol = \"⟉\";\nvar suphsub = \"⫗\";\nvar suplarr = \"⥻\";\nvar supmult = \"⫂\";\nvar supnE = \"⫌\";\nvar supne = \"⊋\";\nvar supplus = \"⫀\";\nvar supset = \"⊃\";\nvar Supset = \"⋑\";\nvar supseteq = \"⊇\";\nvar supseteqq = \"⫆\";\nvar supsetneq = \"⊋\";\nvar supsetneqq = \"⫌\";\nvar supsim = \"⫈\";\nvar supsub = \"⫔\";\nvar supsup = \"⫖\";\nvar swarhk = \"⤦\";\nvar swarr = \"↙\";\nvar swArr = \"⇙\";\nvar swarrow = \"↙\";\nvar swnwar = \"⤪\";\nvar szlig$1 = \"ß\";\nvar Tab = \"\\t\";\nvar target = \"⌖\";\nvar Tau = \"Τ\";\nvar tau = \"τ\";\nvar tbrk = \"⎴\";\nvar Tcaron = \"Ť\";\nvar tcaron = \"ť\";\nvar Tcedil = \"Ţ\";\nvar tcedil = \"ţ\";\nvar Tcy = \"Т\";\nvar tcy = \"т\";\nvar tdot = \"⃛\";\nvar telrec = \"⌕\";\nvar Tfr = \"𝔗\";\nvar tfr = \"𝔱\";\nvar there4 = \"∴\";\nvar therefore = \"∴\";\nvar Therefore = \"∴\";\nvar Theta = \"Θ\";\nvar theta = \"θ\";\nvar thetasym = \"ϑ\";\nvar thetav = \"ϑ\";\nvar thickapprox = \"≈\";\nvar thicksim = \"∼\";\nvar ThickSpace = \" \";\nvar ThinSpace = \" \";\nvar thinsp = \" \";\nvar thkap = \"≈\";\nvar thksim = \"∼\";\nvar THORN$1 = \"Þ\";\nvar thorn$1 = \"þ\";\nvar tilde = \"˜\";\nvar Tilde = \"∼\";\nvar TildeEqual = \"≃\";\nvar TildeFullEqual = \"≅\";\nvar TildeTilde = \"≈\";\nvar timesbar = \"⨱\";\nvar timesb = \"⊠\";\nvar times$1 = \"×\";\nvar timesd = \"⨰\";\nvar tint = \"∭\";\nvar toea = \"⤨\";\nvar topbot = \"⌶\";\nvar topcir = \"⫱\";\nvar top = \"⊤\";\nvar Topf = \"𝕋\";\nvar topf = \"𝕥\";\nvar topfork = \"⫚\";\nvar tosa = \"⤩\";\nvar tprime = \"‴\";\nvar trade = \"™\";\nvar TRADE = \"™\";\nvar triangle = \"▵\";\nvar triangledown = \"▿\";\nvar triangleleft = \"◃\";\nvar trianglelefteq = \"⊴\";\nvar triangleq = \"≜\";\nvar triangleright = \"▹\";\nvar trianglerighteq = \"⊵\";\nvar tridot = \"◬\";\nvar trie = \"≜\";\nvar triminus = \"⨺\";\nvar TripleDot = \"⃛\";\nvar triplus = \"⨹\";\nvar trisb = \"⧍\";\nvar tritime = \"⨻\";\nvar trpezium = \"⏢\";\nvar Tscr = \"𝒯\";\nvar tscr = \"𝓉\";\nvar TScy = \"Ц\";\nvar tscy = \"ц\";\nvar TSHcy = \"Ћ\";\nvar tshcy = \"ћ\";\nvar Tstrok = \"Ŧ\";\nvar tstrok = \"ŧ\";\nvar twixt = \"≬\";\nvar twoheadleftarrow = \"↞\";\nvar twoheadrightarrow = \"↠\";\nvar Uacute$1 = \"Ú\";\nvar uacute$1 = \"ú\";\nvar uarr = \"↑\";\nvar Uarr = \"↟\";\nvar uArr = \"⇑\";\nvar Uarrocir = \"⥉\";\nvar Ubrcy = \"Ў\";\nvar ubrcy = \"ў\";\nvar Ubreve = \"Ŭ\";\nvar ubreve = \"ŭ\";\nvar Ucirc$1 = \"Û\";\nvar ucirc$1 = \"û\";\nvar Ucy = \"У\";\nvar ucy = \"у\";\nvar udarr = \"⇅\";\nvar Udblac = \"Ű\";\nvar udblac = \"ű\";\nvar udhar = \"⥮\";\nvar ufisht = \"⥾\";\nvar Ufr = \"𝔘\";\nvar ufr = \"𝔲\";\nvar Ugrave$1 = \"Ù\";\nvar ugrave$1 = \"ù\";\nvar uHar = \"⥣\";\nvar uharl = \"↿\";\nvar uharr = \"↾\";\nvar uhblk = \"▀\";\nvar ulcorn = \"⌜\";\nvar ulcorner = \"⌜\";\nvar ulcrop = \"⌏\";\nvar ultri = \"◸\";\nvar Umacr = \"Ū\";\nvar umacr = \"ū\";\nvar uml$1 = \"¨\";\nvar UnderBar = \"_\";\nvar UnderBrace = \"⏟\";\nvar UnderBracket = \"⎵\";\nvar UnderParenthesis = \"⏝\";\nvar Union = \"⋃\";\nvar UnionPlus = \"⊎\";\nvar Uogon = \"Ų\";\nvar uogon = \"ų\";\nvar Uopf = \"𝕌\";\nvar uopf = \"𝕦\";\nvar UpArrowBar = \"⤒\";\nvar uparrow = \"↑\";\nvar UpArrow = \"↑\";\nvar Uparrow = \"⇑\";\nvar UpArrowDownArrow = \"⇅\";\nvar updownarrow = \"↕\";\nvar UpDownArrow = \"↕\";\nvar Updownarrow = \"⇕\";\nvar UpEquilibrium = \"⥮\";\nvar upharpoonleft = \"↿\";\nvar upharpoonright = \"↾\";\nvar uplus = \"⊎\";\nvar UpperLeftArrow = \"↖\";\nvar UpperRightArrow = \"↗\";\nvar upsi = \"υ\";\nvar Upsi = \"ϒ\";\nvar upsih = \"ϒ\";\nvar Upsilon = \"Υ\";\nvar upsilon = \"υ\";\nvar UpTeeArrow = \"↥\";\nvar UpTee = \"⊥\";\nvar upuparrows = \"⇈\";\nvar urcorn = \"⌝\";\nvar urcorner = \"⌝\";\nvar urcrop = \"⌎\";\nvar Uring = \"Ů\";\nvar uring = \"ů\";\nvar urtri = \"◹\";\nvar Uscr = \"𝒰\";\nvar uscr = \"𝓊\";\nvar utdot = \"⋰\";\nvar Utilde = \"Ũ\";\nvar utilde = \"ũ\";\nvar utri = \"▵\";\nvar utrif = \"▴\";\nvar uuarr = \"⇈\";\nvar Uuml$1 = \"Ü\";\nvar uuml$1 = \"ü\";\nvar uwangle = \"⦧\";\nvar vangrt = \"⦜\";\nvar varepsilon = \"ϵ\";\nvar varkappa = \"ϰ\";\nvar varnothing = \"∅\";\nvar varphi = \"ϕ\";\nvar varpi = \"ϖ\";\nvar varpropto = \"∝\";\nvar varr = \"↕\";\nvar vArr = \"⇕\";\nvar varrho = \"ϱ\";\nvar varsigma = \"ς\";\nvar varsubsetneq = \"⊊︀\";\nvar varsubsetneqq = \"⫋︀\";\nvar varsupsetneq = \"⊋︀\";\nvar varsupsetneqq = \"⫌︀\";\nvar vartheta = \"ϑ\";\nvar vartriangleleft = \"⊲\";\nvar vartriangleright = \"⊳\";\nvar vBar = \"⫨\";\nvar Vbar = \"⫫\";\nvar vBarv = \"⫩\";\nvar Vcy = \"В\";\nvar vcy = \"в\";\nvar vdash = \"⊢\";\nvar vDash = \"⊨\";\nvar Vdash = \"⊩\";\nvar VDash = \"⊫\";\nvar Vdashl = \"⫦\";\nvar veebar = \"⊻\";\nvar vee = \"∨\";\nvar Vee = \"⋁\";\nvar veeeq = \"≚\";\nvar vellip = \"⋮\";\nvar verbar = \"|\";\nvar Verbar = \"‖\";\nvar vert = \"|\";\nvar Vert = \"‖\";\nvar VerticalBar = \"∣\";\nvar VerticalLine = \"|\";\nvar VerticalSeparator = \"❘\";\nvar VerticalTilde = \"≀\";\nvar VeryThinSpace = \" \";\nvar Vfr = \"𝔙\";\nvar vfr = \"𝔳\";\nvar vltri = \"⊲\";\nvar vnsub = \"⊂⃒\";\nvar vnsup = \"⊃⃒\";\nvar Vopf = \"𝕍\";\nvar vopf = \"𝕧\";\nvar vprop = \"∝\";\nvar vrtri = \"⊳\";\nvar Vscr = \"𝒱\";\nvar vscr = \"𝓋\";\nvar vsubnE = \"⫋︀\";\nvar vsubne = \"⊊︀\";\nvar vsupnE = \"⫌︀\";\nvar vsupne = \"⊋︀\";\nvar Vvdash = \"⊪\";\nvar vzigzag = \"⦚\";\nvar Wcirc = \"Ŵ\";\nvar wcirc = \"ŵ\";\nvar wedbar = \"⩟\";\nvar wedge = \"∧\";\nvar Wedge = \"⋀\";\nvar wedgeq = \"≙\";\nvar weierp = \"℘\";\nvar Wfr = \"𝔚\";\nvar wfr = \"𝔴\";\nvar Wopf = \"𝕎\";\nvar wopf = \"𝕨\";\nvar wp = \"℘\";\nvar wr = \"≀\";\nvar wreath = \"≀\";\nvar Wscr = \"𝒲\";\nvar wscr = \"𝓌\";\nvar xcap = \"⋂\";\nvar xcirc = \"◯\";\nvar xcup = \"⋃\";\nvar xdtri = \"▽\";\nvar Xfr = \"𝔛\";\nvar xfr = \"𝔵\";\nvar xharr = \"⟷\";\nvar xhArr = \"⟺\";\nvar Xi = \"Ξ\";\nvar xi = \"ξ\";\nvar xlarr = \"⟵\";\nvar xlArr = \"⟸\";\nvar xmap = \"⟼\";\nvar xnis = \"⋻\";\nvar xodot = \"⨀\";\nvar Xopf = \"𝕏\";\nvar xopf = \"𝕩\";\nvar xoplus = \"⨁\";\nvar xotime = \"⨂\";\nvar xrarr = \"⟶\";\nvar xrArr = \"⟹\";\nvar Xscr = \"𝒳\";\nvar xscr = \"𝓍\";\nvar xsqcup = \"⨆\";\nvar xuplus = \"⨄\";\nvar xutri = \"△\";\nvar xvee = \"⋁\";\nvar xwedge = \"⋀\";\nvar Yacute$1 = \"Ý\";\nvar yacute$1 = \"ý\";\nvar YAcy = \"Я\";\nvar yacy = \"я\";\nvar Ycirc = \"Ŷ\";\nvar ycirc = \"ŷ\";\nvar Ycy = \"Ы\";\nvar ycy = \"ы\";\nvar yen$1 = \"¥\";\nvar Yfr = \"𝔜\";\nvar yfr = \"𝔶\";\nvar YIcy = \"Ї\";\nvar yicy = \"ї\";\nvar Yopf = \"𝕐\";\nvar yopf = \"𝕪\";\nvar Yscr = \"𝒴\";\nvar yscr = \"𝓎\";\nvar YUcy = \"Ю\";\nvar yucy = \"ю\";\nvar yuml$1 = \"ÿ\";\nvar Yuml = \"Ÿ\";\nvar Zacute = \"Ź\";\nvar zacute = \"ź\";\nvar Zcaron = \"Ž\";\nvar zcaron = \"ž\";\nvar Zcy = \"З\";\nvar zcy = \"з\";\nvar Zdot = \"Ż\";\nvar zdot = \"ż\";\nvar zeetrf = \"ℨ\";\nvar ZeroWidthSpace = \"\";\nvar Zeta = \"Ζ\";\nvar zeta = \"ζ\";\nvar zfr = \"𝔷\";\nvar Zfr = \"ℨ\";\nvar ZHcy = \"Ж\";\nvar zhcy = \"ж\";\nvar zigrarr = \"⇝\";\nvar zopf = \"𝕫\";\nvar Zopf = \"ℤ\";\nvar Zscr = \"𝒵\";\nvar zscr = \"𝓏\";\nvar zwj = \"\";\nvar zwnj = \"\";\nvar require$$1$1 = {\n\tAacute: Aacute$1,\n\taacute: aacute$1,\n\tAbreve: Abreve,\n\tabreve: abreve,\n\tac: ac,\n\tacd: acd,\n\tacE: acE,\n\tAcirc: Acirc$1,\n\tacirc: acirc$1,\n\tacute: acute$1,\n\tAcy: Acy,\n\tacy: acy,\n\tAElig: AElig$1,\n\taelig: aelig$1,\n\taf: af,\n\tAfr: Afr,\n\tafr: afr,\n\tAgrave: Agrave$1,\n\tagrave: agrave$1,\n\talefsym: alefsym,\n\taleph: aleph,\n\tAlpha: Alpha,\n\talpha: alpha,\n\tAmacr: Amacr,\n\tamacr: amacr,\n\tamalg: amalg,\n\tamp: amp$2,\n\tAMP: AMP$1,\n\tandand: andand,\n\tAnd: And,\n\tand: and,\n\tandd: andd,\n\tandslope: andslope,\n\tandv: andv,\n\tang: ang,\n\tange: ange,\n\tangle: angle,\n\tangmsdaa: angmsdaa,\n\tangmsdab: angmsdab,\n\tangmsdac: angmsdac,\n\tangmsdad: angmsdad,\n\tangmsdae: angmsdae,\n\tangmsdaf: angmsdaf,\n\tangmsdag: angmsdag,\n\tangmsdah: angmsdah,\n\tangmsd: angmsd,\n\tangrt: angrt,\n\tangrtvb: angrtvb,\n\tangrtvbd: angrtvbd,\n\tangsph: angsph,\n\tangst: angst,\n\tangzarr: angzarr,\n\tAogon: Aogon,\n\taogon: aogon,\n\tAopf: Aopf,\n\taopf: aopf,\n\tapacir: apacir,\n\tap: ap,\n\tapE: apE,\n\tape: ape,\n\tapid: apid,\n\tapos: apos$1,\n\tApplyFunction: ApplyFunction,\n\tapprox: approx,\n\tapproxeq: approxeq,\n\tAring: Aring$1,\n\taring: aring$1,\n\tAscr: Ascr,\n\tascr: ascr,\n\tAssign: Assign,\n\tast: ast,\n\tasymp: asymp,\n\tasympeq: asympeq,\n\tAtilde: Atilde$1,\n\tatilde: atilde$1,\n\tAuml: Auml$1,\n\tauml: auml$1,\n\tawconint: awconint,\n\tawint: awint,\n\tbackcong: backcong,\n\tbackepsilon: backepsilon,\n\tbackprime: backprime,\n\tbacksim: backsim,\n\tbacksimeq: backsimeq,\n\tBackslash: Backslash,\n\tBarv: Barv,\n\tbarvee: barvee,\n\tbarwed: barwed,\n\tBarwed: Barwed,\n\tbarwedge: barwedge,\n\tbbrk: bbrk,\n\tbbrktbrk: bbrktbrk,\n\tbcong: bcong,\n\tBcy: Bcy,\n\tbcy: bcy,\n\tbdquo: bdquo,\n\tbecaus: becaus,\n\tbecause: because,\n\tBecause: Because,\n\tbemptyv: bemptyv,\n\tbepsi: bepsi,\n\tbernou: bernou,\n\tBernoullis: Bernoullis,\n\tBeta: Beta,\n\tbeta: beta,\n\tbeth: beth,\n\tbetween: between,\n\tBfr: Bfr,\n\tbfr: bfr,\n\tbigcap: bigcap,\n\tbigcirc: bigcirc,\n\tbigcup: bigcup,\n\tbigodot: bigodot,\n\tbigoplus: bigoplus,\n\tbigotimes: bigotimes,\n\tbigsqcup: bigsqcup,\n\tbigstar: bigstar,\n\tbigtriangledown: bigtriangledown,\n\tbigtriangleup: bigtriangleup,\n\tbiguplus: biguplus,\n\tbigvee: bigvee,\n\tbigwedge: bigwedge,\n\tbkarow: bkarow,\n\tblacklozenge: blacklozenge,\n\tblacksquare: blacksquare,\n\tblacktriangle: blacktriangle,\n\tblacktriangledown: blacktriangledown,\n\tblacktriangleleft: blacktriangleleft,\n\tblacktriangleright: blacktriangleright,\n\tblank: blank,\n\tblk12: blk12,\n\tblk14: blk14,\n\tblk34: blk34,\n\tblock: block,\n\tbne: bne,\n\tbnequiv: bnequiv,\n\tbNot: bNot,\n\tbnot: bnot,\n\tBopf: Bopf,\n\tbopf: bopf,\n\tbot: bot,\n\tbottom: bottom,\n\tbowtie: bowtie,\n\tboxbox: boxbox,\n\tboxdl: boxdl,\n\tboxdL: boxdL,\n\tboxDl: boxDl,\n\tboxDL: boxDL,\n\tboxdr: boxdr,\n\tboxdR: boxdR,\n\tboxDr: boxDr,\n\tboxDR: boxDR,\n\tboxh: boxh,\n\tboxH: boxH,\n\tboxhd: boxhd,\n\tboxHd: boxHd,\n\tboxhD: boxhD,\n\tboxHD: boxHD,\n\tboxhu: boxhu,\n\tboxHu: boxHu,\n\tboxhU: boxhU,\n\tboxHU: boxHU,\n\tboxminus: boxminus,\n\tboxplus: boxplus,\n\tboxtimes: boxtimes,\n\tboxul: boxul,\n\tboxuL: boxuL,\n\tboxUl: boxUl,\n\tboxUL: boxUL,\n\tboxur: boxur,\n\tboxuR: boxuR,\n\tboxUr: boxUr,\n\tboxUR: boxUR,\n\tboxv: boxv,\n\tboxV: boxV,\n\tboxvh: boxvh,\n\tboxvH: boxvH,\n\tboxVh: boxVh,\n\tboxVH: boxVH,\n\tboxvl: boxvl,\n\tboxvL: boxvL,\n\tboxVl: boxVl,\n\tboxVL: boxVL,\n\tboxvr: boxvr,\n\tboxvR: boxvR,\n\tboxVr: boxVr,\n\tboxVR: boxVR,\n\tbprime: bprime,\n\tbreve: breve,\n\tBreve: Breve,\n\tbrvbar: brvbar$1,\n\tbscr: bscr,\n\tBscr: Bscr,\n\tbsemi: bsemi,\n\tbsim: bsim,\n\tbsime: bsime,\n\tbsolb: bsolb,\n\tbsol: bsol,\n\tbsolhsub: bsolhsub,\n\tbull: bull,\n\tbullet: bullet,\n\tbump: bump,\n\tbumpE: bumpE,\n\tbumpe: bumpe,\n\tBumpeq: Bumpeq,\n\tbumpeq: bumpeq,\n\tCacute: Cacute,\n\tcacute: cacute,\n\tcapand: capand,\n\tcapbrcup: capbrcup,\n\tcapcap: capcap,\n\tcap: cap,\n\tCap: Cap,\n\tcapcup: capcup,\n\tcapdot: capdot,\n\tCapitalDifferentialD: CapitalDifferentialD,\n\tcaps: caps,\n\tcaret: caret,\n\tcaron: caron,\n\tCayleys: Cayleys,\n\tccaps: ccaps,\n\tCcaron: Ccaron,\n\tccaron: ccaron,\n\tCcedil: Ccedil$1,\n\tccedil: ccedil$1,\n\tCcirc: Ccirc,\n\tccirc: ccirc,\n\tCconint: Cconint,\n\tccups: ccups,\n\tccupssm: ccupssm,\n\tCdot: Cdot,\n\tcdot: cdot,\n\tcedil: cedil$1,\n\tCedilla: Cedilla,\n\tcemptyv: cemptyv,\n\tcent: cent$1,\n\tcenterdot: centerdot,\n\tCenterDot: CenterDot,\n\tcfr: cfr,\n\tCfr: Cfr,\n\tCHcy: CHcy,\n\tchcy: chcy,\n\tcheck: check,\n\tcheckmark: checkmark,\n\tChi: Chi,\n\tchi: chi,\n\tcirc: circ,\n\tcirceq: circeq,\n\tcirclearrowleft: circlearrowleft,\n\tcirclearrowright: circlearrowright,\n\tcircledast: circledast,\n\tcircledcirc: circledcirc,\n\tcircleddash: circleddash,\n\tCircleDot: CircleDot,\n\tcircledR: circledR,\n\tcircledS: circledS,\n\tCircleMinus: CircleMinus,\n\tCirclePlus: CirclePlus,\n\tCircleTimes: CircleTimes,\n\tcir: cir,\n\tcirE: cirE,\n\tcire: cire,\n\tcirfnint: cirfnint,\n\tcirmid: cirmid,\n\tcirscir: cirscir,\n\tClockwiseContourIntegral: ClockwiseContourIntegral,\n\tCloseCurlyDoubleQuote: CloseCurlyDoubleQuote,\n\tCloseCurlyQuote: CloseCurlyQuote,\n\tclubs: clubs,\n\tclubsuit: clubsuit,\n\tcolon: colon,\n\tColon: Colon,\n\tColone: Colone,\n\tcolone: colone,\n\tcoloneq: coloneq,\n\tcomma: comma,\n\tcommat: commat,\n\tcomp: comp,\n\tcompfn: compfn,\n\tcomplement: complement,\n\tcomplexes: complexes,\n\tcong: cong,\n\tcongdot: congdot,\n\tCongruent: Congruent,\n\tconint: conint,\n\tConint: Conint,\n\tContourIntegral: ContourIntegral,\n\tcopf: copf,\n\tCopf: Copf,\n\tcoprod: coprod,\n\tCoproduct: Coproduct,\n\tcopy: copy$1,\n\tCOPY: COPY$1,\n\tcopysr: copysr,\n\tCounterClockwiseContourIntegral: CounterClockwiseContourIntegral,\n\tcrarr: crarr,\n\tcross: cross,\n\tCross: Cross,\n\tCscr: Cscr,\n\tcscr: cscr,\n\tcsub: csub,\n\tcsube: csube,\n\tcsup: csup,\n\tcsupe: csupe,\n\tctdot: ctdot,\n\tcudarrl: cudarrl,\n\tcudarrr: cudarrr,\n\tcuepr: cuepr,\n\tcuesc: cuesc,\n\tcularr: cularr,\n\tcularrp: cularrp,\n\tcupbrcap: cupbrcap,\n\tcupcap: cupcap,\n\tCupCap: CupCap,\n\tcup: cup,\n\tCup: Cup,\n\tcupcup: cupcup,\n\tcupdot: cupdot,\n\tcupor: cupor,\n\tcups: cups,\n\tcurarr: curarr,\n\tcurarrm: curarrm,\n\tcurlyeqprec: curlyeqprec,\n\tcurlyeqsucc: curlyeqsucc,\n\tcurlyvee: curlyvee,\n\tcurlywedge: curlywedge,\n\tcurren: curren$1,\n\tcurvearrowleft: curvearrowleft,\n\tcurvearrowright: curvearrowright,\n\tcuvee: cuvee,\n\tcuwed: cuwed,\n\tcwconint: cwconint,\n\tcwint: cwint,\n\tcylcty: cylcty,\n\tdagger: dagger,\n\tDagger: Dagger,\n\tdaleth: daleth,\n\tdarr: darr,\n\tDarr: Darr,\n\tdArr: dArr,\n\tdash: dash,\n\tDashv: Dashv,\n\tdashv: dashv,\n\tdbkarow: dbkarow,\n\tdblac: dblac,\n\tDcaron: Dcaron,\n\tdcaron: dcaron,\n\tDcy: Dcy,\n\tdcy: dcy,\n\tddagger: ddagger,\n\tddarr: ddarr,\n\tDD: DD,\n\tdd: dd,\n\tDDotrahd: DDotrahd,\n\tddotseq: ddotseq,\n\tdeg: deg$1,\n\tDel: Del,\n\tDelta: Delta,\n\tdelta: delta,\n\tdemptyv: demptyv,\n\tdfisht: dfisht,\n\tDfr: Dfr,\n\tdfr: dfr,\n\tdHar: dHar,\n\tdharl: dharl,\n\tdharr: dharr,\n\tDiacriticalAcute: DiacriticalAcute,\n\tDiacriticalDot: DiacriticalDot,\n\tDiacriticalDoubleAcute: DiacriticalDoubleAcute,\n\tDiacriticalGrave: DiacriticalGrave,\n\tDiacriticalTilde: DiacriticalTilde,\n\tdiam: diam,\n\tdiamond: diamond,\n\tDiamond: Diamond,\n\tdiamondsuit: diamondsuit,\n\tdiams: diams,\n\tdie: die,\n\tDifferentialD: DifferentialD,\n\tdigamma: digamma,\n\tdisin: disin,\n\tdiv: div,\n\tdivide: divide$1,\n\tdivideontimes: divideontimes,\n\tdivonx: divonx,\n\tDJcy: DJcy,\n\tdjcy: djcy,\n\tdlcorn: dlcorn,\n\tdlcrop: dlcrop,\n\tdollar: dollar,\n\tDopf: Dopf,\n\tdopf: dopf,\n\tDot: Dot,\n\tdot: dot,\n\tDotDot: DotDot,\n\tdoteq: doteq,\n\tdoteqdot: doteqdot,\n\tDotEqual: DotEqual,\n\tdotminus: dotminus,\n\tdotplus: dotplus,\n\tdotsquare: dotsquare,\n\tdoublebarwedge: doublebarwedge,\n\tDoubleContourIntegral: DoubleContourIntegral,\n\tDoubleDot: DoubleDot,\n\tDoubleDownArrow: DoubleDownArrow,\n\tDoubleLeftArrow: DoubleLeftArrow,\n\tDoubleLeftRightArrow: DoubleLeftRightArrow,\n\tDoubleLeftTee: DoubleLeftTee,\n\tDoubleLongLeftArrow: DoubleLongLeftArrow,\n\tDoubleLongLeftRightArrow: DoubleLongLeftRightArrow,\n\tDoubleLongRightArrow: DoubleLongRightArrow,\n\tDoubleRightArrow: DoubleRightArrow,\n\tDoubleRightTee: DoubleRightTee,\n\tDoubleUpArrow: DoubleUpArrow,\n\tDoubleUpDownArrow: DoubleUpDownArrow,\n\tDoubleVerticalBar: DoubleVerticalBar,\n\tDownArrowBar: DownArrowBar,\n\tdownarrow: downarrow,\n\tDownArrow: DownArrow,\n\tDownarrow: Downarrow,\n\tDownArrowUpArrow: DownArrowUpArrow,\n\tDownBreve: DownBreve,\n\tdowndownarrows: downdownarrows,\n\tdownharpoonleft: downharpoonleft,\n\tdownharpoonright: downharpoonright,\n\tDownLeftRightVector: DownLeftRightVector,\n\tDownLeftTeeVector: DownLeftTeeVector,\n\tDownLeftVectorBar: DownLeftVectorBar,\n\tDownLeftVector: DownLeftVector,\n\tDownRightTeeVector: DownRightTeeVector,\n\tDownRightVectorBar: DownRightVectorBar,\n\tDownRightVector: DownRightVector,\n\tDownTeeArrow: DownTeeArrow,\n\tDownTee: DownTee,\n\tdrbkarow: drbkarow,\n\tdrcorn: drcorn,\n\tdrcrop: drcrop,\n\tDscr: Dscr,\n\tdscr: dscr,\n\tDScy: DScy,\n\tdscy: dscy,\n\tdsol: dsol,\n\tDstrok: Dstrok,\n\tdstrok: dstrok,\n\tdtdot: dtdot,\n\tdtri: dtri,\n\tdtrif: dtrif,\n\tduarr: duarr,\n\tduhar: duhar,\n\tdwangle: dwangle,\n\tDZcy: DZcy,\n\tdzcy: dzcy,\n\tdzigrarr: dzigrarr,\n\tEacute: Eacute$1,\n\teacute: eacute$1,\n\teaster: easter,\n\tEcaron: Ecaron,\n\tecaron: ecaron,\n\tEcirc: Ecirc$1,\n\tecirc: ecirc$1,\n\tecir: ecir,\n\tecolon: ecolon,\n\tEcy: Ecy,\n\tecy: ecy,\n\teDDot: eDDot,\n\tEdot: Edot,\n\tedot: edot,\n\teDot: eDot,\n\tee: ee,\n\tefDot: efDot,\n\tEfr: Efr,\n\tefr: efr,\n\teg: eg,\n\tEgrave: Egrave$1,\n\tegrave: egrave$1,\n\tegs: egs,\n\tegsdot: egsdot,\n\tel: el,\n\tElement: Element$1,\n\telinters: elinters,\n\tell: ell,\n\tels: els,\n\telsdot: elsdot,\n\tEmacr: Emacr,\n\temacr: emacr,\n\tempty: empty,\n\temptyset: emptyset,\n\tEmptySmallSquare: EmptySmallSquare,\n\temptyv: emptyv,\n\tEmptyVerySmallSquare: EmptyVerySmallSquare,\n\temsp13: emsp13,\n\temsp14: emsp14,\n\temsp: emsp,\n\tENG: ENG,\n\teng: eng,\n\tensp: ensp,\n\tEogon: Eogon,\n\teogon: eogon,\n\tEopf: Eopf,\n\teopf: eopf,\n\tepar: epar,\n\teparsl: eparsl,\n\teplus: eplus,\n\tepsi: epsi,\n\tEpsilon: Epsilon,\n\tepsilon: epsilon,\n\tepsiv: epsiv,\n\teqcirc: eqcirc,\n\teqcolon: eqcolon,\n\teqsim: eqsim,\n\teqslantgtr: eqslantgtr,\n\teqslantless: eqslantless,\n\tEqual: Equal,\n\tequals: equals,\n\tEqualTilde: EqualTilde,\n\tequest: equest,\n\tEquilibrium: Equilibrium,\n\tequiv: equiv,\n\tequivDD: equivDD,\n\teqvparsl: eqvparsl,\n\terarr: erarr,\n\terDot: erDot,\n\tescr: escr,\n\tEscr: Escr,\n\tesdot: esdot,\n\tEsim: Esim,\n\tesim: esim,\n\tEta: Eta,\n\teta: eta,\n\tETH: ETH$1,\n\teth: eth$1,\n\tEuml: Euml$1,\n\teuml: euml$1,\n\teuro: euro,\n\texcl: excl,\n\texist: exist,\n\tExists: Exists,\n\texpectation: expectation,\n\texponentiale: exponentiale,\n\tExponentialE: ExponentialE,\n\tfallingdotseq: fallingdotseq,\n\tFcy: Fcy,\n\tfcy: fcy,\n\tfemale: female,\n\tffilig: ffilig,\n\tfflig: fflig,\n\tffllig: ffllig,\n\tFfr: Ffr,\n\tffr: ffr,\n\tfilig: filig,\n\tFilledSmallSquare: FilledSmallSquare,\n\tFilledVerySmallSquare: FilledVerySmallSquare,\n\tfjlig: fjlig,\n\tflat: flat,\n\tfllig: fllig,\n\tfltns: fltns,\n\tfnof: fnof,\n\tFopf: Fopf,\n\tfopf: fopf,\n\tforall: forall,\n\tForAll: ForAll,\n\tfork: fork,\n\tforkv: forkv,\n\tFouriertrf: Fouriertrf,\n\tfpartint: fpartint,\n\tfrac12: frac12$1,\n\tfrac13: frac13,\n\tfrac14: frac14$1,\n\tfrac15: frac15,\n\tfrac16: frac16,\n\tfrac18: frac18,\n\tfrac23: frac23,\n\tfrac25: frac25,\n\tfrac34: frac34$1,\n\tfrac35: frac35,\n\tfrac38: frac38,\n\tfrac45: frac45,\n\tfrac56: frac56,\n\tfrac58: frac58,\n\tfrac78: frac78,\n\tfrasl: frasl,\n\tfrown: frown,\n\tfscr: fscr,\n\tFscr: Fscr,\n\tgacute: gacute,\n\tGamma: Gamma,\n\tgamma: gamma,\n\tGammad: Gammad,\n\tgammad: gammad,\n\tgap: gap,\n\tGbreve: Gbreve,\n\tgbreve: gbreve,\n\tGcedil: Gcedil,\n\tGcirc: Gcirc,\n\tgcirc: gcirc,\n\tGcy: Gcy,\n\tgcy: gcy,\n\tGdot: Gdot,\n\tgdot: gdot,\n\tge: ge,\n\tgE: gE,\n\tgEl: gEl,\n\tgel: gel,\n\tgeq: geq,\n\tgeqq: geqq,\n\tgeqslant: geqslant,\n\tgescc: gescc,\n\tges: ges,\n\tgesdot: gesdot,\n\tgesdoto: gesdoto,\n\tgesdotol: gesdotol,\n\tgesl: gesl,\n\tgesles: gesles,\n\tGfr: Gfr,\n\tgfr: gfr,\n\tgg: gg,\n\tGg: Gg,\n\tggg: ggg,\n\tgimel: gimel,\n\tGJcy: GJcy,\n\tgjcy: gjcy,\n\tgla: gla,\n\tgl: gl,\n\tglE: glE,\n\tglj: glj,\n\tgnap: gnap,\n\tgnapprox: gnapprox,\n\tgne: gne,\n\tgnE: gnE,\n\tgneq: gneq,\n\tgneqq: gneqq,\n\tgnsim: gnsim,\n\tGopf: Gopf,\n\tgopf: gopf,\n\tgrave: grave,\n\tGreaterEqual: GreaterEqual,\n\tGreaterEqualLess: GreaterEqualLess,\n\tGreaterFullEqual: GreaterFullEqual,\n\tGreaterGreater: GreaterGreater,\n\tGreaterLess: GreaterLess,\n\tGreaterSlantEqual: GreaterSlantEqual,\n\tGreaterTilde: GreaterTilde,\n\tGscr: Gscr,\n\tgscr: gscr,\n\tgsim: gsim,\n\tgsime: gsime,\n\tgsiml: gsiml,\n\tgtcc: gtcc,\n\tgtcir: gtcir,\n\tgt: gt$2,\n\tGT: GT$1,\n\tGt: Gt,\n\tgtdot: gtdot,\n\tgtlPar: gtlPar,\n\tgtquest: gtquest,\n\tgtrapprox: gtrapprox,\n\tgtrarr: gtrarr,\n\tgtrdot: gtrdot,\n\tgtreqless: gtreqless,\n\tgtreqqless: gtreqqless,\n\tgtrless: gtrless,\n\tgtrsim: gtrsim,\n\tgvertneqq: gvertneqq,\n\tgvnE: gvnE,\n\tHacek: Hacek,\n\thairsp: hairsp,\n\thalf: half,\n\thamilt: hamilt,\n\tHARDcy: HARDcy,\n\thardcy: hardcy,\n\tharrcir: harrcir,\n\tharr: harr,\n\thArr: hArr,\n\tharrw: harrw,\n\tHat: Hat,\n\thbar: hbar,\n\tHcirc: Hcirc,\n\thcirc: hcirc,\n\thearts: hearts,\n\theartsuit: heartsuit,\n\thellip: hellip,\n\thercon: hercon,\n\thfr: hfr,\n\tHfr: Hfr,\n\tHilbertSpace: HilbertSpace,\n\thksearow: hksearow,\n\thkswarow: hkswarow,\n\thoarr: hoarr,\n\thomtht: homtht,\n\thookleftarrow: hookleftarrow,\n\thookrightarrow: hookrightarrow,\n\thopf: hopf,\n\tHopf: Hopf,\n\thorbar: horbar,\n\tHorizontalLine: HorizontalLine,\n\thscr: hscr,\n\tHscr: Hscr,\n\thslash: hslash,\n\tHstrok: Hstrok,\n\thstrok: hstrok,\n\tHumpDownHump: HumpDownHump,\n\tHumpEqual: HumpEqual,\n\thybull: hybull,\n\thyphen: hyphen,\n\tIacute: Iacute$1,\n\tiacute: iacute$1,\n\tic: ic,\n\tIcirc: Icirc$1,\n\ticirc: icirc$1,\n\tIcy: Icy,\n\ticy: icy,\n\tIdot: Idot,\n\tIEcy: IEcy,\n\tiecy: iecy,\n\tiexcl: iexcl$1,\n\tiff: iff,\n\tifr: ifr,\n\tIfr: Ifr,\n\tIgrave: Igrave$1,\n\tigrave: igrave$1,\n\tii: ii,\n\tiiiint: iiiint,\n\tiiint: iiint,\n\tiinfin: iinfin,\n\tiiota: iiota,\n\tIJlig: IJlig,\n\tijlig: ijlig,\n\tImacr: Imacr,\n\timacr: imacr,\n\timage: image,\n\tImaginaryI: ImaginaryI,\n\timagline: imagline,\n\timagpart: imagpart,\n\timath: imath,\n\tIm: Im,\n\timof: imof,\n\timped: imped,\n\tImplies: Implies,\n\tincare: incare,\n\t\"in\": \"∈\",\n\tinfin: infin,\n\tinfintie: infintie,\n\tinodot: inodot,\n\tintcal: intcal,\n\tint: int,\n\tInt: Int,\n\tintegers: integers,\n\tIntegral: Integral,\n\tintercal: intercal,\n\tIntersection: Intersection,\n\tintlarhk: intlarhk,\n\tintprod: intprod,\n\tInvisibleComma: InvisibleComma,\n\tInvisibleTimes: InvisibleTimes,\n\tIOcy: IOcy,\n\tiocy: iocy,\n\tIogon: Iogon,\n\tiogon: iogon,\n\tIopf: Iopf,\n\tiopf: iopf,\n\tIota: Iota,\n\tiota: iota,\n\tiprod: iprod,\n\tiquest: iquest$1,\n\tiscr: iscr,\n\tIscr: Iscr,\n\tisin: isin,\n\tisindot: isindot,\n\tisinE: isinE,\n\tisins: isins,\n\tisinsv: isinsv,\n\tisinv: isinv,\n\tit: it,\n\tItilde: Itilde,\n\titilde: itilde,\n\tIukcy: Iukcy,\n\tiukcy: iukcy,\n\tIuml: Iuml$1,\n\tiuml: iuml$1,\n\tJcirc: Jcirc,\n\tjcirc: jcirc,\n\tJcy: Jcy,\n\tjcy: jcy,\n\tJfr: Jfr,\n\tjfr: jfr,\n\tjmath: jmath,\n\tJopf: Jopf,\n\tjopf: jopf,\n\tJscr: Jscr,\n\tjscr: jscr,\n\tJsercy: Jsercy,\n\tjsercy: jsercy,\n\tJukcy: Jukcy,\n\tjukcy: jukcy,\n\tKappa: Kappa,\n\tkappa: kappa,\n\tkappav: kappav,\n\tKcedil: Kcedil,\n\tkcedil: kcedil,\n\tKcy: Kcy,\n\tkcy: kcy,\n\tKfr: Kfr,\n\tkfr: kfr,\n\tkgreen: kgreen,\n\tKHcy: KHcy,\n\tkhcy: khcy,\n\tKJcy: KJcy,\n\tkjcy: kjcy,\n\tKopf: Kopf,\n\tkopf: kopf,\n\tKscr: Kscr,\n\tkscr: kscr,\n\tlAarr: lAarr,\n\tLacute: Lacute,\n\tlacute: lacute,\n\tlaemptyv: laemptyv,\n\tlagran: lagran,\n\tLambda: Lambda,\n\tlambda: lambda,\n\tlang: lang,\n\tLang: Lang,\n\tlangd: langd,\n\tlangle: langle,\n\tlap: lap,\n\tLaplacetrf: Laplacetrf,\n\tlaquo: laquo$1,\n\tlarrb: larrb,\n\tlarrbfs: larrbfs,\n\tlarr: larr,\n\tLarr: Larr,\n\tlArr: lArr,\n\tlarrfs: larrfs,\n\tlarrhk: larrhk,\n\tlarrlp: larrlp,\n\tlarrpl: larrpl,\n\tlarrsim: larrsim,\n\tlarrtl: larrtl,\n\tlatail: latail,\n\tlAtail: lAtail,\n\tlat: lat,\n\tlate: late,\n\tlates: lates,\n\tlbarr: lbarr,\n\tlBarr: lBarr,\n\tlbbrk: lbbrk,\n\tlbrace: lbrace,\n\tlbrack: lbrack,\n\tlbrke: lbrke,\n\tlbrksld: lbrksld,\n\tlbrkslu: lbrkslu,\n\tLcaron: Lcaron,\n\tlcaron: lcaron,\n\tLcedil: Lcedil,\n\tlcedil: lcedil,\n\tlceil: lceil,\n\tlcub: lcub,\n\tLcy: Lcy,\n\tlcy: lcy,\n\tldca: ldca,\n\tldquo: ldquo,\n\tldquor: ldquor,\n\tldrdhar: ldrdhar,\n\tldrushar: ldrushar,\n\tldsh: ldsh,\n\tle: le,\n\tlE: lE,\n\tLeftAngleBracket: LeftAngleBracket,\n\tLeftArrowBar: LeftArrowBar,\n\tleftarrow: leftarrow,\n\tLeftArrow: LeftArrow,\n\tLeftarrow: Leftarrow,\n\tLeftArrowRightArrow: LeftArrowRightArrow,\n\tleftarrowtail: leftarrowtail,\n\tLeftCeiling: LeftCeiling,\n\tLeftDoubleBracket: LeftDoubleBracket,\n\tLeftDownTeeVector: LeftDownTeeVector,\n\tLeftDownVectorBar: LeftDownVectorBar,\n\tLeftDownVector: LeftDownVector,\n\tLeftFloor: LeftFloor,\n\tleftharpoondown: leftharpoondown,\n\tleftharpoonup: leftharpoonup,\n\tleftleftarrows: leftleftarrows,\n\tleftrightarrow: leftrightarrow,\n\tLeftRightArrow: LeftRightArrow,\n\tLeftrightarrow: Leftrightarrow,\n\tleftrightarrows: leftrightarrows,\n\tleftrightharpoons: leftrightharpoons,\n\tleftrightsquigarrow: leftrightsquigarrow,\n\tLeftRightVector: LeftRightVector,\n\tLeftTeeArrow: LeftTeeArrow,\n\tLeftTee: LeftTee,\n\tLeftTeeVector: LeftTeeVector,\n\tleftthreetimes: leftthreetimes,\n\tLeftTriangleBar: LeftTriangleBar,\n\tLeftTriangle: LeftTriangle,\n\tLeftTriangleEqual: LeftTriangleEqual,\n\tLeftUpDownVector: LeftUpDownVector,\n\tLeftUpTeeVector: LeftUpTeeVector,\n\tLeftUpVectorBar: LeftUpVectorBar,\n\tLeftUpVector: LeftUpVector,\n\tLeftVectorBar: LeftVectorBar,\n\tLeftVector: LeftVector,\n\tlEg: lEg,\n\tleg: leg,\n\tleq: leq,\n\tleqq: leqq,\n\tleqslant: leqslant,\n\tlescc: lescc,\n\tles: les,\n\tlesdot: lesdot,\n\tlesdoto: lesdoto,\n\tlesdotor: lesdotor,\n\tlesg: lesg,\n\tlesges: lesges,\n\tlessapprox: lessapprox,\n\tlessdot: lessdot,\n\tlesseqgtr: lesseqgtr,\n\tlesseqqgtr: lesseqqgtr,\n\tLessEqualGreater: LessEqualGreater,\n\tLessFullEqual: LessFullEqual,\n\tLessGreater: LessGreater,\n\tlessgtr: lessgtr,\n\tLessLess: LessLess,\n\tlesssim: lesssim,\n\tLessSlantEqual: LessSlantEqual,\n\tLessTilde: LessTilde,\n\tlfisht: lfisht,\n\tlfloor: lfloor,\n\tLfr: Lfr,\n\tlfr: lfr,\n\tlg: lg,\n\tlgE: lgE,\n\tlHar: lHar,\n\tlhard: lhard,\n\tlharu: lharu,\n\tlharul: lharul,\n\tlhblk: lhblk,\n\tLJcy: LJcy,\n\tljcy: ljcy,\n\tllarr: llarr,\n\tll: ll,\n\tLl: Ll,\n\tllcorner: llcorner,\n\tLleftarrow: Lleftarrow,\n\tllhard: llhard,\n\tlltri: lltri,\n\tLmidot: Lmidot,\n\tlmidot: lmidot,\n\tlmoustache: lmoustache,\n\tlmoust: lmoust,\n\tlnap: lnap,\n\tlnapprox: lnapprox,\n\tlne: lne,\n\tlnE: lnE,\n\tlneq: lneq,\n\tlneqq: lneqq,\n\tlnsim: lnsim,\n\tloang: loang,\n\tloarr: loarr,\n\tlobrk: lobrk,\n\tlongleftarrow: longleftarrow,\n\tLongLeftArrow: LongLeftArrow,\n\tLongleftarrow: Longleftarrow,\n\tlongleftrightarrow: longleftrightarrow,\n\tLongLeftRightArrow: LongLeftRightArrow,\n\tLongleftrightarrow: Longleftrightarrow,\n\tlongmapsto: longmapsto,\n\tlongrightarrow: longrightarrow,\n\tLongRightArrow: LongRightArrow,\n\tLongrightarrow: Longrightarrow,\n\tlooparrowleft: looparrowleft,\n\tlooparrowright: looparrowright,\n\tlopar: lopar,\n\tLopf: Lopf,\n\tlopf: lopf,\n\tloplus: loplus,\n\tlotimes: lotimes,\n\tlowast: lowast,\n\tlowbar: lowbar,\n\tLowerLeftArrow: LowerLeftArrow,\n\tLowerRightArrow: LowerRightArrow,\n\tloz: loz,\n\tlozenge: lozenge,\n\tlozf: lozf,\n\tlpar: lpar,\n\tlparlt: lparlt,\n\tlrarr: lrarr,\n\tlrcorner: lrcorner,\n\tlrhar: lrhar,\n\tlrhard: lrhard,\n\tlrm: lrm,\n\tlrtri: lrtri,\n\tlsaquo: lsaquo,\n\tlscr: lscr,\n\tLscr: Lscr,\n\tlsh: lsh,\n\tLsh: Lsh,\n\tlsim: lsim,\n\tlsime: lsime,\n\tlsimg: lsimg,\n\tlsqb: lsqb,\n\tlsquo: lsquo,\n\tlsquor: lsquor,\n\tLstrok: Lstrok,\n\tlstrok: lstrok,\n\tltcc: ltcc,\n\tltcir: ltcir,\n\tlt: lt$2,\n\tLT: LT$1,\n\tLt: Lt,\n\tltdot: ltdot,\n\tlthree: lthree,\n\tltimes: ltimes,\n\tltlarr: ltlarr,\n\tltquest: ltquest,\n\tltri: ltri,\n\tltrie: ltrie,\n\tltrif: ltrif,\n\tltrPar: ltrPar,\n\tlurdshar: lurdshar,\n\tluruhar: luruhar,\n\tlvertneqq: lvertneqq,\n\tlvnE: lvnE,\n\tmacr: macr$1,\n\tmale: male,\n\tmalt: malt,\n\tmaltese: maltese,\n\t\"Map\": \"⤅\",\n\tmap: map,\n\tmapsto: mapsto,\n\tmapstodown: mapstodown,\n\tmapstoleft: mapstoleft,\n\tmapstoup: mapstoup,\n\tmarker: marker,\n\tmcomma: mcomma,\n\tMcy: Mcy,\n\tmcy: mcy,\n\tmdash: mdash,\n\tmDDot: mDDot,\n\tmeasuredangle: measuredangle,\n\tMediumSpace: MediumSpace,\n\tMellintrf: Mellintrf,\n\tMfr: Mfr,\n\tmfr: mfr,\n\tmho: mho,\n\tmicro: micro$1,\n\tmidast: midast,\n\tmidcir: midcir,\n\tmid: mid,\n\tmiddot: middot$1,\n\tminusb: minusb,\n\tminus: minus,\n\tminusd: minusd,\n\tminusdu: minusdu,\n\tMinusPlus: MinusPlus,\n\tmlcp: mlcp,\n\tmldr: mldr,\n\tmnplus: mnplus,\n\tmodels: models,\n\tMopf: Mopf,\n\tmopf: mopf,\n\tmp: mp,\n\tmscr: mscr,\n\tMscr: Mscr,\n\tmstpos: mstpos,\n\tMu: Mu,\n\tmu: mu,\n\tmultimap: multimap,\n\tmumap: mumap,\n\tnabla: nabla,\n\tNacute: Nacute,\n\tnacute: nacute,\n\tnang: nang,\n\tnap: nap,\n\tnapE: napE,\n\tnapid: napid,\n\tnapos: napos,\n\tnapprox: napprox,\n\tnatural: natural,\n\tnaturals: naturals,\n\tnatur: natur,\n\tnbsp: nbsp$1,\n\tnbump: nbump,\n\tnbumpe: nbumpe,\n\tncap: ncap,\n\tNcaron: Ncaron,\n\tncaron: ncaron,\n\tNcedil: Ncedil,\n\tncedil: ncedil,\n\tncong: ncong,\n\tncongdot: ncongdot,\n\tncup: ncup,\n\tNcy: Ncy,\n\tncy: ncy,\n\tndash: ndash,\n\tnearhk: nearhk,\n\tnearr: nearr,\n\tneArr: neArr,\n\tnearrow: nearrow,\n\tne: ne,\n\tnedot: nedot,\n\tNegativeMediumSpace: NegativeMediumSpace,\n\tNegativeThickSpace: NegativeThickSpace,\n\tNegativeThinSpace: NegativeThinSpace,\n\tNegativeVeryThinSpace: NegativeVeryThinSpace,\n\tnequiv: nequiv,\n\tnesear: nesear,\n\tnesim: nesim,\n\tNestedGreaterGreater: NestedGreaterGreater,\n\tNestedLessLess: NestedLessLess,\n\tNewLine: NewLine,\n\tnexist: nexist,\n\tnexists: nexists,\n\tNfr: Nfr,\n\tnfr: nfr,\n\tngE: ngE,\n\tnge: nge,\n\tngeq: ngeq,\n\tngeqq: ngeqq,\n\tngeqslant: ngeqslant,\n\tnges: nges,\n\tnGg: nGg,\n\tngsim: ngsim,\n\tnGt: nGt,\n\tngt: ngt,\n\tngtr: ngtr,\n\tnGtv: nGtv,\n\tnharr: nharr,\n\tnhArr: nhArr,\n\tnhpar: nhpar,\n\tni: ni,\n\tnis: nis,\n\tnisd: nisd,\n\tniv: niv,\n\tNJcy: NJcy,\n\tnjcy: njcy,\n\tnlarr: nlarr,\n\tnlArr: nlArr,\n\tnldr: nldr,\n\tnlE: nlE,\n\tnle: nle,\n\tnleftarrow: nleftarrow,\n\tnLeftarrow: nLeftarrow,\n\tnleftrightarrow: nleftrightarrow,\n\tnLeftrightarrow: nLeftrightarrow,\n\tnleq: nleq,\n\tnleqq: nleqq,\n\tnleqslant: nleqslant,\n\tnles: nles,\n\tnless: nless,\n\tnLl: nLl,\n\tnlsim: nlsim,\n\tnLt: nLt,\n\tnlt: nlt,\n\tnltri: nltri,\n\tnltrie: nltrie,\n\tnLtv: nLtv,\n\tnmid: nmid,\n\tNoBreak: NoBreak,\n\tNonBreakingSpace: NonBreakingSpace,\n\tnopf: nopf,\n\tNopf: Nopf,\n\tNot: Not,\n\tnot: not$1,\n\tNotCongruent: NotCongruent,\n\tNotCupCap: NotCupCap,\n\tNotDoubleVerticalBar: NotDoubleVerticalBar,\n\tNotElement: NotElement,\n\tNotEqual: NotEqual,\n\tNotEqualTilde: NotEqualTilde,\n\tNotExists: NotExists,\n\tNotGreater: NotGreater,\n\tNotGreaterEqual: NotGreaterEqual,\n\tNotGreaterFullEqual: NotGreaterFullEqual,\n\tNotGreaterGreater: NotGreaterGreater,\n\tNotGreaterLess: NotGreaterLess,\n\tNotGreaterSlantEqual: NotGreaterSlantEqual,\n\tNotGreaterTilde: NotGreaterTilde,\n\tNotHumpDownHump: NotHumpDownHump,\n\tNotHumpEqual: NotHumpEqual,\n\tnotin: notin,\n\tnotindot: notindot,\n\tnotinE: notinE,\n\tnotinva: notinva,\n\tnotinvb: notinvb,\n\tnotinvc: notinvc,\n\tNotLeftTriangleBar: NotLeftTriangleBar,\n\tNotLeftTriangle: NotLeftTriangle,\n\tNotLeftTriangleEqual: NotLeftTriangleEqual,\n\tNotLess: NotLess,\n\tNotLessEqual: NotLessEqual,\n\tNotLessGreater: NotLessGreater,\n\tNotLessLess: NotLessLess,\n\tNotLessSlantEqual: NotLessSlantEqual,\n\tNotLessTilde: NotLessTilde,\n\tNotNestedGreaterGreater: NotNestedGreaterGreater,\n\tNotNestedLessLess: NotNestedLessLess,\n\tnotni: notni,\n\tnotniva: notniva,\n\tnotnivb: notnivb,\n\tnotnivc: notnivc,\n\tNotPrecedes: NotPrecedes,\n\tNotPrecedesEqual: NotPrecedesEqual,\n\tNotPrecedesSlantEqual: NotPrecedesSlantEqual,\n\tNotReverseElement: NotReverseElement,\n\tNotRightTriangleBar: NotRightTriangleBar,\n\tNotRightTriangle: NotRightTriangle,\n\tNotRightTriangleEqual: NotRightTriangleEqual,\n\tNotSquareSubset: NotSquareSubset,\n\tNotSquareSubsetEqual: NotSquareSubsetEqual,\n\tNotSquareSuperset: NotSquareSuperset,\n\tNotSquareSupersetEqual: NotSquareSupersetEqual,\n\tNotSubset: NotSubset,\n\tNotSubsetEqual: NotSubsetEqual,\n\tNotSucceeds: NotSucceeds,\n\tNotSucceedsEqual: NotSucceedsEqual,\n\tNotSucceedsSlantEqual: NotSucceedsSlantEqual,\n\tNotSucceedsTilde: NotSucceedsTilde,\n\tNotSuperset: NotSuperset,\n\tNotSupersetEqual: NotSupersetEqual,\n\tNotTilde: NotTilde,\n\tNotTildeEqual: NotTildeEqual,\n\tNotTildeFullEqual: NotTildeFullEqual,\n\tNotTildeTilde: NotTildeTilde,\n\tNotVerticalBar: NotVerticalBar,\n\tnparallel: nparallel,\n\tnpar: npar,\n\tnparsl: nparsl,\n\tnpart: npart,\n\tnpolint: npolint,\n\tnpr: npr,\n\tnprcue: nprcue,\n\tnprec: nprec,\n\tnpreceq: npreceq,\n\tnpre: npre,\n\tnrarrc: nrarrc,\n\tnrarr: nrarr,\n\tnrArr: nrArr,\n\tnrarrw: nrarrw,\n\tnrightarrow: nrightarrow,\n\tnRightarrow: nRightarrow,\n\tnrtri: nrtri,\n\tnrtrie: nrtrie,\n\tnsc: nsc,\n\tnsccue: nsccue,\n\tnsce: nsce,\n\tNscr: Nscr,\n\tnscr: nscr,\n\tnshortmid: nshortmid,\n\tnshortparallel: nshortparallel,\n\tnsim: nsim,\n\tnsime: nsime,\n\tnsimeq: nsimeq,\n\tnsmid: nsmid,\n\tnspar: nspar,\n\tnsqsube: nsqsube,\n\tnsqsupe: nsqsupe,\n\tnsub: nsub,\n\tnsubE: nsubE,\n\tnsube: nsube,\n\tnsubset: nsubset,\n\tnsubseteq: nsubseteq,\n\tnsubseteqq: nsubseteqq,\n\tnsucc: nsucc,\n\tnsucceq: nsucceq,\n\tnsup: nsup,\n\tnsupE: nsupE,\n\tnsupe: nsupe,\n\tnsupset: nsupset,\n\tnsupseteq: nsupseteq,\n\tnsupseteqq: nsupseteqq,\n\tntgl: ntgl,\n\tNtilde: Ntilde$1,\n\tntilde: ntilde$1,\n\tntlg: ntlg,\n\tntriangleleft: ntriangleleft,\n\tntrianglelefteq: ntrianglelefteq,\n\tntriangleright: ntriangleright,\n\tntrianglerighteq: ntrianglerighteq,\n\tNu: Nu,\n\tnu: nu,\n\tnum: num,\n\tnumero: numero,\n\tnumsp: numsp,\n\tnvap: nvap,\n\tnvdash: nvdash,\n\tnvDash: nvDash,\n\tnVdash: nVdash,\n\tnVDash: nVDash,\n\tnvge: nvge,\n\tnvgt: nvgt,\n\tnvHarr: nvHarr,\n\tnvinfin: nvinfin,\n\tnvlArr: nvlArr,\n\tnvle: nvle,\n\tnvlt: nvlt,\n\tnvltrie: nvltrie,\n\tnvrArr: nvrArr,\n\tnvrtrie: nvrtrie,\n\tnvsim: nvsim,\n\tnwarhk: nwarhk,\n\tnwarr: nwarr,\n\tnwArr: nwArr,\n\tnwarrow: nwarrow,\n\tnwnear: nwnear,\n\tOacute: Oacute$1,\n\toacute: oacute$1,\n\toast: oast,\n\tOcirc: Ocirc$1,\n\tocirc: ocirc$1,\n\tocir: ocir,\n\tOcy: Ocy,\n\tocy: ocy,\n\todash: odash,\n\tOdblac: Odblac,\n\todblac: odblac,\n\todiv: odiv,\n\todot: odot,\n\todsold: odsold,\n\tOElig: OElig,\n\toelig: oelig,\n\tofcir: ofcir,\n\tOfr: Ofr,\n\tofr: ofr,\n\togon: ogon,\n\tOgrave: Ograve$1,\n\tograve: ograve$1,\n\togt: ogt,\n\tohbar: ohbar,\n\tohm: ohm,\n\toint: oint,\n\tolarr: olarr,\n\tolcir: olcir,\n\tolcross: olcross,\n\toline: oline,\n\tolt: olt,\n\tOmacr: Omacr,\n\tomacr: omacr,\n\tOmega: Omega,\n\tomega: omega,\n\tOmicron: Omicron,\n\tomicron: omicron,\n\tomid: omid,\n\tominus: ominus,\n\tOopf: Oopf,\n\toopf: oopf,\n\topar: opar,\n\tOpenCurlyDoubleQuote: OpenCurlyDoubleQuote,\n\tOpenCurlyQuote: OpenCurlyQuote,\n\toperp: operp,\n\toplus: oplus,\n\torarr: orarr,\n\tOr: Or,\n\tor: or,\n\tord: ord,\n\torder: order,\n\torderof: orderof,\n\tordf: ordf$1,\n\tordm: ordm$1,\n\torigof: origof,\n\toror: oror,\n\torslope: orslope,\n\torv: orv,\n\toS: oS,\n\tOscr: Oscr,\n\toscr: oscr,\n\tOslash: Oslash$1,\n\toslash: oslash$1,\n\tosol: osol,\n\tOtilde: Otilde$1,\n\totilde: otilde$1,\n\totimesas: otimesas,\n\tOtimes: Otimes,\n\totimes: otimes,\n\tOuml: Ouml$1,\n\touml: ouml$1,\n\tovbar: ovbar,\n\tOverBar: OverBar,\n\tOverBrace: OverBrace,\n\tOverBracket: OverBracket,\n\tOverParenthesis: OverParenthesis,\n\tpara: para$1,\n\tparallel: parallel,\n\tpar: par,\n\tparsim: parsim,\n\tparsl: parsl,\n\tpart: part,\n\tPartialD: PartialD,\n\tPcy: Pcy,\n\tpcy: pcy,\n\tpercnt: percnt,\n\tperiod: period,\n\tpermil: permil,\n\tperp: perp,\n\tpertenk: pertenk,\n\tPfr: Pfr,\n\tpfr: pfr,\n\tPhi: Phi,\n\tphi: phi,\n\tphiv: phiv,\n\tphmmat: phmmat,\n\tphone: phone,\n\tPi: Pi,\n\tpi: pi,\n\tpitchfork: pitchfork,\n\tpiv: piv,\n\tplanck: planck,\n\tplanckh: planckh,\n\tplankv: plankv,\n\tplusacir: plusacir,\n\tplusb: plusb,\n\tpluscir: pluscir,\n\tplus: plus,\n\tplusdo: plusdo,\n\tplusdu: plusdu,\n\tpluse: pluse,\n\tPlusMinus: PlusMinus,\n\tplusmn: plusmn$1,\n\tplussim: plussim,\n\tplustwo: plustwo,\n\tpm: pm,\n\tPoincareplane: Poincareplane,\n\tpointint: pointint,\n\tpopf: popf,\n\tPopf: Popf,\n\tpound: pound$1,\n\tprap: prap,\n\tPr: Pr,\n\tpr: pr,\n\tprcue: prcue,\n\tprecapprox: precapprox,\n\tprec: prec,\n\tpreccurlyeq: preccurlyeq,\n\tPrecedes: Precedes,\n\tPrecedesEqual: PrecedesEqual,\n\tPrecedesSlantEqual: PrecedesSlantEqual,\n\tPrecedesTilde: PrecedesTilde,\n\tpreceq: preceq,\n\tprecnapprox: precnapprox,\n\tprecneqq: precneqq,\n\tprecnsim: precnsim,\n\tpre: pre,\n\tprE: prE,\n\tprecsim: precsim,\n\tprime: prime,\n\tPrime: Prime,\n\tprimes: primes,\n\tprnap: prnap,\n\tprnE: prnE,\n\tprnsim: prnsim,\n\tprod: prod,\n\tProduct: Product,\n\tprofalar: profalar,\n\tprofline: profline,\n\tprofsurf: profsurf,\n\tprop: prop,\n\tProportional: Proportional,\n\tProportion: Proportion,\n\tpropto: propto,\n\tprsim: prsim,\n\tprurel: prurel,\n\tPscr: Pscr,\n\tpscr: pscr,\n\tPsi: Psi,\n\tpsi: psi,\n\tpuncsp: puncsp,\n\tQfr: Qfr,\n\tqfr: qfr,\n\tqint: qint,\n\tqopf: qopf,\n\tQopf: Qopf,\n\tqprime: qprime,\n\tQscr: Qscr,\n\tqscr: qscr,\n\tquaternions: quaternions,\n\tquatint: quatint,\n\tquest: quest,\n\tquesteq: questeq,\n\tquot: quot$2,\n\tQUOT: QUOT$1,\n\trAarr: rAarr,\n\trace: race,\n\tRacute: Racute,\n\tracute: racute,\n\tradic: radic,\n\traemptyv: raemptyv,\n\trang: rang,\n\tRang: Rang,\n\trangd: rangd,\n\trange: range,\n\trangle: rangle,\n\traquo: raquo$1,\n\trarrap: rarrap,\n\trarrb: rarrb,\n\trarrbfs: rarrbfs,\n\trarrc: rarrc,\n\trarr: rarr,\n\tRarr: Rarr,\n\trArr: rArr,\n\trarrfs: rarrfs,\n\trarrhk: rarrhk,\n\trarrlp: rarrlp,\n\trarrpl: rarrpl,\n\trarrsim: rarrsim,\n\tRarrtl: Rarrtl,\n\trarrtl: rarrtl,\n\trarrw: rarrw,\n\tratail: ratail,\n\trAtail: rAtail,\n\tratio: ratio,\n\trationals: rationals,\n\trbarr: rbarr,\n\trBarr: rBarr,\n\tRBarr: RBarr,\n\trbbrk: rbbrk,\n\trbrace: rbrace,\n\trbrack: rbrack,\n\trbrke: rbrke,\n\trbrksld: rbrksld,\n\trbrkslu: rbrkslu,\n\tRcaron: Rcaron,\n\trcaron: rcaron,\n\tRcedil: Rcedil,\n\trcedil: rcedil,\n\trceil: rceil,\n\trcub: rcub,\n\tRcy: Rcy,\n\trcy: rcy,\n\trdca: rdca,\n\trdldhar: rdldhar,\n\trdquo: rdquo,\n\trdquor: rdquor,\n\trdsh: rdsh,\n\treal: real,\n\trealine: realine,\n\trealpart: realpart,\n\treals: reals,\n\tRe: Re,\n\trect: rect,\n\treg: reg$1,\n\tREG: REG$1,\n\tReverseElement: ReverseElement,\n\tReverseEquilibrium: ReverseEquilibrium,\n\tReverseUpEquilibrium: ReverseUpEquilibrium,\n\trfisht: rfisht,\n\trfloor: rfloor,\n\trfr: rfr,\n\tRfr: Rfr,\n\trHar: rHar,\n\trhard: rhard,\n\trharu: rharu,\n\trharul: rharul,\n\tRho: Rho,\n\trho: rho,\n\trhov: rhov,\n\tRightAngleBracket: RightAngleBracket,\n\tRightArrowBar: RightArrowBar,\n\trightarrow: rightarrow,\n\tRightArrow: RightArrow,\n\tRightarrow: Rightarrow,\n\tRightArrowLeftArrow: RightArrowLeftArrow,\n\trightarrowtail: rightarrowtail,\n\tRightCeiling: RightCeiling,\n\tRightDoubleBracket: RightDoubleBracket,\n\tRightDownTeeVector: RightDownTeeVector,\n\tRightDownVectorBar: RightDownVectorBar,\n\tRightDownVector: RightDownVector,\n\tRightFloor: RightFloor,\n\trightharpoondown: rightharpoondown,\n\trightharpoonup: rightharpoonup,\n\trightleftarrows: rightleftarrows,\n\trightleftharpoons: rightleftharpoons,\n\trightrightarrows: rightrightarrows,\n\trightsquigarrow: rightsquigarrow,\n\tRightTeeArrow: RightTeeArrow,\n\tRightTee: RightTee,\n\tRightTeeVector: RightTeeVector,\n\trightthreetimes: rightthreetimes,\n\tRightTriangleBar: RightTriangleBar,\n\tRightTriangle: RightTriangle,\n\tRightTriangleEqual: RightTriangleEqual,\n\tRightUpDownVector: RightUpDownVector,\n\tRightUpTeeVector: RightUpTeeVector,\n\tRightUpVectorBar: RightUpVectorBar,\n\tRightUpVector: RightUpVector,\n\tRightVectorBar: RightVectorBar,\n\tRightVector: RightVector,\n\tring: ring,\n\trisingdotseq: risingdotseq,\n\trlarr: rlarr,\n\trlhar: rlhar,\n\trlm: rlm,\n\trmoustache: rmoustache,\n\trmoust: rmoust,\n\trnmid: rnmid,\n\troang: roang,\n\troarr: roarr,\n\trobrk: robrk,\n\tropar: ropar,\n\tropf: ropf,\n\tRopf: Ropf,\n\troplus: roplus,\n\trotimes: rotimes,\n\tRoundImplies: RoundImplies,\n\trpar: rpar,\n\trpargt: rpargt,\n\trppolint: rppolint,\n\trrarr: rrarr,\n\tRrightarrow: Rrightarrow,\n\trsaquo: rsaquo,\n\trscr: rscr,\n\tRscr: Rscr,\n\trsh: rsh,\n\tRsh: Rsh,\n\trsqb: rsqb,\n\trsquo: rsquo,\n\trsquor: rsquor,\n\trthree: rthree,\n\trtimes: rtimes,\n\trtri: rtri,\n\trtrie: rtrie,\n\trtrif: rtrif,\n\trtriltri: rtriltri,\n\tRuleDelayed: RuleDelayed,\n\truluhar: ruluhar,\n\trx: rx,\n\tSacute: Sacute,\n\tsacute: sacute,\n\tsbquo: sbquo,\n\tscap: scap,\n\tScaron: Scaron,\n\tscaron: scaron,\n\tSc: Sc,\n\tsc: sc,\n\tsccue: sccue,\n\tsce: sce,\n\tscE: scE,\n\tScedil: Scedil,\n\tscedil: scedil,\n\tScirc: Scirc,\n\tscirc: scirc,\n\tscnap: scnap,\n\tscnE: scnE,\n\tscnsim: scnsim,\n\tscpolint: scpolint,\n\tscsim: scsim,\n\tScy: Scy,\n\tscy: scy,\n\tsdotb: sdotb,\n\tsdot: sdot,\n\tsdote: sdote,\n\tsearhk: searhk,\n\tsearr: searr,\n\tseArr: seArr,\n\tsearrow: searrow,\n\tsect: sect$1,\n\tsemi: semi,\n\tseswar: seswar,\n\tsetminus: setminus,\n\tsetmn: setmn,\n\tsext: sext,\n\tSfr: Sfr,\n\tsfr: sfr,\n\tsfrown: sfrown,\n\tsharp: sharp,\n\tSHCHcy: SHCHcy,\n\tshchcy: shchcy,\n\tSHcy: SHcy,\n\tshcy: shcy,\n\tShortDownArrow: ShortDownArrow,\n\tShortLeftArrow: ShortLeftArrow,\n\tshortmid: shortmid,\n\tshortparallel: shortparallel,\n\tShortRightArrow: ShortRightArrow,\n\tShortUpArrow: ShortUpArrow,\n\tshy: shy$1,\n\tSigma: Sigma,\n\tsigma: sigma,\n\tsigmaf: sigmaf,\n\tsigmav: sigmav,\n\tsim: sim,\n\tsimdot: simdot,\n\tsime: sime,\n\tsimeq: simeq,\n\tsimg: simg,\n\tsimgE: simgE,\n\tsiml: siml,\n\tsimlE: simlE,\n\tsimne: simne,\n\tsimplus: simplus,\n\tsimrarr: simrarr,\n\tslarr: slarr,\n\tSmallCircle: SmallCircle,\n\tsmallsetminus: smallsetminus,\n\tsmashp: smashp,\n\tsmeparsl: smeparsl,\n\tsmid: smid,\n\tsmile: smile,\n\tsmt: smt,\n\tsmte: smte,\n\tsmtes: smtes,\n\tSOFTcy: SOFTcy,\n\tsoftcy: softcy,\n\tsolbar: solbar,\n\tsolb: solb,\n\tsol: sol,\n\tSopf: Sopf,\n\tsopf: sopf,\n\tspades: spades,\n\tspadesuit: spadesuit,\n\tspar: spar,\n\tsqcap: sqcap,\n\tsqcaps: sqcaps,\n\tsqcup: sqcup,\n\tsqcups: sqcups,\n\tSqrt: Sqrt,\n\tsqsub: sqsub,\n\tsqsube: sqsube,\n\tsqsubset: sqsubset,\n\tsqsubseteq: sqsubseteq,\n\tsqsup: sqsup,\n\tsqsupe: sqsupe,\n\tsqsupset: sqsupset,\n\tsqsupseteq: sqsupseteq,\n\tsquare: square,\n\tSquare: Square,\n\tSquareIntersection: SquareIntersection,\n\tSquareSubset: SquareSubset,\n\tSquareSubsetEqual: SquareSubsetEqual,\n\tSquareSuperset: SquareSuperset,\n\tSquareSupersetEqual: SquareSupersetEqual,\n\tSquareUnion: SquareUnion,\n\tsquarf: squarf,\n\tsqu: squ,\n\tsquf: squf,\n\tsrarr: srarr,\n\tSscr: Sscr,\n\tsscr: sscr,\n\tssetmn: ssetmn,\n\tssmile: ssmile,\n\tsstarf: sstarf,\n\tStar: Star,\n\tstar: star,\n\tstarf: starf,\n\tstraightepsilon: straightepsilon,\n\tstraightphi: straightphi,\n\tstrns: strns,\n\tsub: sub,\n\tSub: Sub,\n\tsubdot: subdot,\n\tsubE: subE,\n\tsube: sube,\n\tsubedot: subedot,\n\tsubmult: submult,\n\tsubnE: subnE,\n\tsubne: subne,\n\tsubplus: subplus,\n\tsubrarr: subrarr,\n\tsubset: subset,\n\tSubset: Subset,\n\tsubseteq: subseteq,\n\tsubseteqq: subseteqq,\n\tSubsetEqual: SubsetEqual,\n\tsubsetneq: subsetneq,\n\tsubsetneqq: subsetneqq,\n\tsubsim: subsim,\n\tsubsub: subsub,\n\tsubsup: subsup,\n\tsuccapprox: succapprox,\n\tsucc: succ,\n\tsucccurlyeq: succcurlyeq,\n\tSucceeds: Succeeds,\n\tSucceedsEqual: SucceedsEqual,\n\tSucceedsSlantEqual: SucceedsSlantEqual,\n\tSucceedsTilde: SucceedsTilde,\n\tsucceq: succeq,\n\tsuccnapprox: succnapprox,\n\tsuccneqq: succneqq,\n\tsuccnsim: succnsim,\n\tsuccsim: succsim,\n\tSuchThat: SuchThat,\n\tsum: sum,\n\tSum: Sum,\n\tsung: sung,\n\tsup1: sup1$1,\n\tsup2: sup2$1,\n\tsup3: sup3$1,\n\tsup: sup,\n\tSup: Sup,\n\tsupdot: supdot,\n\tsupdsub: supdsub,\n\tsupE: supE,\n\tsupe: supe,\n\tsupedot: supedot,\n\tSuperset: Superset,\n\tSupersetEqual: SupersetEqual,\n\tsuphsol: suphsol,\n\tsuphsub: suphsub,\n\tsuplarr: suplarr,\n\tsupmult: supmult,\n\tsupnE: supnE,\n\tsupne: supne,\n\tsupplus: supplus,\n\tsupset: supset,\n\tSupset: Supset,\n\tsupseteq: supseteq,\n\tsupseteqq: supseteqq,\n\tsupsetneq: supsetneq,\n\tsupsetneqq: supsetneqq,\n\tsupsim: supsim,\n\tsupsub: supsub,\n\tsupsup: supsup,\n\tswarhk: swarhk,\n\tswarr: swarr,\n\tswArr: swArr,\n\tswarrow: swarrow,\n\tswnwar: swnwar,\n\tszlig: szlig$1,\n\tTab: Tab,\n\ttarget: target,\n\tTau: Tau,\n\ttau: tau,\n\ttbrk: tbrk,\n\tTcaron: Tcaron,\n\ttcaron: tcaron,\n\tTcedil: Tcedil,\n\ttcedil: tcedil,\n\tTcy: Tcy,\n\ttcy: tcy,\n\ttdot: tdot,\n\ttelrec: telrec,\n\tTfr: Tfr,\n\ttfr: tfr,\n\tthere4: there4,\n\ttherefore: therefore,\n\tTherefore: Therefore,\n\tTheta: Theta,\n\ttheta: theta,\n\tthetasym: thetasym,\n\tthetav: thetav,\n\tthickapprox: thickapprox,\n\tthicksim: thicksim,\n\tThickSpace: ThickSpace,\n\tThinSpace: ThinSpace,\n\tthinsp: thinsp,\n\tthkap: thkap,\n\tthksim: thksim,\n\tTHORN: THORN$1,\n\tthorn: thorn$1,\n\ttilde: tilde,\n\tTilde: Tilde,\n\tTildeEqual: TildeEqual,\n\tTildeFullEqual: TildeFullEqual,\n\tTildeTilde: TildeTilde,\n\ttimesbar: timesbar,\n\ttimesb: timesb,\n\ttimes: times$1,\n\ttimesd: timesd,\n\ttint: tint,\n\ttoea: toea,\n\ttopbot: topbot,\n\ttopcir: topcir,\n\ttop: top,\n\tTopf: Topf,\n\ttopf: topf,\n\ttopfork: topfork,\n\ttosa: tosa,\n\ttprime: tprime,\n\ttrade: trade,\n\tTRADE: TRADE,\n\ttriangle: triangle,\n\ttriangledown: triangledown,\n\ttriangleleft: triangleleft,\n\ttrianglelefteq: trianglelefteq,\n\ttriangleq: triangleq,\n\ttriangleright: triangleright,\n\ttrianglerighteq: trianglerighteq,\n\ttridot: tridot,\n\ttrie: trie,\n\ttriminus: triminus,\n\tTripleDot: TripleDot,\n\ttriplus: triplus,\n\ttrisb: trisb,\n\ttritime: tritime,\n\ttrpezium: trpezium,\n\tTscr: Tscr,\n\ttscr: tscr,\n\tTScy: TScy,\n\ttscy: tscy,\n\tTSHcy: TSHcy,\n\ttshcy: tshcy,\n\tTstrok: Tstrok,\n\ttstrok: tstrok,\n\ttwixt: twixt,\n\ttwoheadleftarrow: twoheadleftarrow,\n\ttwoheadrightarrow: twoheadrightarrow,\n\tUacute: Uacute$1,\n\tuacute: uacute$1,\n\tuarr: uarr,\n\tUarr: Uarr,\n\tuArr: uArr,\n\tUarrocir: Uarrocir,\n\tUbrcy: Ubrcy,\n\tubrcy: ubrcy,\n\tUbreve: Ubreve,\n\tubreve: ubreve,\n\tUcirc: Ucirc$1,\n\tucirc: ucirc$1,\n\tUcy: Ucy,\n\tucy: ucy,\n\tudarr: udarr,\n\tUdblac: Udblac,\n\tudblac: udblac,\n\tudhar: udhar,\n\tufisht: ufisht,\n\tUfr: Ufr,\n\tufr: ufr,\n\tUgrave: Ugrave$1,\n\tugrave: ugrave$1,\n\tuHar: uHar,\n\tuharl: uharl,\n\tuharr: uharr,\n\tuhblk: uhblk,\n\tulcorn: ulcorn,\n\tulcorner: ulcorner,\n\tulcrop: ulcrop,\n\tultri: ultri,\n\tUmacr: Umacr,\n\tumacr: umacr,\n\tuml: uml$1,\n\tUnderBar: UnderBar,\n\tUnderBrace: UnderBrace,\n\tUnderBracket: UnderBracket,\n\tUnderParenthesis: UnderParenthesis,\n\tUnion: Union,\n\tUnionPlus: UnionPlus,\n\tUogon: Uogon,\n\tuogon: uogon,\n\tUopf: Uopf,\n\tuopf: uopf,\n\tUpArrowBar: UpArrowBar,\n\tuparrow: uparrow,\n\tUpArrow: UpArrow,\n\tUparrow: Uparrow,\n\tUpArrowDownArrow: UpArrowDownArrow,\n\tupdownarrow: updownarrow,\n\tUpDownArrow: UpDownArrow,\n\tUpdownarrow: Updownarrow,\n\tUpEquilibrium: UpEquilibrium,\n\tupharpoonleft: upharpoonleft,\n\tupharpoonright: upharpoonright,\n\tuplus: uplus,\n\tUpperLeftArrow: UpperLeftArrow,\n\tUpperRightArrow: UpperRightArrow,\n\tupsi: upsi,\n\tUpsi: Upsi,\n\tupsih: upsih,\n\tUpsilon: Upsilon,\n\tupsilon: upsilon,\n\tUpTeeArrow: UpTeeArrow,\n\tUpTee: UpTee,\n\tupuparrows: upuparrows,\n\turcorn: urcorn,\n\turcorner: urcorner,\n\turcrop: urcrop,\n\tUring: Uring,\n\turing: uring,\n\turtri: urtri,\n\tUscr: Uscr,\n\tuscr: uscr,\n\tutdot: utdot,\n\tUtilde: Utilde,\n\tutilde: utilde,\n\tutri: utri,\n\tutrif: utrif,\n\tuuarr: uuarr,\n\tUuml: Uuml$1,\n\tuuml: uuml$1,\n\tuwangle: uwangle,\n\tvangrt: vangrt,\n\tvarepsilon: varepsilon,\n\tvarkappa: varkappa,\n\tvarnothing: varnothing,\n\tvarphi: varphi,\n\tvarpi: varpi,\n\tvarpropto: varpropto,\n\tvarr: varr,\n\tvArr: vArr,\n\tvarrho: varrho,\n\tvarsigma: varsigma,\n\tvarsubsetneq: varsubsetneq,\n\tvarsubsetneqq: varsubsetneqq,\n\tvarsupsetneq: varsupsetneq,\n\tvarsupsetneqq: varsupsetneqq,\n\tvartheta: vartheta,\n\tvartriangleleft: vartriangleleft,\n\tvartriangleright: vartriangleright,\n\tvBar: vBar,\n\tVbar: Vbar,\n\tvBarv: vBarv,\n\tVcy: Vcy,\n\tvcy: vcy,\n\tvdash: vdash,\n\tvDash: vDash,\n\tVdash: Vdash,\n\tVDash: VDash,\n\tVdashl: Vdashl,\n\tveebar: veebar,\n\tvee: vee,\n\tVee: Vee,\n\tveeeq: veeeq,\n\tvellip: vellip,\n\tverbar: verbar,\n\tVerbar: Verbar,\n\tvert: vert,\n\tVert: Vert,\n\tVerticalBar: VerticalBar,\n\tVerticalLine: VerticalLine,\n\tVerticalSeparator: VerticalSeparator,\n\tVerticalTilde: VerticalTilde,\n\tVeryThinSpace: VeryThinSpace,\n\tVfr: Vfr,\n\tvfr: vfr,\n\tvltri: vltri,\n\tvnsub: vnsub,\n\tvnsup: vnsup,\n\tVopf: Vopf,\n\tvopf: vopf,\n\tvprop: vprop,\n\tvrtri: vrtri,\n\tVscr: Vscr,\n\tvscr: vscr,\n\tvsubnE: vsubnE,\n\tvsubne: vsubne,\n\tvsupnE: vsupnE,\n\tvsupne: vsupne,\n\tVvdash: Vvdash,\n\tvzigzag: vzigzag,\n\tWcirc: Wcirc,\n\twcirc: wcirc,\n\twedbar: wedbar,\n\twedge: wedge,\n\tWedge: Wedge,\n\twedgeq: wedgeq,\n\tweierp: weierp,\n\tWfr: Wfr,\n\twfr: wfr,\n\tWopf: Wopf,\n\twopf: wopf,\n\twp: wp,\n\twr: wr,\n\twreath: wreath,\n\tWscr: Wscr,\n\twscr: wscr,\n\txcap: xcap,\n\txcirc: xcirc,\n\txcup: xcup,\n\txdtri: xdtri,\n\tXfr: Xfr,\n\txfr: xfr,\n\txharr: xharr,\n\txhArr: xhArr,\n\tXi: Xi,\n\txi: xi,\n\txlarr: xlarr,\n\txlArr: xlArr,\n\txmap: xmap,\n\txnis: xnis,\n\txodot: xodot,\n\tXopf: Xopf,\n\txopf: xopf,\n\txoplus: xoplus,\n\txotime: xotime,\n\txrarr: xrarr,\n\txrArr: xrArr,\n\tXscr: Xscr,\n\txscr: xscr,\n\txsqcup: xsqcup,\n\txuplus: xuplus,\n\txutri: xutri,\n\txvee: xvee,\n\txwedge: xwedge,\n\tYacute: Yacute$1,\n\tyacute: yacute$1,\n\tYAcy: YAcy,\n\tyacy: yacy,\n\tYcirc: Ycirc,\n\tycirc: ycirc,\n\tYcy: Ycy,\n\tycy: ycy,\n\tyen: yen$1,\n\tYfr: Yfr,\n\tyfr: yfr,\n\tYIcy: YIcy,\n\tyicy: yicy,\n\tYopf: Yopf,\n\tyopf: yopf,\n\tYscr: Yscr,\n\tyscr: yscr,\n\tYUcy: YUcy,\n\tyucy: yucy,\n\tyuml: yuml$1,\n\tYuml: Yuml,\n\tZacute: Zacute,\n\tzacute: zacute,\n\tZcaron: Zcaron,\n\tzcaron: zcaron,\n\tZcy: Zcy,\n\tzcy: zcy,\n\tZdot: Zdot,\n\tzdot: zdot,\n\tzeetrf: zeetrf,\n\tZeroWidthSpace: ZeroWidthSpace,\n\tZeta: Zeta,\n\tzeta: zeta,\n\tzfr: zfr,\n\tZfr: Zfr,\n\tZHcy: ZHcy,\n\tzhcy: zhcy,\n\tzigrarr: zigrarr,\n\tzopf: zopf,\n\tZopf: Zopf,\n\tZscr: Zscr,\n\tzscr: zscr,\n\tzwj: zwj,\n\tzwnj: zwnj\n};\n\nvar Aacute = \"Á\";\nvar aacute = \"á\";\nvar Acirc = \"Â\";\nvar acirc = \"â\";\nvar acute = \"´\";\nvar AElig = \"Æ\";\nvar aelig = \"æ\";\nvar Agrave = \"À\";\nvar agrave = \"à\";\nvar amp$1 = \"&\";\nvar AMP = \"&\";\nvar Aring = \"Å\";\nvar aring = \"å\";\nvar Atilde = \"Ã\";\nvar atilde = \"ã\";\nvar Auml = \"Ä\";\nvar auml = \"ä\";\nvar brvbar = \"¦\";\nvar Ccedil = \"Ç\";\nvar ccedil = \"ç\";\nvar cedil = \"¸\";\nvar cent = \"¢\";\nvar copy = \"©\";\nvar COPY = \"©\";\nvar curren = \"¤\";\nvar deg = \"°\";\nvar divide = \"÷\";\nvar Eacute = \"É\";\nvar eacute = \"é\";\nvar Ecirc = \"Ê\";\nvar ecirc = \"ê\";\nvar Egrave = \"È\";\nvar egrave = \"è\";\nvar ETH = \"Ð\";\nvar eth = \"ð\";\nvar Euml = \"Ë\";\nvar euml = \"ë\";\nvar frac12 = \"½\";\nvar frac14 = \"¼\";\nvar frac34 = \"¾\";\nvar gt$1 = \">\";\nvar GT = \">\";\nvar Iacute = \"Í\";\nvar iacute = \"í\";\nvar Icirc = \"Î\";\nvar icirc = \"î\";\nvar iexcl = \"¡\";\nvar Igrave = \"Ì\";\nvar igrave = \"ì\";\nvar iquest = \"¿\";\nvar Iuml = \"Ï\";\nvar iuml = \"ï\";\nvar laquo = \"«\";\nvar lt$1 = \"<\";\nvar LT = \"<\";\nvar macr = \"¯\";\nvar micro = \"µ\";\nvar middot = \"·\";\nvar nbsp = \" \";\nvar not = \"¬\";\nvar Ntilde = \"Ñ\";\nvar ntilde = \"ñ\";\nvar Oacute = \"Ó\";\nvar oacute = \"ó\";\nvar Ocirc = \"Ô\";\nvar ocirc = \"ô\";\nvar Ograve = \"Ò\";\nvar ograve = \"ò\";\nvar ordf = \"ª\";\nvar ordm = \"º\";\nvar Oslash = \"Ø\";\nvar oslash = \"ø\";\nvar Otilde = \"Õ\";\nvar otilde = \"õ\";\nvar Ouml = \"Ö\";\nvar ouml = \"ö\";\nvar para = \"¶\";\nvar plusmn = \"±\";\nvar pound = \"£\";\nvar quot$1 = \"\\\"\";\nvar QUOT = \"\\\"\";\nvar raquo = \"»\";\nvar reg = \"®\";\nvar REG = \"®\";\nvar sect = \"§\";\nvar shy = \"\";\nvar sup1 = \"¹\";\nvar sup2 = \"²\";\nvar sup3 = \"³\";\nvar szlig = \"ß\";\nvar THORN = \"Þ\";\nvar thorn = \"þ\";\nvar times = \"×\";\nvar Uacute = \"Ú\";\nvar uacute = \"ú\";\nvar Ucirc = \"Û\";\nvar ucirc = \"û\";\nvar Ugrave = \"Ù\";\nvar ugrave = \"ù\";\nvar uml = \"¨\";\nvar Uuml = \"Ü\";\nvar uuml = \"ü\";\nvar Yacute = \"Ý\";\nvar yacute = \"ý\";\nvar yen = \"¥\";\nvar yuml = \"ÿ\";\nvar require$$1 = {\n\tAacute: Aacute,\n\taacute: aacute,\n\tAcirc: Acirc,\n\tacirc: acirc,\n\tacute: acute,\n\tAElig: AElig,\n\taelig: aelig,\n\tAgrave: Agrave,\n\tagrave: agrave,\n\tamp: amp$1,\n\tAMP: AMP,\n\tAring: Aring,\n\taring: aring,\n\tAtilde: Atilde,\n\tatilde: atilde,\n\tAuml: Auml,\n\tauml: auml,\n\tbrvbar: brvbar,\n\tCcedil: Ccedil,\n\tccedil: ccedil,\n\tcedil: cedil,\n\tcent: cent,\n\tcopy: copy,\n\tCOPY: COPY,\n\tcurren: curren,\n\tdeg: deg,\n\tdivide: divide,\n\tEacute: Eacute,\n\teacute: eacute,\n\tEcirc: Ecirc,\n\tecirc: ecirc,\n\tEgrave: Egrave,\n\tegrave: egrave,\n\tETH: ETH,\n\teth: eth,\n\tEuml: Euml,\n\teuml: euml,\n\tfrac12: frac12,\n\tfrac14: frac14,\n\tfrac34: frac34,\n\tgt: gt$1,\n\tGT: GT,\n\tIacute: Iacute,\n\tiacute: iacute,\n\tIcirc: Icirc,\n\ticirc: icirc,\n\tiexcl: iexcl,\n\tIgrave: Igrave,\n\tigrave: igrave,\n\tiquest: iquest,\n\tIuml: Iuml,\n\tiuml: iuml,\n\tlaquo: laquo,\n\tlt: lt$1,\n\tLT: LT,\n\tmacr: macr,\n\tmicro: micro,\n\tmiddot: middot,\n\tnbsp: nbsp,\n\tnot: not,\n\tNtilde: Ntilde,\n\tntilde: ntilde,\n\tOacute: Oacute,\n\toacute: oacute,\n\tOcirc: Ocirc,\n\tocirc: ocirc,\n\tOgrave: Ograve,\n\tograve: ograve,\n\tordf: ordf,\n\tordm: ordm,\n\tOslash: Oslash,\n\toslash: oslash,\n\tOtilde: Otilde,\n\totilde: otilde,\n\tOuml: Ouml,\n\touml: ouml,\n\tpara: para,\n\tplusmn: plusmn,\n\tpound: pound,\n\tquot: quot$1,\n\tQUOT: QUOT,\n\traquo: raquo,\n\treg: reg,\n\tREG: REG,\n\tsect: sect,\n\tshy: shy,\n\tsup1: sup1,\n\tsup2: sup2,\n\tsup3: sup3,\n\tszlig: szlig,\n\tTHORN: THORN,\n\tthorn: thorn,\n\ttimes: times,\n\tUacute: Uacute,\n\tuacute: uacute,\n\tUcirc: Ucirc,\n\tucirc: ucirc,\n\tUgrave: Ugrave,\n\tugrave: ugrave,\n\tuml: uml,\n\tUuml: Uuml,\n\tuuml: uuml,\n\tYacute: Yacute,\n\tyacute: yacute,\n\tyen: yen,\n\tyuml: yuml\n};\n\nvar amp = \"&\";\nvar apos = \"'\";\nvar gt = \">\";\nvar lt = \"<\";\nvar quot = \"\\\"\";\nvar require$$0$1 = {\n\tamp: amp,\n\tapos: apos,\n\tgt: gt,\n\tlt: lt,\n\tquot: quot\n};\n\nvar decode_codepoint = {};\n\nvar require$$0 = {\n\t\"0\": 65533,\n\t\"128\": 8364,\n\t\"130\": 8218,\n\t\"131\": 402,\n\t\"132\": 8222,\n\t\"133\": 8230,\n\t\"134\": 8224,\n\t\"135\": 8225,\n\t\"136\": 710,\n\t\"137\": 8240,\n\t\"138\": 352,\n\t\"139\": 8249,\n\t\"140\": 338,\n\t\"142\": 381,\n\t\"145\": 8216,\n\t\"146\": 8217,\n\t\"147\": 8220,\n\t\"148\": 8221,\n\t\"149\": 8226,\n\t\"150\": 8211,\n\t\"151\": 8212,\n\t\"152\": 732,\n\t\"153\": 8482,\n\t\"154\": 353,\n\t\"155\": 8250,\n\t\"156\": 339,\n\t\"158\": 382,\n\t\"159\": 376\n};\n\nvar __importDefault$2 = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(decode_codepoint, \"__esModule\", { value: true });\nvar decode_json_1 = __importDefault$2(require$$0);\n// Adapted from https://github.com/mathiasbynens/he/blob/master/src/he.js#L94-L119\nvar fromCodePoint$2 = \n// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\nString.fromCodePoint ||\n function (codePoint) {\n var output = \"\";\n if (codePoint > 0xffff) {\n codePoint -= 0x10000;\n output += String.fromCharCode(((codePoint >>> 10) & 0x3ff) | 0xd800);\n codePoint = 0xdc00 | (codePoint & 0x3ff);\n }\n output += String.fromCharCode(codePoint);\n return output;\n };\nfunction decodeCodePoint(codePoint) {\n if ((codePoint >= 0xd800 && codePoint <= 0xdfff) || codePoint > 0x10ffff) {\n return \"\\uFFFD\";\n }\n if (codePoint in decode_json_1.default) {\n codePoint = decode_json_1.default[codePoint];\n }\n return fromCodePoint$2(codePoint);\n}\ndecode_codepoint.default = decodeCodePoint;\n\nvar __importDefault$1 = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(decode, \"__esModule\", { value: true });\ndecode.decodeHTML = decode.decodeHTMLStrict = decode.decodeXML = void 0;\nvar entities_json_1$1 = __importDefault$1(require$$1$1);\nvar legacy_json_1 = __importDefault$1(require$$1);\nvar xml_json_1$1 = __importDefault$1(require$$0$1);\nvar decode_codepoint_1 = __importDefault$1(decode_codepoint);\nvar strictEntityRe = /&(?:[a-zA-Z0-9]+|#[xX][\\da-fA-F]+|#\\d+);/g;\ndecode.decodeXML = getStrictDecoder(xml_json_1$1.default);\ndecode.decodeHTMLStrict = getStrictDecoder(entities_json_1$1.default);\nfunction getStrictDecoder(map) {\n var replace = getReplacer(map);\n return function (str) { return String(str).replace(strictEntityRe, replace); };\n}\nvar sorter = function (a, b) { return (a < b ? 1 : -1); };\ndecode.decodeHTML = (function () {\n var legacy = Object.keys(legacy_json_1.default).sort(sorter);\n var keys = Object.keys(entities_json_1$1.default).sort(sorter);\n for (var i = 0, j = 0; i < keys.length; i++) {\n if (legacy[j] === keys[i]) {\n keys[i] += \";?\";\n j++;\n }\n else {\n keys[i] += \";\";\n }\n }\n var re = new RegExp(\"&(?:\" + keys.join(\"|\") + \"|#[xX][\\\\da-fA-F]+;?|#\\\\d+;?)\", \"g\");\n var replace = getReplacer(entities_json_1$1.default);\n function replacer(str) {\n if (str.substr(-1) !== \";\")\n str += \";\";\n return replace(str);\n }\n // TODO consider creating a merged map\n return function (str) { return String(str).replace(re, replacer); };\n})();\nfunction getReplacer(map) {\n return function replace(str) {\n if (str.charAt(1) === \"#\") {\n var secondChar = str.charAt(2);\n if (secondChar === \"X\" || secondChar === \"x\") {\n return decode_codepoint_1.default(parseInt(str.substr(3), 16));\n }\n return decode_codepoint_1.default(parseInt(str.substr(2), 10));\n }\n // eslint-disable-next-line @typescript-eslint/prefer-nullish-coalescing\n return map[str.slice(1, -1)] || str;\n };\n}\n\nvar encode = {};\n\nvar __importDefault = (commonjsGlobal && commonjsGlobal.__importDefault) || function (mod) {\n return (mod && mod.__esModule) ? mod : { \"default\": mod };\n};\nObject.defineProperty(encode, \"__esModule\", { value: true });\nencode.escapeUTF8 = encode.escape = encode.encodeNonAsciiHTML = encode.encodeHTML = encode.encodeXML = void 0;\nvar xml_json_1 = __importDefault(require$$0$1);\nvar inverseXML = getInverseObj(xml_json_1.default);\nvar xmlReplacer = getInverseReplacer(inverseXML);\n/**\n * Encodes all non-ASCII characters, as well as characters not valid in XML\n * documents using XML entities.\n *\n * If a character has no equivalent entity, a\n * numeric hexadecimal reference (eg. `ü`) will be used.\n */\nencode.encodeXML = getASCIIEncoder(inverseXML);\nvar entities_json_1 = __importDefault(require$$1$1);\nvar inverseHTML = getInverseObj(entities_json_1.default);\nvar htmlReplacer = getInverseReplacer(inverseHTML);\n/**\n * Encodes all entities and non-ASCII characters in the input.\n *\n * This includes characters that are valid ASCII characters in HTML documents.\n * For example `#` will be encoded as `#`. To get a more compact output,\n * consider using the `encodeNonAsciiHTML` function.\n *\n * If a character has no equivalent entity, a\n * numeric hexadecimal reference (eg. `ü`) will be used.\n */\nencode.encodeHTML = getInverse(inverseHTML, htmlReplacer);\n/**\n * Encodes all non-ASCII characters, as well as characters not valid in HTML\n * documents using HTML entities.\n *\n * If a character has no equivalent entity, a\n * numeric hexadecimal reference (eg. `ü`) will be used.\n */\nencode.encodeNonAsciiHTML = getASCIIEncoder(inverseHTML);\nfunction getInverseObj(obj) {\n return Object.keys(obj)\n .sort()\n .reduce(function (inverse, name) {\n inverse[obj[name]] = \"&\" + name + \";\";\n return inverse;\n }, {});\n}\nfunction getInverseReplacer(inverse) {\n var single = [];\n var multiple = [];\n for (var _i = 0, _a = Object.keys(inverse); _i < _a.length; _i++) {\n var k = _a[_i];\n if (k.length === 1) {\n // Add value to single array\n single.push(\"\\\\\" + k);\n }\n else {\n // Add value to multiple array\n multiple.push(k);\n }\n }\n // Add ranges to single characters.\n single.sort();\n for (var start = 0; start < single.length - 1; start++) {\n // Find the end of a run of characters\n var end = start;\n while (end < single.length - 1 &&\n single[end].charCodeAt(1) + 1 === single[end + 1].charCodeAt(1)) {\n end += 1;\n }\n var count = 1 + end - start;\n // We want to replace at least three characters\n if (count < 3)\n continue;\n single.splice(start, count, single[start] + \"-\" + single[end]);\n }\n multiple.unshift(\"[\" + single.join(\"\") + \"]\");\n return new RegExp(multiple.join(\"|\"), \"g\");\n}\n// /[^\\0-\\x7F]/gu\nvar reNonASCII = /(?:[\\x80-\\uD7FF\\uE000-\\uFFFF]|[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]|[\\uD800-\\uDBFF](?![\\uDC00-\\uDFFF])|(?:[^\\uD800-\\uDBFF]|^)[\\uDC00-\\uDFFF])/g;\nvar getCodePoint = \n// eslint-disable-next-line @typescript-eslint/no-unnecessary-condition\nString.prototype.codePointAt != null\n ? // eslint-disable-next-line @typescript-eslint/no-non-null-assertion\n function (str) { return str.codePointAt(0); }\n : // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n function (c) {\n return (c.charCodeAt(0) - 0xd800) * 0x400 +\n c.charCodeAt(1) -\n 0xdc00 +\n 0x10000;\n };\nfunction singleCharReplacer(c) {\n return \"\" + (c.length > 1 ? getCodePoint(c) : c.charCodeAt(0))\n .toString(16)\n .toUpperCase() + \";\";\n}\nfunction getInverse(inverse, re) {\n return function (data) {\n return data\n .replace(re, function (name) { return inverse[name]; })\n .replace(reNonASCII, singleCharReplacer);\n };\n}\nvar reEscapeChars = new RegExp(xmlReplacer.source + \"|\" + reNonASCII.source, \"g\");\n/**\n * Encodes all non-ASCII characters, as well as characters not valid in XML\n * documents using numeric hexadecimal reference (eg. `ü`).\n *\n * Have a look at `escapeUTF8` if you want a more concise output at the expense\n * of reduced transportability.\n *\n * @param data String to escape.\n */\nfunction escape(data) {\n return data.replace(reEscapeChars, singleCharReplacer);\n}\nencode.escape = escape;\n/**\n * Encodes all characters not valid in XML documents using numeric hexadecimal\n * reference (eg. `ü`).\n *\n * Note that the output will be character-set dependent.\n *\n * @param data String to escape.\n */\nfunction escapeUTF8(data) {\n return data.replace(xmlReplacer, singleCharReplacer);\n}\nencode.escapeUTF8 = escapeUTF8;\nfunction getASCIIEncoder(obj) {\n return function (data) {\n return data.replace(reEscapeChars, function (c) { return obj[c] || singleCharReplacer(c); });\n };\n}\n\n(function (exports) {\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.decodeXMLStrict = exports.decodeHTML5Strict = exports.decodeHTML4Strict = exports.decodeHTML5 = exports.decodeHTML4 = exports.decodeHTMLStrict = exports.decodeHTML = exports.decodeXML = exports.encodeHTML5 = exports.encodeHTML4 = exports.escapeUTF8 = exports.escape = exports.encodeNonAsciiHTML = exports.encodeHTML = exports.encodeXML = exports.encode = exports.decodeStrict = exports.decode = void 0;\nvar decode_1 = decode;\nvar encode_1 = encode;\n/**\n * Decodes a string with entities.\n *\n * @param data String to decode.\n * @param level Optional level to decode at. 0 = XML, 1 = HTML. Default is 0.\n * @deprecated Use `decodeXML` or `decodeHTML` directly.\n */\nfunction decode$1(data, level) {\n return (!level || level <= 0 ? decode_1.decodeXML : decode_1.decodeHTML)(data);\n}\nexports.decode = decode$1;\n/**\n * Decodes a string with entities. Does not allow missing trailing semicolons for entities.\n *\n * @param data String to decode.\n * @param level Optional level to decode at. 0 = XML, 1 = HTML. Default is 0.\n * @deprecated Use `decodeHTMLStrict` or `decodeXML` directly.\n */\nfunction decodeStrict(data, level) {\n return (!level || level <= 0 ? decode_1.decodeXML : decode_1.decodeHTMLStrict)(data);\n}\nexports.decodeStrict = decodeStrict;\n/**\n * Encodes a string with entities.\n *\n * @param data String to encode.\n * @param level Optional level to encode at. 0 = XML, 1 = HTML. Default is 0.\n * @deprecated Use `encodeHTML`, `encodeXML` or `encodeNonAsciiHTML` directly.\n */\nfunction encode$1(data, level) {\n return (!level || level <= 0 ? encode_1.encodeXML : encode_1.encodeHTML)(data);\n}\nexports.encode = encode$1;\nvar encode_2 = encode;\nObject.defineProperty(exports, \"encodeXML\", { enumerable: true, get: function () { return encode_2.encodeXML; } });\nObject.defineProperty(exports, \"encodeHTML\", { enumerable: true, get: function () { return encode_2.encodeHTML; } });\nObject.defineProperty(exports, \"encodeNonAsciiHTML\", { enumerable: true, get: function () { return encode_2.encodeNonAsciiHTML; } });\nObject.defineProperty(exports, \"escape\", { enumerable: true, get: function () { return encode_2.escape; } });\nObject.defineProperty(exports, \"escapeUTF8\", { enumerable: true, get: function () { return encode_2.escapeUTF8; } });\n// Legacy aliases (deprecated)\nObject.defineProperty(exports, \"encodeHTML4\", { enumerable: true, get: function () { return encode_2.encodeHTML; } });\nObject.defineProperty(exports, \"encodeHTML5\", { enumerable: true, get: function () { return encode_2.encodeHTML; } });\nvar decode_2 = decode;\nObject.defineProperty(exports, \"decodeXML\", { enumerable: true, get: function () { return decode_2.decodeXML; } });\nObject.defineProperty(exports, \"decodeHTML\", { enumerable: true, get: function () { return decode_2.decodeHTML; } });\nObject.defineProperty(exports, \"decodeHTMLStrict\", { enumerable: true, get: function () { return decode_2.decodeHTMLStrict; } });\n// Legacy aliases (deprecated)\nObject.defineProperty(exports, \"decodeHTML4\", { enumerable: true, get: function () { return decode_2.decodeHTML; } });\nObject.defineProperty(exports, \"decodeHTML5\", { enumerable: true, get: function () { return decode_2.decodeHTML; } });\nObject.defineProperty(exports, \"decodeHTML4Strict\", { enumerable: true, get: function () { return decode_2.decodeHTMLStrict; } });\nObject.defineProperty(exports, \"decodeHTML5Strict\", { enumerable: true, get: function () { return decode_2.decodeHTMLStrict; } });\nObject.defineProperty(exports, \"decodeXMLStrict\", { enumerable: true, get: function () { return decode_2.decodeXML; } });\n}(lib));\n\nvar ENTITY = '&(?:#x[a-f0-9]{1,6}|#[0-9]{1,7}|[a-z][a-z0-9]{1,31});';\nvar C_BACKSLASH$1 = 92;\nvar reBackslashOrAmp = /[\\\\&]/;\nvar ESCAPABLE = '[!\"#$%&\\'()*+,./:;<=>?@[\\\\\\\\\\\\]^_`{|}~-]';\nvar reEntityOrEscapedChar = new RegExp(\"\\\\\\\\\" + ESCAPABLE + \"|\" + ENTITY, 'gi');\nvar XMLSPECIAL = '[&<>\"]';\nvar reXmlSpecial = new RegExp(XMLSPECIAL, 'g');\nvar unescapeChar = function (s) {\n if (s.charCodeAt(0) === C_BACKSLASH$1) {\n return s.charAt(1);\n }\n return lib.decodeHTML(s);\n};\n// Replace entities and backslash escapes with literal characters.\nfunction unescapeString(s) {\n if (reBackslashOrAmp.test(s)) {\n return s.replace(reEntityOrEscapedChar, unescapeChar);\n }\n return s;\n}\nfunction normalizeURI(uri) {\n try {\n return encode_1(uri);\n }\n catch (err) {\n return uri;\n }\n}\nfunction replaceUnsafeChar(s) {\n switch (s) {\n case '&':\n return '&';\n case '<':\n return '<';\n case '>':\n return '>';\n case '\"':\n return '"';\n default:\n return s;\n }\n}\nfunction escapeXml(s) {\n if (reXmlSpecial.test(s)) {\n return s.replace(reXmlSpecial, replaceUnsafeChar);\n }\n return s;\n}\nfunction repeat(str, count) {\n var arr = [];\n for (var i = 0; i < count; i++) {\n arr.push(str);\n }\n return arr.join('');\n}\nfunction isEmpty(str) {\n if (!str) {\n return true;\n }\n return !/[^ \\t]+/.test(str);\n}\n\nvar NodeWalker = /** @class */ (function () {\n function NodeWalker(root) {\n this.current = root;\n this.root = root;\n this.entering = true;\n }\n NodeWalker.prototype.next = function () {\n var cur = this.current;\n var entering = this.entering;\n if (cur === null) {\n return null;\n }\n var container = isContainer$1(cur);\n if (entering && container) {\n if (cur.firstChild) {\n this.current = cur.firstChild;\n this.entering = true;\n }\n else {\n // stay on node but exit\n this.entering = false;\n }\n }\n else if (cur === this.root) {\n this.current = null;\n }\n else if (cur.next === null) {\n this.current = cur.parent;\n this.entering = false;\n }\n else {\n this.current = cur.next;\n this.entering = true;\n }\n return { entering: entering, node: cur };\n };\n NodeWalker.prototype.resumeAt = function (node, entering) {\n this.current = node;\n this.entering = entering === true;\n };\n return NodeWalker;\n}());\n\nfunction isContainer$1(node) {\n switch (node.type) {\n case 'document':\n case 'blockQuote':\n case 'list':\n case 'item':\n case 'paragraph':\n case 'heading':\n case 'emph':\n case 'strong':\n case 'strike':\n case 'link':\n case 'image':\n case 'table':\n case 'tableHead':\n case 'tableBody':\n case 'tableRow':\n case 'tableCell':\n case 'tableDelimRow':\n case 'customInline':\n return true;\n default:\n return false;\n }\n}\nvar lastNodeId = 1;\nvar nodeMap = {};\nfunction getNodeById(id) {\n return nodeMap[id];\n}\nfunction removeNodeById(id) {\n delete nodeMap[id];\n}\nfunction removeAllNode() {\n nodeMap = {};\n}\nvar Node$1 = /** @class */ (function () {\n function Node(nodeType, sourcepos) {\n this.parent = null;\n this.prev = null;\n this.next = null;\n // only for container node\n this.firstChild = null;\n this.lastChild = null;\n // only for leaf node\n this.literal = null;\n if (nodeType === 'document') {\n this.id = -1;\n }\n else {\n this.id = lastNodeId++;\n }\n this.type = nodeType;\n this.sourcepos = sourcepos;\n nodeMap[this.id] = this;\n }\n Node.prototype.isContainer = function () {\n return isContainer$1(this);\n };\n Node.prototype.unlink = function () {\n if (this.prev) {\n this.prev.next = this.next;\n }\n else if (this.parent) {\n this.parent.firstChild = this.next;\n }\n if (this.next) {\n this.next.prev = this.prev;\n }\n else if (this.parent) {\n this.parent.lastChild = this.prev;\n }\n this.parent = null;\n this.next = null;\n this.prev = null;\n };\n Node.prototype.replaceWith = function (node) {\n this.insertBefore(node);\n this.unlink();\n };\n Node.prototype.insertAfter = function (sibling) {\n sibling.unlink();\n sibling.next = this.next;\n if (sibling.next) {\n sibling.next.prev = sibling;\n }\n sibling.prev = this;\n this.next = sibling;\n if (this.parent) {\n sibling.parent = this.parent;\n if (!sibling.next) {\n sibling.parent.lastChild = sibling;\n }\n }\n };\n Node.prototype.insertBefore = function (sibling) {\n sibling.unlink();\n sibling.prev = this.prev;\n if (sibling.prev) {\n sibling.prev.next = sibling;\n }\n sibling.next = this;\n this.prev = sibling;\n sibling.parent = this.parent;\n if (!sibling.prev) {\n sibling.parent.firstChild = sibling;\n }\n };\n Node.prototype.appendChild = function (child) {\n child.unlink();\n child.parent = this;\n if (this.lastChild) {\n this.lastChild.next = child;\n child.prev = this.lastChild;\n this.lastChild = child;\n }\n else {\n this.firstChild = child;\n this.lastChild = child;\n }\n };\n Node.prototype.prependChild = function (child) {\n child.unlink();\n child.parent = this;\n if (this.firstChild) {\n this.firstChild.prev = child;\n child.next = this.firstChild;\n this.firstChild = child;\n }\n else {\n this.firstChild = child;\n this.lastChild = child;\n }\n };\n Node.prototype.walker = function () {\n return new NodeWalker(this);\n };\n return Node;\n}());\nvar BlockNode = /** @class */ (function (_super) {\n __extends(BlockNode, _super);\n function BlockNode(nodeType, sourcepos) {\n var _this = _super.call(this, nodeType, sourcepos) || this;\n // temporal data (for parsing)\n _this.open = true;\n _this.lineOffsets = null;\n _this.stringContent = null;\n _this.lastLineBlank = false;\n _this.lastLineChecked = false;\n _this.type = nodeType;\n return _this;\n }\n return BlockNode;\n}(Node$1));\nvar ListNode = /** @class */ (function (_super) {\n __extends(ListNode, _super);\n function ListNode() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.listData = null;\n return _this;\n }\n return ListNode;\n}(BlockNode));\nvar HeadingNode = /** @class */ (function (_super) {\n __extends(HeadingNode, _super);\n function HeadingNode() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.level = 0;\n _this.headingType = 'atx';\n return _this;\n }\n return HeadingNode;\n}(BlockNode));\nvar CodeBlockNode = /** @class */ (function (_super) {\n __extends(CodeBlockNode, _super);\n function CodeBlockNode() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.isFenced = false;\n _this.fenceChar = null;\n _this.fenceLength = 0;\n _this.fenceOffset = -1;\n _this.info = null;\n _this.infoPadding = 0;\n return _this;\n }\n return CodeBlockNode;\n}(BlockNode));\nvar TableNode = /** @class */ (function (_super) {\n __extends(TableNode, _super);\n function TableNode() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.columns = [];\n return _this;\n }\n return TableNode;\n}(BlockNode));\nvar TableCellNode = /** @class */ (function (_super) {\n __extends(TableCellNode, _super);\n function TableCellNode() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.startIdx = 0;\n _this.endIdx = 0;\n _this.paddingLeft = 0;\n _this.paddingRight = 0;\n _this.ignored = false;\n return _this;\n }\n return TableCellNode;\n}(BlockNode));\nvar RefDefNode = /** @class */ (function (_super) {\n __extends(RefDefNode, _super);\n function RefDefNode() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.title = '';\n _this.dest = '';\n _this.label = '';\n return _this;\n }\n return RefDefNode;\n}(BlockNode));\nvar CustomBlockNode = /** @class */ (function (_super) {\n __extends(CustomBlockNode, _super);\n function CustomBlockNode() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.syntaxLength = 0;\n _this.offset = -1;\n _this.info = '';\n return _this;\n }\n return CustomBlockNode;\n}(BlockNode));\nvar HtmlBlockNode = /** @class */ (function (_super) {\n __extends(HtmlBlockNode, _super);\n function HtmlBlockNode() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.htmlBlockType = -1;\n return _this;\n }\n return HtmlBlockNode;\n}(BlockNode));\nvar LinkNode = /** @class */ (function (_super) {\n __extends(LinkNode, _super);\n function LinkNode() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.destination = null;\n _this.title = null;\n _this.extendedAutolink = false;\n return _this;\n }\n return LinkNode;\n}(Node$1));\nvar CodeNode = /** @class */ (function (_super) {\n __extends(CodeNode, _super);\n function CodeNode() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.tickCount = 0;\n return _this;\n }\n return CodeNode;\n}(Node$1));\nvar CustomInlineNode = /** @class */ (function (_super) {\n __extends(CustomInlineNode, _super);\n function CustomInlineNode() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.info = '';\n return _this;\n }\n return CustomInlineNode;\n}(Node$1));\nfunction createNode$1(type, sourcepos) {\n switch (type) {\n case 'heading':\n return new HeadingNode(type, sourcepos);\n case 'list':\n case 'item':\n return new ListNode(type, sourcepos);\n case 'link':\n case 'image':\n return new LinkNode(type, sourcepos);\n case 'codeBlock':\n return new CodeBlockNode(type, sourcepos);\n case 'htmlBlock':\n return new HtmlBlockNode(type, sourcepos);\n case 'table':\n return new TableNode(type, sourcepos);\n case 'tableCell':\n return new TableCellNode(type, sourcepos);\n case 'document':\n case 'paragraph':\n case 'blockQuote':\n case 'thematicBreak':\n case 'tableRow':\n case 'tableBody':\n case 'tableHead':\n case 'frontMatter':\n return new BlockNode(type, sourcepos);\n case 'code':\n return new CodeNode(type, sourcepos);\n case 'refDef':\n return new RefDefNode(type, sourcepos);\n case 'customBlock':\n return new CustomBlockNode(type, sourcepos);\n case 'customInline':\n return new CustomInlineNode(type, sourcepos);\n default:\n return new Node$1(type, sourcepos);\n }\n}\nfunction isCodeBlock(node) {\n return node.type === 'codeBlock';\n}\nfunction isHtmlBlock(node) {\n return node.type === 'htmlBlock';\n}\nfunction isHeading(node) {\n return node.type === 'heading';\n}\nfunction isList(node) {\n return node.type === 'list';\n}\nfunction isTable(node) {\n return node.type === 'table';\n}\nfunction isRefDef(node) {\n return node.type === 'refDef';\n}\nfunction isCustomBlock(node) {\n return node.type === 'customBlock';\n}\nfunction isCustomInline(node) {\n return node.type === 'customInline';\n}\nfunction text$1(s, sourcepos) {\n var node = createNode$1('text', sourcepos);\n node.literal = s;\n return node;\n}\n\nvar TAGNAME = '[A-Za-z][A-Za-z0-9-]*';\nvar ATTRIBUTENAME = '[a-zA-Z_:][a-zA-Z0-9:._-]*';\nvar UNQUOTEDVALUE = '[^\"\\'=<>`\\\\x00-\\\\x20]+';\nvar SINGLEQUOTEDVALUE = \"'[^']*'\";\nvar DOUBLEQUOTEDVALUE = '\"[^\"]*\"';\nvar ATTRIBUTEVALUE = \"(?:\" + UNQUOTEDVALUE + \"|\" + SINGLEQUOTEDVALUE + \"|\" + DOUBLEQUOTEDVALUE + \")\";\nvar ATTRIBUTEVALUESPEC = \"\" + '(?:\\\\s*=\\\\s*' + ATTRIBUTEVALUE + \")\";\nvar ATTRIBUTE = \"\" + '(?:\\\\s+' + ATTRIBUTENAME + ATTRIBUTEVALUESPEC + \"?)\";\nvar OPENTAG = \"<\" + TAGNAME + ATTRIBUTE + \"*\\\\s*/?>\";\nvar CLOSETAG = \"\" + TAGNAME + \"\\\\s*[>]\";\nvar HTMLCOMMENT = '|';\nvar PROCESSINGINSTRUCTION = '[<][?].*?[?][>]';\nvar DECLARATION = ']*>';\nvar CDATA = '';\nvar HTMLTAG = \"(?:\" + OPENTAG + \"|\" + CLOSETAG + \"|\" + HTMLCOMMENT + \"|\" + PROCESSINGINSTRUCTION + \"|\" + DECLARATION + \"|\" + CDATA + \")\";\nvar reHtmlTag = new RegExp(\"^\" + HTMLTAG, 'i');\n\n// derived from https://github.com/mathiasbynens/String.fromCodePoint\n/*! http://mths.be/fromcodepoint v0.2.1 by @mathias */\nvar fromCodePoint;\nif (String.fromCodePoint) {\n fromCodePoint = function (_) {\n try {\n return String.fromCodePoint(_);\n }\n catch (e) {\n if (e instanceof RangeError) {\n return String.fromCharCode(0xfffd);\n }\n throw e;\n }\n };\n}\nelse {\n var stringFromCharCode_1 = String.fromCharCode;\n var floor_1 = Math.floor;\n fromCodePoint = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var MAX_SIZE = 0x4000;\n var codeUnits = [];\n var highSurrogate;\n var lowSurrogate;\n var index = -1;\n var length = args.length;\n if (!length) {\n return '';\n }\n var result = '';\n while (++index < length) {\n var codePoint = Number(args[index]);\n if (!isFinite(codePoint) || // `NaN`, `+Infinity`, or `-Infinity`\n codePoint < 0 || // not a valid Unicode code point\n codePoint > 0x10ffff || // not a valid Unicode code point\n floor_1(codePoint) !== codePoint // not an integer\n ) {\n return String.fromCharCode(0xfffd);\n }\n if (codePoint <= 0xffff) {\n // BMP code point\n codeUnits.push(codePoint);\n }\n else {\n // Astral code point; split in surrogate halves\n // http://mathiasbynens.be/notes/javascript-encoding#surrogate-formulae\n codePoint -= 0x10000;\n highSurrogate = (codePoint >> 10) + 0xd800;\n lowSurrogate = (codePoint % 0x400) + 0xdc00;\n codeUnits.push(highSurrogate, lowSurrogate);\n }\n if (index + 1 === length || codeUnits.length > MAX_SIZE) {\n result += stringFromCharCode_1.apply(void 0, codeUnits);\n codeUnits.length = 0;\n }\n }\n return result;\n };\n}\nvar fromCodePoint$1 = fromCodePoint;\n\nvar DOMAIN = '(?:[w-]+.)*[A-Za-z0-9-]+.[A-Za-z0-9-]+';\nvar PATH = '[^<\\\\s]*[^!.,:*_?~\\\\s]';\nvar EMAIL = '[\\\\w.+-]+@(?:[\\\\w-]+\\\\.)+[\\\\w-]+';\nfunction trimUnmatchedTrailingParens(source) {\n var trailingParen = /\\)+$/.exec(source);\n if (trailingParen) {\n var count = 0;\n for (var _i = 0, source_1 = source; _i < source_1.length; _i++) {\n var ch = source_1[_i];\n if (ch === '(') {\n if (count < 0) {\n count = 1;\n }\n else {\n count += 1;\n }\n }\n else if (ch === ')') {\n count -= 1;\n }\n }\n if (count < 0) {\n var trimCount = Math.min(-count, trailingParen[0].length);\n return source.substring(0, source.length - trimCount);\n }\n }\n return source;\n}\nfunction trimTrailingEntity(source) {\n return source.replace(/&[A-Za-z0-9]+;$/, '');\n}\nfunction parseEmailLink(source) {\n var reEmailLink = new RegExp(EMAIL, 'g');\n var result = [];\n var m;\n while ((m = reEmailLink.exec(source))) {\n var text_1 = m[0];\n if (!/[_-]+$/.test(text_1)) {\n result.push({\n text: text_1,\n range: [m.index, m.index + text_1.length - 1],\n url: \"mailto:\" + text_1,\n });\n }\n }\n return result;\n}\nfunction parseUrlLink(source) {\n var reWwwAutolink = new RegExp(\"(www|https?://).\" + DOMAIN + PATH, 'g');\n var result = [];\n var m;\n while ((m = reWwwAutolink.exec(source))) {\n var text_2 = trimTrailingEntity(trimUnmatchedTrailingParens(m[0]));\n var scheme = m[1] === 'www' ? 'http://' : '';\n result.push({\n text: text_2,\n range: [m.index, m.index + text_2.length - 1],\n url: \"\" + scheme + text_2,\n });\n }\n return result;\n}\nfunction baseAutolinkParser(source) {\n return __spreadArray(__spreadArray([], parseUrlLink(source)), parseEmailLink(source)).sort(function (a, b) { return a.range[0] - b.range[0]; });\n}\nfunction convertExtAutoLinks(walker, autolinkParser) {\n if (typeof autolinkParser === 'boolean') {\n autolinkParser = baseAutolinkParser;\n }\n var event;\n var _loop_1 = function () {\n var entering = event.entering, node = event.node;\n if (entering && node.type === 'text' && node.parent.type !== 'link') {\n var literal = node.literal;\n var linkInfos = autolinkParser(literal);\n if (!linkInfos || !linkInfos.length) {\n return \"continue\";\n }\n var lastIdx = 0;\n var _a = node.sourcepos[0], lineNum_1 = _a[0], chPos_1 = _a[1];\n var sourcepos = function (startIdx, endIdx) { return [\n [lineNum_1, chPos_1 + startIdx],\n [lineNum_1, chPos_1 + endIdx],\n ]; };\n var newNodes = [];\n for (var _i = 0, linkInfos_1 = linkInfos; _i < linkInfos_1.length; _i++) {\n var _b = linkInfos_1[_i], range = _b.range, url = _b.url, linkText = _b.text;\n if (range[0] > lastIdx) {\n newNodes.push(text$1(literal.substring(lastIdx, range[0]), sourcepos(lastIdx, range[0] - 1)));\n }\n var linkNode = createNode$1('link', sourcepos.apply(void 0, range));\n linkNode.appendChild(text$1(linkText, sourcepos.apply(void 0, range)));\n linkNode.destination = url;\n linkNode.extendedAutolink = true;\n newNodes.push(linkNode);\n lastIdx = range[1] + 1;\n }\n if (lastIdx < literal.length) {\n newNodes.push(text$1(literal.substring(lastIdx), sourcepos(lastIdx, literal.length - 1)));\n }\n for (var _c = 0, newNodes_1 = newNodes; _c < newNodes_1.length; _c++) {\n var newNode = newNodes_1[_c];\n node.insertBefore(newNode);\n }\n node.unlink();\n }\n };\n while ((event = walker.next())) {\n _loop_1();\n }\n}\n\nfunction last(arr) {\n return arr[arr.length - 1];\n}\n// normalize a reference in reference link (remove []s, trim,\n// collapse internal space, unicode case fold.\n// See commonmark/commonmark.js#168.\nfunction normalizeReference(str) {\n return str\n .slice(1, str.length - 1)\n .trim()\n .replace(/[ \\t\\r\\n]+/, ' ')\n .toLowerCase()\n .toUpperCase();\n}\nfunction iterateObject(obj, iteratee) {\n Object.keys(obj).forEach(function (key) {\n iteratee(key, obj[key]);\n });\n}\nfunction omit(obj) {\n var propNames = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n propNames[_i - 1] = arguments[_i];\n }\n var resultMap = __assign({}, obj);\n propNames.forEach(function (key) {\n delete resultMap[key];\n });\n return resultMap;\n}\nfunction isEmptyObj(obj) {\n return !Object.keys(obj).length;\n}\nfunction clearObj(obj) {\n Object.keys(obj).forEach(function (key) {\n delete obj[key];\n });\n}\n\nvar C_NEWLINE = 10;\nvar C_ASTERISK = 42;\nvar C_UNDERSCORE = 95;\nvar C_BACKTICK = 96;\nvar C_OPEN_BRACKET$1 = 91;\nvar C_CLOSE_BRACKET = 93;\nvar C_TILDE = 126;\nvar C_LESSTHAN$1 = 60;\nvar C_BANG = 33;\nvar C_BACKSLASH = 92;\nvar C_AMPERSAND = 38;\nvar C_OPEN_PAREN = 40;\nvar C_CLOSE_PAREN = 41;\nvar C_COLON = 58;\nvar C_SINGLEQUOTE = 39;\nvar C_DOUBLEQUOTE = 34;\nvar C_DOLLAR = 36;\n// Some regexps used in inline parser:\nvar ESCAPED_CHAR = \"\\\\\\\\\" + ESCAPABLE;\nvar rePunctuation = new RegExp(/[!\"#$%&'()*+,\\-./:;<=>?@\\[\\]\\\\^_`{|}~\\xA1\\xA7\\xAB\\xB6\\xB7\\xBB\\xBF\\u037E\\u0387\\u055A-\\u055F\\u0589\\u058A\\u05BE\\u05C0\\u05C3\\u05C6\\u05F3\\u05F4\\u0609\\u060A\\u060C\\u060D\\u061B\\u061E\\u061F\\u066A-\\u066D\\u06D4\\u0700-\\u070D\\u07F7-\\u07F9\\u0830-\\u083E\\u085E\\u0964\\u0965\\u0970\\u0AF0\\u0DF4\\u0E4F\\u0E5A\\u0E5B\\u0F04-\\u0F12\\u0F14\\u0F3A-\\u0F3D\\u0F85\\u0FD0-\\u0FD4\\u0FD9\\u0FDA\\u104A-\\u104F\\u10FB\\u1360-\\u1368\\u1400\\u166D\\u166E\\u169B\\u169C\\u16EB-\\u16ED\\u1735\\u1736\\u17D4-\\u17D6\\u17D8-\\u17DA\\u1800-\\u180A\\u1944\\u1945\\u1A1E\\u1A1F\\u1AA0-\\u1AA6\\u1AA8-\\u1AAD\\u1B5A-\\u1B60\\u1BFC-\\u1BFF\\u1C3B-\\u1C3F\\u1C7E\\u1C7F\\u1CC0-\\u1CC7\\u1CD3\\u2010-\\u2027\\u2030-\\u2043\\u2045-\\u2051\\u2053-\\u205E\\u207D\\u207E\\u208D\\u208E\\u2308-\\u230B\\u2329\\u232A\\u2768-\\u2775\\u27C5\\u27C6\\u27E6-\\u27EF\\u2983-\\u2998\\u29D8-\\u29DB\\u29FC\\u29FD\\u2CF9-\\u2CFC\\u2CFE\\u2CFF\\u2D70\\u2E00-\\u2E2E\\u2E30-\\u2E42\\u3001-\\u3003\\u3008-\\u3011\\u3014-\\u301F\\u3030\\u303D\\u30A0\\u30FB\\uA4FE\\uA4FF\\uA60D-\\uA60F\\uA673\\uA67E\\uA6F2-\\uA6F7\\uA874-\\uA877\\uA8CE\\uA8CF\\uA8F8-\\uA8FA\\uA8FC\\uA92E\\uA92F\\uA95F\\uA9C1-\\uA9CD\\uA9DE\\uA9DF\\uAA5C-\\uAA5F\\uAADE\\uAADF\\uAAF0\\uAAF1\\uABEB\\uFD3E\\uFD3F\\uFE10-\\uFE19\\uFE30-\\uFE52\\uFE54-\\uFE61\\uFE63\\uFE68\\uFE6A\\uFE6B\\uFF01-\\uFF03\\uFF05-\\uFF0A\\uFF0C-\\uFF0F\\uFF1A\\uFF1B\\uFF1F\\uFF20\\uFF3B-\\uFF3D\\uFF3F\\uFF5B\\uFF5D\\uFF5F-\\uFF65]|\\uD800[\\uDD00-\\uDD02\\uDF9F\\uDFD0]|\\uD801\\uDD6F|\\uD802[\\uDC57\\uDD1F\\uDD3F\\uDE50-\\uDE58\\uDE7F\\uDEF0-\\uDEF6\\uDF39-\\uDF3F\\uDF99-\\uDF9C]|\\uD804[\\uDC47-\\uDC4D\\uDCBB\\uDCBC\\uDCBE-\\uDCC1\\uDD40-\\uDD43\\uDD74\\uDD75\\uDDC5-\\uDDC9\\uDDCD\\uDDDB\\uDDDD-\\uDDDF\\uDE38-\\uDE3D\\uDEA9]|\\uD805[\\uDCC6\\uDDC1-\\uDDD7\\uDE41-\\uDE43\\uDF3C-\\uDF3E]|\\uD809[\\uDC70-\\uDC74]|\\uD81A[\\uDE6E\\uDE6F\\uDEF5\\uDF37-\\uDF3B\\uDF44]|\\uD82F\\uDC9F|\\uD836[\\uDE87-\\uDE8B]/);\nvar reLinkTitle = new RegExp(\"^(?:\\\"(\" + ESCAPED_CHAR + \"|[^\\\"\\\\x00])*\\\"\" +\n \"|\" +\n (\"'(\" + ESCAPED_CHAR + \"|[^'\\\\x00])*'\") +\n \"|\" +\n (\"\\\\((\" + ESCAPED_CHAR + \"|[^()\\\\x00])*\\\\))\"));\nvar reLinkDestinationBraces = /^(?:<(?:[^<>\\n\\\\\\x00]|\\\\.)*>)/;\nvar reEscapable = new RegExp(\"^\" + ESCAPABLE);\nvar reEntityHere = new RegExp(\"^\" + ENTITY, 'i');\nvar reTicks = /`+/;\nvar reTicksHere = /^`+/;\nvar reEllipses = /\\.\\.\\./g;\nvar reDash = /--+/g;\nvar reEmailAutolink = /^<([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])?)*)>/;\nvar reAutolink = /^<[A-Za-z][A-Za-z0-9.+-]{1,31}:[^<>\\x00-\\x20]*>/i;\nvar reSpnl = /^ *(?:\\n *)?/;\nvar reWhitespaceChar = /^[ \\t\\n\\x0b\\x0c\\x0d]/;\nvar reUnicodeWhitespaceChar = /^\\s/;\nvar reFinalSpace = / *$/;\nvar reInitialSpace = /^ */;\nvar reSpaceAtEndOfLine = /^ *(?:\\n|$)/;\nvar reLinkLabel = /^\\[(?:[^\\\\\\[\\]]|\\\\.){0,1000}\\]/;\n// Matches a string of non-special characters.\nvar reMain = /^[^\\n`\\[\\]\\\\!<&*_'\"~$]+/m;\nvar InlineParser = /** @class */ (function () {\n function InlineParser(options) {\n // An InlineParser keeps track of a subject (a string to be parsed)\n // and a position in that subject.\n this.subject = '';\n this.delimiters = null; // used by handleDelim method\n this.brackets = null;\n this.pos = 0;\n this.lineStartNum = 0;\n this.lineIdx = 0;\n this.lineOffsets = [0];\n this.linePosOffset = 0;\n this.refMap = {};\n this.refLinkCandidateMap = {};\n this.refDefCandidateMap = {};\n this.options = options;\n }\n InlineParser.prototype.sourcepos = function (start, end) {\n var linePosOffset = this.linePosOffset + this.lineOffsets[this.lineIdx];\n var lineNum = this.lineStartNum + this.lineIdx;\n var startpos = [lineNum, start + linePosOffset];\n if (typeof end === 'number') {\n return [startpos, [lineNum, end + linePosOffset]];\n }\n return startpos;\n };\n InlineParser.prototype.nextLine = function () {\n this.lineIdx += 1;\n this.linePosOffset = -this.pos;\n };\n // If re matches at current position in the subject, advance\n // position in subject and return the match; otherwise return null.\n InlineParser.prototype.match = function (re) {\n var m = re.exec(this.subject.slice(this.pos));\n if (m === null) {\n return null;\n }\n this.pos += m.index + m[0].length;\n return m[0];\n };\n // Returns the code for the character at the current subject position, or -1\n // there are no more characters.\n InlineParser.prototype.peek = function () {\n if (this.pos < this.subject.length) {\n return this.subject.charCodeAt(this.pos);\n }\n return -1;\n };\n // Parse zero or more space characters, including at most one newline\n InlineParser.prototype.spnl = function () {\n this.match(reSpnl);\n return true;\n };\n // All of the parsers below try to match something at the current position\n // in the subject. If they succeed in matching anything, they\n // return the inline matched, advancing the subject.\n // Attempt to parse backticks, adding either a backtick code span or a\n // literal sequence of backticks.\n InlineParser.prototype.parseBackticks = function (block) {\n var startpos = this.pos + 1;\n var ticks = this.match(reTicksHere);\n if (ticks === null) {\n return false;\n }\n var afterOpenTicks = this.pos;\n var matched;\n while ((matched = this.match(reTicks)) !== null) {\n if (matched === ticks) {\n var contents = this.subject.slice(afterOpenTicks, this.pos - ticks.length);\n var sourcepos = this.sourcepos(startpos, this.pos);\n var lines = contents.split('\\n');\n if (lines.length > 1) {\n var lastLine = last(lines);\n this.lineIdx += lines.length - 1;\n this.linePosOffset = -(this.pos - lastLine.length - ticks.length);\n sourcepos[1] = this.sourcepos(this.pos);\n contents = lines.join(' ');\n }\n var node = createNode$1('code', sourcepos);\n if (contents.length > 0 &&\n contents.match(/[^ ]/) !== null &&\n contents[0] == ' ' &&\n contents[contents.length - 1] == ' ') {\n node.literal = contents.slice(1, contents.length - 1);\n }\n else {\n node.literal = contents;\n }\n node.tickCount = ticks.length;\n block.appendChild(node);\n return true;\n }\n }\n // If we got here, we didn't match a closing backtick sequence.\n this.pos = afterOpenTicks;\n block.appendChild(text$1(ticks, this.sourcepos(startpos, this.pos - 1)));\n return true;\n };\n // Parse a backslash-escaped special character, adding either the escaped\n // character, a hard line break (if the backslash is followed by a newline),\n // or a literal backslash to the block's children. Assumes current character\n // is a backslash.\n InlineParser.prototype.parseBackslash = function (block) {\n var subj = this.subject;\n var node;\n this.pos += 1;\n var startpos = this.pos;\n if (this.peek() === C_NEWLINE) {\n this.pos += 1;\n node = createNode$1('linebreak', this.sourcepos(this.pos - 1, this.pos));\n block.appendChild(node);\n this.nextLine();\n }\n else if (reEscapable.test(subj.charAt(this.pos))) {\n block.appendChild(text$1(subj.charAt(this.pos), this.sourcepos(startpos, this.pos)));\n this.pos += 1;\n }\n else {\n block.appendChild(text$1('\\\\', this.sourcepos(startpos, startpos)));\n }\n return true;\n };\n // Attempt to parse an autolink (URL or email in pointy brackets).\n InlineParser.prototype.parseAutolink = function (block) {\n var m;\n var dest;\n var node;\n var startpos = this.pos + 1;\n if ((m = this.match(reEmailAutolink))) {\n dest = m.slice(1, m.length - 1);\n node = createNode$1('link', this.sourcepos(startpos, this.pos));\n node.destination = normalizeURI(\"mailto:\" + dest);\n node.title = '';\n node.appendChild(text$1(dest, this.sourcepos(startpos + 1, this.pos - 1)));\n block.appendChild(node);\n return true;\n }\n if ((m = this.match(reAutolink))) {\n dest = m.slice(1, m.length - 1);\n node = createNode$1('link', this.sourcepos(startpos, this.pos));\n node.destination = normalizeURI(dest);\n node.title = '';\n node.appendChild(text$1(dest, this.sourcepos(startpos + 1, this.pos - 1)));\n block.appendChild(node);\n return true;\n }\n return false;\n };\n // Attempt to parse a raw HTML tag.\n InlineParser.prototype.parseHtmlTag = function (block) {\n var startpos = this.pos + 1;\n var m = this.match(reHtmlTag);\n if (m === null) {\n return false;\n }\n var node = createNode$1('htmlInline', this.sourcepos(startpos, this.pos));\n node.literal = m;\n block.appendChild(node);\n return true;\n };\n // Scan a sequence of characters with code cc, and return information about\n // the number of delimiters and whether they are positioned such that\n // they can open and/or close emphasis or strong emphasis. A utility\n // function for strong/emph parsing.\n InlineParser.prototype.scanDelims = function (cc) {\n var numdelims = 0;\n var startpos = this.pos;\n if (cc === C_SINGLEQUOTE || cc === C_DOUBLEQUOTE) {\n numdelims++;\n this.pos++;\n }\n else {\n while (this.peek() === cc) {\n numdelims++;\n this.pos++;\n }\n }\n if (numdelims === 0 || (numdelims < 2 && (cc === C_TILDE || cc === C_DOLLAR))) {\n this.pos = startpos;\n return null;\n }\n var charBefore = startpos === 0 ? '\\n' : this.subject.charAt(startpos - 1);\n var ccAfter = this.peek();\n var charAfter;\n if (ccAfter === -1) {\n charAfter = '\\n';\n }\n else {\n charAfter = fromCodePoint$1(ccAfter);\n }\n var afterIsWhitespace = reUnicodeWhitespaceChar.test(charAfter);\n var afterIsPunctuation = rePunctuation.test(charAfter);\n var beforeIsWhitespace = reUnicodeWhitespaceChar.test(charBefore);\n var beforeIsPunctuation = rePunctuation.test(charBefore);\n var leftFlanking = !afterIsWhitespace && (!afterIsPunctuation || beforeIsWhitespace || beforeIsPunctuation);\n var rightFlanking = !beforeIsWhitespace && (!beforeIsPunctuation || afterIsWhitespace || afterIsPunctuation);\n var canOpen;\n var canClose;\n if (cc === C_UNDERSCORE) {\n canOpen = leftFlanking && (!rightFlanking || beforeIsPunctuation);\n canClose = rightFlanking && (!leftFlanking || afterIsPunctuation);\n }\n else if (cc === C_SINGLEQUOTE || cc === C_DOUBLEQUOTE) {\n canOpen = leftFlanking && !rightFlanking;\n canClose = rightFlanking;\n }\n else if (cc === C_DOLLAR) {\n canOpen = !afterIsWhitespace;\n canClose = !beforeIsWhitespace;\n }\n else {\n canOpen = leftFlanking;\n canClose = rightFlanking;\n }\n this.pos = startpos;\n return { numdelims: numdelims, canOpen: canOpen, canClose: canClose };\n };\n // Handle a delimiter marker for emphasis or a quote.\n InlineParser.prototype.handleDelim = function (cc, block) {\n var res = this.scanDelims(cc);\n if (!res) {\n return false;\n }\n var numdelims = res.numdelims;\n var startpos = this.pos + 1;\n var contents;\n this.pos += numdelims;\n if (cc === C_SINGLEQUOTE) {\n contents = '\\u2019';\n }\n else if (cc === C_DOUBLEQUOTE) {\n contents = '\\u201C';\n }\n else {\n contents = this.subject.slice(startpos - 1, this.pos);\n }\n var node = text$1(contents, this.sourcepos(startpos, this.pos));\n block.appendChild(node);\n // Add entry to stack for this opener\n if ((res.canOpen || res.canClose) &&\n (this.options.smart || (cc !== C_SINGLEQUOTE && cc !== C_DOUBLEQUOTE))) {\n this.delimiters = {\n cc: cc,\n numdelims: numdelims,\n origdelims: numdelims,\n node: node,\n previous: this.delimiters,\n next: null,\n canOpen: res.canOpen,\n canClose: res.canClose,\n };\n if (this.delimiters.previous) {\n this.delimiters.previous.next = this.delimiters;\n }\n }\n return true;\n };\n InlineParser.prototype.removeDelimiter = function (delim) {\n if (delim.previous !== null) {\n delim.previous.next = delim.next;\n }\n if (delim.next === null) {\n // top of stack\n this.delimiters = delim.previous;\n }\n else {\n delim.next.previous = delim.previous;\n }\n };\n InlineParser.prototype.removeDelimitersBetween = function (bottom, top) {\n if (bottom.next !== top) {\n bottom.next = top;\n top.previous = bottom;\n }\n };\n /**\n * Process all delimiters - emphasis, strong emphasis, strikethrough(gfm)\n * If the smart punctuation options is true,\n * convert single/double quotes to corresponding unicode characters.\n **/\n InlineParser.prototype.processEmphasis = function (stackBottom) {\n var _a;\n var opener;\n var closer;\n var oldCloser;\n var openerInl, closerInl;\n var openerFound;\n var oddMatch = false;\n var openersBottom = (_a = {},\n _a[C_UNDERSCORE] = [stackBottom, stackBottom, stackBottom],\n _a[C_ASTERISK] = [stackBottom, stackBottom, stackBottom],\n _a[C_SINGLEQUOTE] = [stackBottom],\n _a[C_DOUBLEQUOTE] = [stackBottom],\n _a[C_TILDE] = [stackBottom],\n _a[C_DOLLAR] = [stackBottom],\n _a);\n // find first closer above stackBottom:\n closer = this.delimiters;\n while (closer !== null && closer.previous !== stackBottom) {\n closer = closer.previous;\n }\n // move forward, looking for closers, and handling each\n while (closer !== null) {\n var closercc = closer.cc;\n var closerEmph = closercc === C_UNDERSCORE || closercc === C_ASTERISK;\n if (!closer.canClose) {\n closer = closer.next;\n }\n else {\n // found emphasis closer. now look back for first matching opener:\n opener = closer.previous;\n openerFound = false;\n while (opener !== null &&\n opener !== stackBottom &&\n opener !== openersBottom[closercc][closerEmph ? closer.origdelims % 3 : 0]) {\n oddMatch =\n closerEmph &&\n (closer.canOpen || opener.canClose) &&\n closer.origdelims % 3 !== 0 &&\n (opener.origdelims + closer.origdelims) % 3 === 0;\n if (opener.cc === closer.cc && opener.canOpen && !oddMatch) {\n openerFound = true;\n break;\n }\n opener = opener.previous;\n }\n oldCloser = closer;\n if (closerEmph || closercc === C_TILDE || closercc === C_DOLLAR) {\n if (!openerFound) {\n closer = closer.next;\n }\n else if (opener) {\n // (null opener check for type narrowing)\n // calculate actual number of delimiters used from closer\n var useDelims = closer.numdelims >= 2 && opener.numdelims >= 2 ? 2 : 1;\n var emptyDelims = closerEmph ? 0 : 1;\n openerInl = opener.node;\n closerInl = closer.node;\n // build contents for new emph element\n var nodeType = closerEmph\n ? useDelims === 1\n ? 'emph'\n : 'strong'\n : 'strike';\n if (closercc === C_DOLLAR) {\n nodeType = 'customInline';\n }\n var newNode = createNode$1(nodeType);\n var openerEndPos = openerInl.sourcepos[1];\n var closerStartPos = closerInl.sourcepos[0];\n newNode.sourcepos = [\n [openerEndPos[0], openerEndPos[1] - useDelims + 1],\n [closerStartPos[0], closerStartPos[1] + useDelims - 1],\n ];\n openerInl.sourcepos[1][1] -= useDelims;\n closerInl.sourcepos[0][1] += useDelims;\n openerInl.literal = openerInl.literal.slice(useDelims);\n closerInl.literal = closerInl.literal.slice(useDelims);\n opener.numdelims -= useDelims;\n closer.numdelims -= useDelims;\n // remove used delimiters from stack elts and inlines\n var tmp = openerInl.next;\n var next = void 0;\n while (tmp && tmp !== closerInl) {\n next = tmp.next;\n tmp.unlink();\n newNode.appendChild(tmp);\n tmp = next;\n }\n // build custom inline node\n if (closercc === C_DOLLAR) {\n var textNode = newNode.firstChild;\n var literal = textNode.literal || '';\n var info = literal.split(/\\s/)[0];\n newNode.info = info;\n if (literal.length <= info.length) {\n textNode.unlink();\n }\n else {\n textNode.sourcepos[0][1] += info.length;\n textNode.literal = literal.replace(info + \" \", '');\n }\n }\n openerInl.insertAfter(newNode);\n // remove elts between opener and closer in delimiters stack\n this.removeDelimitersBetween(opener, closer);\n // if opener has 0 delims, remove it and the inline\n // if opener has 1 delims and character is tilde, remove delimiter only\n if (opener.numdelims <= emptyDelims) {\n if (opener.numdelims === 0) {\n openerInl.unlink();\n }\n this.removeDelimiter(opener);\n }\n // if closer has 0 delims, remove it and the inline\n // if closer has 1 delims and character is tilde, remove delimiter only\n if (closer.numdelims <= emptyDelims) {\n if (closer.numdelims === 0) {\n closerInl.unlink();\n }\n var tempstack = closer.next;\n this.removeDelimiter(closer);\n closer = tempstack;\n }\n }\n }\n else if (closercc === C_SINGLEQUOTE) {\n closer.node.literal = '\\u2019';\n if (openerFound) {\n opener.node.literal = '\\u2018';\n }\n closer = closer.next;\n }\n else if (closercc === C_DOUBLEQUOTE) {\n closer.node.literal = '\\u201D';\n if (openerFound) {\n opener.node.literal = '\\u201C';\n }\n closer = closer.next;\n }\n if (!openerFound) {\n // Set lower bound for future searches for openers:\n openersBottom[closercc][closerEmph ? oldCloser.origdelims % 3 : 0] = oldCloser.previous;\n if (!oldCloser.canOpen) {\n // We can remove a closer that can't be an opener,\n // once we've seen there's no matching opener:\n this.removeDelimiter(oldCloser);\n }\n }\n }\n }\n // remove all delimiters\n while (this.delimiters !== null && this.delimiters !== stackBottom) {\n this.removeDelimiter(this.delimiters);\n }\n };\n // Attempt to parse link title (sans quotes), returning the string\n // or null if no match.\n InlineParser.prototype.parseLinkTitle = function () {\n var title = this.match(reLinkTitle);\n if (title === null) {\n return null;\n }\n // chop off quotes from title and unescape:\n return unescapeString(title.substr(1, title.length - 2));\n };\n // Attempt to parse link destination, returning the string or null if no match.\n InlineParser.prototype.parseLinkDestination = function () {\n var res = this.match(reLinkDestinationBraces);\n if (res === null) {\n if (this.peek() === C_LESSTHAN$1) {\n return null;\n }\n // @TODO handrolled parser; res should be null or the string\n var savepos = this.pos;\n var openparens = 0;\n var c = void 0;\n while ((c = this.peek()) !== -1) {\n if (c === C_BACKSLASH && reEscapable.test(this.subject.charAt(this.pos + 1))) {\n this.pos += 1;\n if (this.peek() !== -1) {\n this.pos += 1;\n }\n }\n else if (c === C_OPEN_PAREN) {\n this.pos += 1;\n openparens += 1;\n }\n else if (c === C_CLOSE_PAREN) {\n if (openparens < 1) {\n break;\n }\n else {\n this.pos += 1;\n openparens -= 1;\n }\n }\n else if (reWhitespaceChar.exec(fromCodePoint$1(c)) !== null) {\n break;\n }\n else {\n this.pos += 1;\n }\n }\n if (this.pos === savepos && c !== C_CLOSE_PAREN) {\n return null;\n }\n if (openparens !== 0) {\n return null;\n }\n res = this.subject.substr(savepos, this.pos - savepos);\n return normalizeURI(unescapeString(res));\n } // chop off surrounding <..>:\n return normalizeURI(unescapeString(res.substr(1, res.length - 2)));\n };\n // Attempt to parse a link label, returning number of characters parsed.\n InlineParser.prototype.parseLinkLabel = function () {\n var m = this.match(reLinkLabel);\n if (m === null || m.length > 1001) {\n return 0;\n }\n return m.length;\n };\n // Add open bracket to delimiter stack and add a text node to block's children.\n InlineParser.prototype.parseOpenBracket = function (block) {\n var startpos = this.pos;\n this.pos += 1;\n var node = text$1('[', this.sourcepos(this.pos, this.pos));\n block.appendChild(node);\n // Add entry to stack for this opener\n this.addBracket(node, startpos, false);\n return true;\n };\n // IF next character is [, and ! delimiter to delimiter stack and\n // add a text node to block's children. Otherwise just add a text node.\n InlineParser.prototype.parseBang = function (block) {\n var startpos = this.pos;\n this.pos += 1;\n if (this.peek() === C_OPEN_BRACKET$1) {\n this.pos += 1;\n var node = text$1('![', this.sourcepos(this.pos - 1, this.pos));\n block.appendChild(node);\n // Add entry to stack for this opener\n this.addBracket(node, startpos + 1, true);\n }\n else {\n var node = text$1('!', this.sourcepos(this.pos, this.pos));\n block.appendChild(node);\n }\n return true;\n };\n // Try to match close bracket against an opening in the delimiter\n // stack. Add either a link or image, or a plain [ character,\n // to block's children. If there is a matching delimiter,\n // remove it from the delimiter stack.\n InlineParser.prototype.parseCloseBracket = function (block) {\n var dest = null;\n var title = null;\n var matched = false;\n this.pos += 1;\n var startpos = this.pos;\n // get last [ or ![\n var opener = this.brackets;\n if (opener === null) {\n // no matched opener, just return a literal\n block.appendChild(text$1(']', this.sourcepos(startpos, startpos)));\n return true;\n }\n if (!opener.active) {\n // no matched opener, just return a literal\n block.appendChild(text$1(']', this.sourcepos(startpos, startpos)));\n // take opener off brackets stack\n this.removeBracket();\n return true;\n }\n // If we got here, open is a potential opener\n var isImage = opener.image;\n // Check to see if we have a link/image\n var savepos = this.pos;\n // Inline link?\n if (this.peek() === C_OPEN_PAREN) {\n this.pos++;\n if (this.spnl() &&\n (dest = this.parseLinkDestination()) !== null &&\n this.spnl() &&\n // make sure there's a space before the title:\n ((reWhitespaceChar.test(this.subject.charAt(this.pos - 1)) &&\n (title = this.parseLinkTitle())) ||\n true) &&\n this.spnl() &&\n this.peek() === C_CLOSE_PAREN) {\n this.pos += 1;\n matched = true;\n }\n else {\n this.pos = savepos;\n }\n }\n var refLabel = '';\n if (!matched) {\n // Next, see if there's a link label\n var beforelabel = this.pos;\n var n = this.parseLinkLabel();\n if (n > 2) {\n refLabel = this.subject.slice(beforelabel, beforelabel + n);\n }\n else if (!opener.bracketAfter) {\n // Empty or missing second label means to use the first label as the reference.\n // The reference must not contain a bracket. If we know there's a bracket, we don't even bother checking it.\n refLabel = this.subject.slice(opener.index, startpos);\n }\n if (n === 0) {\n // If shortcut reference link, rewind before spaces we skipped.\n this.pos = savepos;\n }\n if (refLabel) {\n refLabel = normalizeReference(refLabel);\n // lookup rawlabel in refMap\n var link = this.refMap[refLabel];\n if (link) {\n dest = link.destination;\n title = link.title;\n matched = true;\n }\n }\n }\n if (matched) {\n var node = createNode$1(isImage ? 'image' : 'link');\n node.destination = dest;\n node.title = title || '';\n node.sourcepos = [opener.startpos, this.sourcepos(this.pos)];\n var tmp = opener.node.next;\n var next = void 0;\n while (tmp) {\n next = tmp.next;\n tmp.unlink();\n node.appendChild(tmp);\n tmp = next;\n }\n block.appendChild(node);\n this.processEmphasis(opener.previousDelimiter);\n this.removeBracket();\n opener.node.unlink();\n // We remove this bracket and processEmphasis will remove later delimiters.\n // Now, for a link, we also deactivate earlier link openers.\n // (no links in links)\n if (!isImage) {\n opener = this.brackets;\n while (opener !== null) {\n if (!opener.image) {\n opener.active = false; // deactivate this opener\n }\n opener = opener.previous;\n }\n }\n if (this.options.referenceDefinition) {\n this.refLinkCandidateMap[block.id] = { node: block, refLabel: refLabel };\n }\n return true;\n } // no match\n this.removeBracket(); // remove this opener from stack\n this.pos = startpos;\n block.appendChild(text$1(']', this.sourcepos(startpos, startpos)));\n if (this.options.referenceDefinition) {\n this.refLinkCandidateMap[block.id] = { node: block, refLabel: refLabel };\n }\n return true;\n };\n InlineParser.prototype.addBracket = function (node, index, image) {\n if (this.brackets !== null) {\n this.brackets.bracketAfter = true;\n }\n this.brackets = {\n node: node,\n startpos: this.sourcepos(index + (image ? 0 : 1)),\n previous: this.brackets,\n previousDelimiter: this.delimiters,\n index: index,\n image: image,\n active: true,\n };\n };\n InlineParser.prototype.removeBracket = function () {\n if (this.brackets) {\n this.brackets = this.brackets.previous;\n }\n };\n // Attempt to parse an entity.\n InlineParser.prototype.parseEntity = function (block) {\n var m;\n var startpos = this.pos + 1;\n if ((m = this.match(reEntityHere))) {\n block.appendChild(text$1(lib.decodeHTML(m), this.sourcepos(startpos, this.pos)));\n return true;\n }\n return false;\n };\n // Parse a run of ordinary characters, or a single character with\n // a special meaning in markdown, as a plain string.\n InlineParser.prototype.parseString = function (block) {\n var m;\n var startpos = this.pos + 1;\n if ((m = this.match(reMain))) {\n if (this.options.smart) {\n var lit = m.replace(reEllipses, '\\u2026').replace(reDash, function (chars) {\n var enCount = 0;\n var emCount = 0;\n if (chars.length % 3 === 0) {\n // If divisible by 3, use all em dashes\n emCount = chars.length / 3;\n }\n else if (chars.length % 2 === 0) {\n // If divisible by 2, use all en dashes\n enCount = chars.length / 2;\n }\n else if (chars.length % 3 === 2) {\n // If 2 extra dashes, use en dash for last 2; em dashes for rest\n enCount = 1;\n emCount = (chars.length - 2) / 3;\n }\n else {\n // Use en dashes for last 4 hyphens; em dashes for rest\n enCount = 2;\n emCount = (chars.length - 4) / 3;\n }\n return repeat('\\u2014', emCount) + repeat('\\u2013', enCount);\n });\n block.appendChild(text$1(lit, this.sourcepos(startpos, this.pos)));\n }\n else {\n var node = text$1(m, this.sourcepos(startpos, this.pos));\n block.appendChild(node);\n }\n return true;\n }\n return false;\n };\n // Parse a newline. If it was preceded by two spaces, return a hard\n // line break; otherwise a soft line break.\n InlineParser.prototype.parseNewline = function (block) {\n this.pos += 1; // assume we're at a \\n\n // check previous node for trailing spaces\n var lastc = block.lastChild;\n if (lastc && lastc.type === 'text' && lastc.literal[lastc.literal.length - 1] === ' ') {\n var hardbreak = lastc.literal[lastc.literal.length - 2] === ' ';\n var litLen = lastc.literal.length;\n lastc.literal = lastc.literal.replace(reFinalSpace, '');\n var finalSpaceLen = litLen - lastc.literal.length;\n lastc.sourcepos[1][1] -= finalSpaceLen;\n block.appendChild(createNode$1(hardbreak ? 'linebreak' : 'softbreak', this.sourcepos(this.pos - finalSpaceLen, this.pos)));\n }\n else {\n block.appendChild(createNode$1('softbreak', this.sourcepos(this.pos, this.pos)));\n }\n this.nextLine();\n this.match(reInitialSpace); // gobble leading spaces in next line\n return true;\n };\n // Attempt to parse a link reference, modifying refmap.\n InlineParser.prototype.parseReference = function (block, refMap) {\n if (!this.options.referenceDefinition) {\n return 0;\n }\n this.subject = block.stringContent;\n this.pos = 0;\n var title = null;\n var startpos = this.pos;\n // label:\n var matchChars = this.parseLinkLabel();\n if (matchChars === 0) {\n return 0;\n }\n var rawlabel = this.subject.substr(0, matchChars);\n // colon:\n if (this.peek() === C_COLON) {\n this.pos++;\n }\n else {\n this.pos = startpos;\n return 0;\n }\n // link url\n this.spnl();\n var dest = this.parseLinkDestination();\n if (dest === null) {\n this.pos = startpos;\n return 0;\n }\n var beforetitle = this.pos;\n this.spnl();\n if (this.pos !== beforetitle) {\n title = this.parseLinkTitle();\n }\n if (title === null) {\n title = '';\n // rewind before spaces\n this.pos = beforetitle;\n }\n // make sure we're at line end:\n var atLineEnd = true;\n if (this.match(reSpaceAtEndOfLine) === null) {\n if (title === '') {\n atLineEnd = false;\n }\n else {\n // the potential title we found is not at the line end,\n // but it could still be a legal link reference if we\n // discard the title\n title = '';\n // rewind before spaces\n this.pos = beforetitle;\n // and instead check if the link URL is at the line end\n atLineEnd = this.match(reSpaceAtEndOfLine) !== null;\n }\n }\n if (!atLineEnd) {\n this.pos = startpos;\n return 0;\n }\n var normalLabel = normalizeReference(rawlabel);\n if (normalLabel === '') {\n // label must contain non-whitespace characters\n this.pos = startpos;\n return 0;\n }\n var sourcepos = this.getReferenceDefSourcepos(block);\n block.sourcepos[0][0] = sourcepos[1][0] + 1;\n var node = createNode$1('refDef', sourcepos);\n node.title = title;\n node.dest = dest;\n node.label = normalLabel;\n block.insertBefore(node);\n if (!refMap[normalLabel]) {\n refMap[normalLabel] = createRefDefState(node);\n }\n else {\n this.refDefCandidateMap[node.id] = node;\n }\n return this.pos - startpos;\n };\n InlineParser.prototype.mergeTextNodes = function (walker) {\n var event;\n var textNodes = [];\n while ((event = walker.next())) {\n var entering = event.entering, node = event.node;\n if (entering && node.type === 'text') {\n textNodes.push(node);\n }\n else if (textNodes.length === 1) {\n textNodes = [];\n }\n else if (textNodes.length > 1) {\n var firstNode = textNodes[0];\n var lastNode = textNodes[textNodes.length - 1];\n if (firstNode.sourcepos && lastNode.sourcepos) {\n firstNode.sourcepos[1] = lastNode.sourcepos[1];\n }\n firstNode.next = lastNode.next;\n if (firstNode.next) {\n firstNode.next.prev = firstNode;\n }\n for (var i = 1; i < textNodes.length; i += 1) {\n firstNode.literal += textNodes[i].literal;\n textNodes[i].unlink();\n }\n textNodes = [];\n }\n }\n };\n InlineParser.prototype.getReferenceDefSourcepos = function (block) {\n var lines = block.stringContent.split(/\\n|\\r\\n/);\n var passedUrlLine = false;\n var quotationCount = 0;\n var lastLineOffset = { line: 0, ch: 0 };\n for (var i = 0; i < lines.length; i += 1) {\n var line = lines[i];\n if (reWhitespaceChar.test(line)) {\n break;\n }\n if (/\\:/.test(line) && quotationCount === 0) {\n if (passedUrlLine) {\n break;\n }\n var lineOffset = line.indexOf(':') === line.length - 1 ? i + 1 : i;\n lastLineOffset = { line: lineOffset, ch: lines[lineOffset].length };\n passedUrlLine = true;\n }\n // should consider extendable title\n var matched = line.match(/'|\"/g);\n if (matched) {\n quotationCount += matched.length;\n }\n if (quotationCount === 2) {\n lastLineOffset = { line: i, ch: line.length };\n break;\n }\n }\n return [\n [block.sourcepos[0][0], block.sourcepos[0][1]],\n [block.sourcepos[0][0] + lastLineOffset.line, lastLineOffset.ch],\n ];\n };\n // Parse the next inline element in subject, advancing subject position.\n // On success, add the result to block's children and return true.\n // On failure, return false.\n InlineParser.prototype.parseInline = function (block) {\n var _a;\n var res = false;\n var c = this.peek();\n if (c === -1) {\n return false;\n }\n switch (c) {\n case C_NEWLINE:\n res = this.parseNewline(block);\n break;\n case C_BACKSLASH:\n res = this.parseBackslash(block);\n break;\n case C_BACKTICK:\n res = this.parseBackticks(block);\n break;\n case C_ASTERISK:\n case C_UNDERSCORE:\n case C_TILDE:\n case C_DOLLAR:\n res = this.handleDelim(c, block);\n break;\n case C_SINGLEQUOTE:\n case C_DOUBLEQUOTE:\n res = !!((_a = this.options) === null || _a === void 0 ? void 0 : _a.smart) && this.handleDelim(c, block);\n break;\n case C_OPEN_BRACKET$1:\n res = this.parseOpenBracket(block);\n break;\n case C_BANG:\n res = this.parseBang(block);\n break;\n case C_CLOSE_BRACKET:\n res = this.parseCloseBracket(block);\n break;\n case C_LESSTHAN$1:\n res = this.parseAutolink(block) || this.parseHtmlTag(block);\n break;\n case C_AMPERSAND:\n if (!block.disabledEntityParse) {\n res = this.parseEntity(block);\n }\n break;\n default:\n res = this.parseString(block);\n break;\n }\n if (!res) {\n this.pos += 1;\n block.appendChild(text$1(fromCodePoint$1(c), this.sourcepos(this.pos, this.pos + 1)));\n }\n return true;\n };\n // Parse string content in block into inline children,\n // using refmap to resolve references.\n InlineParser.prototype.parse = function (block) {\n this.subject = block.stringContent.trim();\n this.pos = 0;\n this.delimiters = null;\n this.brackets = null;\n this.lineOffsets = block.lineOffsets || [0];\n this.lineIdx = 0;\n this.linePosOffset = 0;\n this.lineStartNum = block.sourcepos[0][0];\n if (isHeading(block)) {\n this.lineOffsets[0] += block.level + 1;\n }\n while (this.parseInline(block)) { }\n block.stringContent = null; // allow raw string to be garbage collected\n this.processEmphasis(null);\n this.mergeTextNodes(block.walker());\n var _a = this.options, extendedAutolinks = _a.extendedAutolinks, customParser = _a.customParser;\n if (extendedAutolinks) {\n convertExtAutoLinks(block.walker(), extendedAutolinks);\n }\n if (customParser && block.firstChild) {\n var event_1;\n var walker = block.firstChild.walker();\n while ((event_1 = walker.next())) {\n var node = event_1.node, entering = event_1.entering;\n if (customParser[node.type]) {\n customParser[node.type](node, { entering: entering, options: this.options });\n }\n }\n }\n };\n return InlineParser;\n}());\n\nvar reTaskListItemMarker = /^\\[([ \\txX])\\][ \\t]+/;\n// finalize for block handler\nfunction taskListItemFinalize(_, block) {\n if (block.firstChild && block.firstChild.type === 'paragraph') {\n var p = block.firstChild;\n var m = p.stringContent.match(reTaskListItemMarker);\n if (m) {\n var mLen = m[0].length;\n p.stringContent = p.stringContent.substring(mLen - 1);\n p.sourcepos[0][1] += mLen;\n p.lineOffsets[0] += mLen;\n block.listData.task = true;\n block.listData.checked = /[xX]/.test(m[1]);\n }\n }\n}\n\nvar table = {\n continue: function () {\n return 0 /* Go */;\n },\n finalize: function () { },\n canContain: function (t) {\n return t === 'tableHead' || t === 'tableBody';\n },\n acceptsLines: false,\n};\nvar tableBody$1 = {\n continue: function () {\n return 0 /* Go */;\n },\n finalize: function () { },\n canContain: function (t) {\n return t === 'tableRow';\n },\n acceptsLines: false,\n};\nvar tableHead$1 = {\n continue: function () {\n return 1 /* Stop */;\n },\n finalize: function () { },\n canContain: function (t) {\n return t === 'tableRow' || t === 'tableDelimRow';\n },\n acceptsLines: false,\n};\nvar tableDelimRow = {\n continue: function () {\n return 1 /* Stop */;\n },\n finalize: function () { },\n canContain: function (t) {\n return t === 'tableDelimCell';\n },\n acceptsLines: false,\n};\nvar tableDelimCell = {\n continue: function () {\n return 1 /* Stop */;\n },\n finalize: function () { },\n canContain: function () {\n return false;\n },\n acceptsLines: false,\n};\nvar tableRow = {\n continue: function () {\n return 1 /* Stop */;\n },\n finalize: function () { },\n canContain: function (t) {\n return t === 'tableCell';\n },\n acceptsLines: false,\n};\nvar tableCell = {\n continue: function () {\n return 1 /* Stop */;\n },\n finalize: function () { },\n canContain: function () {\n return false;\n },\n acceptsLines: false,\n};\n\nvar CODE_INDENT = 4;\nvar C_TAB = 9;\nvar C_GREATERTHAN = 62;\nvar C_LESSTHAN = 60;\nvar C_SPACE = 32;\nvar C_OPEN_BRACKET = 91;\nvar reNonSpace = /[^ \\t\\f\\v\\r\\n]/;\nvar reClosingCodeFence = /^(?:`{3,}|~{3,})(?= *$)/;\n// Returns true if block ends with a blank line, descending if needed\n// into lists and sublists.\nfunction endsWithBlankLine(block) {\n var curBlock = block;\n while (curBlock) {\n if (curBlock.lastLineBlank) {\n return true;\n }\n var t = curBlock.type;\n if (!curBlock.lastLineChecked && (t === 'list' || t === 'item')) {\n curBlock.lastLineChecked = true;\n curBlock = curBlock.lastChild;\n }\n else {\n curBlock.lastLineChecked = true;\n break;\n }\n }\n return false;\n}\nfunction peek(ln, pos) {\n if (pos < ln.length) {\n return ln.charCodeAt(pos);\n }\n return -1;\n}\n// Returns true if string contains only space characters.\nfunction isBlank(s) {\n return !reNonSpace.test(s);\n}\nfunction isSpaceOrTab(c) {\n return c === C_SPACE || c === C_TAB;\n}\n\nvar reClosingCustomBlock = /^\\$\\$$/;\nvar customBlock$1 = {\n continue: function (parser, container) {\n var line = parser.currentLine;\n var match = line.match(reClosingCustomBlock);\n if (match) {\n // closing custom block\n parser.lastLineLength = match[0].length;\n parser.finalize(container, parser.lineNumber);\n return 2 /* Finished */;\n }\n // skip optional spaces of custom block offset\n var i = container.offset;\n while (i > 0 && isSpaceOrTab(peek(line, parser.offset))) {\n parser.advanceOffset(1, true);\n i--;\n }\n return 0 /* Go */;\n },\n finalize: function (_, block) {\n if (block.stringContent === null) {\n return;\n }\n // first line becomes info string\n var content = block.stringContent;\n var newlinePos = content.indexOf('\\n');\n var firstLine = content.slice(0, newlinePos);\n var rest = content.slice(newlinePos + 1);\n var infoString = firstLine.match(/^(\\s*)(.*)/);\n block.info = unescapeString(infoString[2].trim());\n block.literal = rest;\n block.stringContent = null;\n },\n canContain: function () {\n return false;\n },\n acceptsLines: true,\n};\n\nvar noop = {\n continue: function () {\n return 1 /* Stop */;\n },\n finalize: function () { },\n canContain: function () {\n return false;\n },\n acceptsLines: true,\n};\nvar document$1 = {\n continue: function () {\n return 0 /* Go */;\n },\n finalize: function () { },\n canContain: function (t) {\n return t !== 'item';\n },\n acceptsLines: false,\n};\nvar list = {\n continue: function () {\n return 0 /* Go */;\n },\n finalize: function (_, block) {\n var item = block.firstChild;\n while (item) {\n // check for non-final list item ending with blank line:\n if (endsWithBlankLine(item) && item.next) {\n block.listData.tight = false;\n break;\n }\n // recurse into children of list item, to see if there are\n // spaces between any of them:\n var subitem = item.firstChild;\n while (subitem) {\n if (endsWithBlankLine(subitem) && (item.next || subitem.next)) {\n block.listData.tight = false;\n break;\n }\n subitem = subitem.next;\n }\n item = item.next;\n }\n },\n canContain: function (t) {\n return t === 'item';\n },\n acceptsLines: false,\n};\nvar blockQuote$1 = {\n continue: function (parser) {\n var ln = parser.currentLine;\n if (!parser.indented && peek(ln, parser.nextNonspace) === C_GREATERTHAN) {\n parser.advanceNextNonspace();\n parser.advanceOffset(1, false);\n if (isSpaceOrTab(peek(ln, parser.offset))) {\n parser.advanceOffset(1, true);\n }\n }\n else {\n return 1 /* Stop */;\n }\n return 0 /* Go */;\n },\n finalize: function () { },\n canContain: function (t) {\n return t !== 'item';\n },\n acceptsLines: false,\n};\nvar item = {\n continue: function (parser, container) {\n if (parser.blank) {\n if (container.firstChild === null) {\n // Blank line after empty list item\n return 1 /* Stop */;\n }\n parser.advanceNextNonspace();\n }\n else if (parser.indent >= container.listData.markerOffset + container.listData.padding) {\n parser.advanceOffset(container.listData.markerOffset + container.listData.padding, true);\n }\n else {\n return 1 /* Stop */;\n }\n return 0 /* Go */;\n },\n finalize: taskListItemFinalize,\n canContain: function (t) {\n return t !== 'item';\n },\n acceptsLines: false,\n};\nvar heading = {\n continue: function () {\n // a heading can never container > 1 line, so fail to match:\n return 1 /* Stop */;\n },\n finalize: function () { },\n canContain: function () {\n return false;\n },\n acceptsLines: false,\n};\nvar thematicBreak$1 = {\n continue: function () {\n // a thematic break can never container > 1 line, so fail to match:\n return 1 /* Stop */;\n },\n finalize: function () { },\n canContain: function () {\n return false;\n },\n acceptsLines: false,\n};\nvar codeBlock = {\n continue: function (parser, container) {\n var ln = parser.currentLine;\n var indent = parser.indent;\n if (container.isFenced) {\n // fenced\n var match = indent <= 3 &&\n ln.charAt(parser.nextNonspace) === container.fenceChar &&\n ln.slice(parser.nextNonspace).match(reClosingCodeFence);\n if (match && match[0].length >= container.fenceLength) {\n // closing fence - we're at end of line, so we can return\n parser.lastLineLength = parser.offset + indent + match[0].length;\n parser.finalize(container, parser.lineNumber);\n return 2 /* Finished */;\n }\n // skip optional spaces of fence offset\n var i = container.fenceOffset;\n while (i > 0 && isSpaceOrTab(peek(ln, parser.offset))) {\n parser.advanceOffset(1, true);\n i--;\n }\n }\n else {\n // indented\n if (indent >= CODE_INDENT) {\n parser.advanceOffset(CODE_INDENT, true);\n }\n else if (parser.blank) {\n parser.advanceNextNonspace();\n }\n else {\n return 1 /* Stop */;\n }\n }\n return 0 /* Go */;\n },\n finalize: function (_, block) {\n var _a;\n if (block.stringContent === null) {\n return;\n }\n if (block.isFenced) {\n // fenced\n // first line becomes info string\n var content = block.stringContent;\n var newlinePos = content.indexOf('\\n');\n var firstLine = content.slice(0, newlinePos);\n var rest = content.slice(newlinePos + 1);\n var infoString = firstLine.match(/^(\\s*)(.*)/);\n block.infoPadding = infoString[1].length;\n block.info = unescapeString(infoString[2].trim());\n block.literal = rest;\n }\n else {\n // indented\n block.literal = (_a = block.stringContent) === null || _a === void 0 ? void 0 : _a.replace(/(\\n *)+$/, '\\n');\n }\n block.stringContent = null; // allow GC\n },\n canContain: function () {\n return false;\n },\n acceptsLines: true,\n};\nvar htmlBlock$1 = {\n continue: function (parser, container) {\n return parser.blank && (container.htmlBlockType === 6 || container.htmlBlockType === 7)\n ? 1 /* Stop */\n : 0 /* Go */;\n },\n finalize: function (_, block) {\n var _a;\n block.literal = ((_a = block.stringContent) === null || _a === void 0 ? void 0 : _a.replace(/(\\n *)+$/, '')) || null;\n block.stringContent = null; // allow GC\n },\n canContain: function () {\n return false;\n },\n acceptsLines: true,\n};\nvar paragraph = {\n continue: function (parser) {\n return parser.blank ? 1 /* Stop */ : 0 /* Go */;\n },\n finalize: function (parser, block) {\n if (block.stringContent === null) {\n return;\n }\n var pos;\n var hasReferenceDefs = false;\n // try parsing the beginning as link reference definitions:\n while (peek(block.stringContent, 0) === C_OPEN_BRACKET &&\n (pos = parser.inlineParser.parseReference(block, parser.refMap))) {\n block.stringContent = block.stringContent.slice(pos);\n hasReferenceDefs = true;\n }\n if (hasReferenceDefs && isBlank(block.stringContent)) {\n block.unlink();\n }\n },\n canContain: function () {\n return false;\n },\n acceptsLines: true,\n};\nvar refDef = noop;\nvar frontMatter$2 = noop;\nvar blockHandlers = {\n document: document$1,\n list: list,\n blockQuote: blockQuote$1,\n item: item,\n heading: heading,\n thematicBreak: thematicBreak$1,\n codeBlock: codeBlock,\n htmlBlock: htmlBlock$1,\n paragraph: paragraph,\n table: table,\n tableBody: tableBody$1,\n tableHead: tableHead$1,\n tableRow: tableRow,\n tableCell: tableCell,\n tableDelimRow: tableDelimRow,\n tableDelimCell: tableDelimCell,\n refDef: refDef,\n customBlock: customBlock$1,\n frontMatter: frontMatter$2,\n};\n\nfunction parseRowContent(content) {\n var startIdx = 0;\n var offset = 0;\n var cells = [];\n for (var i = 0; i < content.length; i += 1) {\n if (content[i] === '|' && content[i - 1] !== '\\\\') {\n var cell = content.substring(startIdx, i);\n if (startIdx === 0 && isEmpty(cell)) {\n offset = i + 1;\n }\n else {\n cells.push(cell);\n }\n startIdx = i + 1;\n }\n }\n if (startIdx < content.length) {\n var cell = content.substring(startIdx, content.length);\n if (!isEmpty(cell)) {\n cells.push(cell);\n }\n }\n return [offset, cells];\n}\nfunction generateTableCells(cellType, contents, lineNum, chPos) {\n var cells = [];\n for (var _i = 0, contents_1 = contents; _i < contents_1.length; _i++) {\n var content = contents_1[_i];\n var preSpaces = content.match(/^[ \\t]+/);\n var paddingLeft = preSpaces ? preSpaces[0].length : 0;\n var paddingRight = void 0, trimmed = void 0;\n if (paddingLeft === content.length) {\n paddingLeft = 0;\n paddingRight = 0;\n trimmed = '';\n }\n else {\n var postSpaces = content.match(/[ \\t]+$/);\n paddingRight = postSpaces ? postSpaces[0].length : 0;\n trimmed = content.slice(paddingLeft, content.length - paddingRight);\n }\n var chPosStart = chPos + paddingLeft;\n var tableCell = createNode$1(cellType, [\n [lineNum, chPos],\n [lineNum, chPos + content.length - 1],\n ]);\n tableCell.stringContent = trimmed.replace(/\\\\\\|/g, '|'); // replace esacped pipe(\\|)\n tableCell.startIdx = cells.length;\n tableCell.endIdx = cells.length;\n tableCell.lineOffsets = [chPosStart - 1];\n tableCell.paddingLeft = paddingLeft;\n tableCell.paddingRight = paddingRight;\n cells.push(tableCell);\n chPos += content.length + 1;\n }\n return cells;\n}\nfunction getColumnFromDelimCell(cellNode) {\n var align = null;\n var content = cellNode.stringContent;\n var firstCh = content[0];\n var lastCh = content[content.length - 1];\n if (lastCh === ':') {\n align = firstCh === ':' ? 'center' : 'right';\n }\n else if (firstCh === ':') {\n align = 'left';\n }\n return { align: align };\n}\nvar tableHead = function (parser, container) {\n var stringContent = container.stringContent;\n if (container.type === 'paragraph' && !parser.indented && !parser.blank) {\n var lastNewLineIdx = stringContent.length - 1;\n var lastLineStartIdx = stringContent.lastIndexOf('\\n', lastNewLineIdx - 1) + 1;\n var headerContent = stringContent.slice(lastLineStartIdx, lastNewLineIdx);\n var delimContent = parser.currentLine.slice(parser.nextNonspace);\n var _a = parseRowContent(headerContent), headerOffset = _a[0], headerCells = _a[1];\n var _b = parseRowContent(delimContent), delimOffset = _b[0], delimCells = _b[1];\n var reValidDelimCell_1 = /^[ \\t]*:?-+:?[ \\t]*$/;\n if (\n // not checking if the number of header cells and delimiter cells are the same\n // to consider the case of merged-column (via plugin)\n !headerCells.length ||\n !delimCells.length ||\n delimCells.some(function (cell) { return !reValidDelimCell_1.test(cell); }) ||\n // to prevent to regard setTextHeading as tabel delim cell with 'disallowDeepHeading' option\n (delimCells.length === 1 && delimContent.indexOf('|') !== 0)) {\n return 0 /* None */;\n }\n var lineOffsets = container.lineOffsets;\n var firstLineNum = parser.lineNumber - 1;\n var firstLineStart = last(lineOffsets) + 1;\n var table = createNode$1('table', [\n [firstLineNum, firstLineStart],\n [parser.lineNumber, parser.offset],\n ]);\n // eslint-disable-next-line arrow-body-style\n table.columns = delimCells.map(function () { return ({ align: null }); });\n container.insertAfter(table);\n if (lineOffsets.length === 1) {\n container.unlink();\n }\n else {\n container.stringContent = stringContent.slice(0, lastLineStartIdx);\n var paraLastLineStartIdx = stringContent.lastIndexOf('\\n', lastLineStartIdx - 2) + 1;\n var paraLastLineLen = lastLineStartIdx - paraLastLineStartIdx - 1;\n parser.lastLineLength = lineOffsets[lineOffsets.length - 2] + paraLastLineLen;\n parser.finalize(container, firstLineNum - 1);\n }\n parser.advanceOffset(parser.currentLine.length - parser.offset, false);\n var tableHead_1 = createNode$1('tableHead', [\n [firstLineNum, firstLineStart],\n [parser.lineNumber, parser.offset],\n ]);\n table.appendChild(tableHead_1);\n var tableHeadRow_1 = createNode$1('tableRow', [\n [firstLineNum, firstLineStart],\n [firstLineNum, firstLineStart + headerContent.length - 1],\n ]);\n var tableDelimRow_1 = createNode$1('tableDelimRow', [\n [parser.lineNumber, parser.nextNonspace + 1],\n [parser.lineNumber, parser.offset],\n ]);\n tableHead_1.appendChild(tableHeadRow_1);\n tableHead_1.appendChild(tableDelimRow_1);\n generateTableCells('tableCell', headerCells, firstLineNum, firstLineStart + headerOffset).forEach(function (cellNode) {\n tableHeadRow_1.appendChild(cellNode);\n });\n var delimCellNodes = generateTableCells('tableDelimCell', delimCells, parser.lineNumber, parser.nextNonspace + 1 + delimOffset);\n delimCellNodes.forEach(function (cellNode) {\n tableDelimRow_1.appendChild(cellNode);\n });\n table.columns = delimCellNodes.map(getColumnFromDelimCell);\n parser.tip = table;\n return 2 /* Leaf */;\n }\n return 0 /* None */;\n};\nvar tableBody = function (parser, container) {\n if ((container.type !== 'table' && container.type !== 'tableBody') ||\n (!parser.blank && parser.currentLine.indexOf('|') === -1)) {\n return 0 /* None */;\n }\n parser.advanceOffset(parser.currentLine.length - parser.offset, false);\n if (parser.blank) {\n var table_1 = container;\n if (container.type === 'tableBody') {\n table_1 = container.parent;\n parser.finalize(container, parser.lineNumber - 1);\n }\n parser.finalize(table_1, parser.lineNumber - 1);\n return 0 /* None */;\n }\n var tableBody = container;\n if (container.type === 'table') {\n tableBody = parser.addChild('tableBody', parser.nextNonspace);\n tableBody.stringContent = null;\n }\n var tableRow = createNode$1('tableRow', [\n [parser.lineNumber, parser.nextNonspace + 1],\n [parser.lineNumber, parser.currentLine.length],\n ]);\n tableBody.appendChild(tableRow);\n var table = tableBody.parent;\n var content = parser.currentLine.slice(parser.nextNonspace);\n var _a = parseRowContent(content), offset = _a[0], cellContents = _a[1];\n generateTableCells('tableCell', cellContents, parser.lineNumber, parser.nextNonspace + 1 + offset).forEach(function (cellNode, idx) {\n if (idx >= table.columns.length) {\n cellNode.ignored = true;\n }\n tableRow.appendChild(cellNode);\n });\n return 2 /* Leaf */;\n};\n\nvar reCustomBlock = /^(\\$\\$)(\\s*[a-zA-Z])+/;\nvar reCanBeCustomInline = /^(\\$\\$)(\\s*[a-zA-Z])+.*(\\$\\$)/;\nvar customBlock = function (parser) {\n var match;\n if (!parser.indented &&\n !reCanBeCustomInline.test(parser.currentLine) &&\n (match = parser.currentLine.match(reCustomBlock))) {\n var syntaxLength = match[1].length;\n parser.closeUnmatchedBlocks();\n var container = parser.addChild('customBlock', parser.nextNonspace);\n container.syntaxLength = syntaxLength;\n container.offset = parser.indent;\n parser.advanceNextNonspace();\n parser.advanceOffset(syntaxLength, false);\n return 2 /* Leaf */;\n }\n return 0 /* None */;\n};\n\nvar reCodeFence = /^`{3,}(?!.*`)|^~{3,}/;\nvar reHtmlBlockOpen = [\n /./,\n /^<(?:script|pre|style)(?:\\s|>|$)/i,\n /^/,\n /\\?>/,\n />/,\n /\\]\\]>/,\n];\nvar reMaybeSpecial = /^[#`~*+_=<>0-9-;$]/;\nvar reLineEnding$1 = /\\r\\n|\\n|\\r/;\nfunction document$2() {\n return createNode$1('document', [\n [1, 1],\n [0, 0],\n ]);\n}\nvar defaultOptions$1 = {\n smart: false,\n tagFilter: false,\n extendedAutolinks: false,\n disallowedHtmlBlockTags: [],\n referenceDefinition: false,\n disallowDeepHeading: false,\n customParser: null,\n frontMatter: false,\n};\nvar Parser = /** @class */ (function () {\n function Parser(options) {\n this.options = __assign(__assign({}, defaultOptions$1), options);\n this.doc = document$2();\n this.tip = this.doc;\n this.oldtip = this.doc;\n this.lineNumber = 0;\n this.offset = 0;\n this.column = 0;\n this.nextNonspace = 0;\n this.nextNonspaceColumn = 0;\n this.indent = 0;\n this.currentLine = '';\n this.indented = false;\n this.blank = false;\n this.partiallyConsumedTab = false;\n this.allClosed = true;\n this.lastMatchedContainer = this.doc;\n this.refMap = {};\n this.refLinkCandidateMap = {};\n this.refDefCandidateMap = {};\n this.lastLineLength = 0;\n this.lines = [];\n if (this.options.frontMatter) {\n blockHandlers.frontMatter = frontMatter;\n blockStarts.unshift(frontMatter$1);\n }\n this.inlineParser = new InlineParser(this.options);\n }\n Parser.prototype.advanceOffset = function (count, columns) {\n if (columns === void 0) { columns = false; }\n var currentLine = this.currentLine;\n var charsToTab, charsToAdvance;\n var c;\n while (count > 0 && (c = currentLine[this.offset])) {\n if (c === '\\t') {\n charsToTab = 4 - (this.column % 4);\n if (columns) {\n this.partiallyConsumedTab = charsToTab > count;\n charsToAdvance = charsToTab > count ? count : charsToTab;\n this.column += charsToAdvance;\n this.offset += this.partiallyConsumedTab ? 0 : 1;\n count -= charsToAdvance;\n }\n else {\n this.partiallyConsumedTab = false;\n this.column += charsToTab;\n this.offset += 1;\n count -= 1;\n }\n }\n else {\n this.partiallyConsumedTab = false;\n this.offset += 1;\n this.column += 1; // assume ascii; block starts are ascii\n count -= 1;\n }\n }\n };\n Parser.prototype.advanceNextNonspace = function () {\n this.offset = this.nextNonspace;\n this.column = this.nextNonspaceColumn;\n this.partiallyConsumedTab = false;\n };\n Parser.prototype.findNextNonspace = function () {\n var currentLine = this.currentLine;\n var i = this.offset;\n var cols = this.column;\n var c;\n while ((c = currentLine.charAt(i)) !== '') {\n if (c === ' ') {\n i++;\n cols++;\n }\n else if (c === '\\t') {\n i++;\n cols += 4 - (cols % 4);\n }\n else {\n break;\n }\n }\n this.blank = c === '\\n' || c === '\\r' || c === '';\n this.nextNonspace = i;\n this.nextNonspaceColumn = cols;\n this.indent = this.nextNonspaceColumn - this.column;\n this.indented = this.indent >= CODE_INDENT;\n };\n // Add a line to the block at the tip. We assume the tip\n // can accept lines -- that check should be done before calling this.\n Parser.prototype.addLine = function () {\n if (this.partiallyConsumedTab) {\n this.offset += 1; // skip over tab\n // add space characters:\n var charsToTab = 4 - (this.column % 4);\n this.tip.stringContent += repeat(' ', charsToTab);\n }\n if (this.tip.lineOffsets) {\n this.tip.lineOffsets.push(this.offset);\n }\n else {\n this.tip.lineOffsets = [this.offset];\n }\n this.tip.stringContent += this.currentLine.slice(this.offset) + \"\\n\";\n };\n // Add block of type tag as a child of the tip. If the tip can't\n // accept children, close and finalize it and try its parent,\n // and so on til we find a block that can accept children.\n Parser.prototype.addChild = function (tag, offset) {\n while (!blockHandlers[this.tip.type].canContain(tag)) {\n this.finalize(this.tip, this.lineNumber - 1);\n }\n var columnNumber = offset + 1; // offset 0 = column 1\n var newBlock = createNode$1(tag, [\n [this.lineNumber, columnNumber],\n [0, 0],\n ]);\n newBlock.stringContent = '';\n this.tip.appendChild(newBlock);\n this.tip = newBlock;\n return newBlock;\n };\n // Finalize and close any unmatched blocks.\n Parser.prototype.closeUnmatchedBlocks = function () {\n if (!this.allClosed) {\n // finalize any blocks not matched\n while (this.oldtip !== this.lastMatchedContainer) {\n var parent_1 = this.oldtip.parent;\n this.finalize(this.oldtip, this.lineNumber - 1);\n this.oldtip = parent_1;\n }\n this.allClosed = true;\n }\n };\n // Finalize a block. Close it and do any necessary postprocessing,\n // e.g. creating stringContent from strings, setting the 'tight'\n // or 'loose' status of a list, and parsing the beginnings\n // of paragraphs for reference definitions. Reset the tip to the\n // parent of the closed block.\n Parser.prototype.finalize = function (block, lineNumber) {\n var above = block.parent;\n block.open = false;\n block.sourcepos[1] = [lineNumber, this.lastLineLength];\n blockHandlers[block.type].finalize(this, block);\n this.tip = above;\n };\n // Walk through a block & children recursively, parsing string content\n // into inline content where appropriate.\n Parser.prototype.processInlines = function (block) {\n var event;\n var customParser = this.options.customParser;\n var walker = block.walker();\n this.inlineParser.refMap = this.refMap;\n this.inlineParser.refLinkCandidateMap = this.refLinkCandidateMap;\n this.inlineParser.refDefCandidateMap = this.refDefCandidateMap;\n this.inlineParser.options = this.options;\n while ((event = walker.next())) {\n var node = event.node, entering = event.entering;\n var t = node.type;\n if (customParser && customParser[t]) {\n customParser[t](node, { entering: entering, options: this.options });\n }\n if (!entering &&\n (t === 'paragraph' ||\n t === 'heading' ||\n (t === 'tableCell' && !node.ignored))) {\n this.inlineParser.parse(node);\n }\n }\n };\n // Analyze a line of text and update the document appropriately.\n // We parse markdown text by calling this on each line of input,\n // then finalizing the document.\n Parser.prototype.incorporateLine = function (ln) {\n var container = this.doc;\n this.oldtip = this.tip;\n this.offset = 0;\n this.column = 0;\n this.blank = false;\n this.partiallyConsumedTab = false;\n this.lineNumber += 1;\n // replace NUL characters for security\n if (ln.indexOf('\\u0000') !== -1) {\n ln = ln.replace(/\\0/g, '\\uFFFD');\n }\n this.currentLine = ln;\n // For each containing block, try to parse the associated line start.\n // Bail out on failure: container will point to the last matching block.\n // Set allMatched to false if not all containers match.\n var allMatched = true;\n var lastChild;\n while ((lastChild = container.lastChild) && lastChild.open) {\n container = lastChild;\n this.findNextNonspace();\n switch (blockHandlers[container.type]['continue'](this, container)) {\n case 0 /* Go */: // we've matched, keep going\n break;\n case 1 /* Stop */: // we've failed to match a block\n allMatched = false;\n break;\n case 2 /* Finished */: // we've hit end of line for fenced code close and can return\n this.lastLineLength = ln.length;\n return;\n default:\n throw new Error('continue returned illegal value, must be 0, 1, or 2');\n }\n if (!allMatched) {\n container = container.parent; // back up to last matching block\n break;\n }\n }\n this.allClosed = container === this.oldtip;\n this.lastMatchedContainer = container;\n var matchedLeaf = container.type !== 'paragraph' && blockHandlers[container.type].acceptsLines;\n var blockStartsLen = blockStarts.length;\n // Unless last matched container is a code block, try new container starts,\n // adding children to the last matched container:\n while (!matchedLeaf) {\n this.findNextNonspace();\n // this is a little performance optimization:\n if (container.type !== 'table' &&\n container.type !== 'tableBody' &&\n container.type !== 'paragraph' &&\n !this.indented &&\n !reMaybeSpecial.test(ln.slice(this.nextNonspace))) {\n this.advanceNextNonspace();\n break;\n }\n var i = 0;\n while (i < blockStartsLen) {\n var res = blockStarts[i](this, container);\n if (res === 1 /* Container */) {\n container = this.tip;\n break;\n }\n else if (res === 2 /* Leaf */) {\n container = this.tip;\n matchedLeaf = true;\n break;\n }\n else {\n i++;\n }\n }\n if (i === blockStartsLen) {\n // nothing matched\n this.advanceNextNonspace();\n break;\n }\n }\n // What remains at the offset is a text line. Add the text to the\n // appropriate container.\n // First check for a lazy paragraph continuation:\n if (!this.allClosed && !this.blank && this.tip.type === 'paragraph') {\n // lazy paragraph continuation\n this.addLine();\n }\n else {\n // not a lazy continuation\n // finalize any blocks not matched\n this.closeUnmatchedBlocks();\n if (this.blank && container.lastChild) {\n container.lastChild.lastLineBlank = true;\n }\n var t = container.type;\n // Block quote lines are never blank as they start with >\n // and we don't count blanks in fenced code for purposes of tight/loose\n // lists or breaking out of lists. We also don't set _lastLineBlank\n // on an empty list item, or if we just closed a fenced block.\n var lastLineBlank = this.blank &&\n !(t === 'blockQuote' ||\n (isCodeBlock(container) && container.isFenced) ||\n (t === 'item' && !container.firstChild && container.sourcepos[0][0] === this.lineNumber));\n // propagate lastLineBlank up through parents:\n var cont = container;\n while (cont) {\n cont.lastLineBlank = lastLineBlank;\n cont = cont.parent;\n }\n if (blockHandlers[t].acceptsLines) {\n this.addLine();\n // if HtmlBlock, check for end condition\n if (isHtmlBlock(container) &&\n container.htmlBlockType >= 1 &&\n container.htmlBlockType <= 5 &&\n reHtmlBlockClose[container.htmlBlockType].test(this.currentLine.slice(this.offset))) {\n this.lastLineLength = ln.length;\n this.finalize(container, this.lineNumber);\n }\n }\n else if (this.offset < ln.length && !this.blank) {\n // create paragraph container for line\n container = this.addChild('paragraph', this.offset);\n this.advanceNextNonspace();\n this.addLine();\n }\n }\n this.lastLineLength = ln.length;\n };\n // The main parsing function. Returns a parsed document AST.\n Parser.prototype.parse = function (input, lineTexts) {\n this.doc = document$2();\n this.tip = this.doc;\n this.lineNumber = 0;\n this.lastLineLength = 0;\n this.offset = 0;\n this.column = 0;\n this.lastMatchedContainer = this.doc;\n this.currentLine = '';\n var lines = input.split(reLineEnding$1);\n var len = lines.length;\n this.lines = lineTexts ? lineTexts : lines;\n if (this.options.referenceDefinition) {\n this.clearRefMaps();\n }\n if (input.charCodeAt(input.length - 1) === C_NEWLINE) {\n // ignore last blank line created by final newline\n len -= 1;\n }\n for (var i = 0; i < len; i++) {\n this.incorporateLine(lines[i]);\n }\n while (this.tip) {\n this.finalize(this.tip, len);\n }\n this.processInlines(this.doc);\n return this.doc;\n };\n Parser.prototype.partialParseStart = function (lineNumber, lines) {\n this.doc = document$2();\n this.tip = this.doc;\n this.lineNumber = lineNumber - 1;\n this.lastLineLength = 0;\n this.offset = 0;\n this.column = 0;\n this.lastMatchedContainer = this.doc;\n this.currentLine = '';\n var len = lines.length;\n for (var i = 0; i < len; i++) {\n this.incorporateLine(lines[i]);\n }\n return this.doc;\n };\n Parser.prototype.partialParseExtends = function (lines) {\n for (var i = 0; i < lines.length; i++) {\n this.incorporateLine(lines[i]);\n }\n };\n Parser.prototype.partialParseFinish = function () {\n while (this.tip) {\n this.finalize(this.tip, this.lineNumber);\n }\n this.processInlines(this.doc);\n };\n Parser.prototype.setRefMaps = function (refMap, refLinkCandidateMap, refDefCandidateMap) {\n this.refMap = refMap;\n this.refLinkCandidateMap = refLinkCandidateMap;\n this.refDefCandidateMap = refDefCandidateMap;\n };\n Parser.prototype.clearRefMaps = function () {\n [this.refMap, this.refLinkCandidateMap, this.refDefCandidateMap].forEach(function (map) {\n clearObj(map);\n });\n };\n return Parser;\n}());\n\nfunction comparePos(p1, p2) {\n if (p1[0] < p2[0]) {\n return 1 /* LT */;\n }\n if (p1[0] > p2[0]) {\n return -1 /* GT */;\n }\n if (p1[1] < p2[1]) {\n return 1 /* LT */;\n }\n if (p1[1] > p2[1]) {\n return -1 /* GT */;\n }\n return 0 /* EQ */;\n}\nfunction compareRangeAndPos(_a, pos) {\n var startPos = _a[0], endPos = _a[1];\n if (comparePos(endPos, pos) === 1 /* LT */) {\n return 1 /* LT */;\n }\n if (comparePos(startPos, pos) === -1 /* GT */) {\n return -1 /* GT */;\n }\n return 0 /* EQ */;\n}\nfunction removeNextUntil(node, last) {\n if (node.parent !== last.parent || node === last) {\n return;\n }\n var next = node.next;\n while (next && next !== last) {\n var temp = next.next;\n for (var _i = 0, _a = ['parent', 'prev', 'next']; _i < _a.length; _i++) {\n var type = _a[_i];\n if (next[type]) {\n removeNodeById(next[type].id);\n next[type] = null;\n }\n }\n next = temp;\n }\n node.next = last.next;\n if (last.next) {\n last.next.prev = node;\n }\n else {\n node.parent.lastChild = node;\n }\n}\nfunction getChildNodes(parent) {\n var nodes = [];\n var curr = parent.firstChild;\n while (curr) {\n nodes.push(curr);\n curr = curr.next;\n }\n return nodes;\n}\nfunction insertNodesBefore(target, nodes) {\n for (var _i = 0, nodes_1 = nodes; _i < nodes_1.length; _i++) {\n var node = nodes_1[_i];\n target.insertBefore(node);\n }\n}\nfunction prependChildNodes(parent, nodes) {\n for (var i = nodes.length - 1; i >= 0; i -= 1) {\n parent.prependChild(nodes[i]);\n }\n}\nfunction updateNextLineNumbers(base, diff) {\n if (!base || !base.parent || diff === 0) {\n return;\n }\n var walker = base.parent.walker();\n walker.resumeAt(base, true);\n var event;\n while ((event = walker.next())) {\n var node = event.node, entering = event.entering;\n if (entering) {\n node.sourcepos[0][0] += diff;\n node.sourcepos[1][0] += diff;\n }\n }\n}\nfunction compareRangeAndLine(_a, line) {\n var startPos = _a[0], endPos = _a[1];\n if (endPos[0] < line) {\n return 1 /* LT */;\n }\n if (startPos[0] > line) {\n return -1 /* GT */;\n }\n return 0 /* EQ */;\n}\nfunction findChildNodeAtLine(parent, line) {\n var node = parent.firstChild;\n while (node) {\n var comp = compareRangeAndLine(node.sourcepos, line);\n if (comp === 0 /* EQ */) {\n return node;\n }\n if (comp === -1 /* GT */) {\n // To consider that top line is blank line\n return node.prev || node;\n }\n node = node.next;\n }\n return parent.lastChild;\n}\nfunction lastLeafNode(node) {\n while (node.lastChild) {\n node = node.lastChild;\n }\n return node;\n}\nfunction sameLineTopAncestor(node) {\n while (node.parent &&\n node.parent.type !== 'document' &&\n node.parent.sourcepos[0][0] === node.sourcepos[0][0]) {\n node = node.parent;\n }\n return node;\n}\nfunction findFirstNodeAtLine(parent, line) {\n var node = parent.firstChild;\n var prev = null;\n while (node) {\n var comp = compareRangeAndLine(node.sourcepos, line);\n if (comp === 0 /* EQ */) {\n if (node.sourcepos[0][0] === line || !node.firstChild) {\n return node;\n }\n prev = node;\n node = node.firstChild;\n }\n else if (comp === -1 /* GT */) {\n break;\n }\n else {\n prev = node;\n node = node.next;\n }\n }\n if (prev) {\n return sameLineTopAncestor(lastLeafNode(prev));\n }\n return null;\n}\nfunction findNodeAtPosition(parent, pos) {\n var node = parent;\n var prev = null;\n while (node) {\n var comp = compareRangeAndPos(node.sourcepos, pos);\n if (comp === 0 /* EQ */) {\n if (node.firstChild) {\n prev = node;\n node = node.firstChild;\n }\n else {\n return node;\n }\n }\n else if (comp === -1 /* GT */) {\n return prev;\n }\n else if (node.next) {\n node = node.next;\n }\n else {\n return prev;\n }\n }\n return node;\n}\nfunction findNodeById(id) {\n return getNodeById(id) || null;\n}\nfunction invokeNextUntil(callback, start, end) {\n if (end === void 0) { end = null; }\n if (start) {\n var walker = start.walker();\n while (start && start !== end) {\n callback(start);\n var next = walker.next();\n if (next) {\n start = next.node;\n }\n else {\n break;\n }\n }\n }\n}\nfunction isUnlinked(id) {\n var node = findNodeById(id);\n if (!node) {\n return true;\n }\n while (node && node.type !== 'document') {\n // eslint-disable-next-line no-loop-func\n if (!node.parent && !node.prev && !node.next) {\n return true;\n }\n node = node.parent;\n }\n return false;\n}\n\nvar reLineEnding = /\\r\\n|\\n|\\r/;\nfunction canBeContinuedListItem(lineText) {\n var spaceMatch = lineText.match(/^[ \\t]+/);\n if (spaceMatch && (spaceMatch[0].length >= 2 || /\\t/.test(spaceMatch[0]))) {\n return true;\n }\n var leftTrimmed = spaceMatch ? lineText.slice(spaceMatch.length) : lineText;\n return reBulletListMarker.test(leftTrimmed) || reOrderedListMarker.test(leftTrimmed);\n}\nfunction canBeContinuedTableBody(lineText) {\n return !isBlank(lineText) && lineText.indexOf('|') !== -1;\n}\nfunction createRefDefState(node) {\n var id = node.id, title = node.title, sourcepos = node.sourcepos, dest = node.dest;\n return {\n id: id,\n title: title,\n sourcepos: sourcepos,\n unlinked: false,\n destination: dest,\n };\n}\nvar ToastMark = /** @class */ (function () {\n function ToastMark(contents, options) {\n this.refMap = {};\n this.refLinkCandidateMap = {};\n this.refDefCandidateMap = {};\n this.referenceDefinition = !!(options === null || options === void 0 ? void 0 : options.referenceDefinition);\n this.parser = new Parser(options);\n this.parser.setRefMaps(this.refMap, this.refLinkCandidateMap, this.refDefCandidateMap);\n this.eventHandlerMap = { change: [] };\n contents = contents || '';\n this.lineTexts = contents.split(reLineEnding);\n this.root = this.parser.parse(contents, this.lineTexts);\n }\n ToastMark.prototype.updateLineTexts = function (startPos, endPos, newText) {\n var _a;\n var startLine = startPos[0], startCol = startPos[1];\n var endLine = endPos[0], endCol = endPos[1];\n var newLines = newText.split(reLineEnding);\n var newLineLen = newLines.length;\n var startLineText = this.lineTexts[startLine - 1];\n var endLineText = this.lineTexts[endLine - 1];\n newLines[0] = startLineText.slice(0, startCol - 1) + newLines[0];\n newLines[newLineLen - 1] = newLines[newLineLen - 1] + endLineText.slice(endCol - 1);\n var removedLineLen = endLine - startLine + 1;\n (_a = this.lineTexts).splice.apply(_a, __spreadArray([startLine - 1, removedLineLen], newLines));\n return newLineLen - removedLineLen;\n };\n ToastMark.prototype.updateRootNodeState = function () {\n if (this.lineTexts.length === 1 && this.lineTexts[0] === '') {\n this.root.lastLineBlank = true;\n this.root.sourcepos = [\n [1, 1],\n [1, 0],\n ];\n return;\n }\n if (this.root.lastChild) {\n this.root.lastLineBlank = this.root.lastChild.lastLineBlank;\n }\n var lineTexts = this.lineTexts;\n var idx = lineTexts.length - 1;\n while (lineTexts[idx] === '') {\n idx -= 1;\n }\n if (lineTexts.length - 2 > idx) {\n idx += 1;\n }\n this.root.sourcepos[1] = [idx + 1, lineTexts[idx].length];\n };\n ToastMark.prototype.replaceRangeNodes = function (startNode, endNode, newNodes) {\n if (!startNode) {\n if (endNode) {\n insertNodesBefore(endNode, newNodes);\n removeNodeById(endNode.id);\n endNode.unlink();\n }\n else {\n prependChildNodes(this.root, newNodes);\n }\n }\n else {\n insertNodesBefore(startNode, newNodes);\n removeNextUntil(startNode, endNode);\n [startNode.id, endNode.id].forEach(function (id) { return removeNodeById(id); });\n startNode.unlink();\n }\n };\n ToastMark.prototype.getNodeRange = function (startPos, endPos) {\n var startNode = findChildNodeAtLine(this.root, startPos[0]);\n var endNode = findChildNodeAtLine(this.root, endPos[0]);\n // extend node range to include a following block which doesn't have preceding blank line\n if (endNode && endNode.next && endPos[0] + 1 === endNode.next.sourcepos[0][0]) {\n endNode = endNode.next;\n }\n return [startNode, endNode];\n };\n ToastMark.prototype.trigger = function (eventName, param) {\n this.eventHandlerMap[eventName].forEach(function (handler) {\n handler(param);\n });\n };\n ToastMark.prototype.extendEndLine = function (line) {\n while (this.lineTexts[line] === '') {\n line += 1;\n }\n return line;\n };\n ToastMark.prototype.parseRange = function (startNode, endNode, startLine, endLine) {\n // extends starting range if the first node can be a continued list item\n if (startNode &&\n startNode.prev &&\n ((isList(startNode.prev) && canBeContinuedListItem(this.lineTexts[startLine - 1])) ||\n (isTable(startNode.prev) && canBeContinuedTableBody(this.lineTexts[startLine - 1])))) {\n startNode = startNode.prev;\n startLine = startNode.sourcepos[0][0];\n }\n var editedLines = this.lineTexts.slice(startLine - 1, endLine);\n var root = this.parser.partialParseStart(startLine, editedLines);\n // extends ending range if the following node can be a fenced code block or a continued list item\n var nextNode = endNode ? endNode.next : this.root.firstChild;\n var lastChild = root.lastChild;\n var isOpenedLastChildCodeBlock = lastChild && isCodeBlock(lastChild) && lastChild.open;\n var isOpenedLastChildCustomBlock = lastChild && isCustomBlock(lastChild) && lastChild.open;\n var isLastChildList = lastChild && isList(lastChild);\n while (((isOpenedLastChildCodeBlock || isOpenedLastChildCustomBlock) && nextNode) ||\n (isLastChildList && nextNode && (nextNode.type === 'list' || nextNode.sourcepos[0][1] >= 2))) {\n var newEndLine = this.extendEndLine(nextNode.sourcepos[1][0]);\n this.parser.partialParseExtends(this.lineTexts.slice(endLine, newEndLine));\n if (!startNode) {\n startNode = endNode;\n }\n endNode = nextNode;\n endLine = newEndLine;\n nextNode = nextNode.next;\n }\n this.parser.partialParseFinish();\n var newNodes = getChildNodes(root);\n return { newNodes: newNodes, extStartNode: startNode, extEndNode: endNode };\n };\n ToastMark.prototype.getRemovedNodeRange = function (extStartNode, extEndNode) {\n if (!extStartNode ||\n (extStartNode && isRefDef(extStartNode)) ||\n (extEndNode && isRefDef(extEndNode))) {\n return null;\n }\n return {\n id: [extStartNode.id, extEndNode.id],\n line: [extStartNode.sourcepos[0][0] - 1, extEndNode.sourcepos[1][0] - 1],\n };\n };\n ToastMark.prototype.markDeletedRefMap = function (extStartNode, extEndNode) {\n var _this = this;\n if (!isEmptyObj(this.refMap)) {\n var markDeleted = function (node) {\n if (isRefDef(node)) {\n var refDefState = _this.refMap[node.label];\n if (refDefState && node.id === refDefState.id) {\n refDefState.unlinked = true;\n }\n }\n };\n if (extStartNode) {\n invokeNextUntil(markDeleted, extStartNode.parent, extEndNode);\n }\n if (extEndNode) {\n invokeNextUntil(markDeleted, extEndNode);\n }\n }\n };\n ToastMark.prototype.replaceWithNewRefDefState = function (nodes) {\n var _this = this;\n if (!isEmptyObj(this.refMap)) {\n var replaceWith_1 = function (node) {\n if (isRefDef(node)) {\n var label = node.label;\n var refDefState = _this.refMap[label];\n if (!refDefState || refDefState.unlinked) {\n _this.refMap[label] = createRefDefState(node);\n }\n }\n };\n nodes.forEach(function (node) {\n invokeNextUntil(replaceWith_1, node);\n });\n }\n };\n ToastMark.prototype.replaceWithRefDefCandidate = function () {\n var _this = this;\n if (!isEmptyObj(this.refDefCandidateMap)) {\n iterateObject(this.refDefCandidateMap, function (_, candidate) {\n var label = candidate.label, sourcepos = candidate.sourcepos;\n var refDefState = _this.refMap[label];\n if (!refDefState ||\n refDefState.unlinked ||\n refDefState.sourcepos[0][0] > sourcepos[0][0]) {\n _this.refMap[label] = createRefDefState(candidate);\n }\n });\n }\n };\n ToastMark.prototype.getRangeWithRefDef = function (startLine, endLine, startNode, endNode, lineDiff) {\n if (this.referenceDefinition && !isEmptyObj(this.refMap)) {\n var prevNode = findChildNodeAtLine(this.root, startLine - 1);\n var nextNode = findChildNodeAtLine(this.root, endLine + 1);\n if (prevNode && isRefDef(prevNode) && prevNode !== startNode && prevNode !== endNode) {\n startNode = prevNode;\n startLine = startNode.sourcepos[0][0];\n }\n if (nextNode && isRefDef(nextNode) && nextNode !== startNode && nextNode !== endNode) {\n endNode = nextNode;\n endLine = this.extendEndLine(endNode.sourcepos[1][0] + lineDiff);\n }\n }\n return [startNode, endNode, startLine, endLine];\n };\n ToastMark.prototype.parse = function (startPos, endPos, lineDiff) {\n if (lineDiff === void 0) { lineDiff = 0; }\n var range = this.getNodeRange(startPos, endPos);\n var startNode = range[0], endNode = range[1];\n var startLine = startNode ? Math.min(startNode.sourcepos[0][0], startPos[0]) : startPos[0];\n var endLine = this.extendEndLine((endNode ? Math.max(endNode.sourcepos[1][0], endPos[0]) : endPos[0]) + lineDiff);\n var parseResult = this.parseRange.apply(this, this.getRangeWithRefDef(startLine, endLine, startNode, endNode, lineDiff));\n var newNodes = parseResult.newNodes, extStartNode = parseResult.extStartNode, extEndNode = parseResult.extEndNode;\n var removedNodeRange = this.getRemovedNodeRange(extStartNode, extEndNode);\n var nextNode = extEndNode ? extEndNode.next : this.root.firstChild;\n if (this.referenceDefinition) {\n this.markDeletedRefMap(extStartNode, extEndNode);\n this.replaceRangeNodes(extStartNode, extEndNode, newNodes);\n this.replaceWithNewRefDefState(newNodes);\n }\n else {\n this.replaceRangeNodes(extStartNode, extEndNode, newNodes);\n }\n return { nodes: newNodes, removedNodeRange: removedNodeRange, nextNode: nextNode };\n };\n ToastMark.prototype.parseRefLink = function () {\n var _this = this;\n var result = [];\n if (!isEmptyObj(this.refMap)) {\n iterateObject(this.refMap, function (label, value) {\n if (value.unlinked) {\n delete _this.refMap[label];\n }\n iterateObject(_this.refLinkCandidateMap, function (_, candidate) {\n var node = candidate.node, refLabel = candidate.refLabel;\n if (refLabel === label) {\n result.push(_this.parse(node.sourcepos[0], node.sourcepos[1]));\n }\n });\n });\n }\n return result;\n };\n ToastMark.prototype.removeUnlinkedCandidate = function () {\n if (!isEmptyObj(this.refDefCandidateMap)) {\n [this.refLinkCandidateMap, this.refDefCandidateMap].forEach(function (candidateMap) {\n iterateObject(candidateMap, function (id) {\n if (isUnlinked(id)) {\n delete candidateMap[id];\n }\n });\n });\n }\n };\n ToastMark.prototype.editMarkdown = function (startPos, endPos, newText) {\n var lineDiff = this.updateLineTexts(startPos, endPos, newText);\n var parseResult = this.parse(startPos, endPos, lineDiff);\n var editResult = omit(parseResult, 'nextNode');\n updateNextLineNumbers(parseResult.nextNode, lineDiff);\n this.updateRootNodeState();\n var result = [editResult];\n if (this.referenceDefinition) {\n this.removeUnlinkedCandidate();\n this.replaceWithRefDefCandidate();\n result = result.concat(this.parseRefLink());\n }\n this.trigger('change', result);\n return result;\n };\n ToastMark.prototype.getLineTexts = function () {\n return this.lineTexts;\n };\n ToastMark.prototype.getRootNode = function () {\n return this.root;\n };\n ToastMark.prototype.findNodeAtPosition = function (pos) {\n var node = findNodeAtPosition(this.root, pos);\n if (!node || node === this.root) {\n return null;\n }\n return node;\n };\n ToastMark.prototype.findFirstNodeAtLine = function (line) {\n return findFirstNodeAtLine(this.root, line);\n };\n ToastMark.prototype.on = function (eventName, callback) {\n this.eventHandlerMap[eventName].push(callback);\n };\n ToastMark.prototype.off = function (eventName, callback) {\n var handlers = this.eventHandlerMap[eventName];\n var idx = handlers.indexOf(callback);\n handlers.splice(idx, 1);\n };\n ToastMark.prototype.findNodeById = function (id) {\n return findNodeById(id);\n };\n ToastMark.prototype.removeAllNode = function () {\n removeAllNode();\n };\n return ToastMark;\n}());\n\nvar disallowedTags = [\n 'title',\n 'textarea',\n 'style',\n 'xmp',\n 'iframe',\n 'noembed',\n 'noframes',\n 'script',\n 'plaintext',\n];\nvar reDisallowedTag = new RegExp(\"<(/?(?:\" + disallowedTags.join('|') + \")[^>]*>)\", 'ig');\nfunction filterDisallowedTags(str) {\n if (reDisallowedTag.test(str)) {\n return str.replace(reDisallowedTag, function (_, group) { return \"<\" + group; });\n }\n return str;\n}\n\nvar baseConvertors$1 = {\n heading: function (node, _a) {\n var entering = _a.entering;\n return {\n type: entering ? 'openTag' : 'closeTag',\n tagName: \"h\" + node.level,\n outerNewLine: true,\n };\n },\n text: function (node) {\n return {\n type: 'text',\n content: node.literal,\n };\n },\n softbreak: function (_, _a) {\n var options = _a.options;\n return {\n type: 'html',\n content: options.softbreak,\n };\n },\n linebreak: function () {\n return {\n type: 'html',\n content: '
\\n',\n };\n },\n emph: function (_, _a) {\n var entering = _a.entering;\n return {\n type: entering ? 'openTag' : 'closeTag',\n tagName: 'em',\n };\n },\n strong: function (_, _a) {\n var entering = _a.entering;\n return {\n type: entering ? 'openTag' : 'closeTag',\n tagName: 'strong',\n };\n },\n paragraph: function (node, _a) {\n var _b;\n var entering = _a.entering;\n var grandparent = (_b = node.parent) === null || _b === void 0 ? void 0 : _b.parent;\n if (grandparent && grandparent.type === 'list') {\n if (grandparent.listData.tight) {\n return null;\n }\n }\n return {\n type: entering ? 'openTag' : 'closeTag',\n tagName: 'p',\n outerNewLine: true,\n };\n },\n thematicBreak: function () {\n return {\n type: 'openTag',\n tagName: 'hr',\n outerNewLine: true,\n selfClose: true,\n };\n },\n blockQuote: function (_, _a) {\n var entering = _a.entering;\n return {\n type: entering ? 'openTag' : 'closeTag',\n tagName: 'blockquote',\n outerNewLine: true,\n innerNewLine: true,\n };\n },\n list: function (node, _a) {\n var entering = _a.entering;\n var _b = node.listData, type = _b.type, start = _b.start;\n var tagName = type === 'bullet' ? 'ul' : 'ol';\n var attributes = {};\n if (tagName === 'ol' && start !== null && start !== 1) {\n attributes.start = start.toString();\n }\n return {\n type: entering ? 'openTag' : 'closeTag',\n tagName: tagName,\n attributes: attributes,\n outerNewLine: true,\n };\n },\n item: function (_, _a) {\n var entering = _a.entering;\n return {\n type: entering ? 'openTag' : 'closeTag',\n tagName: 'li',\n outerNewLine: true,\n };\n },\n htmlInline: function (node, _a) {\n var options = _a.options;\n var content = options.tagFilter ? filterDisallowedTags(node.literal) : node.literal;\n return { type: 'html', content: content };\n },\n htmlBlock: function (node, _a) {\n var options = _a.options;\n var content = options.tagFilter ? filterDisallowedTags(node.literal) : node.literal;\n if (options.nodeId) {\n return [\n { type: 'openTag', tagName: 'div', outerNewLine: true },\n { type: 'html', content: content },\n { type: 'closeTag', tagName: 'div', outerNewLine: true },\n ];\n }\n return { type: 'html', content: content, outerNewLine: true };\n },\n code: function (node) {\n return [\n { type: 'openTag', tagName: 'code' },\n { type: 'text', content: node.literal },\n { type: 'closeTag', tagName: 'code' },\n ];\n },\n codeBlock: function (node) {\n var infoStr = node.info;\n var infoWords = infoStr ? infoStr.split(/\\s+/) : [];\n var codeClassNames = [];\n if (infoWords.length > 0 && infoWords[0].length > 0) {\n codeClassNames.push(\"language-\" + escapeXml(infoWords[0]));\n }\n return [\n { type: 'openTag', tagName: 'pre', outerNewLine: true },\n { type: 'openTag', tagName: 'code', classNames: codeClassNames },\n { type: 'text', content: node.literal },\n { type: 'closeTag', tagName: 'code' },\n { type: 'closeTag', tagName: 'pre', outerNewLine: true },\n ];\n },\n link: function (node, _a) {\n var entering = _a.entering;\n if (entering) {\n var _b = node, title = _b.title, destination = _b.destination;\n return {\n type: 'openTag',\n tagName: 'a',\n attributes: __assign({ href: escapeXml(destination) }, (title && { title: escapeXml(title) })),\n };\n }\n return { type: 'closeTag', tagName: 'a' };\n },\n image: function (node, _a) {\n var getChildrenText = _a.getChildrenText, skipChildren = _a.skipChildren;\n var _b = node, title = _b.title, destination = _b.destination;\n skipChildren();\n return {\n type: 'openTag',\n tagName: 'img',\n selfClose: true,\n attributes: __assign({ src: escapeXml(destination), alt: getChildrenText(node) }, (title && { title: escapeXml(title) })),\n };\n },\n customBlock: function (node, context, convertors) {\n var info = node.info.trim().toLowerCase();\n var customConvertor = convertors[info];\n if (customConvertor) {\n try {\n return customConvertor(node, context);\n }\n catch (e) {\n console.warn(\"[@toast-ui/editor] - The error occurred when \" + info + \" block node was parsed in markdown renderer: \" + e);\n }\n }\n return [\n { type: 'openTag', tagName: 'div', outerNewLine: true },\n { type: 'text', content: node.literal },\n { type: 'closeTag', tagName: 'div', outerNewLine: true },\n ];\n },\n frontMatter: function (node) {\n return [\n {\n type: 'openTag',\n tagName: 'div',\n outerNewLine: true,\n // Because front matter is metadata, it should not be render.\n attributes: { style: 'white-space: pre; display: none;' },\n },\n { type: 'text', content: node.literal },\n { type: 'closeTag', tagName: 'div', outerNewLine: true },\n ];\n },\n customInline: function (node, context, convertors) {\n var _a = node, info = _a.info, firstChild = _a.firstChild;\n var nomalizedInfo = info.trim().toLowerCase();\n var customConvertor = convertors[nomalizedInfo];\n var entering = context.entering;\n if (customConvertor) {\n try {\n return customConvertor(node, context);\n }\n catch (e) {\n console.warn(\"[@toast-ui/editor] - The error occurred when \" + nomalizedInfo + \" inline node was parsed in markdown renderer: \" + e);\n }\n }\n return entering\n ? [\n { type: 'openTag', tagName: 'span' },\n { type: 'text', content: \"$$\" + info + (firstChild ? ' ' : '') },\n ]\n : [\n { type: 'text', content: '$$' },\n { type: 'closeTag', tagName: 'span' },\n ];\n },\n};\n\nvar gfmConvertors = {\n strike: function (_, _a) {\n var entering = _a.entering;\n return {\n type: entering ? 'openTag' : 'closeTag',\n tagName: 'del',\n };\n },\n item: function (node, _a) {\n var entering = _a.entering;\n var _b = node.listData, checked = _b.checked, task = _b.task;\n if (entering) {\n var itemTag = {\n type: 'openTag',\n tagName: 'li',\n outerNewLine: true,\n };\n if (task) {\n return [\n itemTag,\n {\n type: 'openTag',\n tagName: 'input',\n selfClose: true,\n attributes: __assign(__assign({}, (checked && { checked: '' })), { disabled: '', type: 'checkbox' }),\n },\n {\n type: 'text',\n content: ' ',\n },\n ];\n }\n return itemTag;\n }\n return {\n type: 'closeTag',\n tagName: 'li',\n outerNewLine: true,\n };\n },\n table: function (_, _a) {\n var entering = _a.entering;\n return {\n type: entering ? 'openTag' : 'closeTag',\n tagName: 'table',\n outerNewLine: true,\n };\n },\n tableHead: function (_, _a) {\n var entering = _a.entering;\n return {\n type: entering ? 'openTag' : 'closeTag',\n tagName: 'thead',\n outerNewLine: true,\n };\n },\n tableBody: function (_, _a) {\n var entering = _a.entering;\n return {\n type: entering ? 'openTag' : 'closeTag',\n tagName: 'tbody',\n outerNewLine: true,\n };\n },\n tableRow: function (node, _a) {\n var entering = _a.entering;\n if (entering) {\n return {\n type: 'openTag',\n tagName: 'tr',\n outerNewLine: true,\n };\n }\n var result = [];\n if (node.lastChild) {\n var columnLen = node.parent.parent.columns.length;\n var lastColIdx = node.lastChild.endIdx;\n for (var i = lastColIdx + 1; i < columnLen; i += 1) {\n result.push({\n type: 'openTag',\n tagName: 'td',\n outerNewLine: true,\n }, {\n type: 'closeTag',\n tagName: 'td',\n outerNewLine: true,\n });\n }\n }\n result.push({\n type: 'closeTag',\n tagName: 'tr',\n outerNewLine: true,\n });\n return result;\n },\n tableCell: function (node, _a) {\n var entering = _a.entering;\n if (node.ignored) {\n return {\n type: 'text',\n content: '',\n };\n }\n var tablePart = node.parent.parent;\n var tagName = tablePart.type === 'tableHead' ? 'th' : 'td';\n var table = tablePart.parent;\n var columnInfo = table.columns[node.startIdx];\n var attributes = (columnInfo === null || columnInfo === void 0 ? void 0 : columnInfo.align) ? { align: columnInfo.align } : null;\n if (entering) {\n return __assign({ type: 'openTag', tagName: tagName, outerNewLine: true }, (attributes && { attributes: attributes }));\n }\n return {\n type: 'closeTag',\n tagName: tagName,\n outerNewLine: true,\n };\n },\n};\n\nvar defaultOptions = {\n softbreak: '\\n',\n gfm: false,\n tagFilter: false,\n nodeId: false,\n};\nfunction getChildrenText(node) {\n var buffer = [];\n var walker = node.walker();\n var event = null;\n while ((event = walker.next())) {\n var node_1 = event.node;\n if (node_1.type === 'text') {\n buffer.push(node_1.literal);\n }\n }\n return buffer.join('');\n}\nvar Renderer = /** @class */ (function () {\n function Renderer(customOptions) {\n this.buffer = [];\n this.options = __assign(__assign({}, defaultOptions), customOptions);\n this.convertors = this.createConvertors();\n delete this.options.convertors;\n }\n Renderer.prototype.createConvertors = function () {\n var convertors = __assign({}, baseConvertors$1);\n if (this.options.gfm) {\n convertors = __assign(__assign({}, convertors), gfmConvertors);\n }\n if (this.options.convertors) {\n var customConvertors_1 = this.options.convertors;\n var nodeTypes = Object.keys(customConvertors_1);\n var defaultConvertors_1 = __assign(__assign({}, baseConvertors$1), gfmConvertors);\n nodeTypes.forEach(function (nodeType) {\n var orgConvertor = convertors[nodeType];\n var convertor = customConvertors_1[nodeType];\n var convertorType = Object.keys(defaultConvertors_1).indexOf(nodeType) === -1\n ? nodeType.toLowerCase()\n : nodeType;\n if (orgConvertor) {\n convertors[convertorType] = function (node, context, convertors) {\n context.origin = function () { return orgConvertor(node, context, convertors); };\n return convertor(node, context);\n };\n }\n else {\n convertors[convertorType] = convertor;\n }\n });\n }\n return convertors;\n };\n Renderer.prototype.getConvertors = function () {\n return this.convertors;\n };\n Renderer.prototype.getOptions = function () {\n return this.options;\n };\n Renderer.prototype.render = function (rootNode) {\n var _this = this;\n this.buffer = [];\n var walker = rootNode.walker();\n var event = null;\n var _loop_1 = function () {\n var node = event.node, entering = event.entering;\n var convertor = this_1.convertors[node.type];\n if (!convertor) {\n return \"continue\";\n }\n var skipped = false;\n var context = {\n entering: entering,\n leaf: !isContainer$1(node),\n options: this_1.options,\n getChildrenText: getChildrenText,\n skipChildren: function () {\n skipped = true;\n },\n };\n var converted = isCustomBlock(node) || isCustomInline(node)\n ? convertor(node, context, this_1.convertors)\n : convertor(node, context);\n if (converted) {\n var htmlNodes = Array.isArray(converted) ? converted : [converted];\n htmlNodes.forEach(function (htmlNode, index) {\n if (htmlNode.type === 'openTag' && _this.options.nodeId && index === 0) {\n if (!htmlNode.attributes) {\n htmlNode.attributes = {};\n }\n htmlNode.attributes['data-nodeid'] = String(node.id);\n }\n _this.renderHTMLNode(htmlNode);\n });\n if (skipped) {\n walker.resumeAt(node, false);\n walker.next();\n }\n }\n };\n var this_1 = this;\n while ((event = walker.next())) {\n _loop_1();\n }\n this.addNewLine();\n return this.buffer.join('');\n };\n Renderer.prototype.renderHTMLNode = function (node) {\n switch (node.type) {\n case 'openTag':\n case 'closeTag':\n this.renderElementNode(node);\n break;\n case 'text':\n this.renderTextNode(node);\n break;\n case 'html':\n this.renderRawHtmlNode(node);\n break;\n // no-default-case\n }\n };\n Renderer.prototype.generateOpenTagString = function (node) {\n var _this = this;\n var tagName = node.tagName, classNames = node.classNames, attributes = node.attributes;\n this.buffer.push(\"<\" + tagName);\n if (classNames && classNames.length > 0) {\n this.buffer.push(\" class=\\\"\" + classNames.join(' ') + \"\\\"\");\n }\n if (attributes) {\n Object.keys(attributes).forEach(function (attrName) {\n var attrValue = attributes[attrName];\n _this.buffer.push(\" \" + attrName + \"=\\\"\" + attrValue + \"\\\"\");\n });\n }\n if (node.selfClose) {\n this.buffer.push(' /');\n }\n this.buffer.push('>');\n };\n Renderer.prototype.generateCloseTagString = function (_a) {\n var tagName = _a.tagName;\n this.buffer.push(\"\" + tagName + \">\");\n };\n Renderer.prototype.addNewLine = function () {\n if (this.buffer.length && last(last(this.buffer)) !== '\\n') {\n this.buffer.push('\\n');\n }\n };\n Renderer.prototype.addOuterNewLine = function (node) {\n if (node.outerNewLine) {\n this.addNewLine();\n }\n };\n Renderer.prototype.addInnerNewLine = function (node) {\n if (node.innerNewLine) {\n this.addNewLine();\n }\n };\n Renderer.prototype.renderTextNode = function (node) {\n this.buffer.push(escapeXml(node.content));\n };\n Renderer.prototype.renderRawHtmlNode = function (node) {\n this.addOuterNewLine(node);\n this.buffer.push(node.content);\n this.addOuterNewLine(node);\n };\n Renderer.prototype.renderElementNode = function (node) {\n if (node.type === 'openTag') {\n this.addOuterNewLine(node);\n this.generateOpenTagString(node);\n if (node.selfClose) {\n this.addOuterNewLine(node);\n }\n else {\n this.addInnerNewLine(node);\n }\n }\n else {\n this.addInnerNewLine(node);\n this.generateCloseTagString(node);\n this.addOuterNewLine(node);\n }\n };\n return Renderer;\n}());\n\n/*! @license DOMPurify 2.3.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/2.3.3/LICENSE */\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 hasOwnProperty = Object.hasOwnProperty,\n setPrototypeOf = Object.setPrototypeOf,\n isFrozen = Object.isFrozen,\n getPrototypeOf = Object.getPrototypeOf,\n getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar freeze = Object.freeze,\n seal = Object.seal,\n create = Object.create; // eslint-disable-line import/no-mutable-exports\n\nvar _ref = typeof Reflect !== 'undefined' && Reflect,\n apply = _ref.apply,\n 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(args))))();\n };\n}\n\nvar arrayForEach = unapply(Array.prototype.forEach);\nvar arrayPop = unapply(Array.prototype.pop);\nvar arrayPush = unapply(Array.prototype.push);\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);\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 = create(null);\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\n/* IE10 doesn't support __lookupGetter__ so lets'\n * simulate it. It also automatically checks\n * if the prop is function or getter and behaves\n * accordingly. */\nfunction lookupGetter(object, prop) {\n while (object !== null) {\n var desc = getOwnPropertyDescriptor(object, prop);\n if (desc) {\n if (desc.get) {\n return unapply(desc.get);\n }\n\n if (typeof desc.value === 'function') {\n return unapply(desc.value);\n }\n }\n\n object = getPrototypeOf(object);\n }\n\n function fallbackValue(element) {\n console.warn('fallback value for', element);\n return null;\n }\n\n return fallbackValue;\n}\n\nvar html$2 = freeze(['a', 'abbr', 'acronym', 'address', 'area', 'article', 'aside', 'audio', 'b', 'bdi', 'bdo', 'big', 'blink', 'blockquote', 'body', 'br', 'button', 'canvas', 'caption', 'center', 'cite', 'code', 'col', 'colgroup', 'content', 'data', 'datalist', 'dd', 'decorator', 'del', 'details', 'dfn', 'dialog', 'dir', 'div', 'dl', 'dt', 'element', 'em', 'fieldset', 'figcaption', 'figure', 'font', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'head', 'header', 'hgroup', 'hr', 'html', 'i', 'img', 'input', 'ins', 'kbd', 'label', 'legend', 'li', 'main', 'map', 'mark', 'marquee', 'menu', 'menuitem', 'meter', 'nav', 'nobr', 'ol', 'optgroup', 'option', 'output', 'p', 'picture', 'pre', 'progress', 'q', 'rp', 'rt', 'ruby', 's', 'samp', 'section', 'select', 'shadow', 'small', 'source', 'spacer', 'span', 'strike', 'strong', 'style', 'sub', 'summary', 'sup', 'table', 'tbody', 'td', 'template', 'textarea', 'tfoot', 'th', 'thead', 'time', 'tr', 'track', 'tt', 'u', 'ul', 'var', 'video', 'wbr']);\n\n// SVG\nvar svg = freeze(['svg', 'a', 'altglyph', 'altglyphdef', 'altglyphitem', 'animatecolor', 'animatemotion', 'animatetransform', 'circle', 'clippath', 'defs', 'desc', 'ellipse', 'filter', 'font', 'g', 'glyph', 'glyphref', 'hkern', 'image', 'line', 'lineargradient', 'marker', 'mask', 'metadata', 'mpath', 'path', 'pattern', 'polygon', 'polyline', 'radialgradient', 'rect', 'stop', 'style', 'switch', 'symbol', 'text', 'textpath', 'title', 'tref', 'tspan', 'view', 'vkern']);\n\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\n// List of SVG elements that are disallowed by default.\n// We still need to know them so that we can do namespace\n// checks properly in case one wants to add them to\n// allow-list.\nvar svgDisallowed = freeze(['animate', 'color-profile', 'cursor', 'discard', 'fedropshadow', 'feimage', 'font-face', 'font-face-format', 'font-face-name', 'font-face-src', 'font-face-uri', 'foreignobject', 'hatch', 'hatchpath', 'mesh', 'meshgradient', 'meshpatch', 'meshrow', 'missing-glyph', 'script', 'set', 'solidcolor', 'unknown', 'use']);\n\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\n// Similarly to SVG, we want to know all MathML elements,\n// even those that we disallow by default.\nvar mathMlDisallowed = freeze(['maction', 'maligngroup', 'malignmark', 'mlongdiv', 'mscarries', 'mscarry', 'msgroup', 'mstack', 'msline', 'msrow', 'semantics', 'annotation', 'annotation-xml', 'mprescripts', 'none']);\n\nvar text = freeze(['#text']);\n\nvar html$1$1 = freeze(['accept', 'action', 'align', 'alt', 'autocapitalize', 'autocomplete', 'autopictureinpicture', 'autoplay', 'background', 'bgcolor', 'border', 'capture', 'cellpadding', 'cellspacing', 'checked', 'cite', 'class', 'clear', 'color', 'cols', 'colspan', 'controls', 'controlslist', 'coords', 'crossorigin', 'datetime', 'decoding', 'default', 'dir', 'disabled', 'disablepictureinpicture', 'disableremoteplayback', 'download', 'draggable', 'enctype', 'enterkeyhint', 'face', 'for', 'headers', 'height', 'hidden', 'high', 'href', 'hreflang', 'id', 'inputmode', 'integrity', 'ismap', 'kind', 'label', 'lang', 'list', 'loading', 'loop', 'low', 'max', 'maxlength', 'media', 'method', 'min', 'minlength', 'multiple', 'muted', 'name', 'noshade', 'novalidate', 'nowrap', 'open', 'optimum', 'pattern', 'placeholder', 'playsinline', 'poster', 'preload', 'pubdate', 'radiogroup', 'readonly', 'rel', 'required', 'rev', 'reversed', 'role', 'rows', 'rowspan', 'spellcheck', 'scope', 'selected', 'shape', 'size', 'sizes', 'span', 'srclang', 'start', 'src', 'srcset', 'step', 'style', 'summary', 'tabindex', 'title', 'translate', 'type', 'usemap', 'valign', 'value', 'width', 'xmlns', 'slot']);\n\nvar svg$1 = freeze(['accent-height', 'accumulate', 'additive', 'alignment-baseline', 'ascent', 'attributename', 'attributetype', 'azimuth', 'basefrequency', 'baseline-shift', 'begin', 'bias', 'by', 'class', 'clip', 'clippathunits', 'clip-path', 'clip-rule', 'color', 'color-interpolation', 'color-interpolation-filters', 'color-profile', 'color-rendering', 'cx', 'cy', 'd', 'dx', 'dy', 'diffuseconstant', 'direction', 'display', 'divisor', 'dur', 'edgemode', 'elevation', 'end', 'fill', 'fill-opacity', 'fill-rule', 'filter', 'filterunits', 'flood-color', 'flood-opacity', 'font-family', 'font-size', 'font-size-adjust', 'font-stretch', 'font-style', 'font-variant', 'font-weight', 'fx', 'fy', 'g1', 'g2', 'glyph-name', 'glyphref', 'gradientunits', 'gradienttransform', 'height', 'href', 'id', 'image-rendering', 'in', 'in2', 'k', 'k1', 'k2', 'k3', 'k4', 'kerning', 'keypoints', 'keysplines', 'keytimes', 'lang', 'lengthadjust', 'letter-spacing', 'kernelmatrix', 'kernelunitlength', 'lighting-color', 'local', 'marker-end', 'marker-mid', 'marker-start', 'markerheight', 'markerunits', 'markerwidth', 'maskcontentunits', 'maskunits', 'max', 'mask', 'media', 'method', 'mode', 'min', 'name', 'numoctaves', 'offset', 'operator', 'opacity', 'order', 'orient', 'orientation', 'origin', 'overflow', 'paint-order', 'path', 'pathlength', 'patterncontentunits', 'patterntransform', 'patternunits', 'points', 'preservealpha', 'preserveaspectratio', 'primitiveunits', 'r', 'rx', 'ry', 'radius', 'refx', 'refy', 'repeatcount', 'repeatdur', 'restart', 'result', 'rotate', 'scale', 'seed', 'shape-rendering', 'specularconstant', 'specularexponent', 'spreadmethod', 'startoffset', 'stddeviation', 'stitchtiles', 'stop-color', 'stop-opacity', 'stroke-dasharray', 'stroke-dashoffset', 'stroke-linecap', 'stroke-linejoin', 'stroke-miterlimit', 'stroke-opacity', 'stroke', 'stroke-width', 'style', 'surfacescale', 'systemlanguage', 'tabindex', 'targetx', 'targety', 'transform', 'text-anchor', 'text-decoration', 'text-rendering', 'textlength', 'type', 'u1', 'u2', 'unicode', 'values', 'viewbox', 'visibility', 'version', 'vert-adv-y', 'vert-origin-x', 'vert-origin-y', 'width', 'word-spacing', 'wrap', 'writing-mode', 'xchannelselector', 'ychannelselector', 'x', 'x1', 'x2', 'xmlns', 'y', 'y1', 'y2', 'z', 'zoomandpan']);\n\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\n// eslint-disable-next-line unicorn/better-regex\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$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 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 (_) {\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.3.3';\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\n var document = window.document;\n var DocumentFragment = window.DocumentFragment,\n HTMLTemplateElement = window.HTMLTemplateElement,\n Node = window.Node,\n Element = window.Element,\n NodeFilter = window.NodeFilter,\n _window$NamedNodeMap = window.NamedNodeMap,\n NamedNodeMap = _window$NamedNodeMap === undefined ? window.NamedNodeMap || window.MozNamedAttrMap : _window$NamedNodeMap,\n Text = window.Text,\n Comment = window.Comment,\n DOMParser = window.DOMParser,\n trustedTypes = window.trustedTypes;\n\n\n var ElementPrototype = Element.prototype;\n\n var cloneNode = lookupGetter(ElementPrototype, 'cloneNode');\n var getNextSibling = lookupGetter(ElementPrototype, 'nextSibling');\n var getChildNodes = lookupGetter(ElementPrototype, 'childNodes');\n var getParentNode = lookupGetter(ElementPrototype, 'parentNode');\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 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 && RETURN_TRUSTED_TYPE ? trustedTypesPolicy.createHTML('') : '';\n\n var _document = document,\n implementation = _document.implementation,\n createNodeIterator = _document.createNodeIterator,\n createDocumentFragment = _document.createDocumentFragment,\n getElementsByTagName = _document.getElementsByTagName;\n var importNode = originalDocument.importNode;\n\n\n var documentMode = {};\n try {\n documentMode = clone(document).documentMode ? document.documentMode : {};\n } catch (_) {}\n\n var hooks = {};\n\n /**\n * Expose whether this browser supports running the full DOMPurify.\n */\n DOMPurify.isSupported = typeof getParentNode === 'function' && implementation && typeof implementation.createHTMLDocument !== 'undefined' && 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$1(html$2), _toConsumableArray$1(svg), _toConsumableArray$1(svgFilters), _toConsumableArray$1(mathMl), _toConsumableArray$1(text)));\n\n /* Allowed attribute names */\n var ALLOWED_ATTR = null;\n var DEFAULT_ALLOWED_ATTR = addToSet({}, [].concat(_toConsumableArray$1(html$1$1), _toConsumableArray$1(svg$1), _toConsumableArray$1(mathMl$1), _toConsumableArray$1(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 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 *\n * This defaults to `true` starting DOMPurify 2.2.0. Note that setting it to `false`\n * might cause XSS from attacks hidden in closed shadowroots in case the browser\n * supports Declarative Shadow: DOM https://web.dev/declarative-shadow-dom/\n */\n var RETURN_DOM_IMPORT = true;\n\n /* Try to return a Trusted Type object instead of a string, return 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 = null;\n var DEFAULT_FORBID_CONTENTS = addToSet({}, ['annotation-xml', 'audio', 'colgroup', 'desc', 'foreignobject', 'head', 'iframe', 'math', 'mi', 'mn', 'mo', 'ms', 'mtext', 'noembed', 'noframes', 'noscript', 'plaintext', 'script', 'style', 'svg', 'template', 'thead', 'title', 'video', 'xmp']);\n\n /* Tags that are safe for data: URIs */\n var DATA_URI_TAGS = null;\n var DEFAULT_DATA_URI_TAGS = addToSet({}, ['audio', 'video', 'img', 'source', 'image', 'track']);\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', 'role', 'summary', 'title', 'value', 'style', 'xmlns']);\n\n var MATHML_NAMESPACE = 'http://www.w3.org/1998/Math/MathML';\n var SVG_NAMESPACE = 'http://www.w3.org/2000/svg';\n var HTML_NAMESPACE = 'http://www.w3.org/1999/xhtml';\n /* Document namespace */\n var NAMESPACE = HTML_NAMESPACE;\n var IS_EMPTY_INPUT = false;\n\n /* Parsing of strict XHTML documents */\n var PARSER_MEDIA_TYPE = void 0;\n var SUPPORTED_PARSER_MEDIA_TYPES = ['application/xhtml+xml', 'text/html'];\n var DEFAULT_PARSER_MEDIA_TYPE = 'text/html';\n var transformCaseFunc = void 0;\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 /* Shield configuration object from prototype pollution */\n cfg = clone(cfg);\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 DATA_URI_TAGS = 'ADD_DATA_URI_TAGS' in cfg ? addToSet(clone(DEFAULT_DATA_URI_TAGS), cfg.ADD_DATA_URI_TAGS) : DEFAULT_DATA_URI_TAGS;\n FORBID_CONTENTS = 'FORBID_CONTENTS' in cfg ? addToSet({}, cfg.FORBID_CONTENTS) : DEFAULT_FORBID_CONTENTS;\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_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 true\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 NAMESPACE = cfg.NAMESPACE || HTML_NAMESPACE;\n\n PARSER_MEDIA_TYPE =\n // eslint-disable-next-line unicorn/prefer-includes\n SUPPORTED_PARSER_MEDIA_TYPES.indexOf(cfg.PARSER_MEDIA_TYPE) === -1 ? PARSER_MEDIA_TYPE = DEFAULT_PARSER_MEDIA_TYPE : PARSER_MEDIA_TYPE = cfg.PARSER_MEDIA_TYPE;\n\n // HTML tags and attributes are not case-sensitive, converting to lowercase. Keeping XHTML as is.\n transformCaseFunc = PARSER_MEDIA_TYPE === 'application/xhtml+xml' ? function (x) {\n return x;\n } : stringToLowerCase;\n\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$1(text)));\n ALLOWED_ATTR = [];\n if (USE_PROFILES.html === true) {\n addToSet(ALLOWED_TAGS, html$2);\n addToSet(ALLOWED_ATTR, html$1$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 if (cfg.FORBID_CONTENTS) {\n if (FORBID_CONTENTS === DEFAULT_FORBID_CONTENTS) {\n FORBID_CONTENTS = clone(FORBID_CONTENTS);\n }\n\n addToSet(FORBID_CONTENTS, cfg.FORBID_CONTENTS);\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 var MATHML_TEXT_INTEGRATION_POINTS = addToSet({}, ['mi', 'mo', 'mn', 'ms', 'mtext']);\n\n var HTML_INTEGRATION_POINTS = addToSet({}, ['foreignobject', 'desc', 'title', 'annotation-xml']);\n\n /* Keep track of all possible SVG and MathML tags\n * so that we can perform the namespace checks\n * correctly. */\n var ALL_SVG_TAGS = addToSet({}, svg);\n addToSet(ALL_SVG_TAGS, svgFilters);\n addToSet(ALL_SVG_TAGS, svgDisallowed);\n\n var ALL_MATHML_TAGS = addToSet({}, mathMl);\n addToSet(ALL_MATHML_TAGS, mathMlDisallowed);\n\n /**\n *\n *\n * @param {Element} element a DOM element whose namespace is being checked\n * @returns {boolean} Return false if the element has a\n * namespace that a spec-compliant parser would never\n * return. Return true otherwise.\n */\n var _checkValidNamespace = function _checkValidNamespace(element) {\n var parent = getParentNode(element);\n\n // In JSDOM, if we're inside shadow DOM, then parentNode\n // can be null. We just simulate parent in this case.\n if (!parent || !parent.tagName) {\n parent = {\n namespaceURI: HTML_NAMESPACE,\n tagName: 'template'\n };\n }\n\n var tagName = stringToLowerCase(element.tagName);\n var parentTagName = stringToLowerCase(parent.tagName);\n\n if (element.namespaceURI === SVG_NAMESPACE) {\n // The only way to switch from HTML namespace to SVG\n // is via
tag length)\n var from = Math.min(tableEndPos - 4, endCell.pos);\n return prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"TextSelection\"].create(doc, from);\n }\n return new CellSelection(startCell, endCell);\n };\n CellSelection.prototype.eq = function (cell) {\n return (cell instanceof CellSelection &&\n cell.startCell.pos === this.startCell.pos &&\n cell.endCell.pos === this.endCell.pos);\n };\n CellSelection.prototype.content = function () {\n var table = this.startCell.node(-2);\n var tableOffset = this.startCell.start(-2);\n var row = table.child(1).firstChild;\n var tableHead = table.child(0).type.create();\n var tableBody = table.child(1).type.create();\n var map = TableOffsetMap.create(this.startCell);\n var selectionInfo = map.getRectOffsets(this.startCell, this.endCell);\n var startRowIdx = selectionInfo.startRowIdx, startColIdx = selectionInfo.startColIdx, endRowIdx = selectionInfo.endRowIdx, endColIdx = selectionInfo.endColIdx;\n var isTableHeadCell = false;\n for (var rowIdx = startRowIdx; rowIdx <= endRowIdx; rowIdx += 1) {\n var cells = [];\n for (var colIdx = startColIdx; colIdx <= endColIdx; colIdx += 1) {\n var offset = map.getCellInfo(rowIdx, colIdx).offset;\n var cell = table.nodeAt(offset - tableOffset);\n if (cell) {\n isTableHeadCell = cell.type.name === 'tableHeadCell';\n // mark the extended cell for pasting\n if (map.extendedRowspan(rowIdx, colIdx) || map.extendedColspan(rowIdx, colIdx)) {\n cells.push(cell.type.create({ extended: true }));\n }\n else {\n cells.push(cell.copy(cell.content));\n }\n }\n }\n var copiedRow = row.copy(prosemirror_model__WEBPACK_IMPORTED_MODULE_0__[\"Fragment\"].from(cells));\n var targetNode = isTableHeadCell ? tableHead : tableBody;\n // @ts-ignore\n targetNode.content = targetNode.content.append(prosemirror_model__WEBPACK_IMPORTED_MODULE_0__[\"Fragment\"].from(copiedRow));\n }\n return new prosemirror_model__WEBPACK_IMPORTED_MODULE_0__[\"Slice\"](createTableFragment(tableHead, tableBody), 1, 1);\n };\n CellSelection.prototype.toJSON = function () {\n return JSON.stringify(this);\n };\n return CellSelection;\n}(prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"Selection\"]));\n\nfunction createTableHeadRow(columnCount, schema, data) {\n var _a = schema.nodes, tableRow = _a.tableRow, tableHeadCell = _a.tableHeadCell, paragraph = _a.paragraph;\n var cells = [];\n for (var index = 0; index < columnCount; index += 1) {\n var text = data && data[index];\n var para = paragraph.create(null, text ? schema.text(text) : []);\n cells.push(tableHeadCell.create(null, para));\n }\n return [tableRow.create(null, cells)];\n}\nfunction createTableBodyRows(rowCount, columnCount, schema, data) {\n var _a = schema.nodes, tableRow = _a.tableRow, tableBodyCell = _a.tableBodyCell, paragraph = _a.paragraph;\n var tableRows = [];\n for (var rowIdx = 0; rowIdx < rowCount; rowIdx += 1) {\n var cells = [];\n for (var colIdx = 0; colIdx < columnCount; colIdx += 1) {\n var text = data && data[rowIdx * columnCount + colIdx];\n var para = paragraph.create(null, text ? schema.text(text) : []);\n cells.push(tableBodyCell.create(null, para));\n }\n tableRows.push(tableRow.create(null, cells));\n }\n return tableRows;\n}\nfunction createDummyCells(columnCount, rowIdx, schema, attrs) {\n if (attrs === void 0) { attrs = null; }\n var _a = schema.nodes, tableHeadCell = _a.tableHeadCell, tableBodyCell = _a.tableBodyCell, paragraph = _a.paragraph;\n var cell = rowIdx === 0 ? tableHeadCell : tableBodyCell;\n var cells = [];\n for (var index = 0; index < columnCount; index += 1) {\n cells.push(cell.create(attrs, paragraph.create()));\n }\n return cells;\n}\nfunction findCellElement(node, root) {\n while (node && node !== root) {\n if (node.nodeName === 'TD' || node.nodeName === 'TH') {\n return node;\n }\n node = node.parentNode;\n }\n return null;\n}\nfunction findCell(pos) {\n return findNodeBy(pos, function (_a) {\n var type = _a.type;\n return type.name === 'tableHeadCell' || type.name === 'tableBodyCell';\n });\n}\nfunction getResolvedSelection(selection) {\n if (selection instanceof prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"TextSelection\"]) {\n var $anchor = selection.$anchor;\n var foundCell = findCell($anchor);\n if (foundCell) {\n var anchor = $anchor.node(0).resolve($anchor.before(foundCell.depth));\n return { anchor: anchor, head: anchor };\n }\n }\n var _a = selection, startCell = _a.startCell, endCell = _a.endCell;\n return { anchor: startCell, head: endCell };\n}\nfunction getTableContentFromSlice(slice) {\n var _a;\n if (slice.size) {\n var content = slice.content, openStart = slice.openStart, openEnd = slice.openEnd;\n if (content.childCount !== 1) {\n return null;\n }\n while (content.childCount === 1 &&\n ((openStart > 0 && openEnd > 0) || ((_a = content.firstChild) === null || _a === void 0 ? void 0 : _a.type.name) === 'table')) {\n openStart -= 1;\n openEnd -= 1;\n content = content.firstChild.content;\n }\n if (content.firstChild.type.name === 'tableHead' ||\n content.firstChild.type.name === 'tableBody') {\n return content;\n }\n }\n return null;\n}\nfunction getRowAndColumnCount(_a) {\n var startRowIdx = _a.startRowIdx, startColIdx = _a.startColIdx, endRowIdx = _a.endRowIdx, endColIdx = _a.endColIdx;\n var rowCount = endRowIdx - startRowIdx + 1;\n var columnCount = endColIdx - startColIdx + 1;\n return { rowCount: rowCount, columnCount: columnCount };\n}\nfunction setAttrs(cell, attrs) {\n return __assign$1(__assign$1({}, cell.attrs), attrs);\n}\n\nvar pluginKey = new prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"PluginKey\"]('cellSelection');\nvar MOUSE_RIGHT_BUTTON = 2;\nvar TableSelection = /** @class */ (function () {\n function TableSelection(view) {\n this.view = view;\n this.handlers = {\n mousedown: this.handleMousedown.bind(this),\n mousemove: this.handleMousemove.bind(this),\n mouseup: this.handleMouseup.bind(this),\n };\n this.startCellPos = null;\n this.init();\n }\n TableSelection.prototype.init = function () {\n this.view.dom.addEventListener('mousedown', this.handlers.mousedown);\n };\n TableSelection.prototype.handleMousedown = function (ev) {\n var foundCell = findCellElement(ev.target, this.view.dom);\n if (ev.button === MOUSE_RIGHT_BUTTON) {\n ev.preventDefault();\n return;\n }\n if (foundCell) {\n var startCellPos = this.getCellPos(ev);\n if (startCellPos) {\n this.startCellPos = startCellPos;\n }\n this.bindEvent();\n }\n };\n TableSelection.prototype.handleMousemove = function (ev) {\n var prevEndCellOffset = pluginKey.getState(this.view.state);\n var endCellPos = this.getCellPos(ev);\n var startCellPos = this.startCellPos;\n var prevEndCellPos;\n if (prevEndCellOffset) {\n prevEndCellPos = this.view.state.doc.resolve(prevEndCellOffset);\n }\n else if (startCellPos !== endCellPos) {\n prevEndCellPos = startCellPos;\n }\n if (prevEndCellPos && startCellPos && endCellPos) {\n this.setCellSelection(startCellPos, endCellPos);\n }\n };\n TableSelection.prototype.handleMouseup = function () {\n this.startCellPos = null;\n this.unbindEvent();\n if (pluginKey.getState(this.view.state) !== null) {\n this.view.dispatch(this.view.state.tr.setMeta(pluginKey, -1));\n }\n };\n TableSelection.prototype.bindEvent = function () {\n var dom = this.view.dom;\n dom.addEventListener('mousemove', this.handlers.mousemove);\n dom.addEventListener('mouseup', this.handlers.mouseup);\n };\n TableSelection.prototype.unbindEvent = function () {\n var dom = this.view.dom;\n dom.removeEventListener('mousemove', this.handlers.mousemove);\n dom.removeEventListener('mouseup', this.handlers.mouseup);\n };\n TableSelection.prototype.getCellPos = function (_a) {\n var clientX = _a.clientX, clientY = _a.clientY;\n var mousePos = this.view.posAtCoords({ left: clientX, top: clientY });\n if (mousePos) {\n var doc = this.view.state.doc;\n var currentPos = doc.resolve(mousePos.pos);\n var foundCell = findCell(currentPos);\n if (foundCell) {\n var cellOffset = currentPos.before(foundCell.depth);\n return doc.resolve(cellOffset);\n }\n }\n return null;\n };\n TableSelection.prototype.setCellSelection = function (startCellPos, endCellPos) {\n var _a = this.view.state, selection = _a.selection, tr = _a.tr;\n var starting = pluginKey.getState(this.view.state) === null;\n var cellSelection = new CellSelection(startCellPos, endCellPos);\n if (starting || !selection.eq(cellSelection)) {\n var newTr = tr.setSelection(cellSelection);\n if (starting) {\n newTr.setMeta(pluginKey, endCellPos.pos);\n }\n this.view.dispatch(newTr);\n }\n };\n TableSelection.prototype.destroy = function () {\n this.view.dom.removeEventListener('mousedown', this.handlers.mousedown);\n };\n return TableSelection;\n}());\n\nvar SELECTED_CELL_CLASS_NAME = cls('cell-selected');\nfunction drawCellSelection(_a) {\n var selection = _a.selection, doc = _a.doc;\n if (selection instanceof CellSelection) {\n var cells_1 = [];\n var ranges = selection.ranges;\n ranges.forEach(function (_a) {\n var $from = _a.$from, $to = _a.$to;\n cells_1.push(prosemirror_view__WEBPACK_IMPORTED_MODULE_1__[\"Decoration\"].node($from.pos - 1, $to.pos + 1, { class: SELECTED_CELL_CLASS_NAME }));\n });\n return prosemirror_view__WEBPACK_IMPORTED_MODULE_1__[\"DecorationSet\"].create(doc, cells_1);\n }\n return null;\n}\nfunction tableSelection() {\n return new prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"Plugin\"]({\n key: pluginKey,\n state: {\n init: function () {\n return null;\n },\n apply: function (tr, value) {\n var cellOffset = tr.getMeta(pluginKey);\n if (cellOffset) {\n return cellOffset === -1 ? null : cellOffset;\n }\n if (isNull_1(value) || !tr.docChanged) {\n return value;\n }\n var _a = tr.mapping.mapResult(value), deleted = _a.deleted, pos = _a.pos;\n return deleted ? null : pos;\n },\n },\n props: {\n decorations: drawCellSelection,\n createSelectionBetween: function (_a) {\n var state = _a.state;\n if (!isNull_1(pluginKey.getState(state))) {\n return state.selection;\n }\n return null;\n },\n },\n view: function (editorView) {\n return new TableSelection(editorView);\n },\n });\n}\n\n/**\n * @class\n * @ignore\n * @classdesc ES6 Map\n */\nvar Map$1 = /** @class */ (function () {\n function Map() {\n this.keys = [];\n this.values = [];\n }\n Map.prototype.getKeyIndex = function (key) {\n return inArray_1(key, this.keys);\n };\n Map.prototype.get = function (key) {\n return this.values[this.getKeyIndex(key)];\n };\n Map.prototype.set = function (key, value) {\n var keyIndex = this.getKeyIndex(key);\n if (keyIndex > -1) {\n this.values[keyIndex] = value;\n }\n else {\n this.keys.push(key);\n this.values.push(value);\n }\n return this;\n };\n Map.prototype.has = function (key) {\n return this.getKeyIndex(key) > -1;\n };\n Map.prototype.delete = function (key) {\n var keyIndex = this.getKeyIndex(key);\n if (keyIndex > -1) {\n this.keys.splice(keyIndex, 1);\n this.values.splice(keyIndex, 1);\n return true;\n }\n return false;\n };\n Map.prototype.forEach = function (callback, thisArg) {\n var _this = this;\n if (thisArg === void 0) { thisArg = this; }\n this.values.forEach(function (value, index) {\n if (value && _this.keys[index]) {\n callback.call(thisArg, value, _this.keys[index], _this);\n }\n });\n };\n Map.prototype.clear = function () {\n this.keys = [];\n this.values = [];\n };\n return Map;\n}());\n\n/**\n * @fileoverview Implements i18n\n * @author NHN Cloud FE Development Lab \n */\nvar DEFAULT_CODE = 'en-US';\n/**\n * Class I18n\n * @ignore\n */\nvar I18n = /** @class */ (function () {\n function I18n() {\n this.code = DEFAULT_CODE;\n this.langs = new Map$1();\n }\n I18n.prototype.setCode = function (code) {\n this.code = code || DEFAULT_CODE;\n };\n /**\n * Set language set\n * @param {string|string[]} codes locale code\n * @param {object} data language set\n */\n I18n.prototype.setLanguage = function (codes, data) {\n var _this = this;\n codes = [].concat(codes);\n codes.forEach(function (code) {\n if (!_this.langs.has(code)) {\n _this.langs.set(code, data);\n }\n else {\n var langData = _this.langs.get(code);\n _this.langs.set(code, extend_1(langData, data));\n }\n });\n };\n I18n.prototype.get = function (key, code) {\n if (!code) {\n code = this.code;\n }\n var langSet = this.langs.get(code);\n if (!langSet) {\n langSet = this.langs.get(DEFAULT_CODE);\n }\n var text = langSet[key];\n if (!text) {\n throw new Error(\"There is no text key \\\"\" + key + \"\\\" in \" + code);\n }\n return text;\n };\n return I18n;\n}());\nvar i18n = new I18n();\n\nvar contextMenuGroups = [\n [\n {\n action: 'Add row to up',\n command: 'addRowToUp',\n disableInThead: true,\n className: 'add-row-up',\n },\n {\n action: 'Add row to down',\n command: 'addRowToDown',\n disableInThead: true,\n className: 'add-row-down',\n },\n { action: 'Remove row', command: 'removeRow', disableInThead: true, className: 'remove-row' },\n ],\n [\n { action: 'Add column to left', command: 'addColumnToLeft', className: 'add-column-left' },\n { action: 'Add column to right', command: 'addColumnToRight', className: 'add-column-right' },\n { action: 'Remove column', command: 'removeColumn', className: 'remove-column' },\n ],\n [\n {\n action: 'Align column to left',\n command: 'alignColumn',\n payload: { align: 'left' },\n className: 'align-column-left',\n },\n {\n action: 'Align column to center',\n command: 'alignColumn',\n payload: { align: 'center' },\n className: 'align-column-center',\n },\n {\n action: 'Align column to right',\n command: 'alignColumn',\n payload: { align: 'right' },\n className: 'align-column-right',\n },\n ],\n [{ action: 'Remove table', command: 'removeTable', className: 'remove-table' }],\n];\nfunction getContextMenuGroups(eventEmitter, inTableHead) {\n return contextMenuGroups\n .map(function (contextMenuGroup) {\n return contextMenuGroup.map(function (_a) {\n var action = _a.action, command = _a.command, payload = _a.payload, disableInThead = _a.disableInThead, className = _a.className;\n return {\n label: i18n.get(action),\n onClick: function () {\n eventEmitter.emit('command', command, payload);\n },\n disabled: inTableHead && !!disableInThead,\n className: className,\n };\n });\n })\n .concat();\n}\nfunction tableContextMenu(eventEmitter) {\n return new prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"Plugin\"]({\n props: {\n handleDOMEvents: {\n contextmenu: function (view, ev) {\n var tableCell = findCellElement(ev.target, view.dom);\n if (tableCell) {\n ev.preventDefault();\n var _a = ev, clientX = _a.clientX, clientY = _a.clientY;\n var _b = view.dom.parentNode.getBoundingClientRect(), left = _b.left, top_1 = _b.top;\n var inTableHead = tableCell.nodeName === 'TH';\n eventEmitter.emit('contextmenu', {\n pos: { left: clientX - left + 10 + \"px\", top: clientY - top_1 + 30 + \"px\" },\n menuGroups: getContextMenuGroups(eventEmitter, inTableHead),\n tableCell: tableCell,\n });\n return true;\n }\n return false;\n },\n },\n },\n });\n}\n\nfunction task() {\n return new prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"Plugin\"]({\n props: {\n handleDOMEvents: {\n mousedown: function (view, ev) {\n var _a = ev, clientX = _a.clientX, clientY = _a.clientY;\n var mousePos = view.posAtCoords({ left: clientX, top: clientY });\n if (mousePos) {\n var _b = view.state, doc = _b.doc, tr = _b.tr;\n var currentPos = doc.resolve(mousePos.pos);\n var listItem = findListItem(currentPos);\n var target = ev.target;\n var style = getComputedStyle(target, ':before');\n var _c = ev, offsetX = _c.offsetX, offsetY = _c.offsetY;\n if (!listItem || !isPositionInBox(style, offsetX, offsetY)) {\n return false;\n }\n ev.preventDefault();\n var offset = currentPos.before(listItem.depth);\n var attrs = listItem.node.attrs;\n tr.setNodeMarkup(offset, null, __assign$1(__assign$1({}, attrs), { checked: !attrs.checked }));\n view.dispatch(tr);\n return true;\n }\n return false;\n },\n },\n },\n });\n}\n\nvar EXCEPT_TYPES = ['image', 'link', 'customBlock', 'frontMatter'];\nvar MARK_TYPES = ['strong', 'strike', 'emph', 'code'];\nvar LIST_TYPES = ['bulletList', 'orderedList', 'taskList'];\nfunction getToolbarStateType(node, parentNode) {\n var type = node.type.name;\n if (type === 'listItem') {\n return node.attrs.task ? 'taskList' : parentNode.type.name;\n }\n if (type.indexOf('table') !== -1) {\n return 'table';\n }\n return type;\n}\nfunction setListNodeToolbarState(type, nodeTypeState) {\n nodeTypeState[type] = { active: true };\n LIST_TYPES.filter(function (listName) { return listName !== type; }).forEach(function (listType) {\n if (nodeTypeState[listType]) {\n delete nodeTypeState[listType];\n }\n });\n}\nfunction setMarkTypeStates(from, to, schema, toolbarState) {\n MARK_TYPES.forEach(function (type) {\n var mark = schema.marks[type];\n var marksAtPos = from.marksAcross(to) || [];\n var foundMark = !!mark.isInSet(marksAtPos);\n if (foundMark) {\n toolbarState[type] = { active: true };\n }\n });\n}\nfunction getToolbarState(selection, doc, schema) {\n var $from = selection.$from, $to = selection.$to, from = selection.from, to = selection.to;\n var toolbarState = {\n indent: { active: false, disabled: true },\n outdent: { active: false, disabled: true },\n };\n doc.nodesBetween(from, to, function (node, _, parentNode) {\n var type = getToolbarStateType(node, parentNode);\n if (includes(EXCEPT_TYPES, type)) {\n return;\n }\n if (includes(LIST_TYPES, type)) {\n setListNodeToolbarState(type, toolbarState);\n toolbarState.indent.disabled = false;\n toolbarState.outdent.disabled = false;\n }\n else if (type === 'paragraph' || type === 'text') {\n setMarkTypeStates($from, $to, schema, toolbarState);\n }\n else {\n toolbarState[type] = { active: true };\n }\n });\n return toolbarState;\n}\nfunction toolbarStateHighlight(eventEmitter) {\n return new prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"Plugin\"]({\n view: function () {\n return {\n update: function (view) {\n var _a = view.state, selection = _a.selection, doc = _a.doc, schema = _a.schema;\n eventEmitter.emit('changeToolbarState', {\n toolbarState: getToolbarState(selection, doc, schema),\n });\n },\n };\n },\n });\n}\n\nvar CustomBlockView = /** @class */ (function () {\n function CustomBlockView(node, view, getPos, toDOMAdaptor) {\n var _this = this;\n this.openEditor = function () {\n if (_this.innerEditorView) {\n throw new Error('The editor is already opened.');\n }\n _this.dom.draggable = false;\n _this.wrapper.style.display = 'none';\n _this.innerViewContainer.style.display = 'block';\n _this.innerEditorView = new prosemirror_view__WEBPACK_IMPORTED_MODULE_1__[\"EditorView\"](_this.innerViewContainer, {\n state: prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"EditorState\"].create({\n doc: _this.node,\n plugins: [\n Object(prosemirror_keymap__WEBPACK_IMPORTED_MODULE_4__[\"keymap\"])({\n 'Mod-z': function () { return Object(prosemirror_history__WEBPACK_IMPORTED_MODULE_7__[\"undo\"])(_this.innerEditorView.state, _this.innerEditorView.dispatch); },\n 'Shift-Mod-z': function () { return Object(prosemirror_history__WEBPACK_IMPORTED_MODULE_7__[\"redo\"])(_this.innerEditorView.state, _this.innerEditorView.dispatch); },\n Tab: function (state, dispatch) {\n dispatch(state.tr.insertText('\\t'));\n return true;\n },\n Enter: prosemirror_commands__WEBPACK_IMPORTED_MODULE_5__[\"newlineInCode\"],\n Escape: function () {\n _this.cancelEditing();\n return true;\n },\n 'Ctrl-Enter': function () {\n _this.saveAndFinishEditing();\n return true;\n },\n }),\n Object(prosemirror_history__WEBPACK_IMPORTED_MODULE_7__[\"history\"])(),\n ],\n }),\n dispatchTransaction: function (tr) { return _this.dispatchInner(tr); },\n handleDOMEvents: {\n mousedown: function () {\n if (_this.editorView.hasFocus()) {\n _this.innerEditorView.focus();\n }\n return true;\n },\n blur: function () {\n _this.saveAndFinishEditing();\n return true;\n },\n },\n });\n _this.innerEditorView.focus();\n };\n this.node = node;\n this.editorView = view;\n this.getPos = getPos;\n this.toDOMAdaptor = toDOMAdaptor;\n this.innerEditorView = null;\n this.canceled = false;\n this.dom = document.createElement('div');\n this.dom.className = cls('custom-block');\n this.wrapper = document.createElement('div');\n this.wrapper.className = cls('custom-block-view');\n this.createInnerViewContainer();\n this.renderCustomBlock();\n this.dom.appendChild(this.innerViewContainer);\n this.dom.appendChild(this.wrapper);\n }\n CustomBlockView.prototype.renderToolArea = function () {\n var _this = this;\n var tool = document.createElement('div');\n var span = document.createElement('span');\n var button = document.createElement('button');\n tool.className = 'tool';\n span.textContent = this.node.attrs.info;\n span.className = 'info';\n button.type = 'button';\n button.addEventListener('click', function () { return _this.openEditor(); });\n tool.appendChild(span);\n tool.appendChild(button);\n this.wrapper.appendChild(tool);\n };\n CustomBlockView.prototype.renderCustomBlock = function () {\n var toDOMNode = this.toDOMAdaptor.getToDOMNode(this.node.attrs.info);\n if (toDOMNode) {\n var node = toDOMNode(this.node);\n while (this.wrapper.hasChildNodes()) {\n this.wrapper.removeChild(this.wrapper.lastChild);\n }\n if (node) {\n this.wrapper.appendChild(node);\n }\n this.renderToolArea();\n }\n };\n CustomBlockView.prototype.createInnerViewContainer = function () {\n this.innerViewContainer = document.createElement('div');\n this.innerViewContainer.className = cls('custom-block-editor');\n this.innerViewContainer.style.display = 'none';\n };\n CustomBlockView.prototype.closeEditor = function () {\n if (this.innerEditorView) {\n this.innerEditorView.destroy();\n this.innerEditorView = null;\n this.innerViewContainer.style.display = 'none';\n }\n this.wrapper.style.display = 'block';\n };\n CustomBlockView.prototype.saveAndFinishEditing = function () {\n var to = this.editorView.state.selection.to;\n var outerState = this.editorView.state;\n this.editorView.dispatch(outerState.tr.setSelection(createTextSelection(outerState.tr, to)));\n this.editorView.focus();\n this.renderCustomBlock();\n this.closeEditor();\n };\n CustomBlockView.prototype.cancelEditing = function () {\n var undoableCount = Object(prosemirror_history__WEBPACK_IMPORTED_MODULE_7__[\"undoDepth\"])(this.innerEditorView.state);\n this.canceled = true;\n // should undo editing result\n // eslint-disable-next-line no-plusplus\n while (undoableCount--) {\n Object(prosemirror_history__WEBPACK_IMPORTED_MODULE_7__[\"undo\"])(this.innerEditorView.state, this.innerEditorView.dispatch);\n Object(prosemirror_history__WEBPACK_IMPORTED_MODULE_7__[\"undo\"])(this.editorView.state, this.editorView.dispatch);\n }\n this.canceled = false;\n var to = this.editorView.state.selection.to;\n var outerState = this.editorView.state;\n this.editorView.dispatch(outerState.tr.setSelection(prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"TextSelection\"].create(outerState.doc, to)));\n this.editorView.focus();\n this.closeEditor();\n };\n CustomBlockView.prototype.dispatchInner = function (tr) {\n var _a = this.innerEditorView.state.applyTransaction(tr), state = _a.state, transactions = _a.transactions;\n this.innerEditorView.updateState(state);\n if (!this.canceled && isFunction_1(this.getPos)) {\n var outerTr = this.editorView.state.tr;\n var offsetMap = prosemirror_transform__WEBPACK_IMPORTED_MODULE_2__[\"StepMap\"].offset(this.getPos() + 1);\n for (var i = 0; i < transactions.length; i += 1) {\n var steps = transactions[i].steps;\n for (var j = 0; j < steps.length; j += 1) {\n outerTr.step(steps[j].map(offsetMap));\n }\n }\n if (outerTr.docChanged) {\n this.editorView.dispatch(outerTr);\n }\n }\n };\n CustomBlockView.prototype.update = function (node) {\n if (!node.sameMarkup(this.node)) {\n return false;\n }\n this.node = node;\n if (!this.innerEditorView) {\n this.renderCustomBlock();\n }\n return true;\n };\n CustomBlockView.prototype.stopEvent = function (event) {\n return (!!this.innerEditorView &&\n !!event.target &&\n this.innerEditorView.dom.contains(event.target));\n };\n CustomBlockView.prototype.ignoreMutation = function () {\n return true;\n };\n CustomBlockView.prototype.destroy = function () {\n this.dom.removeEventListener('dblclick', this.openEditor);\n this.closeEditor();\n };\n return CustomBlockView;\n}());\n\nvar IMAGE_LINK_CLASS_NAME = 'image-link';\nvar ImageView = /** @class */ (function () {\n function ImageView(node, view, getPos, eventEmitter) {\n var _this = this;\n var _a;\n this.handleMousedown = function (ev) {\n ev.preventDefault();\n var target = ev.target, offsetX = ev.offsetX, offsetY = ev.offsetY;\n if (_this.imageLink &&\n isFunction_1(_this.getPos) &&\n hasClass_1(target, IMAGE_LINK_CLASS_NAME)) {\n var style = getComputedStyle(target, ':before');\n ev.stopPropagation();\n if (isPositionInBox(style, offsetX, offsetY)) {\n var tr = _this.view.state.tr;\n var pos = _this.getPos();\n tr.setSelection(createTextSelection(tr, pos, pos + 1));\n _this.view.dispatch(tr);\n _this.eventEmitter.emit('openPopup', 'link', _this.imageLink.attrs);\n }\n }\n };\n this.node = node;\n this.view = view;\n this.getPos = getPos;\n this.eventEmitter = eventEmitter;\n this.imageLink = (_a = node.marks.filter(function (_a) {\n var type = _a.type;\n return type.name === 'link';\n })[0]) !== null && _a !== void 0 ? _a : null;\n this.dom = this.createElement();\n this.bindEvent();\n }\n ImageView.prototype.createElement = function () {\n var image = this.createImageElement(this.node);\n if (this.imageLink) {\n var wrapper = document.createElement('span');\n wrapper.className = IMAGE_LINK_CLASS_NAME;\n wrapper.appendChild(image);\n return wrapper;\n }\n return image;\n };\n ImageView.prototype.createImageElement = function (node) {\n var image = document.createElement('img');\n var _a = node.attrs, imageUrl = _a.imageUrl, altText = _a.altText;\n var attrs = getCustomAttrs(node.attrs);\n image.src = imageUrl;\n if (altText) {\n image.alt = altText;\n }\n setAttributes(attrs, image);\n return image;\n };\n ImageView.prototype.bindEvent = function () {\n if (this.imageLink) {\n this.dom.addEventListener('mousedown', this.handleMousedown);\n }\n };\n ImageView.prototype.stopEvent = function () {\n return true;\n };\n ImageView.prototype.destroy = function () {\n if (this.imageLink) {\n this.dom.removeEventListener('mousedown', this.handleMousedown);\n }\n };\n return ImageView;\n}());\n\nvar WRAPPER_CLASS_NAME = 'toastui-editor-ww-code-block';\nvar CODE_BLOCK_LANG_CLASS_NAME = 'toastui-editor-ww-code-block-language';\nvar CodeBlockView = /** @class */ (function () {\n function CodeBlockView(node, view, getPos, eventEmitter) {\n var _this = this;\n this.contentDOM = null;\n this.input = null;\n this.timer = null;\n this.handleMousedown = function (ev) {\n var target = ev.target;\n var style = getComputedStyle(target, ':after');\n // judge to click pseudo element with background image for IE11\n if (style.backgroundImage !== 'none' && isFunction_1(_this.getPos)) {\n var _a = _this.view.coordsAtPos(_this.getPos()), top_1 = _a.top, right = _a.right;\n _this.createLanguageEditor({ top: top_1, right: right });\n }\n };\n this.handleKeydown = function (ev) {\n if (ev.key === 'Enter' && _this.input) {\n ev.preventDefault();\n _this.changeLanguage();\n }\n };\n this.node = node;\n this.view = view;\n this.getPos = getPos;\n this.eventEmitter = eventEmitter;\n this.createElement();\n this.bindDOMEvent();\n this.bindEvent();\n }\n CodeBlockView.prototype.createElement = function () {\n var language = this.node.attrs.language;\n var wrapper = document.createElement('div');\n wrapper.setAttribute('data-language', language || 'text');\n wrapper.className = WRAPPER_CLASS_NAME;\n var pre = this.createCodeBlockElement();\n var code = pre.firstChild;\n wrapper.appendChild(pre);\n this.dom = wrapper;\n this.contentDOM = code;\n };\n CodeBlockView.prototype.createCodeBlockElement = function () {\n var pre = document.createElement('pre');\n var code = document.createElement('code');\n var language = this.node.attrs.language;\n var attrs = getCustomAttrs(this.node.attrs);\n if (language) {\n code.setAttribute('data-language', language);\n }\n setAttributes(attrs, pre);\n pre.appendChild(code);\n return pre;\n };\n CodeBlockView.prototype.createLanguageEditor = function (_a) {\n var _this = this;\n var top = _a.top, right = _a.right;\n var wrapper = document.createElement('span');\n wrapper.className = CODE_BLOCK_LANG_CLASS_NAME;\n var input = document.createElement('input');\n input.type = 'text';\n input.value = this.node.attrs.language;\n wrapper.appendChild(input);\n this.view.dom.parentElement.appendChild(wrapper);\n var wrpperWidth = wrapper.clientWidth;\n css_1(wrapper, {\n top: top + 10 + \"px\",\n left: right - wrpperWidth - 10 + \"px\",\n width: wrpperWidth + \"px\",\n });\n this.input = input;\n this.input.addEventListener('blur', function () { return _this.changeLanguage(); });\n this.input.addEventListener('keydown', this.handleKeydown);\n this.clearTimer();\n this.timer = setTimeout(function () {\n _this.input.focus();\n });\n };\n CodeBlockView.prototype.bindDOMEvent = function () {\n if (this.dom) {\n this.dom.addEventListener('click', this.handleMousedown);\n }\n };\n CodeBlockView.prototype.bindEvent = function () {\n var _this = this;\n this.eventEmitter.listen('scroll', function () {\n if (_this.input) {\n _this.reset();\n }\n });\n };\n CodeBlockView.prototype.changeLanguage = function () {\n if (this.input && isFunction_1(this.getPos)) {\n var value = this.input.value;\n this.reset();\n var pos = this.getPos();\n var tr = this.view.state.tr;\n tr.setNodeMarkup(pos, null, { language: value });\n this.view.dispatch(tr);\n }\n };\n CodeBlockView.prototype.reset = function () {\n var _a;\n if ((_a = this.input) === null || _a === void 0 ? void 0 : _a.parentElement) {\n var parent_1 = this.input.parentElement;\n this.input = null;\n removeNode$1(parent_1);\n }\n };\n CodeBlockView.prototype.clearTimer = function () {\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n };\n CodeBlockView.prototype.stopEvent = function () {\n return true;\n };\n CodeBlockView.prototype.update = function (node) {\n if (!node.sameMarkup(this.node)) {\n return false;\n }\n this.node = node;\n return true;\n };\n CodeBlockView.prototype.destroy = function () {\n this.reset();\n this.clearTimer();\n if (this.dom) {\n this.dom.removeEventListener('click', this.handleMousedown);\n }\n };\n return CodeBlockView;\n}());\n\nvar reMSOListClassName = /MsoListParagraph/;\nvar reMSOStylePrefix = /style=(.|\\n)*mso-/;\nvar reMSOListStyle = /mso-list:(.*)/;\nvar reMSOTagName = /O:P/;\nvar reMSOListBullet = /^(n|u|l)/;\nvar MSO_CLASS_NAME_LIST_PARA = 'p.MsoListParagraph';\nfunction isFromMso(html) {\n return reMSOStylePrefix.test(html);\n}\nfunction getListItemContents(para) {\n var removedNodes = [];\n var walker = document.createTreeWalker(para, 1, null, false);\n while (walker.nextNode()) {\n var node = walker.currentNode;\n if (isElemNode(node)) {\n var _a = node, outerHTML = _a.outerHTML, textContent = _a.textContent;\n var msoSpan = reMSOStylePrefix.test(outerHTML);\n var bulletSpan = reMSOListStyle.test(outerHTML);\n if (msoSpan && !bulletSpan && textContent) {\n removedNodes.push([node, true]);\n }\n else if (reMSOTagName.test(node.nodeName) || (msoSpan && !textContent) || bulletSpan) {\n removedNodes.push([node, false]);\n }\n }\n }\n removedNodes.forEach(function (_a) {\n var node = _a[0], isUnwrap = _a[1];\n if (isUnwrap) {\n unwrapNode(node);\n }\n else {\n removeNode$1(node);\n }\n });\n return para.innerHTML.trim();\n}\nfunction createListItemDataFromParagraph(para, index) {\n var styleAttr = para.getAttribute('style');\n if (styleAttr) {\n var _a = styleAttr.match(reMSOListStyle), listItemInfo = _a[1];\n var _b = listItemInfo.trim().split(' '), levelStr = _b[1];\n var level = parseInt(levelStr.replace('level', ''), 10);\n var unordered = reMSOListBullet.test(para.textContent || '');\n return {\n id: index,\n level: level,\n prev: null,\n parent: null,\n children: [],\n unordered: unordered,\n contents: getListItemContents(para),\n };\n }\n return null;\n}\nfunction addListItemDetailData(data, prevData) {\n if (prevData.level < data.level) {\n prevData.children.push(data);\n data.parent = prevData;\n }\n else {\n while (prevData) {\n if (prevData.level === data.level) {\n break;\n }\n prevData = prevData.parent;\n }\n if (prevData) {\n data.prev = prevData;\n data.parent = prevData.parent;\n if (data.parent) {\n data.parent.children.push(data);\n }\n }\n }\n}\nfunction createListData(paras) {\n var listData = [];\n paras.forEach(function (para, index) {\n var prevListItemData = listData[index - 1];\n var listItemData = createListItemDataFromParagraph(para, index);\n if (listItemData) {\n if (prevListItemData) {\n addListItemDetailData(listItemData, prevListItemData);\n }\n listData.push(listItemData);\n }\n });\n return listData;\n}\nfunction makeList(listData) {\n var listTagName = listData[0].unordered ? 'ul' : 'ol';\n var list = document.createElement(listTagName);\n listData.forEach(function (data) {\n var children = data.children, contents = data.contents;\n var listItem = document.createElement('li');\n listItem.innerHTML = contents;\n list.appendChild(listItem);\n if (children.length) {\n list.appendChild(makeList(children));\n }\n });\n return list;\n}\nfunction makeListFromParagraphs(paras) {\n var listData = createListData(paras);\n var rootChildren = listData.filter(function (_a) {\n var parent = _a.parent;\n return !parent;\n });\n return makeList(rootChildren);\n}\nfunction isMsoListParagraphEnd(node) {\n while (node) {\n if (isElemNode(node)) {\n break;\n }\n node = node.nextSibling;\n }\n return node ? !reMSOListClassName.test(node.className) : true;\n}\nfunction convertMsoParagraphsToList(html) {\n var container = document.createElement('div');\n container.innerHTML = html;\n var paras = [];\n var foundParas = findNodes(container, MSO_CLASS_NAME_LIST_PARA);\n foundParas.forEach(function (para) {\n var msoListParaEnd = isMsoListParagraphEnd(para.nextSibling);\n paras.push(para);\n if (msoListParaEnd) {\n var list = makeListFromParagraphs(paras);\n var nextSibling = para.nextSibling;\n if (nextSibling) {\n insertBeforeNode(list, nextSibling);\n }\n else {\n appendNodes(container, list);\n }\n paras = [];\n }\n removeNode$1(para);\n });\n // without ``, the list string was parsed as a paragraph node and added\n var extraHTML = foundParas.length ? '' : '';\n return \"\" + extraHTML + container.innerHTML;\n}\n\nvar START_FRAGMENT_COMMENT = '';\nvar END_FRAGMENT_COMMENT = '';\nfunction getContentBetweenFragmentComments(html) {\n var startFragmentIndex = html.indexOf(START_FRAGMENT_COMMENT);\n var endFragmentIndex = html.lastIndexOf(END_FRAGMENT_COMMENT);\n if (startFragmentIndex > -1 && endFragmentIndex > -1) {\n html = html.slice(startFragmentIndex + START_FRAGMENT_COMMENT.length, endFragmentIndex);\n }\n return html.replace(/
]*>/g, ALTERNATIVE_TAG_FOR_BR);\n}\nfunction convertMsoTableToCompletedTable(html) {\n // wrap with if html contains dangling tags\n // dangling tag is that tag does not have as parent node\n if (/<\\/td>((?!<\\/tr>)[\\s\\S])*$/i.test(html)) {\n html = \" \" + html + \" \";\n }\n // wrap with if html contains dangling tags\n // dangling tag is that tag does not have as parent node\n if (/<\\/tr>((?!<\\/table>)[\\s\\S])*$/i.test(html)) {\n html = \"\" + html + \"
\";\n }\n return html;\n}\nfunction changePastedHTML(html) {\n html = getContentBetweenFragmentComments(html);\n html = convertMsoTableToCompletedTable(html);\n if (isFromMso(html)) {\n html = convertMsoParagraphsToList(html);\n }\n return html;\n}\nfunction getMaxColumnCount(rows) {\n var row = rows.reduce(function (prevRow, currentRow) {\n return prevRow.childCount > currentRow.childCount ? prevRow : currentRow;\n });\n return row.childCount;\n}\nfunction createCells(orgRow, maxColumnCount, cell) {\n var cells = [];\n var cellCount = orgRow.childCount;\n for (var colIdx = 0; colIdx < cellCount; colIdx += 1) {\n if (!orgRow.child(colIdx).attrs.extended) {\n var copiedCell = colIdx < cellCount\n ? cell.create(orgRow.child(colIdx).attrs, orgRow.child(colIdx).content)\n : cell.createAndFill();\n cells.push(copiedCell);\n }\n }\n return cells;\n}\nfunction copyTableHeadRow(orgRow, maxColumnCount, schema) {\n var _a = schema.nodes, tableRow = _a.tableRow, tableHeadCell = _a.tableHeadCell;\n var cells = createCells(orgRow, maxColumnCount, tableHeadCell);\n return tableRow.create(null, cells);\n}\nfunction copyTableBodyRow(orgRow, maxColumnCount, schema) {\n var _a = schema.nodes, tableRow = _a.tableRow, tableBodyCell = _a.tableBodyCell;\n var cells = createCells(orgRow, maxColumnCount, tableBodyCell);\n return tableRow.create(null, cells);\n}\nfunction creatTableBodyDummyRow(columnCount, schema) {\n var _a = schema.nodes, tableRow = _a.tableRow, tableBodyCell = _a.tableBodyCell;\n var cells = [];\n for (var columnIndex = 0; columnIndex < columnCount; columnIndex += 1) {\n var dummyCell = tableBodyCell.createAndFill();\n cells.push(dummyCell);\n }\n return tableRow.create({ dummyRowForPasting: true }, cells);\n}\nfunction createRowsFromPastingTable(tableContent) {\n var tableHeadRows = [];\n var tableBodyRows = [];\n if (tableContent.firstChild.type.name === 'tableHead') {\n var tableHead = tableContent.firstChild;\n tableHead.forEach(function (row) { return tableHeadRows.push(row); });\n }\n if (tableContent.lastChild.type.name === 'tableBody') {\n var tableBody = tableContent.lastChild;\n tableBody.forEach(function (row) { return tableBodyRows.push(row); });\n }\n return __spreadArray$1(__spreadArray$1([], tableHeadRows), tableBodyRows);\n}\nfunction createTableHead(tableHeadRow, maxColumnCount, schema) {\n var copiedRow = copyTableHeadRow(tableHeadRow, maxColumnCount, schema);\n return schema.nodes.tableHead.create(null, copiedRow);\n}\nfunction createTableBody(tableBodyRows, maxColumnCount, schema) {\n var copiedRows = tableBodyRows.map(function (tableBodyRow) {\n return copyTableBodyRow(tableBodyRow, maxColumnCount, schema);\n });\n if (!tableBodyRows.length) {\n var dummyTableRow = creatTableBodyDummyRow(maxColumnCount, schema);\n copiedRows.push(dummyTableRow);\n }\n return schema.nodes.tableBody.create(null, copiedRows);\n}\nfunction createTableFromPastingTable(rows, schema, startFromBody, isInTable) {\n var columnCount = getMaxColumnCount(rows);\n if (startFromBody && isInTable) {\n return schema.nodes.table.create(null, [createTableBody(rows, columnCount, schema)]);\n }\n var tableHeadRow = rows[0];\n var tableBodyRows = rows.slice(1);\n var nodes = [createTableHead(tableHeadRow, columnCount, schema)];\n if (tableBodyRows.length) {\n nodes.push(createTableBody(tableBodyRows, columnCount, schema));\n }\n return schema.nodes.table.create(null, nodes);\n}\nfunction changePastedSlice(slice, schema, isInTable) {\n var nodes = [];\n var content = slice.content, openStart = slice.openStart, openEnd = slice.openEnd;\n content.forEach(function (node) {\n if (node.type.name === 'table') {\n var tableContent = getTableContentFromSlice(new prosemirror_model__WEBPACK_IMPORTED_MODULE_0__[\"Slice\"](prosemirror_model__WEBPACK_IMPORTED_MODULE_0__[\"Fragment\"].from(node), 0, 0));\n if (tableContent) {\n var rows = createRowsFromPastingTable(tableContent);\n var startFromBody = tableContent.firstChild.type.name === 'tableBody';\n var table = createTableFromPastingTable(rows, schema, startFromBody, isInTable);\n nodes.push(table);\n }\n }\n else {\n nodes.push(node);\n }\n });\n return new prosemirror_model__WEBPACK_IMPORTED_MODULE_0__[\"Slice\"](prosemirror_model__WEBPACK_IMPORTED_MODULE_0__[\"Fragment\"].from(nodes), openStart, openEnd);\n}\n\nvar DUMMY_CELL_SIZE = 4;\nvar TR_NODES_SIZE = 2;\nfunction getDummyCellSize(dummyCellCount) {\n return dummyCellCount * DUMMY_CELL_SIZE;\n}\nfunction createPastingCells(tableContent, curSelectionInfo, schema) {\n var pastingRows = [];\n var pastingTableRows = createRowsFromPastingTable(tableContent);\n var columnCount = pastingTableRows[0].childCount;\n var rowCount = pastingTableRows.length;\n var startToTableHead = curSelectionInfo.startRowIdx === 0;\n var slicedRows = pastingTableRows.slice(0, rowCount);\n if (startToTableHead) {\n var tableHeadRow = slicedRows.shift();\n if (tableHeadRow) {\n var content = copyTableHeadRow(tableHeadRow, columnCount, schema).content;\n pastingRows.push(content);\n }\n }\n slicedRows.forEach(function (tableBodyRow) {\n if (!tableBodyRow.attrs.dummyRowForPasting) {\n var content = copyTableBodyRow(tableBodyRow, columnCount, schema).content;\n pastingRows.push(content);\n }\n });\n return pastingRows;\n}\nfunction getPastingRangeInfo(map, _a, pastingCells) {\n var startRowIdx = _a.startRowIdx, startColIdx = _a.startColIdx;\n var pastingRowCount = pastingCells.length;\n var pastingColumnCount = 0;\n var _loop_1 = function (i) {\n var columnCount = pastingCells[i].childCount;\n pastingCells[i].forEach(function (_a) {\n var attrs = _a.attrs;\n var colspan = attrs.colspan;\n if (colspan > 1) {\n columnCount += colspan - 1;\n }\n });\n pastingColumnCount = Math.max(pastingColumnCount, columnCount);\n };\n for (var i = 0; i < pastingRowCount; i += 1) {\n _loop_1(i);\n }\n var endRowIdx = startRowIdx + pastingRowCount - 1;\n var endColIdx = startColIdx + pastingColumnCount - 1;\n var addedRowCount = Math.max(endRowIdx + 1 - map.totalRowCount, 0);\n var addedColumnCount = Math.max(endColIdx + 1 - map.totalColumnCount, 0);\n return {\n startRowIdx: startRowIdx,\n startColIdx: startColIdx,\n endRowIdx: endRowIdx,\n endColIdx: endColIdx,\n addedRowCount: addedRowCount,\n addedColumnCount: addedColumnCount,\n };\n}\nfunction addReplacedOffsets(_a, cellsOffsets) {\n var startRowIdx = _a.startRowIdx, startColIdx = _a.startColIdx, endRowIdx = _a.endRowIdx, endColIdx = _a.endColIdx, addedRowCount = _a.addedRowCount, addedColumnCount = _a.addedColumnCount;\n for (var rowIdx = startRowIdx; rowIdx <= endRowIdx - addedRowCount; rowIdx += 1) {\n cellsOffsets.push({\n rowIdx: rowIdx,\n startColIdx: startColIdx,\n endColIdx: endColIdx - addedColumnCount,\n });\n }\n}\nfunction expandColumns(tr, schema, map, _a, cellsOffsets) {\n var startRowIdx = _a.startRowIdx, startColIdx = _a.startColIdx, endRowIdx = _a.endRowIdx, endColIdx = _a.endColIdx, addedRowCount = _a.addedRowCount, addedColumnCount = _a.addedColumnCount;\n var totalRowCount = map.totalRowCount;\n var index = 0;\n for (var rowIdx = 0; rowIdx < totalRowCount; rowIdx += 1) {\n var _b = map.getCellInfo(rowIdx, endColIdx - addedColumnCount), offset = _b.offset, nodeSize = _b.nodeSize;\n var insertOffset = tr.mapping.map(offset + nodeSize);\n var cells = createDummyCells(addedColumnCount, rowIdx, schema);\n tr.insert(insertOffset, cells);\n if (rowIdx >= startRowIdx && rowIdx <= endRowIdx - addedRowCount) {\n var cellInfo = map.getCellInfo(rowIdx, endColIdx - addedColumnCount);\n var startCellOffset = tr.mapping.map(cellInfo.offset);\n var endCellOffset = insertOffset + getDummyCellSize(addedColumnCount);\n cellsOffsets[index] = {\n rowIdx: rowIdx,\n startColIdx: startColIdx,\n endColIdx: endColIdx,\n dummyOffsets: [startCellOffset, endCellOffset],\n };\n index += 1;\n }\n }\n}\nfunction expandRows(tr, schema, map, _a, cellsOffsets) {\n var addedRowCount = _a.addedRowCount, addedColumnCount = _a.addedColumnCount, startColIdx = _a.startColIdx, endColIdx = _a.endColIdx;\n var mapStart = tr.mapping.maps.length;\n var tableEndPos = map.tableEndOffset - 2;\n var rows = createTableBodyRows(addedRowCount, map.totalColumnCount + addedColumnCount, schema);\n var startOffset = tableEndPos;\n tr.insert(tr.mapping.slice(mapStart).map(startOffset), rows);\n for (var rowIndex = 0; rowIndex < addedRowCount; rowIndex += 1) {\n var startCellOffset = startOffset + getDummyCellSize(startColIdx) + 1;\n var endCellOffset = startOffset + getDummyCellSize(endColIdx + 1) + 1;\n var nextCellOffset = startOffset + getDummyCellSize(map.totalColumnCount + addedColumnCount) + TR_NODES_SIZE;\n cellsOffsets.push({\n rowIdx: rowIndex + map.totalRowCount,\n startColIdx: startColIdx,\n endColIdx: endColIdx,\n dummyOffsets: [startCellOffset, endCellOffset],\n });\n startOffset = nextCellOffset;\n }\n}\nfunction replaceCells(tr, pastingRows, cellsOffsets, map) {\n var mapStart = tr.mapping.maps.length;\n cellsOffsets.forEach(function (offsets, index) {\n var rowIdx = offsets.rowIdx, startColIdx = offsets.startColIdx, endColIdx = offsets.endColIdx, dummyOffsets = offsets.dummyOffsets;\n var mapping = tr.mapping.slice(mapStart);\n var cells = new prosemirror_model__WEBPACK_IMPORTED_MODULE_0__[\"Slice\"](pastingRows[index], 0, 0);\n var from = dummyOffsets ? dummyOffsets[0] : map.getCellStartOffset(rowIdx, startColIdx);\n var to = dummyOffsets ? dummyOffsets[1] : map.getCellEndOffset(rowIdx, endColIdx);\n tr.replace(mapping.map(from), mapping.map(to), cells);\n });\n}\nfunction pasteToTable(view, slice) {\n var _a = view.state, selection = _a.selection, schema = _a.schema, tr = _a.tr;\n var _b = getResolvedSelection(selection), anchor = _b.anchor, head = _b.head;\n if (anchor && head) {\n var tableContent = getTableContentFromSlice(slice);\n if (!tableContent) {\n return false;\n }\n var map = TableOffsetMap.create(anchor);\n var curSelectionInfo = map.getRectOffsets(anchor, head);\n var pastingCells = createPastingCells(tableContent, curSelectionInfo, schema);\n var pastingInfo = getPastingRangeInfo(map, curSelectionInfo, pastingCells);\n var cellsOffsets = [];\n // @TODO: unmerge the span and paste the cell\n if (canMerge(map, pastingInfo)) {\n addReplacedOffsets(pastingInfo, cellsOffsets);\n if (pastingInfo.addedColumnCount) {\n expandColumns(tr, schema, map, pastingInfo, cellsOffsets);\n }\n if (pastingInfo.addedRowCount) {\n expandRows(tr, schema, map, pastingInfo, cellsOffsets);\n }\n replaceCells(tr, pastingCells, cellsOffsets, map);\n view.dispatch(tr);\n setSelection(view, cellsOffsets, map.getCellInfo(0, 0).offset);\n }\n return true;\n }\n return false;\n}\nfunction setSelection(view, cellsOffsets, pos) {\n var _a = view.state, tr = _a.tr, doc = _a.doc;\n // get changed cell offsets\n var map = TableOffsetMap.create(doc.resolve(pos));\n // eslint-disable-next-line prefer-destructuring\n var _b = cellsOffsets[0], startRowIdx = _b.rowIdx, startColIdx = _b.startColIdx;\n var _c = last$1(cellsOffsets), endRowIdx = _c.rowIdx, endColIdx = _c.endColIdx;\n var startOffset = map.getCellInfo(startRowIdx, startColIdx).offset;\n var endOffset = map.getCellInfo(endRowIdx, endColIdx).offset;\n view.dispatch(tr.setSelection(new CellSelection(doc.resolve(startOffset), doc.resolve(endOffset))));\n}\nfunction canMerge(map, pastingInfo) {\n var ranges = map.getSpannedOffsets(pastingInfo);\n var _a = getRowAndColumnCount(ranges), rowCount = _a.rowCount, columnCount = _a.columnCount;\n var _b = getRowAndColumnCount(pastingInfo), pastingRowCount = _b.rowCount, pastingColumnCount = _b.columnCount;\n return rowCount === pastingRowCount && columnCount === pastingColumnCount;\n}\n\nvar Doc = /** @class */ (function (_super) {\n __extends$1(Doc, _super);\n function Doc() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Doc.prototype, \"name\", {\n get: function () {\n return 'doc';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Doc.prototype, \"schema\", {\n get: function () {\n return {\n content: 'block+',\n };\n },\n enumerable: false,\n configurable: true\n });\n return Doc;\n}(Node$2));\n\nvar Paragraph = /** @class */ (function (_super) {\n __extends$1(Paragraph, _super);\n function Paragraph() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Paragraph.prototype, \"name\", {\n get: function () {\n return 'paragraph';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Paragraph.prototype, \"schema\", {\n get: function () {\n return {\n content: 'inline*',\n group: 'block',\n attrs: __assign$1({}, getDefaultCustomAttrs()),\n parseDOM: [{ tag: 'p' }],\n toDOM: function (_a) {\n var attrs = _a.attrs;\n return ['p', getCustomAttrs(attrs), 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n return Paragraph;\n}(Node$2));\n\nvar reSoftTabLen = /\\s{1,4}$/;\nvar Text = /** @class */ (function (_super) {\n __extends$1(Text, _super);\n function Text() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Text.prototype, \"name\", {\n get: function () {\n return 'text';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Text.prototype, \"schema\", {\n get: function () {\n return {\n group: 'inline',\n };\n },\n enumerable: false,\n configurable: true\n });\n Text.prototype.addSpaces = function () {\n return function (_a, dispatch) {\n var selection = _a.selection, tr = _a.tr;\n var $from = selection.$from, $to = selection.$to;\n var range = $from.blockRange($to);\n if (range && !isInListNode($from) && !isInTableNode($from)) {\n dispatch(tr.insertText(' ', $from.pos, $to.pos));\n return true;\n }\n return false;\n };\n };\n Text.prototype.removeSpaces = function () {\n return function (_a, dispatch) {\n var selection = _a.selection, tr = _a.tr;\n var $from = selection.$from, $to = selection.$to, from = selection.from;\n var range = $from.blockRange($to);\n if (range && !isInListNode($from) && !isInTableNode($from)) {\n var nodeBefore = $from.nodeBefore;\n if (nodeBefore && nodeBefore.isText) {\n var text = nodeBefore.text;\n var removedSpaceText = text.replace(reSoftTabLen, '');\n var spaces = text.length - removedSpaceText.length;\n dispatch(tr.delete(from - spaces, from));\n return true;\n }\n }\n return false;\n };\n };\n Text.prototype.keymaps = function () {\n return {\n Tab: this.addSpaces(),\n 'Shift-Tab': this.removeSpaces(),\n };\n };\n return Text;\n}(Node$2));\n\nvar Heading = /** @class */ (function (_super) {\n __extends$1(Heading, _super);\n function Heading() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Heading.prototype, \"name\", {\n get: function () {\n return 'heading';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Heading.prototype, \"levels\", {\n get: function () {\n return [1, 2, 3, 4, 5, 6];\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Heading.prototype, \"schema\", {\n get: function () {\n var parseDOM = this.levels.map(function (level) {\n return {\n tag: \"h\" + level,\n getAttrs: function (dom) {\n var rawHTML = dom.getAttribute('data-raw-html');\n return __assign$1({ level: level }, (rawHTML && { rawHTML: rawHTML }));\n },\n };\n });\n return {\n attrs: __assign$1({ level: { default: 1 }, headingType: { default: 'atx' }, rawHTML: { default: null } }, getDefaultCustomAttrs()),\n content: 'inline*',\n group: 'block',\n defining: true,\n parseDOM: parseDOM,\n toDOM: function (_a) {\n var attrs = _a.attrs;\n return [\"h\" + attrs.level, getCustomAttrs(attrs), 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n Heading.prototype.commands = function () {\n return function (payload) { return function (state, dispatch) {\n var nodeType = state.schema.nodes[payload.level ? 'heading' : 'paragraph'];\n return Object(prosemirror_commands__WEBPACK_IMPORTED_MODULE_5__[\"setBlockType\"])(nodeType, payload)(state, dispatch);\n }; };\n };\n return Heading;\n}(Node$2));\n\nvar CodeBlock = /** @class */ (function (_super) {\n __extends$1(CodeBlock, _super);\n function CodeBlock() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(CodeBlock.prototype, \"name\", {\n get: function () {\n return 'codeBlock';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CodeBlock.prototype, \"schema\", {\n get: function () {\n return {\n content: 'text*',\n group: 'block',\n attrs: __assign$1({ language: { default: null }, rawHTML: { default: null } }, getDefaultCustomAttrs()),\n code: true,\n defining: true,\n marks: '',\n parseDOM: [\n {\n tag: 'pre',\n preserveWhitespace: 'full',\n getAttrs: function (dom) {\n var rawHTML = dom.getAttribute('data-raw-html');\n var child = dom.firstElementChild;\n return __assign$1({ language: (child === null || child === void 0 ? void 0 : child.getAttribute('data-language')) || null }, (rawHTML && { rawHTML: rawHTML }));\n },\n },\n ],\n toDOM: function (_a) {\n var attrs = _a.attrs;\n return [\n attrs.rawHTML || 'pre',\n ['code', __assign$1({ 'data-language': attrs.language }, getCustomAttrs(attrs)), 0],\n ];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n CodeBlock.prototype.commands = function () {\n return function () { return function (state, dispatch) { return Object(prosemirror_commands__WEBPACK_IMPORTED_MODULE_5__[\"setBlockType\"])(state.schema.nodes.codeBlock)(state, dispatch); }; };\n };\n CodeBlock.prototype.moveCursor = function (direction) {\n var _this = this;\n return function (state, dispatch) {\n var tr = state.tr, doc = state.doc, schema = state.schema;\n var $from = state.selection.$from;\n var view = _this.context.view;\n if (view.endOfTextblock(direction) && $from.node().type.name === 'codeBlock') {\n var lines = $from.parent.textContent.split('\\n');\n var offset = direction === 'up' ? $from.start() : $from.end();\n var range = direction === 'up'\n ? [offset, lines[0].length + offset]\n : [offset - last$1(lines).length, offset];\n var pos = doc.resolve(direction === 'up' ? $from.before() : $from.after());\n var node = direction === 'up' ? pos.nodeBefore : pos.nodeAfter;\n if (between$1($from.pos, range[0], range[1]) && !node) {\n var newTr = addParagraph(tr, pos, schema);\n if (newTr) {\n dispatch(newTr);\n return true;\n }\n }\n }\n return false;\n };\n };\n CodeBlock.prototype.keymaps = function () {\n var codeCommand = this.commands()();\n return {\n 'Shift-Mod-p': codeCommand,\n 'Shift-Mod-P': codeCommand,\n ArrowUp: this.moveCursor('up'),\n ArrowDown: this.moveCursor('down'),\n };\n };\n return CodeBlock;\n}(Node$2));\n\nvar BulletList = /** @class */ (function (_super) {\n __extends$1(BulletList, _super);\n function BulletList() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(BulletList.prototype, \"name\", {\n get: function () {\n return 'bulletList';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BulletList.prototype, \"schema\", {\n get: function () {\n return {\n content: 'listItem+',\n group: 'block',\n attrs: __assign$1({ rawHTML: { default: null } }, getDefaultCustomAttrs()),\n parseDOM: [createDOMInfoParsedRawHTML('ul')],\n toDOM: function (_a) {\n var attrs = _a.attrs;\n return ['ul', getCustomAttrs(attrs), 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n BulletList.prototype.changeList = function () {\n return function (state, dispatch) { return changeList(state.schema.nodes.bulletList)(state, dispatch); };\n };\n BulletList.prototype.commands = function () {\n return {\n bulletList: this.changeList,\n taskList: toggleTask,\n };\n };\n BulletList.prototype.keymaps = function () {\n var bulletListCommand = this.changeList();\n var _a = getWwCommands(), indent = _a.indent, outdent = _a.outdent;\n return {\n 'Mod-u': bulletListCommand,\n 'Mod-U': bulletListCommand,\n Tab: indent(),\n 'Shift-Tab': outdent(),\n };\n };\n return BulletList;\n}(Node$2));\n\nvar OrderedList = /** @class */ (function (_super) {\n __extends$1(OrderedList, _super);\n function OrderedList() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(OrderedList.prototype, \"name\", {\n get: function () {\n return 'orderedList';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(OrderedList.prototype, \"schema\", {\n get: function () {\n return {\n content: 'listItem+',\n group: 'block',\n attrs: __assign$1({ order: { default: 1 }, rawHTML: { default: null } }, getDefaultCustomAttrs()),\n parseDOM: [\n {\n tag: 'ol',\n getAttrs: function (dom) {\n var start = dom.getAttribute('start');\n var rawHTML = dom.getAttribute('data-raw-html');\n return __assign$1({ order: dom.hasAttribute('start') ? Number(start) : 1 }, (rawHTML && { rawHTML: rawHTML }));\n },\n },\n ],\n toDOM: function (_a) {\n var attrs = _a.attrs;\n return [\n attrs.rawHTML || 'ol',\n __assign$1({ start: attrs.order === 1 ? null : attrs.order }, getCustomAttrs(attrs)),\n 0,\n ];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n OrderedList.prototype.commands = function () {\n return function () { return function (state, dispatch) { return changeList(state.schema.nodes.orderedList)(state, dispatch); }; };\n };\n OrderedList.prototype.keymaps = function () {\n var orderedListCommand = this.commands()();\n var _a = getWwCommands(), indent = _a.indent, outdent = _a.outdent;\n return {\n 'Mod-o': orderedListCommand,\n 'Mod-O': orderedListCommand,\n Tab: indent(),\n 'Shift-Tab': outdent(),\n };\n };\n return OrderedList;\n}(Node$2));\n\nvar ListItem = /** @class */ (function (_super) {\n __extends$1(ListItem, _super);\n function ListItem() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(ListItem.prototype, \"name\", {\n get: function () {\n return 'listItem';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ListItem.prototype, \"schema\", {\n get: function () {\n return {\n content: 'paragraph block*',\n selectable: false,\n attrs: {\n task: { default: false },\n checked: { default: false },\n rawHTML: { default: null },\n },\n defining: true,\n parseDOM: [\n {\n tag: 'li',\n getAttrs: function (dom) {\n var rawHTML = dom.getAttribute('data-raw-html');\n return __assign$1({ task: dom.hasAttribute('data-task'), checked: dom.hasAttribute('data-task-checked') }, (rawHTML && { rawHTML: rawHTML }));\n },\n },\n ],\n toDOM: function (_a) {\n var attrs = _a.attrs;\n var task = attrs.task, checked = attrs.checked;\n if (!task) {\n return [attrs.rawHTML || 'li', 0];\n }\n var classNames = ['task-list-item'];\n if (checked) {\n classNames.push('checked');\n }\n return [\n attrs.rawHTML || 'li',\n __assign$1({ class: classNames.join(' '), 'data-task': task }, (checked && { 'data-task-checked': checked })),\n 0,\n ];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n ListItem.prototype.liftToPrevListItem = function () {\n return function (state, dispatch) {\n var selection = state.selection, tr = state.tr, schema = state.schema;\n var $from = selection.$from, empty = selection.empty;\n var listItem = schema.nodes.listItem;\n var parent = $from.parent;\n var listItemParent = $from.node(-1);\n if (empty && !parent.childCount && listItemParent.type === listItem) {\n // move to previous sibling list item when the current list item is not top list item\n if ($from.index(-2) >= 1) {\n // should subtract '1' for considering tag length()\n tr.delete($from.start(-1) - 1, $from.end(-1));\n dispatch(tr);\n return true;\n }\n var grandParentListItem = $from.node(-3);\n // move to parent list item when the current list item is top list item\n if (grandParentListItem.type === listItem) {\n // should subtract '1' for considering tag length()\n tr.delete($from.start(-2) - 1, $from.end(-1));\n dispatch(tr);\n return true;\n }\n }\n return false;\n };\n };\n ListItem.prototype.keymaps = function () {\n var split = function (state, dispatch) {\n return splitListItem(state.schema.nodes.listItem)(state, dispatch);\n };\n return {\n Backspace: this.liftToPrevListItem(),\n Enter: split,\n };\n };\n return ListItem;\n}(Node$2));\n\nvar BlockQuote = /** @class */ (function (_super) {\n __extends$1(BlockQuote, _super);\n function BlockQuote() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(BlockQuote.prototype, \"name\", {\n get: function () {\n return 'blockQuote';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(BlockQuote.prototype, \"schema\", {\n get: function () {\n return {\n attrs: __assign$1({ rawHTML: { default: null } }, getDefaultCustomAttrs()),\n content: 'block+',\n group: 'block',\n parseDOM: [createDOMInfoParsedRawHTML('blockquote')],\n toDOM: function (_a) {\n var attrs = _a.attrs;\n return ['blockquote', getCustomAttrs(attrs), 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n BlockQuote.prototype.commands = function () {\n return function () { return function (state, dispatch) { return Object(prosemirror_commands__WEBPACK_IMPORTED_MODULE_5__[\"wrapIn\"])(state.schema.nodes.blockQuote)(state, dispatch); }; };\n };\n BlockQuote.prototype.keymaps = function () {\n var blockQutoeCommand = this.commands()();\n return {\n 'Alt-q': blockQutoeCommand,\n 'Alt-Q': blockQutoeCommand,\n };\n };\n return BlockQuote;\n}(Node$2));\n\nvar cellOffsetFnMap = {\n left: getLeftCellOffset,\n right: getRightCellOffset,\n up: getUpCellOffset,\n down: getDownCellOffset,\n};\nfunction isInFirstListItem(pos, doc, _a) {\n var paraDepth = _a[0], listDepth = _a[1];\n var listItemNode = doc.resolve(pos.before(paraDepth - 1));\n return listDepth === paraDepth && !listItemNode.nodeBefore;\n}\nfunction isInLastListItem(pos) {\n var _a;\n var depth = pos.depth;\n var parentNode;\n while (depth) {\n parentNode = pos.node(depth);\n if (parentNode.type.name === 'tableBodyCell') {\n break;\n }\n if (parentNode.type.name === 'listItem') {\n var grandParent = pos.node(depth - 1);\n var lastListItem = grandParent.lastChild === parentNode;\n var hasChildren = ((_a = parentNode.lastChild) === null || _a === void 0 ? void 0 : _a.type.name) !== 'paragraph';\n if (!lastListItem) {\n return false;\n }\n return !hasChildren;\n }\n depth -= 1;\n }\n return false;\n}\nfunction canMoveToBeforeCell(direction, _a, from, doc, inList) {\n var paraDepth = _a[0], listDepth = _a[1], curDepth = _a[2];\n if (direction === \"left\" /* LEFT */ || direction === \"up\" /* UP */) {\n if (inList && !isInFirstListItem(from, doc, [paraDepth, listDepth])) {\n return false;\n }\n var endOffset = from.before(curDepth);\n var nodeBefore = doc.resolve(endOffset).nodeBefore;\n if (nodeBefore) {\n return false;\n }\n }\n return true;\n}\nfunction canMoveToAfterCell(direction, curDepth, from, doc, inList) {\n if (direction === \"right\" /* RIGHT */ || direction === \"down\" /* DOWN */) {\n if (inList && !isInLastListItem(from)) {\n return false;\n }\n var endOffset = from.after(curDepth);\n var nodeAfter = doc.resolve(endOffset).nodeAfter;\n if (nodeAfter) {\n return false;\n }\n }\n return true;\n}\nfunction canMoveBetweenCells(direction, _a, from, doc) {\n var cellDepth = _a[0], paraDepth = _a[1];\n var listDepth = cellDepth + 3; // 3 is position of \n var inList = paraDepth >= listDepth;\n var curDepth = inList ? cellDepth + 1 : paraDepth;\n var moveBeforeCell = canMoveToBeforeCell(direction, [paraDepth, listDepth, curDepth], from, doc, inList);\n var moveAfterCell = canMoveToAfterCell(direction, curDepth, from, doc, inList);\n return moveBeforeCell && moveAfterCell;\n}\nfunction canBeOutOfTable(direction, map, _a) {\n var rowIdx = _a[0], colIdx = _a[1];\n var rowspanInfo = map.getRowspanStartInfo(rowIdx, colIdx);\n var inFirstRow = direction === \"up\" /* UP */ && rowIdx === 0;\n var inLastRow = direction === \"down\" /* DOWN */ &&\n ((rowspanInfo === null || rowspanInfo === void 0 ? void 0 : rowspanInfo.count) > 1 ? rowIdx + rowspanInfo.count - 1 : rowIdx) === map.totalRowCount - 1;\n return inFirstRow || inLastRow;\n}\nfunction addParagraphBeforeTable(tr, map, schema) {\n var tableStartPos = tr.doc.resolve(map.tableStartOffset - 1);\n if (!tableStartPos.nodeBefore) {\n return addParagraph(tr, tableStartPos, schema);\n }\n return tr.setSelection(prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"Selection\"].near(tableStartPos, -1));\n}\nfunction addParagraphAfterTable(tr, map, schema, forcedAddtion) {\n if (forcedAddtion === void 0) { forcedAddtion = false; }\n var tableEndPos = tr.doc.resolve(map.tableEndOffset);\n if (forcedAddtion || !tableEndPos.nodeAfter) {\n return addParagraph(tr, tableEndPos, schema);\n }\n return tr.setSelection(prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"Selection\"].near(tableEndPos, 1));\n}\nfunction getRightCellOffset(_a, map) {\n var rowIdx = _a[0], colIdx = _a[1];\n var totalRowCount = map.totalRowCount, totalColumnCount = map.totalColumnCount;\n var lastCellInRow = colIdx === totalColumnCount - 1;\n var lastCellInTable = rowIdx === totalRowCount - 1 && lastCellInRow;\n if (!lastCellInTable) {\n var nextColIdx = colIdx + 1;\n var colspanInfo = map.getColspanStartInfo(rowIdx, colIdx);\n if ((colspanInfo === null || colspanInfo === void 0 ? void 0 : colspanInfo.count) > 1) {\n nextColIdx += colspanInfo.count - 1;\n }\n if (lastCellInRow || nextColIdx === totalColumnCount) {\n rowIdx += 1;\n nextColIdx = 0;\n }\n var offset = map.getCellInfo(rowIdx, nextColIdx).offset;\n return offset + 2;\n }\n return null;\n}\nfunction getLeftCellOffset(_a, map) {\n var rowIdx = _a[0], colIdx = _a[1];\n var totalColumnCount = map.totalColumnCount;\n var firstCellInRow = colIdx === 0;\n var firstCellInTable = rowIdx === 0 && firstCellInRow;\n if (!firstCellInTable) {\n colIdx -= 1;\n if (firstCellInRow) {\n rowIdx -= 1;\n colIdx = totalColumnCount - 1;\n }\n var _b = map.getCellInfo(rowIdx, colIdx), offset = _b.offset, nodeSize = _b.nodeSize;\n return offset + nodeSize - 2;\n }\n return null;\n}\nfunction getUpCellOffset(_a, map) {\n var rowIdx = _a[0], colIdx = _a[1];\n if (rowIdx > 0) {\n var _b = map.getCellInfo(rowIdx - 1, colIdx), offset = _b.offset, nodeSize = _b.nodeSize;\n return offset + nodeSize - 2;\n }\n return null;\n}\nfunction getDownCellOffset(_a, map) {\n var rowIdx = _a[0], colIdx = _a[1];\n var totalRowCount = map.totalRowCount;\n if (rowIdx < totalRowCount - 1) {\n var nextRowIdx = rowIdx + 1;\n var rowspanInfo = map.getRowspanStartInfo(rowIdx, colIdx);\n if ((rowspanInfo === null || rowspanInfo === void 0 ? void 0 : rowspanInfo.count) > 1) {\n nextRowIdx += rowspanInfo.count - 1;\n }\n var offset = map.getCellInfo(nextRowIdx, colIdx).offset;\n return offset + 2;\n }\n return null;\n}\nfunction moveToCell(direction, tr, cellIndex, map) {\n var cellOffsetFn = cellOffsetFnMap[direction];\n var offset = cellOffsetFn(cellIndex, map);\n if (offset) {\n var dir = direction === \"right\" /* RIGHT */ || direction === \"down\" /* DOWN */ ? 1 : -1;\n return tr.setSelection(prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"Selection\"].near(tr.doc.resolve(offset), dir));\n }\n return null;\n}\nfunction canSelectTableNode(direction, map, _a) {\n var rowIdx = _a[0], colIdx = _a[1];\n if (direction === \"up\" /* UP */ || direction === \"down\" /* DOWN */) {\n return false;\n }\n var tableStartOffset = map.tableStartOffset, tableEndOffset = map.tableEndOffset;\n var _b = map.getCellInfo(rowIdx, colIdx), offset = _b.offset, nodeSize = _b.nodeSize;\n var pos = direction === \"left\" /* LEFT */ ? tableStartOffset : tableEndOffset;\n var curPos = direction === \"left\" /* LEFT */ ? offset - 2 : offset + nodeSize + 3;\n return pos === curPos;\n}\nfunction selectNode(tr, pos, depth) {\n var tablePos = tr.doc.resolve(pos.before(depth - 3));\n return tr.setSelection(new prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"NodeSelection\"](tablePos));\n}\n\nfunction getTargetRowInfo(direction, map, selectionInfo) {\n var targetRowIdx;\n var insertColIdx;\n var nodeSize;\n if (direction === \"up\" /* UP */) {\n targetRowIdx = selectionInfo.startRowIdx;\n insertColIdx = 0;\n nodeSize = -1;\n }\n else {\n targetRowIdx = selectionInfo.endRowIdx;\n insertColIdx = map.totalColumnCount - 1;\n nodeSize = map.getCellInfo(targetRowIdx, insertColIdx).nodeSize + 1;\n }\n return { targetRowIdx: targetRowIdx, insertColIdx: insertColIdx, nodeSize: nodeSize };\n}\nfunction getRowRanges(map, rowIdx, totalColumnCount) {\n var startOffset = map.getCellInfo(rowIdx, 0).offset;\n var _a = map.getCellInfo(rowIdx, totalColumnCount - 1), offset = _a.offset, nodeSize = _a.nodeSize;\n return { from: startOffset, to: offset + nodeSize };\n}\nvar Table = /** @class */ (function (_super) {\n __extends$1(Table, _super);\n function Table() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Table.prototype, \"name\", {\n get: function () {\n return 'table';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Table.prototype, \"schema\", {\n get: function () {\n return {\n content: 'tableHead{1} tableBody{1}',\n group: 'block',\n attrs: __assign$1({ rawHTML: { default: null } }, getDefaultCustomAttrs()),\n parseDOM: [createDOMInfoParsedRawHTML('table')],\n toDOM: function (_a) {\n var attrs = _a.attrs;\n return ['table', getCustomAttrs(attrs), 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n Table.prototype.addTable = function () {\n return function (payload) {\n if (payload === void 0) { payload = { rowCount: 2, columnCount: 1, data: [] }; }\n return function (state, dispatch) {\n var rowCount = payload.rowCount, columnCount = payload.columnCount, data = payload.data;\n var schema = state.schema, selection = state.selection, tr = state.tr;\n var from = selection.from, to = selection.to, $from = selection.$from;\n var collapsed = from === to;\n if (collapsed && !isInTableNode($from)) {\n var _a = schema.nodes, tableHead = _a.tableHead, tableBody = _a.tableBody;\n var theadData = data === null || data === void 0 ? void 0 : data.slice(0, columnCount);\n var tbodyData = data === null || data === void 0 ? void 0 : data.slice(columnCount, data.length);\n var tableHeadRow = createTableHeadRow(columnCount, schema, theadData);\n var tableBodyRows = createTableBodyRows(rowCount - 1, columnCount, schema, tbodyData);\n var table = schema.nodes.table.create(null, [\n tableHead.create(null, tableHeadRow),\n tableBody.create(null, tableBodyRows),\n ]);\n dispatch(tr.replaceSelectionWith(table));\n return true;\n }\n return false;\n };\n };\n };\n Table.prototype.removeTable = function () {\n return function () { return function (state, dispatch) {\n var selection = state.selection, tr = state.tr;\n var map = TableOffsetMap.create(selection.$anchor);\n if (map) {\n var tableStartOffset = map.tableStartOffset, tableEndOffset = map.tableEndOffset;\n var startOffset = tableStartOffset - 1;\n var cursorPos = createTextSelection(tr.delete(startOffset, tableEndOffset), startOffset);\n dispatch(tr.setSelection(cursorPos));\n return true;\n }\n return false;\n }; };\n };\n Table.prototype.addColumn = function (direction) {\n return function () { return function (state, dispatch) {\n var selection = state.selection, tr = state.tr, schema = state.schema;\n var _a = getResolvedSelection(selection), anchor = _a.anchor, head = _a.head;\n if (anchor && head) {\n var map = TableOffsetMap.create(anchor);\n var selectionInfo = map.getRectOffsets(anchor, head);\n var targetColIdx = direction === \"left\" /* LEFT */ ? selectionInfo.startColIdx : selectionInfo.endColIdx + 1;\n var columnCount = getRowAndColumnCount(selectionInfo).columnCount;\n var totalRowCount = map.totalRowCount;\n for (var rowIdx = 0; rowIdx < totalRowCount; rowIdx += 1) {\n var cells = createDummyCells(columnCount, rowIdx, schema);\n tr.insert(tr.mapping.map(map.posAt(rowIdx, targetColIdx)), cells);\n }\n dispatch(tr);\n return true;\n }\n return false;\n }; };\n };\n Table.prototype.removeColumn = function () {\n return function () { return function (state, dispatch) {\n var selection = state.selection, tr = state.tr;\n var _a = getResolvedSelection(selection), anchor = _a.anchor, head = _a.head;\n if (anchor && head) {\n var map = TableOffsetMap.create(anchor);\n var selectionInfo = map.getRectOffsets(anchor, head);\n var totalColumnCount = map.totalColumnCount, totalRowCount = map.totalRowCount;\n var columnCount = getRowAndColumnCount(selectionInfo).columnCount;\n var selectedAllColumn = columnCount === totalColumnCount;\n if (selectedAllColumn) {\n return false;\n }\n var startColIdx = selectionInfo.startColIdx, endColIdx = selectionInfo.endColIdx;\n var mapStart = tr.mapping.maps.length;\n for (var rowIdx = 0; rowIdx < totalRowCount; rowIdx += 1) {\n for (var colIdx = endColIdx; colIdx >= startColIdx; colIdx -= 1) {\n var _b = map.getCellInfo(rowIdx, colIdx), offset = _b.offset, nodeSize = _b.nodeSize;\n var from = tr.mapping.slice(mapStart).map(offset);\n var to = from + nodeSize;\n tr.delete(from, to);\n }\n }\n dispatch(tr);\n return true;\n }\n return false;\n }; };\n };\n Table.prototype.addRow = function (direction) {\n return function () { return function (state, dispatch) {\n var selection = state.selection, schema = state.schema, tr = state.tr;\n var _a = getResolvedSelection(selection), anchor = _a.anchor, head = _a.head;\n if (anchor && head) {\n var map = TableOffsetMap.create(anchor);\n var totalColumnCount = map.totalColumnCount;\n var selectionInfo = map.getRectOffsets(anchor, head);\n var rowCount = getRowAndColumnCount(selectionInfo).rowCount;\n var _b = getTargetRowInfo(direction, map, selectionInfo), targetRowIdx = _b.targetRowIdx, insertColIdx = _b.insertColIdx, nodeSize = _b.nodeSize;\n var selectedThead = targetRowIdx === 0;\n if (!selectedThead) {\n var rows = [];\n var from = tr.mapping.map(map.posAt(targetRowIdx, insertColIdx)) + nodeSize;\n var cells = [];\n for (var colIdx = 0; colIdx < totalColumnCount; colIdx += 1) {\n cells = cells.concat(createDummyCells(1, targetRowIdx, schema));\n }\n for (var i = 0; i < rowCount; i += 1) {\n rows.push(schema.nodes.tableRow.create(null, cells));\n }\n dispatch(tr.insert(from, rows));\n return true;\n }\n }\n return false;\n }; };\n };\n Table.prototype.removeRow = function () {\n return function () { return function (state, dispatch) {\n var selection = state.selection, tr = state.tr;\n var _a = getResolvedSelection(selection), anchor = _a.anchor, head = _a.head;\n if (anchor && head) {\n var map = TableOffsetMap.create(anchor);\n var totalRowCount = map.totalRowCount, totalColumnCount = map.totalColumnCount;\n var selectionInfo = map.getRectOffsets(anchor, head);\n var rowCount = getRowAndColumnCount(selectionInfo).rowCount;\n var startRowIdx = selectionInfo.startRowIdx, endRowIdx = selectionInfo.endRowIdx;\n var selectedThead = startRowIdx === 0;\n var selectedAllTbodyRow = rowCount === totalRowCount - 1;\n if (selectedAllTbodyRow || selectedThead) {\n return false;\n }\n for (var rowIdx = endRowIdx; rowIdx >= startRowIdx; rowIdx -= 1) {\n var _b = getRowRanges(map, rowIdx, totalColumnCount), from = _b.from, to = _b.to;\n // delete table row\n tr.delete(from - 1, to + 1);\n }\n dispatch(tr);\n return true;\n }\n return false;\n }; };\n };\n Table.prototype.alignColumn = function () {\n return function (payload) {\n if (payload === void 0) { payload = { align: 'center' }; }\n return function (state, dispatch) {\n var align = payload.align;\n var selection = state.selection, tr = state.tr;\n var _a = getResolvedSelection(selection), anchor = _a.anchor, head = _a.head;\n if (anchor && head) {\n var map = TableOffsetMap.create(anchor);\n var totalRowCount = map.totalRowCount;\n var selectionInfo = map.getRectOffsets(anchor, head);\n var startColIdx = selectionInfo.startColIdx, endColIdx = selectionInfo.endColIdx;\n for (var rowIdx = 0; rowIdx < totalRowCount; rowIdx += 1) {\n for (var colIdx = startColIdx; colIdx <= endColIdx; colIdx += 1) {\n if (!map.extendedRowspan(rowIdx, colIdx) && !map.extendedColspan(rowIdx, colIdx)) {\n var _b = map.getNodeAndPos(rowIdx, colIdx), node = _b.node, pos = _b.pos;\n var attrs = setAttrs(node, { align: align });\n tr.setNodeMarkup(pos, null, attrs);\n }\n }\n }\n dispatch(tr);\n return true;\n }\n return false;\n };\n };\n };\n Table.prototype.moveToCell = function (direction) {\n return function (state, dispatch) {\n var selection = state.selection, tr = state.tr, schema = state.schema;\n var _a = getResolvedSelection(selection), anchor = _a.anchor, head = _a.head;\n if (anchor && head) {\n var map = TableOffsetMap.create(anchor);\n var cellIndex = map.getCellIndex(anchor);\n var newTr = void 0;\n if (canBeOutOfTable(direction, map, cellIndex)) {\n // When there is no content before or after the table,\n // an empty line('paragraph') is created by pressing the arrow keys.\n newTr = addParagraphAfterTable(tr, map, schema);\n }\n else {\n newTr = moveToCell(direction, tr, cellIndex, map);\n }\n if (newTr) {\n dispatch(newTr);\n return true;\n }\n }\n return false;\n };\n };\n Table.prototype.moveInCell = function (direction) {\n var _this = this;\n return function (state, dispatch) {\n var selection = state.selection, tr = state.tr, doc = state.doc, schema = state.schema;\n var $from = selection.$from;\n var view = _this.context.view;\n if (!view.endOfTextblock(direction)) {\n return false;\n }\n var cell = findNodeBy($from, function (_a) {\n var type = _a.type;\n return type.name === 'tableHeadCell' || type.name === 'tableBodyCell';\n });\n if (cell) {\n var para = findNodeBy($from, function (_a) {\n var type = _a.type;\n return type.name === 'paragraph';\n });\n var cellDepth = cell.depth;\n if (para && canMoveBetweenCells(direction, [cellDepth, para.depth], $from, doc)) {\n var anchor = getResolvedSelection(selection).anchor;\n var map = TableOffsetMap.create(anchor);\n var cellIndex = map.getCellIndex(anchor);\n var newTr = void 0;\n if (canSelectTableNode(direction, map, cellIndex)) {\n // When the cursor position is at the end of the cell,\n // the table is selected when the left / right arrow keys are pressed.\n newTr = selectNode(tr, $from, cellDepth);\n }\n else if (canBeOutOfTable(direction, map, cellIndex)) {\n // When there is no content before or after the table,\n // an empty line('paragraph') is created by pressing the arrow keys.\n if (direction === \"up\" /* UP */) {\n newTr = addParagraphBeforeTable(tr, map, schema);\n }\n else if (direction === \"down\" /* DOWN */) {\n newTr = addParagraphAfterTable(tr, map, schema);\n }\n }\n else {\n newTr = moveToCell(direction, tr, cellIndex, map);\n }\n if (newTr) {\n dispatch(newTr);\n return true;\n }\n }\n }\n return false;\n };\n };\n Table.prototype.deleteCells = function () {\n return function (state, dispatch) {\n var schema = state.schema, selection = state.selection, tr = state.tr;\n var _a = getResolvedSelection(selection), anchor = _a.anchor, head = _a.head;\n var textSelection = selection instanceof prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"TextSelection\"];\n if (anchor && head && !textSelection) {\n var map = TableOffsetMap.create(anchor);\n var _b = map.getRectOffsets(anchor, head), startRowIdx = _b.startRowIdx, startColIdx = _b.startColIdx, endRowIdx = _b.endRowIdx, endColIdx = _b.endColIdx;\n for (var rowIdx = startRowIdx; rowIdx <= endRowIdx; rowIdx += 1) {\n for (var colIdx = startColIdx; colIdx <= endColIdx; colIdx += 1) {\n if (!map.extendedRowspan(rowIdx, colIdx) && !map.extendedColspan(rowIdx, colIdx)) {\n var _c = map.getNodeAndPos(rowIdx, colIdx), node = _c.node, pos = _c.pos;\n var cells = createDummyCells(1, rowIdx, schema, node.attrs);\n tr.replaceWith(tr.mapping.map(pos), tr.mapping.map(pos + node.nodeSize), cells);\n }\n }\n }\n dispatch(tr);\n return true;\n }\n return false;\n };\n };\n Table.prototype.exitTable = function () {\n return function (state, dispatch) {\n var selection = state.selection, tr = state.tr, schema = state.schema;\n var $from = selection.$from;\n var cell = findNodeBy($from, function (_a) {\n var type = _a.type;\n return type.name === 'tableHeadCell' || type.name === 'tableBodyCell';\n });\n if (cell) {\n var para = findNodeBy($from, function (_a) {\n var type = _a.type;\n return type.name === 'paragraph';\n });\n if (para) {\n var anchor = getResolvedSelection(selection).anchor;\n var map = TableOffsetMap.create(anchor);\n dispatch(addParagraphAfterTable(tr, map, schema, true));\n return true;\n }\n }\n return false;\n };\n };\n Table.prototype.commands = function () {\n return {\n addTable: this.addTable(),\n removeTable: this.removeTable(),\n addColumnToLeft: this.addColumn(\"left\" /* LEFT */),\n addColumnToRight: this.addColumn(\"right\" /* RIGHT */),\n removeColumn: this.removeColumn(),\n addRowToUp: this.addRow(\"up\" /* UP */),\n addRowToDown: this.addRow(\"down\" /* DOWN */),\n removeRow: this.removeRow(),\n alignColumn: this.alignColumn(),\n };\n };\n Table.prototype.keymaps = function () {\n var deleteCellContent = this.deleteCells();\n return {\n Tab: this.moveToCell(\"right\" /* RIGHT */),\n 'Shift-Tab': this.moveToCell(\"left\" /* LEFT */),\n ArrowUp: this.moveInCell(\"up\" /* UP */),\n ArrowDown: this.moveInCell(\"down\" /* DOWN */),\n ArrowLeft: this.moveInCell(\"left\" /* LEFT */),\n ArrowRight: this.moveInCell(\"right\" /* RIGHT */),\n Backspace: deleteCellContent,\n 'Mod-Backspace': deleteCellContent,\n Delete: deleteCellContent,\n 'Mod-Delete': deleteCellContent,\n 'Mod-Enter': this.exitTable(),\n };\n };\n return Table;\n}(Node$2));\n\nvar TableHead = /** @class */ (function (_super) {\n __extends$1(TableHead, _super);\n function TableHead() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(TableHead.prototype, \"name\", {\n get: function () {\n return 'tableHead';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TableHead.prototype, \"schema\", {\n get: function () {\n return {\n content: 'tableRow{1}',\n attrs: __assign$1({ rawHTML: { default: null } }, getDefaultCustomAttrs()),\n parseDOM: [createDOMInfoParsedRawHTML('thead')],\n toDOM: function (_a) {\n var attrs = _a.attrs;\n return ['thead', getCustomAttrs(attrs), 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n return TableHead;\n}(Node$2));\n\nvar TableBody = /** @class */ (function (_super) {\n __extends$1(TableBody, _super);\n function TableBody() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(TableBody.prototype, \"name\", {\n get: function () {\n return 'tableBody';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TableBody.prototype, \"schema\", {\n get: function () {\n return {\n content: 'tableRow+',\n attrs: __assign$1({ rawHTML: { default: null } }, getDefaultCustomAttrs()),\n parseDOM: [\n {\n tag: 'tbody',\n getAttrs: function (dom) {\n var rows = dom.querySelectorAll('tr');\n var columns = rows[0].children.length;\n var rawHTML = dom.getAttribute('data-raw-html');\n if (!columns) {\n return false;\n }\n return __assign$1({}, (rawHTML && { rawHTML: rawHTML }));\n },\n },\n ],\n toDOM: function (_a) {\n var attrs = _a.attrs;\n return ['tbody', getCustomAttrs(attrs), 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n return TableBody;\n}(Node$2));\n\nvar TableRow = /** @class */ (function (_super) {\n __extends$1(TableRow, _super);\n function TableRow() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(TableRow.prototype, \"name\", {\n get: function () {\n return 'tableRow';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TableRow.prototype, \"schema\", {\n get: function () {\n return {\n content: '(tableHeadCell | tableBodyCell)*',\n attrs: __assign$1({ rawHTML: { default: null } }, getDefaultCustomAttrs()),\n parseDOM: [\n {\n tag: 'tr',\n getAttrs: function (dom) {\n var columns = dom.children.length;\n var rawHTML = dom.getAttribute('data-raw-html');\n if (!columns) {\n return false;\n }\n return __assign$1({}, (rawHTML && { rawHTML: rawHTML }));\n },\n },\n ],\n toDOM: function (_a) {\n var attrs = _a.attrs;\n return ['tr', getCustomAttrs(attrs), 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n return TableRow;\n}(Node$2));\n\nvar TableHeadCell = /** @class */ (function (_super) {\n __extends$1(TableHeadCell, _super);\n function TableHeadCell() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(TableHeadCell.prototype, \"name\", {\n get: function () {\n return 'tableHeadCell';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TableHeadCell.prototype, \"schema\", {\n get: function () {\n return {\n content: 'paragraph+',\n attrs: __assign$1({ align: { default: null }, className: { default: null }, rawHTML: { default: null }, colspan: { default: null }, extended: { default: null } }, getDefaultCustomAttrs()),\n isolating: true,\n parseDOM: [createParsedCellDOM('th')],\n toDOM: function (_a) {\n var attrs = _a.attrs;\n var cellAttrs = createCellAttrs(attrs);\n return ['th', __assign$1(__assign$1({}, cellAttrs), getCustomAttrs(attrs)), 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n return TableHeadCell;\n}(Node$2));\n\nvar TableBodyCell = /** @class */ (function (_super) {\n __extends$1(TableBodyCell, _super);\n function TableBodyCell() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(TableBodyCell.prototype, \"name\", {\n get: function () {\n return 'tableBodyCell';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(TableBodyCell.prototype, \"schema\", {\n get: function () {\n return {\n content: '(paragraph | bulletList | orderedList)+',\n attrs: {\n align: { default: null },\n className: { default: null },\n rawHTML: { default: null },\n colspan: { default: null },\n rowspan: { default: null },\n extended: { default: null },\n },\n isolating: true,\n parseDOM: [createParsedCellDOM('td')],\n toDOM: function (_a) {\n var attrs = _a.attrs;\n var cellAttrs = createCellAttrs(attrs);\n return ['td', cellAttrs, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n return TableBodyCell;\n}(Node$2));\n\nvar Image = /** @class */ (function (_super) {\n __extends$1(Image, _super);\n function Image() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Image.prototype, \"name\", {\n get: function () {\n return 'image';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Image.prototype, \"schema\", {\n get: function () {\n return {\n inline: true,\n attrs: __assign$1({ imageUrl: { default: '' }, altText: { default: null }, rawHTML: { default: null } }, getDefaultCustomAttrs()),\n group: 'inline',\n selectable: false,\n parseDOM: [\n {\n tag: 'img[src]',\n getAttrs: function (dom) {\n var sanitizedDOM = sanitizeHTML(dom, { RETURN_DOM_FRAGMENT: true })\n .firstChild;\n var imageUrl = sanitizedDOM.getAttribute('src') || '';\n var rawHTML = sanitizedDOM.getAttribute('data-raw-html');\n var altText = sanitizedDOM.getAttribute('alt');\n return __assign$1({ imageUrl: imageUrl,\n altText: altText }, (rawHTML && { rawHTML: rawHTML }));\n },\n },\n ],\n toDOM: function (_a) {\n var attrs = _a.attrs;\n return [\n attrs.rawHTML || 'img',\n __assign$1(__assign$1({ src: escapeXml$1(attrs.imageUrl) }, (attrs.altText && { alt: attrs.altText })), getCustomAttrs(attrs)),\n ];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n Image.prototype.addImage = function () {\n return function (payload) { return function (_a, dispatch) {\n var schema = _a.schema, tr = _a.tr;\n var _b = payload, imageUrl = _b.imageUrl, altText = _b.altText;\n if (!imageUrl) {\n return false;\n }\n var node = schema.nodes.image.createAndFill(__assign$1({ imageUrl: imageUrl }, (altText && { altText: altText })));\n dispatch(tr.replaceSelectionWith(node).scrollIntoView());\n return true;\n }; };\n };\n Image.prototype.commands = function () {\n return {\n addImage: this.addImage(),\n };\n };\n return Image;\n}(Node$2));\n\nvar ROOT_BLOCK_DEPTH = 1;\nvar ThematicBreak = /** @class */ (function (_super) {\n __extends$1(ThematicBreak, _super);\n function ThematicBreak() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(ThematicBreak.prototype, \"name\", {\n get: function () {\n return 'thematicBreak';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(ThematicBreak.prototype, \"schema\", {\n get: function () {\n return {\n attrs: __assign$1({ rawHTML: { default: null } }, getDefaultCustomAttrs()),\n group: 'block',\n parseDOM: [{ tag: 'hr' }],\n selectable: false,\n toDOM: function (_a) {\n var attrs = _a.attrs;\n return ['div', getCustomAttrs(attrs), [attrs.rawHTML || 'hr']];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n ThematicBreak.prototype.hr = function () {\n var _this = this;\n return function () { return function (state, dispatch) {\n var _a;\n var _b = state.selection, $from = _b.$from, $to = _b.$to;\n if ($from === $to) {\n var doc = state.doc;\n var _c = state.schema.nodes, thematicBreak = _c.thematicBreak, paragraph = _c.paragraph;\n var nodes = [thematicBreak.create()];\n var rootBlock = $from.node(ROOT_BLOCK_DEPTH);\n var lastBlock = doc.child(doc.childCount - 1) === rootBlock;\n var blockEnd = doc.resolve($from.after(ROOT_BLOCK_DEPTH));\n var nextHr = ((_a = $from.nodeAfter) === null || _a === void 0 ? void 0 : _a.type.name) === _this.name;\n if (lastBlock || nextHr) {\n nodes.push(paragraph.create());\n }\n dispatch(state.tr.insert(blockEnd.pos, nodes).scrollIntoView());\n return true;\n }\n return false;\n }; };\n };\n ThematicBreak.prototype.commands = function () {\n return { hr: this.hr() };\n };\n ThematicBreak.prototype.keymaps = function () {\n var hrCommand = this.hr()();\n return {\n 'Mod-l': hrCommand,\n 'Mod-L': hrCommand,\n };\n };\n return ThematicBreak;\n}(Node$2));\n\nvar Strong = /** @class */ (function (_super) {\n __extends$1(Strong, _super);\n function Strong() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Strong.prototype, \"name\", {\n get: function () {\n return 'strong';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Strong.prototype, \"schema\", {\n get: function () {\n var parseDOM = ['b', 'strong'].map(function (tag) {\n return {\n tag: tag,\n getAttrs: function (dom) {\n var rawHTML = dom.getAttribute('data-raw-html');\n return __assign$1({}, (rawHTML && { rawHTML: rawHTML }));\n },\n };\n });\n return {\n attrs: __assign$1({ rawHTML: { default: null } }, getDefaultCustomAttrs()),\n parseDOM: parseDOM,\n toDOM: function (_a) {\n var attrs = _a.attrs;\n return [attrs.rawHTML || 'strong', getCustomAttrs(attrs)];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n Strong.prototype.bold = function () {\n return function () { return function (state, dispatch) { return Object(prosemirror_commands__WEBPACK_IMPORTED_MODULE_5__[\"toggleMark\"])(state.schema.marks.strong)(state, dispatch); }; };\n };\n Strong.prototype.commands = function () {\n return { bold: this.bold() };\n };\n Strong.prototype.keymaps = function () {\n var boldCommand = this.bold()();\n return {\n 'Mod-b': boldCommand,\n 'Mod-B': boldCommand,\n };\n };\n return Strong;\n}(Mark));\n\nvar Emph = /** @class */ (function (_super) {\n __extends$1(Emph, _super);\n function Emph() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Emph.prototype, \"name\", {\n get: function () {\n return 'emph';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Emph.prototype, \"schema\", {\n get: function () {\n var parseDOM = ['i', 'em'].map(function (tag) {\n return {\n tag: tag,\n getAttrs: function (dom) {\n var rawHTML = dom.getAttribute('data-raw-html');\n return __assign$1({}, (rawHTML && { rawHTML: rawHTML }));\n },\n };\n });\n return {\n attrs: __assign$1({ rawHTML: { default: null } }, getDefaultCustomAttrs()),\n parseDOM: parseDOM,\n toDOM: function (_a) {\n var attrs = _a.attrs;\n return [attrs.rawHTML || 'em', getCustomAttrs(attrs)];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n Emph.prototype.italic = function () {\n return function () { return function (state, dispatch) { return Object(prosemirror_commands__WEBPACK_IMPORTED_MODULE_5__[\"toggleMark\"])(state.schema.marks.emph)(state, dispatch); }; };\n };\n Emph.prototype.commands = function () {\n return { italic: this.italic() };\n };\n Emph.prototype.keymaps = function () {\n var italicCommand = this.italic()();\n return {\n 'Mod-i': italicCommand,\n 'Mod-I': italicCommand,\n };\n };\n return Emph;\n}(Mark));\n\nvar Strike = /** @class */ (function (_super) {\n __extends$1(Strike, _super);\n function Strike() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Strike.prototype, \"name\", {\n get: function () {\n return 'strike';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Strike.prototype, \"schema\", {\n get: function () {\n var parseDOM = ['s', 'del'].map(function (tag) {\n return {\n tag: tag,\n getAttrs: function (dom) {\n var rawHTML = dom.getAttribute('data-raw-html');\n return __assign$1({}, (rawHTML && { rawHTML: rawHTML }));\n },\n };\n });\n return {\n attrs: __assign$1({ rawHTML: { default: null } }, getDefaultCustomAttrs()),\n parseDOM: parseDOM,\n toDOM: function (_a) {\n var attrs = _a.attrs;\n return [attrs.rawHTML || 'del', getCustomAttrs(attrs)];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n Strike.prototype.commands = function () {\n return function () { return function (state, dispatch) { return Object(prosemirror_commands__WEBPACK_IMPORTED_MODULE_5__[\"toggleMark\"])(state.schema.marks.strike)(state, dispatch); }; };\n };\n Strike.prototype.keymaps = function () {\n var strikeCommand = this.commands()();\n return {\n 'Mod-s': strikeCommand,\n 'Mod-S': strikeCommand,\n };\n };\n return Strike;\n}(Mark));\n\nvar Link = /** @class */ (function (_super) {\n __extends$1(Link, _super);\n function Link(linkAttributes) {\n var _this = _super.call(this) || this;\n _this.linkAttributes = linkAttributes;\n return _this;\n }\n Object.defineProperty(Link.prototype, \"name\", {\n get: function () {\n return 'link';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Link.prototype, \"schema\", {\n get: function () {\n var _this = this;\n return {\n attrs: __assign$1({ linkUrl: { default: '' }, title: { default: null }, rawHTML: { default: null } }, getDefaultCustomAttrs()),\n inclusive: false,\n parseDOM: [\n {\n tag: 'a[href]',\n getAttrs: function (dom) {\n var sanitizedDOM = sanitizeHTML(dom, { RETURN_DOM_FRAGMENT: true })\n .firstChild;\n var href = sanitizedDOM.getAttribute('href') || '';\n var title = sanitizedDOM.getAttribute('title') || '';\n var rawHTML = sanitizedDOM.getAttribute('data-raw-html');\n return __assign$1({ linkUrl: href, title: title }, (rawHTML && { rawHTML: rawHTML }));\n },\n },\n ],\n toDOM: function (_a) {\n var attrs = _a.attrs;\n return [\n attrs.rawHTML || 'a',\n __assign$1(__assign$1({ href: escapeXml$1(attrs.linkUrl) }, _this.linkAttributes), getCustomAttrs(attrs)),\n ];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n Link.prototype.addLink = function () {\n return function (payload) { return function (state, dispatch) {\n var _a = payload, linkUrl = _a.linkUrl, _b = _a.linkText, linkText = _b === void 0 ? '' : _b;\n var schema = state.schema, tr = state.tr, selection = state.selection;\n var empty = selection.empty, from = selection.from, to = selection.to;\n if (from && to && linkUrl) {\n var attrs = { linkUrl: linkUrl };\n var mark = schema.mark('link', attrs);\n if (empty && linkText) {\n var node = createTextNode$1(schema, linkText, mark);\n tr.replaceRangeWith(from, to, node);\n }\n else {\n tr.addMark(from, to, mark);\n }\n dispatch(tr.scrollIntoView());\n return true;\n }\n return false;\n }; };\n };\n Link.prototype.toggleLink = function () {\n return function (payload) { return function (state, dispatch) {\n return Object(prosemirror_commands__WEBPACK_IMPORTED_MODULE_5__[\"toggleMark\"])(state.schema.marks.link, payload)(state, dispatch);\n }; };\n };\n Link.prototype.commands = function () {\n return {\n addLink: this.addLink(),\n toggleLink: this.toggleLink(),\n };\n };\n return Link;\n}(Mark));\n\nvar Code = /** @class */ (function (_super) {\n __extends$1(Code, _super);\n function Code() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(Code.prototype, \"name\", {\n get: function () {\n return 'code';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(Code.prototype, \"schema\", {\n get: function () {\n return {\n attrs: __assign$1({ rawHTML: { default: null } }, getDefaultCustomAttrs()),\n parseDOM: [\n {\n tag: 'code',\n getAttrs: function (dom) {\n var rawHTML = dom.getAttribute('data-raw-html');\n return __assign$1({}, (rawHTML && { rawHTML: rawHTML }));\n },\n },\n ],\n toDOM: function (_a) {\n var attrs = _a.attrs;\n return [attrs.rawHTML || 'code', getCustomAttrs(attrs)];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n Code.prototype.commands = function () {\n return function () { return function (state, dispatch) { return Object(prosemirror_commands__WEBPACK_IMPORTED_MODULE_5__[\"toggleMark\"])(state.schema.marks.code)(state, dispatch); }; };\n };\n Code.prototype.keymaps = function () {\n var codeCommand = this.commands()();\n return {\n 'Shift-Mod-c': codeCommand,\n 'Shift-Mod-C': codeCommand,\n };\n };\n return Code;\n}(Mark));\n\nvar CustomBlock = /** @class */ (function (_super) {\n __extends$1(CustomBlock, _super);\n function CustomBlock() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(CustomBlock.prototype, \"name\", {\n get: function () {\n return 'customBlock';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(CustomBlock.prototype, \"schema\", {\n get: function () {\n return {\n content: 'text*',\n group: 'block',\n attrs: {\n info: { default: null },\n },\n atom: true,\n code: true,\n defining: true,\n parseDOM: [\n {\n tag: 'div[data-custom-info]',\n getAttrs: function (dom) {\n var info = dom.getAttribute('data-custom-info');\n return { info: info };\n },\n },\n ],\n toDOM: function (_a) {\n var attrs = _a.attrs;\n return ['div', { 'data-custom-info': attrs.info || null }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n CustomBlock.prototype.commands = function () {\n return function (payload) { return function (state, dispatch) {\n return (payload === null || payload === void 0 ? void 0 : payload.info)\n ? Object(prosemirror_commands__WEBPACK_IMPORTED_MODULE_5__[\"setBlockType\"])(state.schema.nodes.customBlock, payload)(state, dispatch)\n : false;\n }; };\n };\n return CustomBlock;\n}(Node$2));\n\nvar FrontMatter = /** @class */ (function (_super) {\n __extends$1(FrontMatter, _super);\n function FrontMatter() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(FrontMatter.prototype, \"name\", {\n get: function () {\n return 'frontMatter';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(FrontMatter.prototype, \"schema\", {\n get: function () {\n return {\n content: 'text*',\n group: 'block',\n code: true,\n defining: true,\n parseDOM: [\n {\n preserveWhitespace: 'full',\n tag: 'div[data-front-matter]',\n },\n ],\n toDOM: function () {\n return ['div', { 'data-front-matter': 'true' }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n FrontMatter.prototype.commands = function () {\n return function () { return function (state, dispatch, view) {\n var $from = state.selection.$from;\n if (view.endOfTextblock('down') && $from.node().type.name === 'frontMatter') {\n return Object(prosemirror_commands__WEBPACK_IMPORTED_MODULE_5__[\"exitCode\"])(state, dispatch);\n }\n return false;\n }; };\n };\n FrontMatter.prototype.keymaps = function () {\n return {\n Enter: this.commands()(),\n };\n };\n return FrontMatter;\n}(Node$2));\n\nvar HTMLComment = /** @class */ (function (_super) {\n __extends$1(HTMLComment, _super);\n function HTMLComment() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Object.defineProperty(HTMLComment.prototype, \"name\", {\n get: function () {\n return 'htmlComment';\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(HTMLComment.prototype, \"schema\", {\n get: function () {\n return {\n content: 'text*',\n group: 'block',\n code: true,\n defining: true,\n parseDOM: [{ preserveWhitespace: 'full', tag: 'div[data-html-comment]' }],\n toDOM: function () {\n return ['div', { 'data-html-comment': 'true' }, 0];\n },\n };\n },\n enumerable: false,\n configurable: true\n });\n HTMLComment.prototype.commands = function () {\n return function () { return function (state, dispatch, view) {\n var $from = state.selection.$from;\n if (view.endOfTextblock('down') && $from.node().type.name === 'htmlComment') {\n return Object(prosemirror_commands__WEBPACK_IMPORTED_MODULE_5__[\"exitCode\"])(state, dispatch);\n }\n return false;\n }; };\n };\n HTMLComment.prototype.keymaps = function () {\n return {\n Enter: this.commands()(),\n };\n };\n return HTMLComment;\n}(Node$2));\n\nfunction createSpecs(linkAttributes) {\n return new SpecManager([\n new Doc(),\n new Paragraph(),\n new Text(),\n new Heading(),\n new CodeBlock(),\n new BulletList(),\n new OrderedList(),\n new ListItem(),\n new BlockQuote(),\n new Table(),\n new TableHead(),\n new TableBody(),\n new TableRow(),\n new TableHeadCell(),\n new TableBodyCell(),\n new Image(),\n new ThematicBreak(),\n new Strong(),\n new Emph(),\n new Strike(),\n new Link(linkAttributes),\n new Code(),\n new CustomBlock(),\n new FrontMatter(),\n new Widget(),\n new HTMLComment(),\n ]);\n}\n\nvar CONTENTS_CLASS_NAME = cls('contents');\nvar WysiwygEditor = /** @class */ (function (_super) {\n __extends$1(WysiwygEditor, _super);\n function WysiwygEditor(eventEmitter, options) {\n var _this = _super.call(this, eventEmitter) || this;\n var toDOMAdaptor = options.toDOMAdaptor, _a = options.htmlSchemaMap, htmlSchemaMap = _a === void 0 ? {} : _a, _b = options.linkAttributes, linkAttributes = _b === void 0 ? {} : _b, _c = options.useCommandShortcut, useCommandShortcut = _c === void 0 ? true : _c, _d = options.wwPlugins, wwPlugins = _d === void 0 ? [] : _d, _e = options.wwNodeViews, wwNodeViews = _e === void 0 ? {} : _e;\n _this.editorType = 'wysiwyg';\n _this.el.classList.add('ww-mode');\n _this.toDOMAdaptor = toDOMAdaptor;\n _this.linkAttributes = linkAttributes;\n _this.extraPlugins = wwPlugins;\n _this.pluginNodeViews = wwNodeViews;\n _this.specs = _this.createSpecs();\n _this.schema = _this.createSchema(htmlSchemaMap);\n _this.context = _this.createContext();\n _this.keymaps = _this.createKeymaps(useCommandShortcut);\n _this.view = _this.createView();\n _this.commands = _this.createCommands();\n _this.specs.setContext(__assign$1(__assign$1({}, _this.context), { view: _this.view }));\n _this.initEvent();\n return _this;\n }\n WysiwygEditor.prototype.createSpecs = function () {\n return createSpecs(this.linkAttributes);\n };\n WysiwygEditor.prototype.createContext = function () {\n return {\n schema: this.schema,\n eventEmitter: this.eventEmitter,\n };\n };\n WysiwygEditor.prototype.createSchema = function (htmlSchemaMap) {\n return new prosemirror_model__WEBPACK_IMPORTED_MODULE_0__[\"Schema\"]({\n nodes: __assign$1(__assign$1({}, this.specs.nodes), htmlSchemaMap.nodes),\n marks: __assign$1(__assign$1({}, this.specs.marks), htmlSchemaMap.marks),\n });\n };\n WysiwygEditor.prototype.createPlugins = function () {\n return __spreadArray$1([\n tableSelection(),\n tableContextMenu(this.eventEmitter),\n task(),\n toolbarStateHighlight(this.eventEmitter)\n ], this.createPluginProps()).concat(this.defaultPlugins);\n };\n WysiwygEditor.prototype.createPluginNodeViews = function () {\n var _a = this, eventEmitter = _a.eventEmitter, pluginNodeViews = _a.pluginNodeViews;\n var pluginNodeViewMap = {};\n if (pluginNodeViews) {\n Object.keys(pluginNodeViews).forEach(function (key) {\n pluginNodeViewMap[key] = function (node, view, getPos) {\n return pluginNodeViews[key](node, view, getPos, eventEmitter);\n };\n });\n }\n return pluginNodeViewMap;\n };\n WysiwygEditor.prototype.createView = function () {\n var _this = this;\n var _a = this, toDOMAdaptor = _a.toDOMAdaptor, eventEmitter = _a.eventEmitter;\n return new prosemirror_view__WEBPACK_IMPORTED_MODULE_1__[\"EditorView\"](this.el, {\n state: this.createState(),\n attributes: {\n class: CONTENTS_CLASS_NAME,\n },\n nodeViews: __assign$1({ customBlock: function (node, view, getPos) {\n return new CustomBlockView(node, view, getPos, toDOMAdaptor);\n },\n image: function (node, view, getPos) {\n return new ImageView(node, view, getPos, eventEmitter);\n },\n codeBlock: function (node, view, getPos) {\n return new CodeBlockView(node, view, getPos, eventEmitter);\n }, widget: widgetNodeView }, this.createPluginNodeViews()),\n dispatchTransaction: function (tr) {\n var state = _this.view.state.applyTransaction(tr).state;\n _this.view.updateState(state);\n _this.emitChangeEvent(tr.scrollIntoView());\n _this.eventEmitter.emit('setFocusedNode', state.selection.$from.node(1));\n },\n transformPastedHTML: changePastedHTML,\n transformPasted: function (slice) {\n return changePastedSlice(slice, _this.schema, isInTableNode(_this.view.state.selection.$from));\n },\n handlePaste: function (view, _, slice) { return pasteToTable(view, slice); },\n handleKeyDown: function (_, ev) {\n _this.eventEmitter.emit('keydown', _this.editorType, ev);\n return false;\n },\n handleDOMEvents: {\n paste: function (_, ev) {\n var clipboardData = ev.clipboardData || window.clipboardData;\n var items = clipboardData === null || clipboardData === void 0 ? void 0 : clipboardData.items;\n if (items) {\n var containRtfItem = toArray_1(items).some(function (item) { return item.kind === 'string' && item.type === 'text/rtf'; });\n // if it contains rtf, it's most likely copy paste from office -> no image\n if (!containRtfItem) {\n var imageBlob = pasteImageOnly(items);\n if (imageBlob) {\n ev.preventDefault();\n emitImageBlobHook(_this.eventEmitter, imageBlob, ev.type);\n }\n }\n }\n return false;\n },\n keyup: function (_, ev) {\n _this.eventEmitter.emit('keyup', _this.editorType, ev);\n return false;\n },\n scroll: function () {\n _this.eventEmitter.emit('scroll', 'editor');\n return true;\n },\n },\n });\n };\n WysiwygEditor.prototype.createCommands = function () {\n return this.specs.commands(this.view, getWwCommands());\n };\n WysiwygEditor.prototype.getHTML = function () {\n return removeProseMirrorHackNodes(this.view.dom.innerHTML);\n };\n WysiwygEditor.prototype.getModel = function () {\n return this.view.state.doc;\n };\n WysiwygEditor.prototype.getSelection = function () {\n var _a = this.view.state.selection, from = _a.from, to = _a.to;\n return [from, to];\n };\n WysiwygEditor.prototype.getSchema = function () {\n return this.view.state.schema;\n };\n WysiwygEditor.prototype.replaceSelection = function (text, start, end) {\n var _a = this.view.state, schema = _a.schema, tr = _a.tr;\n var lineTexts = text.split('\\n');\n var paras = lineTexts.map(function (lineText) {\n return createParagraph(schema, createNodesWithWidget(lineText, schema));\n });\n var slice = new prosemirror_model__WEBPACK_IMPORTED_MODULE_0__[\"Slice\"](prosemirror_model__WEBPACK_IMPORTED_MODULE_0__[\"Fragment\"].from(paras), 1, 1);\n var newTr = isNumber_1(start) && isNumber_1(end)\n ? tr.replaceRange(start, end, slice)\n : tr.replaceSelection(slice);\n this.view.dispatch(newTr);\n this.focus();\n };\n WysiwygEditor.prototype.deleteSelection = function (start, end) {\n var tr = this.view.state.tr;\n var newTr = isNumber_1(start) && isNumber_1(end) ? tr.deleteRange(start, end) : tr.deleteSelection();\n this.view.dispatch(newTr.scrollIntoView());\n };\n WysiwygEditor.prototype.getSelectedText = function (start, end) {\n var _a = this.view.state, doc = _a.doc, selection = _a.selection;\n var from = selection.from, to = selection.to;\n if (isNumber_1(start) && isNumber_1(end)) {\n from = start;\n to = end;\n }\n return doc.textBetween(from, to, '\\n');\n };\n WysiwygEditor.prototype.setModel = function (newDoc, cursorToEnd) {\n if (cursorToEnd === void 0) { cursorToEnd = false; }\n var _a = this.view.state, tr = _a.tr, doc = _a.doc;\n this.view.dispatch(tr.replaceWith(0, doc.content.size, newDoc));\n if (cursorToEnd) {\n this.moveCursorToEnd(true);\n }\n };\n WysiwygEditor.prototype.setSelection = function (start, end) {\n if (end === void 0) { end = start; }\n var tr = this.view.state.tr;\n var selection = createTextSelection(tr, start, end);\n this.view.dispatch(tr.setSelection(selection).scrollIntoView());\n };\n WysiwygEditor.prototype.addWidget = function (node, style, pos) {\n var _a = this.view, dispatch = _a.dispatch, state = _a.state;\n dispatch(state.tr.setMeta('widget', { pos: pos !== null && pos !== void 0 ? pos : state.selection.to, node: node, style: style }));\n };\n WysiwygEditor.prototype.replaceWithWidget = function (start, end, text) {\n var _a = this.view.state, tr = _a.tr, schema = _a.schema;\n var nodes = createNodesWithWidget(text, schema);\n this.view.dispatch(tr.replaceWith(start, end, nodes));\n };\n WysiwygEditor.prototype.getRangeInfoOfNode = function (pos) {\n var _a = this.view.state, doc = _a.doc, selection = _a.selection;\n var $pos = pos ? doc.resolve(pos) : selection.$from;\n var marks = $pos.marks();\n var node = $pos.node();\n var start = $pos.start();\n var end = $pos.end();\n var type = node.type.name;\n if (marks.length || type === 'paragraph') {\n var mark_1 = marks[marks.length - 1];\n var maybeHasMark_1 = function (nodeMarks) {\n return nodeMarks.length ? includes(nodeMarks, mark_1) : true;\n };\n type = mark_1 ? mark_1.type.name : 'text';\n node.forEach(function (child, offset) {\n var isText = child.isText, nodeSize = child.nodeSize, nodeMarks = child.marks;\n var startOffset = $pos.pos - start;\n if (isText &&\n offset <= startOffset &&\n offset + nodeSize >= startOffset &&\n maybeHasMark_1(nodeMarks)) {\n start = start + offset;\n end = start + nodeSize;\n }\n });\n }\n return { range: [start, end], type: type };\n };\n return WysiwygEditor;\n}(EditorBase));\n\n/**\n * @fileoverview Check whether the given variable is existing or not.\n * @author NHN FE Development Lab \n */\n\nvar isUndefined = isUndefined_1;\nvar isNull = isNull_1;\n\n/**\n * Check whether the given variable is existing or not.\n * If the given variable is not null and not undefined, returns true.\n * @param {*} param - Target for checking\n * @returns {boolean} Is existy?\n * @memberof module:type\n * @example\n * // ES6\n * import isExisty from 'tui-code-snippet/type/isExisty');\n * \n * // CommonJS\n * const isExisty = require('tui-code-snippet/type/isExisty');\n *\n * isExisty(''); //true\n * isExisty(0); //true\n * isExisty([]); //true\n * isExisty({}); //true\n * isExisty(null); //false\n * isExisty(undefined); //false\n*/\nfunction isExisty$1(param) {\n return !isUndefined(param) && !isNull(param);\n}\n\nvar isExisty_1 = isExisty$1;\n\n/**\n * @fileoverview Check whether the given variable is truthy or not.\n * @author NHN FE Development Lab \n */\n\nvar isExisty = isExisty_1;\n\n/**\n * Check whether the given variable is truthy or not.\n * If the given variable is not null or not undefined or not false, returns true.\n * (It regards 0 as true)\n * @param {*} obj - Target for checking\n * @returns {boolean} Is truthy?\n * @memberof module:type\n */\nfunction isTruthy$1(obj) {\n return isExisty(obj) && obj !== false;\n}\n\nvar isTruthy_1 = isTruthy$1;\n\n/**\n * @fileoverview Check whether the given variable is falsy or not.\n * @author NHN FE Development Lab \n */\n\nvar isTruthy = isTruthy_1;\n\n/**\n * Check whether the given variable is falsy or not.\n * If the given variable is null or undefined or false, returns true.\n * @param {*} obj - Target for checking\n * @returns {boolean} Is falsy?\n * @memberof module:type\n */\nfunction isFalsy(obj) {\n return !isTruthy(obj);\n}\n\nvar isFalsy_1 = isFalsy;\n\nvar eventTypeList = [\n 'afterPreviewRender',\n 'updatePreview',\n 'changeMode',\n 'needChangeMode',\n 'command',\n 'changePreviewStyle',\n 'changePreviewTabPreview',\n 'changePreviewTabWrite',\n 'scroll',\n 'contextmenu',\n 'show',\n 'hide',\n 'changeLanguage',\n 'changeToolbarState',\n 'toggleScrollSync',\n 'mixinTableOffsetMapPrototype',\n 'setFocusedNode',\n 'removePopupWidget',\n 'query',\n // provide event for user\n 'openPopup',\n 'closePopup',\n 'addImageBlobHook',\n 'beforePreviewRender',\n 'beforeConvertWysiwygToMarkdown',\n 'load',\n 'loadUI',\n 'change',\n 'caretChange',\n 'destroy',\n 'focus',\n 'blur',\n 'keydown',\n 'keyup',\n];\n/**\n * Class EventEmitter\n * @ignore\n */\nvar EventEmitter = /** @class */ (function () {\n function EventEmitter() {\n var _this = this;\n this.events = new Map$1();\n this.eventTypes = eventTypeList.reduce(function (types, type) {\n return __assign$1(__assign$1({}, types), { type: type });\n }, {});\n this.hold = false;\n eventTypeList.forEach(function (eventType) {\n _this.addEventType(eventType);\n });\n }\n /**\n * Listen event and bind event handler\n * @param {string} type Event type string\n * @param {function} handler Event handler\n */\n EventEmitter.prototype.listen = function (type, handler) {\n var typeInfo = this.getTypeInfo(type);\n var eventHandlers = this.events.get(typeInfo.type) || [];\n if (!this.hasEventType(typeInfo.type)) {\n throw new Error(\"There is no event type \" + typeInfo.type);\n }\n if (typeInfo.namespace) {\n handler.namespace = typeInfo.namespace;\n }\n eventHandlers.push(handler);\n this.events.set(typeInfo.type, eventHandlers);\n };\n /**\n * Emit event\n * @param {string} eventName Event name to emit\n * @returns {Array}\n */\n EventEmitter.prototype.emit = function (type) {\n var args = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n args[_i - 1] = arguments[_i];\n }\n var typeInfo = this.getTypeInfo(type);\n var eventHandlers = this.events.get(typeInfo.type);\n var results = [];\n if (!this.hold && eventHandlers) {\n eventHandlers.forEach(function (handler) {\n var result = handler.apply(void 0, args);\n if (!isUndefined_1(result)) {\n results.push(result);\n }\n });\n }\n return results;\n };\n /**\n * Emit given event and return result\n * @param {string} eventName Event name to emit\n * @param {any} source Source to change\n * @returns {string}\n */\n EventEmitter.prototype.emitReduce = function (type, source) {\n var args = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n args[_i - 2] = arguments[_i];\n }\n var eventHandlers = this.events.get(type);\n if (!this.hold && eventHandlers) {\n eventHandlers.forEach(function (handler) {\n var result = handler.apply(void 0, __spreadArray$1([source], args));\n if (!isFalsy_1(result)) {\n source = result;\n }\n });\n }\n return source;\n };\n /**\n * Get event type and namespace\n * @param {string} type Event type name\n * @returns {{type: string, namespace: string}}\n * @private\n */\n EventEmitter.prototype.getTypeInfo = function (type) {\n var splited = type.split('.');\n return {\n type: splited[0],\n namespace: splited[1],\n };\n };\n /**\n * Check whether event type exists or not\n * @param {string} type Event type name\n * @returns {boolean}\n * @private\n */\n EventEmitter.prototype.hasEventType = function (type) {\n return !isUndefined_1(this.eventTypes[this.getTypeInfo(type).type]);\n };\n /**\n * Add event type when given event not exists\n * @param {string} type Event type name\n */\n EventEmitter.prototype.addEventType = function (type) {\n if (this.hasEventType(type)) {\n throw new Error(\"There is already have event type \" + type);\n }\n this.eventTypes[type] = type;\n };\n /**\n * Remove event handler from given event type\n * @param {string} eventType Event type name\n * @param {function} [handler] - registered event handler\n */\n EventEmitter.prototype.removeEventHandler = function (eventType, handler) {\n var _this = this;\n var _a = this.getTypeInfo(eventType), type = _a.type, namespace = _a.namespace;\n if (type && handler) {\n this.removeEventHandlerWithHandler(type, handler);\n }\n else if (type && !namespace) {\n this.events.delete(type);\n }\n else if (!type && namespace) {\n this.events.forEach(function (_, evtType) {\n _this.removeEventHandlerWithTypeInfo(evtType, namespace);\n });\n }\n else if (type && namespace) {\n this.removeEventHandlerWithTypeInfo(type, namespace);\n }\n };\n /**\n * Remove event handler with event handler\n * @param {string} type - event type name\n * @param {function} handler - event handler\n * @private\n */\n EventEmitter.prototype.removeEventHandlerWithHandler = function (type, handler) {\n var eventHandlers = this.events.get(type);\n if (eventHandlers) {\n var handlerIndex = eventHandlers.indexOf(handler);\n if (eventHandlers.indexOf(handler) >= 0) {\n eventHandlers.splice(handlerIndex, 1);\n }\n }\n };\n /**\n * Remove event handler with event type information\n * @param {string} type Event type name\n * @param {string} namespace Event namespace\n * @private\n */\n EventEmitter.prototype.removeEventHandlerWithTypeInfo = function (type, namespace) {\n var handlersToSurvive = [];\n var eventHandlers = this.events.get(type);\n if (!eventHandlers) {\n return;\n }\n eventHandlers.map(function (handler) {\n if (handler.namespace !== namespace) {\n handlersToSurvive.push(handler);\n }\n return null;\n });\n this.events.set(type, handlersToSurvive);\n };\n EventEmitter.prototype.getEvents = function () {\n return this.events;\n };\n EventEmitter.prototype.holdEventInvoke = function (fn) {\n this.hold = true;\n fn();\n this.hold = false;\n };\n return EventEmitter;\n}());\n\nvar CommandManager = /** @class */ (function () {\n function CommandManager(eventEmitter, mdCommands, wwCommands, getEditorType) {\n this.eventEmitter = eventEmitter;\n this.mdCommands = mdCommands;\n this.wwCommands = wwCommands;\n this.getEditorType = getEditorType;\n this.initEvent();\n }\n CommandManager.prototype.initEvent = function () {\n var _this = this;\n this.eventEmitter.listen('command', function (command, payload) {\n _this.exec(command, payload);\n });\n };\n CommandManager.prototype.addCommand = function (type, name, command) {\n if (type === 'markdown') {\n this.mdCommands[name] = command;\n }\n else {\n this.wwCommands[name] = command;\n }\n };\n CommandManager.prototype.deleteCommand = function (type, name) {\n if (type === 'markdown') {\n delete this.mdCommands[name];\n }\n else {\n delete this.wwCommands[name];\n }\n };\n CommandManager.prototype.exec = function (name, payload) {\n var type = this.getEditorType();\n if (type === 'markdown') {\n this.mdCommands[name](payload);\n }\n else {\n this.wwCommands[name](payload);\n }\n };\n return CommandManager;\n}());\n\nfunction getTextWithoutTrailingNewline(text) {\n return text[text.length - 1] === '\\n' ? text.slice(0, text.length - 1) : text;\n}\nfunction isCustomHTMLInlineNode(_a, node) {\n var schema = _a.schema;\n var html = node.literal;\n var matched = html.match(reHTMLTag);\n if (matched) {\n var openTagName = matched[1], closeTagName = matched[3];\n var typeName = (openTagName || closeTagName).toLowerCase();\n return node.type === 'htmlInline' && !!(schema.marks[typeName] || schema.nodes[typeName]);\n }\n return false;\n}\nfunction isInlineNode(_a) {\n var type = _a.type;\n return includes(['text', 'strong', 'emph', 'strike', 'image', 'link', 'code'], type);\n}\nfunction isSoftbreak(mdNode) {\n return (mdNode === null || mdNode === void 0 ? void 0 : mdNode.type) === 'softbreak';\n}\nfunction isListNode(_a) {\n var type = _a.type, literal = _a.literal;\n var matched = type === 'htmlInline' && literal.match(reHTMLTag);\n if (matched) {\n var openTagName = matched[1], closeTagName = matched[3];\n var tagName = openTagName || closeTagName;\n if (tagName) {\n return includes(['ul', 'ol', 'li'], tagName.toLowerCase());\n }\n }\n return false;\n}\nfunction getListItemAttrs(_a) {\n var literal = _a.literal;\n var task = /data-task/.test(literal);\n var checked = /data-task-checked/.test(literal);\n return { task: task, checked: checked };\n}\nfunction getMatchedAttributeValue(rawHTML) {\n var attrNames = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n attrNames[_i - 1] = arguments[_i];\n }\n var wrapper = document.createElement('div');\n wrapper.innerHTML = sanitizeHTML(rawHTML);\n var el = wrapper.firstChild;\n return attrNames.map(function (attrName) { return el.getAttribute(attrName) || ''; });\n}\nfunction createConvertors(convertors) {\n var convertorMap = {};\n Object.keys(convertors).forEach(function (key) {\n var tagNames = key.split(', ');\n tagNames.forEach(function (tagName) {\n var name = tagName.toLowerCase();\n convertorMap[name] = convertors[key];\n });\n });\n return convertorMap;\n}\nvar convertors = {\n 'b, strong': function (state, _, openTagName) {\n var strong = state.schema.marks.strong;\n if (openTagName) {\n state.openMark(strong.create({ rawHTML: openTagName }));\n }\n else {\n state.closeMark(strong);\n }\n },\n 'i, em': function (state, _, openTagName) {\n var emph = state.schema.marks.emph;\n if (openTagName) {\n state.openMark(emph.create({ rawHTML: openTagName }));\n }\n else {\n state.closeMark(emph);\n }\n },\n 's, del': function (state, _, openTagName) {\n var strike = state.schema.marks.strike;\n if (openTagName) {\n state.openMark(strike.create({ rawHTML: openTagName }));\n }\n else {\n state.closeMark(strike);\n }\n },\n code: function (state, _, openTagName) {\n var code = state.schema.marks.code;\n if (openTagName) {\n state.openMark(code.create({ rawHTML: openTagName }));\n }\n else {\n state.closeMark(code);\n }\n },\n a: function (state, node, openTagName) {\n var tag = node.literal;\n var link = state.schema.marks.link;\n if (openTagName) {\n var linkUrl = getMatchedAttributeValue(tag, 'href')[0];\n state.openMark(link.create({\n linkUrl: linkUrl,\n rawHTML: openTagName,\n }));\n }\n else {\n state.closeMark(link);\n }\n },\n img: function (state, node, openTagName) {\n var tag = node.literal;\n if (openTagName) {\n var _a = getMatchedAttributeValue(tag, 'src', 'alt'), imageUrl = _a[0], altText = _a[1];\n var image = state.schema.nodes.image;\n state.addNode(image, __assign$1({ rawHTML: openTagName, imageUrl: imageUrl }, (altText && { altText: altText })));\n }\n },\n hr: function (state, _, openTagName) {\n state.addNode(state.schema.nodes.thematicBreak, { rawHTML: openTagName });\n },\n br: function (state, node) {\n var paragraph = state.schema.nodes.paragraph;\n var parent = node.parent, prev = node.prev, next = node.next;\n if ((parent === null || parent === void 0 ? void 0 : parent.type) === 'paragraph') {\n // should open a paragraph node when line text has only
tag\n // ex) first line\\n\\n
\\nfourth line\n if (isSoftbreak(prev)) {\n state.openNode(paragraph);\n }\n // should close a paragraph node when line text has only
tag\n // ex) first line\\n\\n
\\nfourth line\n if (isSoftbreak(next)) {\n state.closeNode();\n // should close a paragraph node and open a paragraph node to separate between blocks\n // when
tag is in the middle of the paragraph\n // ex) first
line\\nthird line\n }\n else if (next) {\n state.closeNode();\n state.openNode(paragraph);\n }\n }\n else if ((parent === null || parent === void 0 ? void 0 : parent.type) === 'tableCell') {\n if (prev && (isInlineNode(prev) || isCustomHTMLInlineNode(state, prev))) {\n state.closeNode();\n }\n if (next && (isInlineNode(next) || isCustomHTMLInlineNode(state, next))) {\n state.openNode(paragraph);\n }\n }\n },\n pre: function (state, node, openTagName) {\n var _a, _b;\n var container = document.createElement('div');\n container.innerHTML = node.literal;\n var literal = (_b = (_a = container.firstChild) === null || _a === void 0 ? void 0 : _a.firstChild) === null || _b === void 0 ? void 0 : _b.textContent;\n state.openNode(state.schema.nodes.codeBlock, { rawHTML: openTagName });\n state.addText(getTextWithoutTrailingNewline(literal));\n state.closeNode();\n },\n 'ul, ol': function (state, node, openTagName) {\n // in the table cell, '', '' is parsed as 'htmlInline' node\n if (node.parent.type === 'tableCell') {\n var _a = state.schema.nodes, bulletList = _a.bulletList, orderedList = _a.orderedList, paragraph = _a.paragraph;\n var list = openTagName === 'ul' ? bulletList : orderedList;\n if (openTagName) {\n if (node.prev && !isListNode(node.prev)) {\n state.closeNode();\n }\n state.openNode(list, { rawHTML: openTagName });\n }\n else {\n state.closeNode();\n if (node.next && !isListNode(node.next)) {\n state.openNode(paragraph);\n }\n }\n }\n },\n li: function (state, node, openTagName) {\n var _a;\n // in the table cell, '- ' is parsed as 'htmlInline' node\n if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.type) === 'tableCell') {\n var _b = state.schema.nodes, listItem = _b.listItem, paragraph = _b.paragraph;\n if (openTagName) {\n var attrs = getListItemAttrs(node);\n if (node.prev && !isListNode(node.prev)) {\n state.closeNode();\n }\n state.openNode(listItem, __assign$1({ rawHTML: openTagName }, attrs));\n if (node.next && !isListNode(node.next)) {\n state.openNode(paragraph);\n }\n }\n else {\n if (node.prev && !isListNode(node.prev)) {\n state.closeNode();\n }\n state.closeNode();\n }\n }\n },\n};\nvar htmlToWwConvertors = createConvertors(convertors);\n\nfunction isBRTag(node) {\n return node.type === 'htmlInline' && reBR.test(node.literal);\n}\nfunction addRawHTMLAttributeToDOM(parent) {\n toArray_1(parent.childNodes).forEach(function (child) {\n if (isElemNode(child)) {\n var openTagName = child.nodeName.toLowerCase();\n child.setAttribute('data-raw-html', openTagName);\n if (child.childNodes) {\n addRawHTMLAttributeToDOM(child);\n }\n }\n });\n}\nvar toWwConvertors = {\n text: function (state, node) {\n state.addText(node.literal || '');\n },\n paragraph: function (state, node, _a, customAttrs) {\n var _b;\n var entering = _a.entering;\n if (entering) {\n var paragraph = state.schema.nodes.paragraph;\n // The `\\n\\n` entered in markdown separates the paragraph.\n // When changing to wysiwyg, a newline is added between the two paragraphs.\n if (((_b = node.prev) === null || _b === void 0 ? void 0 : _b.type) === 'paragraph') {\n state.openNode(paragraph, customAttrs);\n state.closeNode();\n }\n state.openNode(paragraph, customAttrs);\n }\n else {\n state.closeNode();\n }\n },\n heading: function (state, node, _a, customAttrs) {\n var entering = _a.entering;\n if (entering) {\n var _b = node, level = _b.level, headingType = _b.headingType;\n state.openNode(state.schema.nodes.heading, __assign$1({ level: level, headingType: headingType }, customAttrs));\n }\n else {\n state.closeNode();\n }\n },\n codeBlock: function (state, node, customAttrs) {\n var codeBlock = state.schema.nodes.codeBlock;\n var _a = node, info = _a.info, literal = _a.literal;\n state.openNode(codeBlock, __assign$1({ language: info }, customAttrs));\n state.addText(getTextWithoutTrailingNewline(literal || ''));\n state.closeNode();\n },\n list: function (state, node, _a, customAttrs) {\n var entering = _a.entering;\n if (entering) {\n var _b = state.schema.nodes, bulletList = _b.bulletList, orderedList = _b.orderedList;\n var _c = node.listData, type = _c.type, start = _c.start;\n if (type === 'bullet') {\n state.openNode(bulletList, customAttrs);\n }\n else {\n state.openNode(orderedList, __assign$1({ order: start }, customAttrs));\n }\n }\n else {\n state.closeNode();\n }\n },\n item: function (state, node, _a, customAttrs) {\n var entering = _a.entering;\n var listItem = state.schema.nodes.listItem;\n var _b = node.listData, task = _b.task, checked = _b.checked;\n if (entering) {\n var attrs = __assign$1(__assign$1(__assign$1({}, (task && { task: task })), (checked && { checked: checked })), customAttrs);\n state.openNode(listItem, attrs);\n }\n else {\n state.closeNode();\n }\n },\n blockQuote: function (state, _, _a, customAttrs) {\n var entering = _a.entering;\n if (entering) {\n state.openNode(state.schema.nodes.blockQuote, customAttrs);\n }\n else {\n state.closeNode();\n }\n },\n image: function (state, node, _a, customAttrs) {\n var entering = _a.entering, skipChildren = _a.skipChildren;\n var image = state.schema.nodes.image;\n var _b = node, destination = _b.destination, firstChild = _b.firstChild;\n if (entering && skipChildren) {\n skipChildren();\n }\n state.addNode(image, __assign$1(__assign$1({ imageUrl: destination }, (firstChild && { altText: firstChild.literal })), customAttrs));\n },\n thematicBreak: function (state, node, _, customAttrs) {\n state.addNode(state.schema.nodes.thematicBreak, customAttrs);\n },\n strong: function (state, _, _a, customAttrs) {\n var entering = _a.entering;\n var strong = state.schema.marks.strong;\n if (entering) {\n state.openMark(strong.create(customAttrs));\n }\n else {\n state.closeMark(strong);\n }\n },\n emph: function (state, _, _a, customAttrs) {\n var entering = _a.entering;\n var emph = state.schema.marks.emph;\n if (entering) {\n state.openMark(emph.create(customAttrs));\n }\n else {\n state.closeMark(emph);\n }\n },\n link: function (state, node, _a, customAttrs) {\n var entering = _a.entering;\n var link = state.schema.marks.link;\n var _b = node, destination = _b.destination, title = _b.title;\n if (entering) {\n var attrs = __assign$1({ linkUrl: destination, title: title }, customAttrs);\n state.openMark(link.create(attrs));\n }\n else {\n state.closeMark(link);\n }\n },\n softbreak: function (state, node) {\n if (node.parent.type === 'paragraph') {\n var prev = node.prev, next = node.next;\n if (prev && !isBRTag(prev)) {\n state.closeNode();\n }\n if (next && !isBRTag(next)) {\n state.openNode(state.schema.nodes.paragraph);\n }\n }\n },\n // GFM specifications node\n table: function (state, _, _a, customAttrs) {\n var entering = _a.entering;\n if (entering) {\n state.openNode(state.schema.nodes.table, customAttrs);\n }\n else {\n state.closeNode();\n }\n },\n tableHead: function (state, _, _a, customAttrs) {\n var entering = _a.entering;\n if (entering) {\n state.openNode(state.schema.nodes.tableHead, customAttrs);\n }\n else {\n state.closeNode();\n }\n },\n tableBody: function (state, _, _a, customAttrs) {\n var entering = _a.entering;\n if (entering) {\n state.openNode(state.schema.nodes.tableBody, customAttrs);\n }\n else {\n state.closeNode();\n }\n },\n tableRow: function (state, _, _a, customAttrs) {\n var entering = _a.entering;\n if (entering) {\n state.openNode(state.schema.nodes.tableRow, customAttrs);\n }\n else {\n state.closeNode();\n }\n },\n tableCell: function (state, node, _a) {\n var entering = _a.entering;\n if (!node.ignored) {\n var hasParaNode = function (childNode) {\n return childNode && (isInlineNode(childNode) || isCustomHTMLInlineNode(state, childNode));\n };\n if (entering) {\n var _b = state.schema.nodes, tableHeadCell = _b.tableHeadCell, tableBodyCell = _b.tableBodyCell, paragraph = _b.paragraph;\n var tablePart = node.parent.parent;\n var cell = tablePart.type === 'tableHead' ? tableHeadCell : tableBodyCell;\n var table = tablePart.parent;\n var align = (table.columns[node.startIdx] || {}).align;\n var attrs = __assign$1({}, node.attrs);\n if (align) {\n attrs.align = align;\n }\n state.openNode(cell, attrs);\n if (hasParaNode(node.firstChild)) {\n state.openNode(paragraph);\n }\n }\n else {\n if (hasParaNode(node.lastChild)) {\n state.closeNode();\n }\n state.closeNode();\n }\n }\n },\n strike: function (state, _, _a, customAttrs) {\n var entering = _a.entering;\n var strike = state.schema.marks.strike;\n if (entering) {\n state.openMark(strike.create(customAttrs));\n }\n else {\n state.closeMark(strike);\n }\n },\n code: function (state, node, _, customAttrs) {\n var code = state.schema.marks.code;\n state.openMark(code.create(customAttrs));\n state.addText(getTextWithoutTrailingNewline(node.literal || ''));\n state.closeMark(code);\n },\n customBlock: function (state, node) {\n var _a = state.schema.nodes, customBlock = _a.customBlock, paragraph = _a.paragraph;\n var _b = node, info = _b.info, literal = _b.literal;\n state.openNode(customBlock, { info: info });\n state.addText(getTextWithoutTrailingNewline(literal || ''));\n state.closeNode();\n // add empty line to edit the content in next line\n if (!node.next) {\n state.openNode(paragraph);\n state.closeNode();\n }\n },\n frontMatter: function (state, node) {\n state.openNode(state.schema.nodes.frontMatter);\n state.addText(node.literal);\n state.closeNode();\n },\n htmlInline: function (state, node) {\n var html = node.literal;\n var matched = html.match(reHTMLTag);\n var openTagName = matched[1], closeTagName = matched[3];\n var typeName = (openTagName || closeTagName).toLowerCase();\n var markType = state.schema.marks[typeName];\n var sanitizedHTML = sanitizeHTML(html);\n // for user defined html schema\n if (markType === null || markType === void 0 ? void 0 : markType.spec.attrs.htmlInline) {\n if (openTagName) {\n var htmlAttrs = getHTMLAttrsByHTMLString(sanitizedHTML);\n state.openMark(markType.create({ htmlAttrs: htmlAttrs }));\n }\n else {\n state.closeMark(markType);\n }\n }\n else {\n var htmlToWwConvertor = htmlToWwConvertors[typeName];\n if (htmlToWwConvertor) {\n htmlToWwConvertor(state, node, openTagName);\n }\n }\n },\n htmlBlock: function (state, node) {\n var html = node.literal;\n var container = document.createElement('div');\n var isHTMLComment = reHTMLComment.test(html);\n if (isHTMLComment) {\n state.openNode(state.schema.nodes.htmlComment);\n state.addText(node.literal);\n state.closeNode();\n }\n else {\n var matched = html.match(reHTMLTag);\n var openTagName = matched[1], closeTagName = matched[3];\n var typeName = (openTagName || closeTagName).toLowerCase();\n var nodeType = state.schema.nodes[typeName];\n var sanitizedHTML = sanitizeHTML(html);\n // for user defined html schema\n if (nodeType === null || nodeType === void 0 ? void 0 : nodeType.spec.attrs.htmlBlock) {\n var htmlAttrs = getHTMLAttrsByHTMLString(sanitizedHTML);\n var childrenHTML = getChildrenHTML(node, typeName);\n state.addNode(nodeType, { htmlAttrs: htmlAttrs, childrenHTML: childrenHTML });\n }\n else {\n container.innerHTML = sanitizedHTML;\n addRawHTMLAttributeToDOM(container);\n state.convertByDOMParser(container);\n }\n }\n },\n customInline: function (state, node, _a) {\n var entering = _a.entering, skipChildren = _a.skipChildren;\n var _b = node, info = _b.info, firstChild = _b.firstChild;\n var schema = state.schema;\n if (info.indexOf('widget') !== -1 && entering) {\n var content = getWidgetContent(node);\n skipChildren();\n state.addNode(schema.nodes.widget, { info: info }, [\n schema.text(createWidgetContent(info, content)),\n ]);\n }\n else {\n var text = '$$';\n if (entering) {\n text += firstChild ? info + \" \" : info;\n }\n state.addText(text);\n }\n },\n};\nfunction createWwConvertors(customConvertors) {\n var customConvertorTypes = Object.keys(customConvertors);\n var convertors = __assign$1({}, toWwConvertors);\n var renderer = new Renderer({\n gfm: true,\n nodeId: true,\n convertors: customConvertors,\n });\n var orgConvertors = renderer.getConvertors();\n customConvertorTypes.forEach(function (type) {\n var wwConvertor = toWwConvertors[type];\n if (wwConvertor && !includes(['htmlBlock', 'htmlInline'], type)) {\n convertors[type] = function (state, node, context) {\n context.origin = function () { return orgConvertors[type](node, context, orgConvertors); };\n var tokens = customConvertors[type](node, context);\n var attrs;\n if (tokens) {\n var _a = Array.isArray(tokens) ? tokens[0] : tokens, htmlAttrs = _a.attributes, classNames = _a.classNames;\n attrs = { htmlAttrs: htmlAttrs, classNames: classNames };\n }\n wwConvertor(state, node, context, attrs);\n };\n }\n });\n return convertors;\n}\n\nfunction mergeMarkText(a, b) {\n if (a.isText && b.isText && prosemirror_model__WEBPACK_IMPORTED_MODULE_0__[\"Mark\"].sameSet(a.marks, b.marks)) {\n // @ts-ignore\n // type is not defined for \"withText\" in prosemirror-model\n return a.withText(a.text + b.text);\n }\n return false;\n}\nvar ToWwConvertorState = /** @class */ (function () {\n function ToWwConvertorState(schema, convertors) {\n this.schema = schema;\n this.convertors = convertors;\n this.stack = [{ type: this.schema.topNodeType, attrs: null, content: [] }];\n this.marks = prosemirror_model__WEBPACK_IMPORTED_MODULE_0__[\"Mark\"].none;\n }\n ToWwConvertorState.prototype.top = function () {\n return last$1(this.stack);\n };\n ToWwConvertorState.prototype.push = function (node) {\n if (this.stack.length) {\n this.top().content.push(node);\n }\n };\n ToWwConvertorState.prototype.addText = function (text) {\n if (text) {\n var nodes = this.top().content;\n var lastNode = last$1(nodes);\n var node = this.schema.text(text, this.marks);\n var merged = lastNode && mergeMarkText(lastNode, node);\n if (merged) {\n nodes[nodes.length - 1] = merged;\n }\n else {\n nodes.push(node);\n }\n }\n };\n ToWwConvertorState.prototype.openMark = function (mark) {\n this.marks = mark.addToSet(this.marks);\n };\n ToWwConvertorState.prototype.closeMark = function (mark) {\n this.marks = mark.removeFromSet(this.marks);\n };\n ToWwConvertorState.prototype.addNode = function (type, attrs, content) {\n var node = type.createAndFill(attrs, content, this.marks);\n if (node) {\n this.push(node);\n return node;\n }\n return null;\n };\n ToWwConvertorState.prototype.openNode = function (type, attrs) {\n this.stack.push({ type: type, attrs: attrs, content: [] });\n };\n ToWwConvertorState.prototype.closeNode = function () {\n if (this.marks.length) {\n this.marks = prosemirror_model__WEBPACK_IMPORTED_MODULE_0__[\"Mark\"].none;\n }\n var _a = this.stack.pop(), type = _a.type, attrs = _a.attrs, content = _a.content;\n return this.addNode(type, attrs, content);\n };\n ToWwConvertorState.prototype.convertByDOMParser = function (root) {\n var _this = this;\n var doc = prosemirror_model__WEBPACK_IMPORTED_MODULE_0__[\"DOMParser\"].fromSchema(this.schema).parse(root);\n doc.content.forEach(function (node) { return _this.push(node); });\n };\n ToWwConvertorState.prototype.closeUnmatchedHTMLInline = function (node, entering) {\n var _a;\n if (!entering && node.type !== 'htmlInline') {\n var length_1 = this.stack.length - 1;\n for (var i = length_1; i >= 0; i -= 1) {\n var nodeInfo = this.stack[i];\n if ((_a = nodeInfo.attrs) === null || _a === void 0 ? void 0 : _a.rawHTML) {\n if (nodeInfo.content.length) {\n this.closeNode();\n }\n else {\n // just pop useless unmatched html inline node\n this.stack.pop();\n }\n }\n else {\n break;\n }\n }\n }\n };\n ToWwConvertorState.prototype.convert = function (mdNode, infoForPosSync) {\n var walker = mdNode.walker();\n var event = walker.next();\n var _loop_1 = function () {\n var node = event.node, entering = event.entering;\n var convertor = this_1.convertors[node.type];\n var skipped = false;\n if (convertor) {\n var context = {\n entering: entering,\n leaf: !isContainer$2(node),\n getChildrenText: getChildrenText$1,\n options: { gfm: true, nodeId: false, tagFilter: false, softbreak: '\\n' },\n skipChildren: function () {\n skipped = true;\n },\n };\n this_1.closeUnmatchedHTMLInline(node, entering);\n convertor(this_1, node, context);\n if ((infoForPosSync === null || infoForPosSync === void 0 ? void 0 : infoForPosSync.node) === node) {\n var pos = this_1.stack.reduce(function (nodeSize, stackItem) {\n return nodeSize +\n stackItem.content.reduce(function (contentSize, pmNode) { return contentSize + pmNode.nodeSize; }, 0);\n }, 0) + 1;\n infoForPosSync.setMappedPos(pos);\n }\n }\n if (skipped) {\n walker.resumeAt(node, false);\n walker.next();\n }\n event = walker.next();\n };\n var this_1 = this;\n while (event) {\n _loop_1();\n }\n };\n ToWwConvertorState.prototype.convertNode = function (mdNode, infoForPosSync) {\n this.convert(mdNode, infoForPosSync);\n if (this.stack.length) {\n return this.closeNode();\n }\n return null;\n };\n return ToWwConvertorState;\n}());\n\nfunction convertToRawHTMLHavingInlines(state, node, _a) {\n var openTag = _a[0], closeTag = _a[1];\n state.write(openTag);\n state.convertInline(node);\n state.write(closeTag);\n}\nfunction convertToRawHTMLHavingBlocks(state, _a, _b) {\n var node = _a.node, parent = _a.parent;\n var openTag = _b[0], closeTag = _b[1];\n state.stopNewline = true;\n state.write(openTag);\n state.convertNode(node);\n state.write(closeTag);\n if ((parent === null || parent === void 0 ? void 0 : parent.type.name) === 'doc') {\n state.closeBlock(node);\n state.stopNewline = false;\n }\n}\nfunction createTableHeadDelim(textContent, columnAlign) {\n var textLen = textContent.length;\n var leftDelim = '';\n var rightDelim = '';\n if (columnAlign === 'left') {\n leftDelim = ':';\n textLen -= 1;\n }\n else if (columnAlign === 'right') {\n rightDelim = ':';\n textLen -= 1;\n }\n else if (columnAlign === 'center') {\n leftDelim = ':';\n rightDelim = ':';\n textLen -= 2;\n }\n return \"\" + leftDelim + repeat$1('-', Math.max(textLen, 3)) + rightDelim;\n}\nvar nodeTypeWriters = {\n text: function (state, _a) {\n var _b;\n var node = _a.node;\n var text = (_b = node.text) !== null && _b !== void 0 ? _b : '';\n if ((node.marks || []).some(function (mark) { return mark.type.name === 'link'; })) {\n state.text(escapeTextForLink(text), false);\n }\n else {\n state.text(text);\n }\n },\n paragraph: function (state, _a) {\n var node = _a.node, parent = _a.parent, _b = _a.index, index = _b === void 0 ? 0 : _b;\n if (state.stopNewline) {\n state.convertInline(node);\n }\n else {\n var firstChildNode = index === 0;\n var prevNode = !firstChildNode && parent.child(index - 1);\n var prevEmptyNode = prevNode && prevNode.childCount === 0;\n var nextNode = index < parent.childCount - 1 && parent.child(index + 1);\n var nextParaNode = nextNode && nextNode.type.name === 'paragraph';\n var emptyNode = node.childCount === 0;\n if (emptyNode && prevEmptyNode) {\n state.write('
\\n');\n }\n else if (emptyNode && !prevEmptyNode && !firstChildNode) {\n if ((parent === null || parent === void 0 ? void 0 : parent.type.name) === 'listItem') {\n var prevDelim = state.getDelim();\n state.setDelim('');\n state.write('
');\n state.setDelim(prevDelim);\n }\n state.write('\\n');\n }\n else {\n state.convertInline(node);\n if (nextParaNode) {\n state.write('\\n');\n }\n else {\n state.closeBlock(node);\n }\n }\n }\n },\n heading: function (state, _a, _b) {\n var node = _a.node;\n var delim = _b.delim;\n var headingType = node.attrs.headingType;\n if (headingType === 'atx') {\n state.write(delim + \" \");\n state.convertInline(node);\n state.closeBlock(node);\n }\n else {\n state.convertInline(node);\n state.ensureNewLine();\n state.write(delim);\n state.closeBlock(node);\n }\n },\n codeBlock: function (state, _a, _b) {\n var node = _a.node;\n var delim = _b.delim, text = _b.text;\n var _c = delim, openDelim = _c[0], closeDelim = _c[1];\n state.write(openDelim);\n state.ensureNewLine();\n state.text(text, false);\n state.ensureNewLine();\n state.write(closeDelim);\n state.closeBlock(node);\n },\n blockQuote: function (state, _a, _b) {\n var node = _a.node, parent = _a.parent;\n var delim = _b.delim;\n if ((parent === null || parent === void 0 ? void 0 : parent.type.name) === node.type.name) {\n state.flushClose(1);\n }\n state.wrapBlock(delim, null, node, function () { return state.convertNode(node); });\n },\n bulletList: function (state, _a, _b) {\n var node = _a.node;\n var delim = _b.delim;\n // soft-tab(4)\n state.convertList(node, repeat$1(' ', 4), function () { return delim + \" \"; });\n },\n orderedList: function (state, _a) {\n var node = _a.node;\n var start = node.attrs.order || 1;\n // soft-tab(4)\n state.convertList(node, repeat$1(' ', 4), function (index) {\n var orderedNum = String(start + index);\n return orderedNum + \". \";\n });\n },\n listItem: function (state, _a) {\n var node = _a.node;\n var _b = node.attrs, task = _b.task, checked = _b.checked;\n if (task) {\n state.write(\"[\" + (checked ? 'x' : ' ') + \"] \");\n }\n state.convertNode(node);\n },\n image: function (state, _, _a) {\n var attrs = _a.attrs;\n state.write(\" + \")\");\n },\n thematicBreak: function (state, _a, _b) {\n var node = _a.node;\n var delim = _b.delim;\n state.write(delim);\n state.closeBlock(node);\n },\n table: function (state, _a) {\n var node = _a.node;\n state.convertNode(node);\n state.closeBlock(node);\n },\n tableHead: function (state, _a, _b) {\n var node = _a.node;\n var delim = _b.delim;\n var row = node.firstChild;\n state.convertNode(node);\n var result = delim !== null && delim !== void 0 ? delim : '';\n if (!delim && row) {\n row.forEach(function (_a) {\n var textContent = _a.textContent, attrs = _a.attrs;\n var headDelim = createTableHeadDelim(textContent, attrs.align);\n result += \"| \" + headDelim + \" \";\n });\n }\n state.write(result + \"|\");\n state.ensureNewLine();\n },\n tableBody: function (state, _a) {\n var node = _a.node;\n state.convertNode(node);\n },\n tableRow: function (state, _a) {\n var node = _a.node;\n state.convertNode(node);\n state.write('|');\n state.ensureNewLine();\n },\n tableHeadCell: function (state, _a, _b) {\n var node = _a.node;\n var _c = _b.delim, delim = _c === void 0 ? '| ' : _c;\n state.write(delim);\n state.convertTableCell(node);\n state.write(' ');\n },\n tableBodyCell: function (state, _a, _b) {\n var node = _a.node;\n var _c = _b.delim, delim = _c === void 0 ? '| ' : _c;\n state.write(delim);\n state.convertTableCell(node);\n state.write(' ');\n },\n customBlock: function (state, _a, _b) {\n var node = _a.node;\n var delim = _b.delim, text = _b.text;\n var _c = delim, openDelim = _c[0], closeDelim = _c[1];\n state.write(openDelim);\n state.ensureNewLine();\n state.text(text, false);\n state.ensureNewLine();\n state.write(closeDelim);\n state.closeBlock(node);\n },\n frontMatter: function (state, _a, _b) {\n var node = _a.node;\n var text = _b.text;\n state.text(text, false);\n state.closeBlock(node);\n },\n widget: function (state, _, _a) {\n var text = _a.text;\n state.write(text);\n },\n html: function (state, _a, _b) {\n var node = _a.node;\n var text = _b.text;\n state.write(text);\n if (node.attrs.htmlBlock) {\n state.closeBlock(node);\n }\n },\n htmlComment: function (state, _a, _b) {\n var node = _a.node;\n var text = _b.text;\n state.write(text);\n state.closeBlock(node);\n },\n};\nfunction write(type, _a) {\n var state = _a.state, nodeInfo = _a.nodeInfo, params = _a.params;\n var rawHTML = params.rawHTML;\n if (rawHTML) {\n if (inArray_1(type, ['heading', 'codeBlock']) > -1) {\n convertToRawHTMLHavingInlines(state, nodeInfo.node, rawHTML);\n }\n else if (inArray_1(type, ['image', 'thematicBreak']) > -1) {\n state.write(rawHTML);\n }\n else {\n convertToRawHTMLHavingBlocks(state, nodeInfo, rawHTML);\n }\n }\n else {\n nodeTypeWriters[type](state, nodeInfo, params);\n }\n}\n\nfunction addBackticks(node, side) {\n var text = node.text;\n var ticks = /`+/g;\n var len = 0;\n if (node.isText && text) {\n var matched = ticks.exec(text);\n while (matched) {\n len = Math.max(len, matched[0].length);\n matched = ticks.exec(text);\n }\n }\n var result = len > 0 && side > 0 ? ' `' : '`';\n for (var i = 0; i < len; i += 1) {\n result += '`';\n }\n if (len > 0 && side < 0) {\n result += ' ';\n }\n return result;\n}\nfunction getPairRawHTML(rawHTML) {\n return rawHTML ? [\"<\" + rawHTML + \">\", \"\" + rawHTML + \">\"] : null;\n}\nfunction getOpenRawHTML(rawHTML) {\n return rawHTML ? \"<\" + rawHTML + \">\" : null;\n}\nfunction getCloseRawHTML(rawHTML) {\n return rawHTML ? \"\" + rawHTML + \">\" : null;\n}\nvar toMdConvertors = {\n heading: function (_a) {\n var node = _a.node;\n var attrs = node.attrs;\n var level = attrs.level;\n var delim = repeat$1('#', level);\n if (attrs.headingType === 'setext') {\n delim = level === 1 ? '===' : '---';\n }\n return {\n delim: delim,\n rawHTML: getPairRawHTML(attrs.rawHTML),\n };\n },\n codeBlock: function (_a) {\n var node = _a.node;\n var _b = node, attrs = _b.attrs, textContent = _b.textContent;\n return {\n delim: [\"```\" + (attrs.language || ''), '```'],\n rawHTML: getPairRawHTML(attrs.rawHTML),\n text: textContent,\n };\n },\n blockQuote: function (_a) {\n var node = _a.node;\n return {\n delim: '> ',\n rawHTML: getPairRawHTML(node.attrs.rawHTML),\n };\n },\n bulletList: function (_a, _b) {\n var node = _a.node;\n var inTable = _b.inTable;\n var rawHTML = node.attrs.rawHTML;\n if (inTable) {\n rawHTML = rawHTML || 'ul';\n }\n return {\n delim: '*',\n rawHTML: getPairRawHTML(rawHTML),\n };\n },\n orderedList: function (_a, _b) {\n var node = _a.node;\n var inTable = _b.inTable;\n var rawHTML = node.attrs.rawHTML;\n if (inTable) {\n rawHTML = rawHTML || 'ol';\n }\n return {\n rawHTML: getPairRawHTML(rawHTML),\n };\n },\n listItem: function (_a, _b) {\n var node = _a.node;\n var inTable = _b.inTable;\n var _c = node.attrs, task = _c.task, checked = _c.checked;\n var rawHTML = node.attrs.rawHTML;\n if (inTable) {\n rawHTML = rawHTML || 'li';\n }\n var className = task ? \" class=\\\"task-list-item\" + (checked ? ' checked' : '') + \"\\\"\" : '';\n var dataset = task ? \" data-task\" + (checked ? \" data-task-checked\" : '') : '';\n return {\n rawHTML: rawHTML ? [\"<\" + rawHTML + className + dataset + \">\", \"\" + rawHTML + \">\"] : null,\n };\n },\n table: function (_a) {\n var node = _a.node;\n return {\n rawHTML: getPairRawHTML(node.attrs.rawHTML),\n };\n },\n tableHead: function (_a) {\n var node = _a.node;\n return {\n rawHTML: getPairRawHTML(node.attrs.rawHTML),\n };\n },\n tableBody: function (_a) {\n var node = _a.node;\n return {\n rawHTML: getPairRawHTML(node.attrs.rawHTML),\n };\n },\n tableRow: function (_a) {\n var node = _a.node;\n return {\n rawHTML: getPairRawHTML(node.attrs.rawHTML),\n };\n },\n tableHeadCell: function (_a) {\n var node = _a.node;\n return {\n rawHTML: getPairRawHTML(node.attrs.rawHTML),\n };\n },\n tableBodyCell: function (_a) {\n var node = _a.node;\n return {\n rawHTML: getPairRawHTML(node.attrs.rawHTML),\n };\n },\n image: function (_a) {\n var node = _a.node;\n var attrs = node.attrs;\n var rawHTML = attrs.rawHTML, altText = attrs.altText;\n var imageUrl = attrs.imageUrl.replace(/&/g, '&');\n var altAttr = altText ? \" alt=\\\"\" + escapeXml$1(altText) + \"\\\"\" : '';\n return {\n rawHTML: rawHTML ? \"<\" + rawHTML + \" src=\\\"\" + escapeXml$1(imageUrl) + \"\\\"\" + altAttr + \">\" : null,\n attrs: {\n altText: escapeTextForLink(altText || ''),\n imageUrl: imageUrl,\n },\n };\n },\n thematicBreak: function (_a) {\n var node = _a.node;\n return {\n delim: '***',\n rawHTML: getOpenRawHTML(node.attrs.rawHTML),\n };\n },\n customBlock: function (_a) {\n var node = _a.node;\n var _b = node, attrs = _b.attrs, textContent = _b.textContent;\n return {\n delim: [\"$$\" + attrs.info, '$$'],\n text: textContent,\n };\n },\n frontMatter: function (_a) {\n var node = _a.node;\n return {\n text: node.textContent,\n };\n },\n widget: function (_a) {\n var node = _a.node;\n return {\n text: node.textContent,\n };\n },\n strong: function (_a, _b) {\n var node = _a.node;\n var entering = _b.entering;\n var rawHTML = node.attrs.rawHTML;\n return {\n delim: '**',\n rawHTML: entering ? getOpenRawHTML(rawHTML) : getCloseRawHTML(rawHTML),\n };\n },\n emph: function (_a, _b) {\n var node = _a.node;\n var entering = _b.entering;\n var rawHTML = node.attrs.rawHTML;\n return {\n delim: '*',\n rawHTML: entering ? getOpenRawHTML(rawHTML) : getCloseRawHTML(rawHTML),\n };\n },\n strike: function (_a, _b) {\n var node = _a.node;\n var entering = _b.entering;\n var rawHTML = node.attrs.rawHTML;\n return {\n delim: '~~',\n rawHTML: entering ? getOpenRawHTML(rawHTML) : getCloseRawHTML(rawHTML),\n };\n },\n link: function (_a, _b) {\n var node = _a.node;\n var entering = _b.entering;\n var attrs = node.attrs;\n var title = attrs.title, rawHTML = attrs.rawHTML;\n var linkUrl = attrs.linkUrl.replace(/&/g, '&');\n var titleAttr = title ? \" title=\\\"\" + escapeXml$1(title) + \"\\\"\" : '';\n if (entering) {\n return {\n delim: '[',\n rawHTML: rawHTML ? \"<\" + rawHTML + \" href=\\\"\" + escapeXml$1(linkUrl) + \"\\\"\" + titleAttr + \">\" : null,\n };\n }\n return {\n delim: \"](\" + linkUrl + (title ? \" \" + quote(escapeTextForLink(title)) : '') + \")\",\n rawHTML: getCloseRawHTML(rawHTML),\n };\n },\n code: function (_a, _b) {\n var node = _a.node, parent = _a.parent, _c = _a.index, index = _c === void 0 ? 0 : _c;\n var entering = _b.entering;\n var delim = entering\n ? addBackticks(parent.child(index), -1)\n : addBackticks(parent.child(index - 1), 1);\n var rawHTML = entering\n ? getOpenRawHTML(node.attrs.rawHTML)\n : getCloseRawHTML(node.attrs.rawHTML);\n return {\n delim: delim,\n rawHTML: rawHTML,\n };\n },\n htmlComment: function (_a) {\n var node = _a.node;\n return {\n text: node.textContent,\n };\n },\n // html inline node, html block node\n html: function (_a, _b) {\n var node = _a.node;\n var entering = _b.entering;\n var tagName = node.type.name;\n var attrs = node.attrs.htmlAttrs;\n var openTag = \"<\" + tagName;\n var closeTag = \"\" + tagName + \">\";\n Object.keys(attrs).forEach(function (attrName) {\n // To prevent broken converting when attributes has double quote string\n openTag += \" \" + attrName + \"=\\\"\" + attrs[attrName].replace(/\"/g, \"'\") + \"\\\"\";\n });\n openTag += '>';\n if (node.attrs.htmlInline) {\n return {\n rawHTML: entering ? openTag : closeTag,\n };\n }\n return {\n text: \"\" + openTag + node.attrs.childrenHTML + closeTag,\n };\n },\n};\nvar markTypeOptions = {\n strong: {\n mixable: true,\n removedEnclosingWhitespace: true,\n },\n emph: {\n mixable: true,\n removedEnclosingWhitespace: true,\n },\n strike: {\n mixable: true,\n removedEnclosingWhitespace: true,\n },\n code: {\n escape: false,\n },\n link: null,\n html: null,\n};\nfunction createNodeTypeConvertors(convertors) {\n var nodeTypeConvertors = {};\n var nodeTypes = Object.keys(nodeTypeWriters);\n nodeTypes.forEach(function (type) {\n nodeTypeConvertors[type] = function (state, nodeInfo) {\n var writer = nodeTypeWriters[type];\n if (writer) {\n var convertor = convertors[type];\n var params = convertor\n ? convertor(nodeInfo, {\n inTable: state.inTable,\n })\n : {};\n write(type, { state: state, nodeInfo: nodeInfo, params: params });\n }\n };\n });\n return nodeTypeConvertors;\n}\nfunction createMarkTypeConvertors(convertors) {\n var markTypeConvertors = {};\n var markTypes = Object.keys(markTypeOptions);\n markTypes.forEach(function (type) {\n markTypeConvertors[type] = function (nodeInfo, entering) {\n var markOption = markTypeOptions[type];\n var convertor = convertors[type];\n // There are two ways to call the mark type converter\n // in the `toMdConvertorState` module.\n // When calling the converter without using `delim` and `rawHTML` values,\n // the converter is called without parameters.\n var runConvertor = convertor && nodeInfo && !isUndefined_1(entering);\n var params = runConvertor ? convertor(nodeInfo, { entering: entering }) : {};\n return __assign$1(__assign$1({}, params), markOption);\n };\n });\n return markTypeConvertors;\n}\n// Step 1: Create the converter by overriding the custom converter\n// to the original converter defined in the `toMdConvertors` module.\n// If the node type is defined in the original converter,\n// the `origin()` function is exported to the paramter of the converter.\n// Step 2: Create a converter for the node type of ProseMirror by combining the converter\n// created in Step 1 with the writers defined in the`toMdNodeTypeWriters` module.\n// Each writer converts the ProseMirror's node to a string with the value returned\n// by the converter, and then stores the state in the`toMdConverterState` class.\n// Step 3: Create a converter for the mark type of ProseMirror by combining the converter\n// created in Step 1 with `markTypeOptions`.\n// Step 4: The created node type converter and mark type converter are injected\n// when creating an instance of the`toMdConverterState` class.\nfunction createMdConvertors(customConvertors) {\n var customConvertorTypes = Object.keys(customConvertors);\n customConvertorTypes.forEach(function (type) {\n var baseConvertor = toMdConvertors[type];\n var customConvertor = customConvertors[type];\n if (baseConvertor) {\n toMdConvertors[type] = function (nodeInfo, context) {\n context.origin = function () { return baseConvertor(nodeInfo, context); };\n return customConvertor(nodeInfo, context);\n };\n }\n else {\n toMdConvertors[type] = customConvertor;\n }\n delete customConvertors[type];\n });\n var nodeTypeConvertors = createNodeTypeConvertors(toMdConvertors);\n var markTypeConvertors = createMarkTypeConvertors(toMdConvertors);\n return {\n nodeTypeConvertors: nodeTypeConvertors,\n markTypeConvertors: markTypeConvertors,\n };\n}\n\nvar ToMdConvertorState = /** @class */ (function () {\n function ToMdConvertorState(_a) {\n var nodeTypeConvertors = _a.nodeTypeConvertors, markTypeConvertors = _a.markTypeConvertors;\n this.nodeTypeConvertors = nodeTypeConvertors;\n this.markTypeConvertors = markTypeConvertors;\n this.delim = '';\n this.result = '';\n this.closed = false;\n this.tightList = false;\n this.stopNewline = false;\n this.inTable = false;\n }\n ToMdConvertorState.prototype.getMarkConvertor = function (mark) {\n var type = mark.attrs.htmlInline ? 'html' : mark.type.name;\n return this.markTypeConvertors[type];\n };\n ToMdConvertorState.prototype.isInBlank = function () {\n return /(^|\\n)$/.test(this.result);\n };\n ToMdConvertorState.prototype.markText = function (mark, entering, parent, index) {\n var convertor = this.getMarkConvertor(mark);\n if (convertor) {\n var _a = convertor({ node: mark, parent: parent, index: index }, entering), delim = _a.delim, rawHTML = _a.rawHTML;\n return rawHTML || delim;\n }\n return '';\n };\n ToMdConvertorState.prototype.setDelim = function (delim) {\n this.delim = delim;\n };\n ToMdConvertorState.prototype.getDelim = function () {\n return this.delim;\n };\n ToMdConvertorState.prototype.flushClose = function (size) {\n if (!this.stopNewline && this.closed) {\n if (!this.isInBlank()) {\n this.result += '\\n';\n }\n if (!size) {\n size = 2;\n }\n if (size > 1) {\n var delimMin = this.delim;\n var trim = /\\s+$/.exec(delimMin);\n if (trim) {\n delimMin = delimMin.slice(0, delimMin.length - trim[0].length);\n }\n for (var i = 1; i < size; i += 1) {\n this.result += delimMin + \"\\n\";\n }\n }\n this.closed = false;\n }\n };\n ToMdConvertorState.prototype.wrapBlock = function (delim, firstDelim, node, fn) {\n var old = this.getDelim();\n this.write(firstDelim || delim);\n this.setDelim(this.getDelim() + delim);\n fn();\n this.setDelim(old);\n this.closeBlock(node);\n };\n ToMdConvertorState.prototype.ensureNewLine = function () {\n if (!this.isInBlank()) {\n this.result += '\\n';\n }\n };\n ToMdConvertorState.prototype.write = function (content) {\n if (content === void 0) { content = ''; }\n this.flushClose();\n if (this.delim && this.isInBlank()) {\n this.result += this.delim;\n }\n if (content) {\n this.result += content;\n }\n };\n ToMdConvertorState.prototype.closeBlock = function (node) {\n this.closed = node;\n };\n ToMdConvertorState.prototype.text = function (text, escaped) {\n if (escaped === void 0) { escaped = true; }\n var lines = text.split('\\n');\n for (var i = 0; i < lines.length; i += 1) {\n this.write();\n this.result += escaped ? escape$1(lines[i]) : lines[i];\n if (i !== lines.length - 1) {\n this.result += '\\n';\n }\n }\n };\n ToMdConvertorState.prototype.convertBlock = function (node, parent, index) {\n var type = node.type.name;\n var convertor = this.nodeTypeConvertors[type];\n var nodeInfo = { node: node, parent: parent, index: index };\n if (node.attrs.htmlBlock) {\n this.nodeTypeConvertors.html(this, nodeInfo);\n }\n else if (convertor) {\n convertor(this, nodeInfo);\n }\n };\n ToMdConvertorState.prototype.convertInline = function (parent) {\n var _this = this;\n var active = [];\n var trailing = '';\n var progress = function (node, _, index) {\n var marks = node ? node.marks : [];\n var leading = trailing;\n trailing = '';\n // If whitespace has to be expelled from the node, adjust\n // leading and trailing accordingly.\n var removedWhitespace = node &&\n node.isText &&\n marks.some(function (mark) {\n var markConvertor = _this.getMarkConvertor(mark);\n var info = markConvertor && markConvertor();\n return info && info.removedEnclosingWhitespace;\n });\n if (removedWhitespace && node && node.text) {\n var _a = /^(\\s*)(.*?)(\\s*)$/m.exec(node.text), lead = _a[1], mark = _a[2], trail = _a[3];\n leading += lead;\n trailing = trail;\n if (lead || trail) {\n // @ts-ignore\n // type is not defined for \"withText\" in prosemirror-model\n node = mark ? node.withText(mark) : null;\n if (!node) {\n marks = active;\n }\n }\n }\n var lastMark = marks.length && last$1(marks);\n var markConvertor = lastMark && _this.getMarkConvertor(lastMark);\n var markType = markConvertor && markConvertor();\n var noEscape = markType && markType.escape === false;\n var len = marks.length - (noEscape ? 1 : 0);\n // Try to reorder 'mixable' marks, such as em and strong, which\n // in Markdown may be opened and closed in different order, so\n // that order of the marks for the token matches the order in\n // active.\n for (var i = 0; i < len; i += 1) {\n var mark = marks[i];\n if (markType && !markType.mixable) {\n break;\n }\n for (var j = 0; j < active.length; j += 1) {\n var other = active[j];\n if (markType && !markType.mixable) {\n break;\n }\n if (mark.eq(other)) {\n // eslint-disable-next-line max-depth\n if (i > j) {\n marks = marks\n .slice(0, j)\n .concat(mark)\n .concat(marks.slice(j, i))\n .concat(marks.slice(i + 1, len));\n }\n else if (j > i) {\n marks = marks\n .slice(0, i)\n .concat(marks.slice(i + 1, j))\n .concat(mark)\n .concat(marks.slice(j, len));\n }\n break;\n }\n }\n }\n // Find the prefix of the mark set that didn't change\n var keep = 0;\n while (keep < Math.min(active.length, len) && marks[keep].eq(active[keep])) {\n keep += 1;\n }\n // Close the marks that need to be closed\n while (keep < active.length) {\n var activedMark = active.pop();\n if (activedMark) {\n _this.text(_this.markText(activedMark, false, parent, index), false);\n }\n }\n // Output any previously expelled trailing whitespace outside the marks\n if (leading) {\n _this.text(leading);\n }\n // Open the marks that need to be opened\n if (node) {\n while (active.length < len) {\n var mark = marks[active.length];\n active.push(mark);\n _this.text(_this.markText(mark, true, parent, index), false);\n }\n // Render the node. Special case code marks, since their content\n // may not be escaped.\n if (noEscape && node.isText) {\n _this.text(_this.markText(lastMark, true, parent, index) +\n node.text +\n _this.markText(lastMark, false, parent, index + 1), false);\n }\n else {\n _this.convertBlock(node, parent, index);\n }\n }\n };\n parent.forEach(progress);\n progress(null, null, parent.childCount);\n };\n // Render a node's content as a list. `delim` should be the extra\n // indentation added to all lines except the first in an item,\n // `firstDelimFn` is a function going from an item index to a\n // delimiter for the first line of the item.\n ToMdConvertorState.prototype.convertList = function (node, delim, firstDelimFn) {\n var _this = this;\n var _a;\n if (this.closed && this.closed.type === node.type) {\n this.flushClose(3);\n }\n else if (this.tightList) {\n this.flushClose(1);\n }\n var tight = (_a = node.attrs.tight) !== null && _a !== void 0 ? _a : true;\n var prevTight = this.tightList;\n this.tightList = tight;\n node.forEach(function (child, _, index) {\n if (index && tight) {\n _this.flushClose(1);\n }\n _this.wrapBlock(delim, firstDelimFn(index), node, function () { return _this.convertBlock(child, node, index); });\n });\n this.tightList = prevTight;\n };\n ToMdConvertorState.prototype.convertTableCell = function (node) {\n var _this = this;\n this.stopNewline = true;\n this.inTable = true;\n node.forEach(function (child, _, index) {\n if (includes(['bulletList', 'orderedList'], child.type.name)) {\n _this.convertBlock(child, node, index);\n _this.closed = false;\n }\n else {\n _this.convertInline(child);\n if (index < node.childCount - 1) {\n var nextChild = node.child(index + 1);\n if (nextChild.type.name === 'paragraph') {\n _this.write('
');\n }\n }\n }\n });\n this.stopNewline = false;\n this.inTable = false;\n };\n ToMdConvertorState.prototype.convertNode = function (parent, infoForPosSync) {\n var _this = this;\n parent.forEach(function (node, _, index) {\n _this.convertBlock(node, parent, index);\n if ((infoForPosSync === null || infoForPosSync === void 0 ? void 0 : infoForPosSync.node) === node) {\n var lineTexts = _this.result.split('\\n');\n infoForPosSync.setMappedPos([lineTexts.length, last$1(lineTexts).length + 1]);\n }\n });\n return this.result;\n };\n return ToMdConvertorState;\n}());\n\nvar Convertor = /** @class */ (function () {\n function Convertor(schema, toMdConvertors, toHTMLConvertors, eventEmitter) {\n var _this = this;\n this.setMappedPos = function (pos) {\n _this.mappedPosWhenConverting = pos;\n };\n this.schema = schema;\n this.eventEmitter = eventEmitter;\n this.focusedNode = null;\n this.mappedPosWhenConverting = null;\n this.toWwConvertors = createWwConvertors(toHTMLConvertors);\n this.toMdConvertors = createMdConvertors(toMdConvertors || {});\n this.eventEmitter.listen('setFocusedNode', function (node) { return (_this.focusedNode = node); });\n }\n Convertor.prototype.getMappedPos = function () {\n return this.mappedPosWhenConverting;\n };\n Convertor.prototype.getInfoForPosSync = function () {\n return { node: this.focusedNode, setMappedPos: this.setMappedPos };\n };\n Convertor.prototype.toWysiwygModel = function (mdNode) {\n var state = new ToWwConvertorState(this.schema, this.toWwConvertors);\n return state.convertNode(mdNode, this.getInfoForPosSync());\n };\n Convertor.prototype.toMarkdownText = function (wwNode) {\n var state = new ToMdConvertorState(this.toMdConvertors);\n var markdownText = state.convertNode(wwNode, this.getInfoForPosSync());\n markdownText = this.eventEmitter.emitReduce('beforeConvertWysiwygToMarkdown', markdownText);\n return markdownText;\n };\n return Convertor;\n}());\n\nfunction execPlugin(pluginInfo) {\n var plugin = pluginInfo.plugin, eventEmitter = pluginInfo.eventEmitter, usageStatistics = pluginInfo.usageStatistics, instance = pluginInfo.instance;\n var pmState = { Plugin: prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"Plugin\"], PluginKey: prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"PluginKey\"], Selection: prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"Selection\"], TextSelection: prosemirror_state__WEBPACK_IMPORTED_MODULE_3__[\"TextSelection\"] };\n var pmView = { Decoration: prosemirror_view__WEBPACK_IMPORTED_MODULE_1__[\"Decoration\"], DecorationSet: prosemirror_view__WEBPACK_IMPORTED_MODULE_1__[\"DecorationSet\"] };\n var pmModel = { Fragment: prosemirror_model__WEBPACK_IMPORTED_MODULE_0__[\"Fragment\"] };\n var pmRules = { InputRule: prosemirror_inputrules__WEBPACK_IMPORTED_MODULE_6__[\"InputRule\"], inputRules: prosemirror_inputrules__WEBPACK_IMPORTED_MODULE_6__[\"inputRules\"], undoInputRule: prosemirror_inputrules__WEBPACK_IMPORTED_MODULE_6__[\"undoInputRule\"] };\n var pmKeymap = { keymap: prosemirror_keymap__WEBPACK_IMPORTED_MODULE_4__[\"keymap\"] };\n var context = {\n eventEmitter: eventEmitter,\n usageStatistics: usageStatistics,\n instance: instance,\n pmState: pmState,\n pmView: pmView,\n pmModel: pmModel,\n pmRules: pmRules,\n pmKeymap: pmKeymap,\n i18n: i18n,\n };\n if (isArray_1(plugin)) {\n var pluginFn = plugin[0], _a = plugin[1], options = _a === void 0 ? {} : _a;\n return pluginFn(context, options);\n }\n return plugin(context);\n}\nfunction getPluginInfo(pluginsInfo) {\n var plugins = pluginsInfo.plugins, eventEmitter = pluginsInfo.eventEmitter, usageStatistics = pluginsInfo.usageStatistics, instance = pluginsInfo.instance;\n eventEmitter.listen('mixinTableOffsetMapPrototype', mixinTableOffsetMapPrototype);\n return (plugins !== null && plugins !== void 0 ? plugins : []).reduce(function (acc, plugin) {\n var pluginInfoResult = execPlugin({\n plugin: plugin,\n eventEmitter: eventEmitter,\n usageStatistics: usageStatistics,\n instance: instance,\n });\n if (!pluginInfoResult) {\n throw new Error('The return value of the executed plugin is empty.');\n }\n var markdownParsers = pluginInfoResult.markdownParsers, toHTMLRenderers = pluginInfoResult.toHTMLRenderers, toMarkdownRenderers = pluginInfoResult.toMarkdownRenderers, markdownPlugins = pluginInfoResult.markdownPlugins, wysiwygPlugins = pluginInfoResult.wysiwygPlugins, wysiwygNodeViews = pluginInfoResult.wysiwygNodeViews, markdownCommands = pluginInfoResult.markdownCommands, wysiwygCommands = pluginInfoResult.wysiwygCommands, toolbarItems = pluginInfoResult.toolbarItems;\n if (toHTMLRenderers) {\n acc.toHTMLRenderers = deepMergedCopy(acc.toHTMLRenderers, toHTMLRenderers);\n }\n if (toMarkdownRenderers) {\n acc.toMarkdownRenderers = deepMergedCopy(acc.toMarkdownRenderers, toMarkdownRenderers);\n }\n if (markdownPlugins) {\n acc.mdPlugins = acc.mdPlugins.concat(markdownPlugins);\n }\n if (wysiwygPlugins) {\n acc.wwPlugins = acc.wwPlugins.concat(wysiwygPlugins);\n }\n if (wysiwygNodeViews) {\n acc.wwNodeViews = __assign$1(__assign$1({}, acc.wwNodeViews), wysiwygNodeViews);\n }\n if (markdownCommands) {\n acc.mdCommands = __assign$1(__assign$1({}, acc.mdCommands), markdownCommands);\n }\n if (wysiwygCommands) {\n acc.wwCommands = __assign$1(__assign$1({}, acc.wwCommands), wysiwygCommands);\n }\n if (toolbarItems) {\n acc.toolbarItems = acc.toolbarItems.concat(toolbarItems);\n }\n if (markdownParsers) {\n acc.markdownParsers = __assign$1(__assign$1({}, acc.markdownParsers), markdownParsers);\n }\n return acc;\n }, {\n toHTMLRenderers: {},\n toMarkdownRenderers: {},\n mdPlugins: [],\n wwPlugins: [],\n wwNodeViews: {},\n mdCommands: {},\n wwCommands: {},\n toolbarItems: [],\n markdownParsers: {},\n });\n}\n\nvar TASK_ATTR_NAME = 'data-task';\nvar DISABLED_TASK_ATTR_NAME = 'data-task-disabled';\nvar TASK_CHECKED_CLASS_NAME = 'checked';\nfunction registerHTMLTagToWhitelist(convertorMap) {\n ['htmlBlock', 'htmlInline'].forEach(function (htmlType) {\n if (convertorMap[htmlType]) {\n // register tag white list for preventing to remove the html in sanitizer\n Object.keys(convertorMap[htmlType]).forEach(function (type) { return registerTagWhitelistIfPossible(type); });\n }\n });\n}\n/**\n * Class ToastUIEditorViewer\n * @param {object} options Option object\n * @param {HTMLElement} options.el - container element\n * @param {string} [options.initialValue] Editor's initial value\n * @param {Object} [options.events] - Events\n * @param {function} [options.events.load] - It would be emitted when editor fully load\n * @param {function} [options.events.change] - It would be emitted when content changed\n * @param {function} [options.events.caretChange] - It would be emitted when format change by cursor position\n * @param {function} [options.events.focus] - It would be emitted when editor get focus\n * @param {function} [options.events.blur] - It would be emitted when editor loose focus\n * @param {Array.} [options.plugins] - Array of plugins. A plugin can be either a function or an array in the form of [function, options].\n * @param {Object} [options.extendedAutolinks] - Using extended Autolinks specified in GFM spec\n * @param {Object} [options.linkAttributes] - Attributes of anchor element that should be rel, target, hreflang, type\n * @param {Object} [options.customHTMLRenderer=null] - Object containing custom renderer functions correspond to change markdown node to preview HTML or wysiwyg node\n * @param {boolean} [options.referenceDefinition=false] - whether use the specification of link reference definition\n * @param {function} [options.customHTMLSanitizer=null] - custom HTML sanitizer\n * @param {boolean} [options.frontMatter=false] - whether use the front matter\n * @param {string} [options.theme] - The theme to style the viewer with. The default is included in toastui-editor.css.\n */\nvar ToastUIEditorViewer = /** @class */ (function () {\n function ToastUIEditorViewer(options) {\n var _this = this;\n this.options = extend_1({\n linkAttributes: null,\n extendedAutolinks: false,\n customHTMLRenderer: null,\n referenceDefinition: false,\n customHTMLSanitizer: null,\n frontMatter: false,\n usageStatistics: true,\n theme: 'light',\n }, options);\n this.eventEmitter = new EventEmitter();\n var linkAttributes = sanitizeLinkAttribute(this.options.linkAttributes);\n var _a = getPluginInfo({\n plugins: this.options.plugins,\n eventEmitter: this.eventEmitter,\n usageStatistics: this.options.usageStatistics,\n instance: this,\n }) || {}, toHTMLRenderers = _a.toHTMLRenderers, markdownParsers = _a.markdownParsers;\n var _b = this.options, customHTMLRenderer = _b.customHTMLRenderer, extendedAutolinks = _b.extendedAutolinks, referenceDefinition = _b.referenceDefinition, frontMatter = _b.frontMatter, customHTMLSanitizer = _b.customHTMLSanitizer;\n var rendererOptions = {\n linkAttributes: linkAttributes,\n customHTMLRenderer: __assign$1(__assign$1({}, toHTMLRenderers), customHTMLRenderer),\n extendedAutolinks: extendedAutolinks,\n referenceDefinition: referenceDefinition,\n frontMatter: frontMatter,\n sanitizer: customHTMLSanitizer || sanitizeHTML,\n };\n registerHTMLTagToWhitelist(rendererOptions.customHTMLRenderer);\n if (this.options.events) {\n forEachOwnProperties_1(this.options.events, function (fn, key) {\n _this.on(key, fn);\n });\n }\n var _c = this.options, el = _c.el, initialValue = _c.initialValue, theme = _c.theme;\n var existingHTML = el.innerHTML;\n if (theme !== 'light') {\n el.classList.add(cls(theme));\n }\n el.innerHTML = '';\n this.toastMark = new ToastMark('', {\n disallowedHtmlBlockTags: ['br', 'img'],\n extendedAutolinks: extendedAutolinks,\n referenceDefinition: referenceDefinition,\n disallowDeepHeading: true,\n frontMatter: frontMatter,\n customParser: markdownParsers,\n });\n this.preview = new MarkdownPreview(this.eventEmitter, __assign$1(__assign$1({}, rendererOptions), { isViewer: true }));\n on_1(this.preview.previewContent, 'mousedown', this.toggleTask.bind(this));\n if (initialValue) {\n this.setMarkdown(initialValue);\n }\n else if (existingHTML) {\n this.preview.setHTML(existingHTML);\n }\n el.appendChild(this.preview.previewContent);\n this.eventEmitter.emit('load', this);\n }\n /**\n * Toggle task by detecting mousedown event.\n * @param {MouseEvent} ev - event\n * @private\n */\n ToastUIEditorViewer.prototype.toggleTask = function (ev) {\n var element = ev.target;\n var style = getComputedStyle(element, ':before');\n if (!element.hasAttribute(DISABLED_TASK_ATTR_NAME) &&\n element.hasAttribute(TASK_ATTR_NAME) &&\n isPositionInBox(style, ev.offsetX, ev.offsetY)) {\n toggleClass(element, TASK_CHECKED_CLASS_NAME);\n this.eventEmitter.emit('change', {\n source: 'viewer',\n date: ev,\n });\n }\n };\n /**\n * Set content for preview\n * @param {string} markdown Markdown text\n */\n ToastUIEditorViewer.prototype.setMarkdown = function (markdown) {\n var lineTexts = this.toastMark.getLineTexts();\n var length = lineTexts.length;\n var lastLine = last$1(lineTexts);\n var endSourcepos = [length, lastLine.length + 1];\n var editResult = this.toastMark.editMarkdown([1, 1], endSourcepos, markdown || '');\n this.eventEmitter.emit('updatePreview', editResult);\n };\n /**\n * Bind eventHandler to event type\n * @param {string} type Event type\n * @param {function} handler Event handler\n */\n ToastUIEditorViewer.prototype.on = function (type, handler) {\n this.eventEmitter.listen(type, handler);\n };\n /**\n * Unbind eventHandler from event type\n * @param {string} type Event type\n */\n ToastUIEditorViewer.prototype.off = function (type) {\n this.eventEmitter.removeEventHandler(type);\n };\n /**\n * Add hook to TUIEditor event\n * @param {string} type Event type\n * @param {function} handler Event handler\n */\n ToastUIEditorViewer.prototype.addHook = function (type, handler) {\n this.eventEmitter.removeEventHandler(type);\n this.eventEmitter.listen(type, handler);\n };\n /**\n * Remove Viewer preview from document\n */\n ToastUIEditorViewer.prototype.destroy = function () {\n off_1(this.preview.el, 'mousedown', this.toggleTask.bind(this));\n this.preview.destroy();\n this.eventEmitter.emit('destroy');\n };\n /**\n * Return true\n * @returns {boolean}\n */\n ToastUIEditorViewer.prototype.isViewer = function () {\n return true;\n };\n /**\n * Return false\n * @returns {boolean}\n */\n ToastUIEditorViewer.prototype.isMarkdownMode = function () {\n return false;\n };\n /**\n * Return false\n * @returns {boolean}\n */\n ToastUIEditorViewer.prototype.isWysiwygMode = function () {\n return false;\n };\n return ToastUIEditorViewer;\n}());\n\nfunction isPmNode(node) {\n return node instanceof prosemirror_model__WEBPACK_IMPORTED_MODULE_0__[\"Node\"];\n}\nfunction isContainer(type) {\n var containerTypes = [\n 'document',\n 'blockQuote',\n 'bulletList',\n 'orderedList',\n 'listItem',\n 'paragraph',\n 'heading',\n 'emph',\n 'strong',\n 'strike',\n 'link',\n 'image',\n 'table',\n 'tableHead',\n 'tableBody',\n 'tableRow',\n 'tableHeadCell',\n 'tableBodyCell',\n ];\n return includes(containerTypes, type);\n}\nfunction createMdLikeNode(node) {\n var attrs = node.attrs, type = node.type;\n var nodeType = type.name;\n var mdLikeNode = {\n type: nodeType,\n wysiwygNode: true,\n literal: !isContainer(nodeType) && isPmNode(node) ? node.textContent : null,\n };\n var nodeTypeMap = {\n heading: { level: attrs.level },\n link: { destination: attrs.linkUrl, title: attrs.title },\n image: { destination: attrs.imageUrl },\n codeBlock: { info: attrs.language },\n bulletList: { type: 'list', listData: { type: 'bullet' } },\n orderedList: { type: 'list', listData: { type: 'ordered', start: attrs.order } },\n listItem: { type: 'item', listData: { task: attrs.task, checked: attrs.checked } },\n tableHeadCell: { type: 'tableCell', cellType: 'head', align: attrs.align },\n tableBodyCell: { type: 'tableCell', cellType: 'body', align: attrs.align },\n customBlock: { info: attrs.info },\n };\n var nodeInfo = nodeTypeMap[nodeType];\n var attributes = __assign$1(__assign$1({}, mdLikeNode), nodeInfo);\n // html block, inline node\n var _a = node.attrs, htmlAttrs = _a.htmlAttrs, childrenHTML = _a.childrenHTML;\n if (htmlAttrs) {\n return __assign$1(__assign$1({}, attributes), { attrs: htmlAttrs, childrenHTML: childrenHTML });\n }\n return attributes;\n}\n\nvar tokenToDOMNode = {\n openTag: function (token, stack) {\n var _a = token, tagName = _a.tagName, classNames = _a.classNames, attributes = _a.attributes;\n var el = document.createElement(tagName);\n var attrs = {};\n if (classNames) {\n el.className = classNames.join(' ');\n }\n if (attributes) {\n attrs = __assign$1(__assign$1({}, attrs), attributes);\n }\n setAttributes(attrs, el);\n stack.push(el);\n },\n closeTag: function (_, stack) {\n if (stack.length > 1) {\n var el = stack.pop();\n last$1(stack).appendChild(el);\n }\n },\n html: function (token, stack) {\n last$1(stack).insertAdjacentHTML('beforeend', token.content);\n },\n text: function (token, stack) {\n var textNode = document.createTextNode(token.content);\n last$1(stack).appendChild(textNode);\n },\n};\nvar WwToDOMAdaptor = /** @class */ (function () {\n function WwToDOMAdaptor(linkAttributes, customRenderer) {\n var convertors = getHTMLRenderConvertors(linkAttributes, customRenderer);\n var customHTMLConvertor = __assign$1(__assign$1({}, customRenderer.htmlBlock), customRenderer.htmlInline);\n // flatten the html block, inline convertor to other custom convertors\n this.customConvertorKeys = Object.keys(customRenderer).concat(Object.keys(customHTMLConvertor));\n this.renderer = new Renderer({\n gfm: true,\n convertors: __assign$1(__assign$1({}, convertors), customHTMLConvertor),\n });\n this.convertors = this.renderer.getConvertors();\n }\n WwToDOMAdaptor.prototype.generateTokens = function (node) {\n var mdLikeNode = createMdLikeNode(node);\n var context = {\n entering: true,\n leaf: isPmNode(node) ? node.isLeaf : false,\n options: this.renderer.getOptions(),\n getChildrenText: function () { return (isPmNode(node) ? node.textContent : ''); },\n skipChildren: function () { return false; },\n };\n var convertor = this.convertors[node.type.name];\n var converted = convertor(mdLikeNode, context, this.convertors);\n var tokens = isArray_1(converted) ? converted : [converted];\n if (isContainer(node.type.name) || node.attrs.htmlInline) {\n context.entering = false;\n tokens.push({ type: 'text', content: isPmNode(node) ? node.textContent : '' });\n tokens = tokens.concat(convertor(mdLikeNode, context, this.convertors));\n }\n return tokens;\n };\n WwToDOMAdaptor.prototype.toDOMNode = function (node) {\n var tokens = this.generateTokens(node);\n var stack = [];\n tokens.forEach(function (token) { return tokenToDOMNode[token.type](token, stack); });\n return stack[0];\n };\n WwToDOMAdaptor.prototype.getToDOMNode = function (name) {\n if (includes(this.customConvertorKeys, name)) {\n return this.toDOMNode.bind(this);\n }\n return null;\n };\n return WwToDOMAdaptor;\n}());\n\nvar ANIMATION_TIME = 100;\nvar SCROLL_BLOCKING_RESET_DELAY = 15;\nvar currentTimeoutId = null;\nvar releaseTimer = null;\nfunction run(deltaScrollTop, _a) {\n var syncScrollTop = _a.syncScrollTop, releaseEventBlock = _a.releaseEventBlock;\n if (releaseTimer) {\n clearTimeout(releaseTimer);\n }\n syncScrollTop(deltaScrollTop);\n releaseTimer = setTimeout(function () {\n releaseEventBlock();\n }, SCROLL_BLOCKING_RESET_DELAY);\n}\nfunction animate(curScrollTop, targetScrollTop, syncCallbacks) {\n var diff = targetScrollTop - curScrollTop;\n var startTime = Date.now();\n var step = function () {\n var stepTime = Date.now();\n var progress = (stepTime - startTime) / ANIMATION_TIME;\n var deltaValue;\n if (currentTimeoutId) {\n clearTimeout(currentTimeoutId);\n }\n if (progress < 1) {\n deltaValue = curScrollTop + diff * Math.cos(((1 - progress) * Math.PI) / 2);\n run(Math.ceil(deltaValue), syncCallbacks);\n currentTimeoutId = setTimeout(step, 1);\n }\n else {\n run(targetScrollTop, syncCallbacks);\n currentTimeoutId = null;\n }\n };\n step();\n}\n\nvar EDITOR_BOTTOM_PADDING = 18;\nvar ScrollSync = /** @class */ (function () {\n function ScrollSync(mdEditor, preview, eventEmitter) {\n this.latestEditorScrollTop = null;\n this.latestPreviewScrollTop = null;\n this.blockedScroll = null;\n this.active = true;\n this.timer = null;\n var previewRoot = preview.previewContent, previewEl = preview.el;\n this.previewRoot = previewRoot;\n this.previewEl = previewEl;\n this.mdEditor = mdEditor;\n this.editorView = mdEditor.view;\n this.toastMark = mdEditor.getToastMark();\n this.eventEmitter = eventEmitter;\n this.addScrollSyncEvent();\n }\n ScrollSync.prototype.addScrollSyncEvent = function () {\n var _this = this;\n this.eventEmitter.listen('afterPreviewRender', function () {\n _this.clearTimer();\n // Immediately after the 'afterPreviewRender' event has occurred,\n // browser rendering is not yet complete.\n // So the size of elements can not be accurately measured.\n _this.timer = setTimeout(function () {\n _this.syncPreviewScrollTop(true);\n }, 200);\n });\n this.eventEmitter.listen('scroll', function (type, data) {\n if (_this.active) {\n if (type === 'editor' && _this.blockedScroll !== 'editor') {\n _this.syncPreviewScrollTop();\n }\n else if (type === 'preview' && _this.blockedScroll !== 'preview') {\n _this.syncEditorScrollTop(data);\n }\n }\n });\n this.eventEmitter.listen('toggleScrollSync', function (active) {\n _this.active = active;\n });\n };\n ScrollSync.prototype.getMdNodeAtPos = function (doc, posInfo) {\n var indexInfo = doc.content.findIndex(posInfo.pos);\n var line = indexInfo.index;\n return this.toastMark.findFirstNodeAtLine(line + 1);\n };\n ScrollSync.prototype.getScrollTopByCaretPos = function () {\n var pos = this.mdEditor.getSelection();\n var firstMdNode = this.toastMark.findFirstNodeAtLine(pos[0][0]);\n var previewHeight = this.previewEl.clientHeight;\n var el = getParentNodeObj(this.previewRoot, firstMdNode).el;\n var totalOffsetTop = getTotalOffsetTop(el, this.previewRoot) || el.offsetTop;\n var nodeHeight = el.clientHeight;\n // multiply 0.5 for calculating the position in the middle of preview area\n var targetScrollTop = totalOffsetTop + nodeHeight - previewHeight * 0.5;\n this.latestEditorScrollTop = null;\n var diff = el.getBoundingClientRect().top - this.previewEl.getBoundingClientRect().top;\n return diff < previewHeight ? null : targetScrollTop;\n };\n ScrollSync.prototype.syncPreviewScrollTop = function (editing) {\n if (editing === void 0) { editing = false; }\n var _a = this, editorView = _a.editorView, previewEl = _a.previewEl, previewRoot = _a.previewRoot;\n var _b = editorView.dom.getBoundingClientRect(), left = _b.left, top = _b.top;\n var posInfo = editorView.posAtCoords({ left: left, top: top });\n var doc = editorView.state.doc;\n var firstMdNode = this.getMdNodeAtPos(doc, posInfo);\n if (!firstMdNode || isHTMLNode(firstMdNode)) {\n return;\n }\n var curScrollTop = previewEl.scrollTop;\n var _c = editorView.dom, scrollTop = _c.scrollTop, scrollHeight = _c.scrollHeight, clientHeight = _c.clientHeight, children = _c.children;\n var isBottomPos = scrollHeight - scrollTop <= clientHeight + EDITOR_BOTTOM_PADDING;\n var targetScrollTop = isBottomPos ? previewEl.scrollHeight : 0;\n if (scrollTop && !isBottomPos) {\n if (editing) {\n var scrollTopByEditing = this.getScrollTopByCaretPos();\n if (!scrollTopByEditing) {\n return;\n }\n targetScrollTop = scrollTopByEditing;\n }\n else {\n var _d = getParentNodeObj(this.previewRoot, firstMdNode), el = _d.el, mdNode = _d.mdNode;\n var _e = getEditorRangeHeightInfo(doc, mdNode, children), height = _e.height, rect = _e.rect;\n var totalOffsetTop = getTotalOffsetTop(el, previewRoot) || el.offsetTop;\n var nodeHeight = el.clientHeight;\n var ratio = top > rect.top ? Math.min((top - rect.top) / height, 1) : 0;\n targetScrollTop = totalOffsetTop + nodeHeight * ratio;\n }\n targetScrollTop = this.getResolvedScrollTop('editor', scrollTop, targetScrollTop, curScrollTop);\n this.latestEditorScrollTop = scrollTop;\n }\n if (targetScrollTop !== curScrollTop) {\n this.run('editor', targetScrollTop, curScrollTop);\n }\n };\n ScrollSync.prototype.syncEditorScrollTop = function (targetNode) {\n var _a = this, toastMark = _a.toastMark, editorView = _a.editorView, previewRoot = _a.previewRoot, previewEl = _a.previewEl;\n var dom = editorView.dom, state = editorView.state;\n var scrollTop = previewEl.scrollTop, clientHeight = previewEl.clientHeight, scrollHeight = previewEl.scrollHeight;\n var isBottomPos = scrollHeight - scrollTop <= clientHeight;\n var curScrollTop = dom.scrollTop;\n var targetScrollTop = isBottomPos ? dom.scrollHeight : 0;\n if (scrollTop && targetNode && !isBottomPos) {\n targetNode = findAncestorHavingId(targetNode, previewRoot);\n if (!targetNode.getAttribute('data-nodeid')) {\n return;\n }\n var children = dom.children;\n var mdNodeId = Number(targetNode.getAttribute('data-nodeid'));\n var _b = getParentNodeObj(this.previewRoot, toastMark.findNodeById(mdNodeId)), mdNode = _b.mdNode, el = _b.el;\n var mdNodeStartLine = getMdStartLine(mdNode);\n targetScrollTop = children[mdNodeStartLine - 1].offsetTop;\n var height = getEditorRangeHeightInfo(state.doc, mdNode, children).height;\n var _c = getAndSaveOffsetInfo(el, previewRoot, mdNodeId), nodeHeight = _c.nodeHeight, offsetTop = _c.offsetTop;\n targetScrollTop += getAdditionalPos(scrollTop, offsetTop, nodeHeight, height);\n targetScrollTop = this.getResolvedScrollTop('preview', scrollTop, targetScrollTop, curScrollTop);\n this.latestPreviewScrollTop = scrollTop;\n }\n if (targetScrollTop !== curScrollTop) {\n this.run('preview', targetScrollTop, curScrollTop);\n }\n };\n ScrollSync.prototype.getResolvedScrollTop = function (from, scrollTop, targetScrollTop, curScrollTop) {\n var latestScrollTop = from === 'editor' ? this.latestEditorScrollTop : this.latestPreviewScrollTop;\n if (latestScrollTop === null) {\n return targetScrollTop;\n }\n return latestScrollTop < scrollTop\n ? Math.max(targetScrollTop, curScrollTop)\n : Math.min(targetScrollTop, curScrollTop);\n };\n ScrollSync.prototype.run = function (from, targetScrollTop, curScrollTop) {\n var _this = this;\n var scrollTarget;\n if (from === 'editor') {\n scrollTarget = this.previewEl;\n this.blockedScroll = 'preview';\n }\n else {\n scrollTarget = this.editorView.dom;\n this.blockedScroll = 'editor';\n }\n var syncCallbacks = {\n syncScrollTop: function (scrollTop) { return (scrollTarget.scrollTop = scrollTop); },\n releaseEventBlock: function () { return (_this.blockedScroll = null); },\n };\n animate(curScrollTop, targetScrollTop, syncCallbacks);\n };\n ScrollSync.prototype.clearTimer = function () {\n if (this.timer) {\n clearTimeout(this.timer);\n this.timer = null;\n }\n };\n ScrollSync.prototype.destroy = function () {\n this.clearTimer();\n this.eventEmitter.removeEventHandler('scroll');\n this.eventEmitter.removeEventHandler('afterPreviewRender');\n };\n return ScrollSync;\n}());\n\nvar queryMap = {\n getPopupInitialValues: function (editor, payload) {\n var popupName = payload.popupName;\n return popupName === 'link' ? { linkText: editor.getSelectedText() } : {};\n },\n};\nfunction buildQuery(editor) {\n editor.eventEmitter.listen('query', function (query, payload) {\n return queryMap[query](editor, payload);\n });\n}\n\n/**\n * ToastUIEditorCore\n * @param {Object} options Option object\n * @param {HTMLElement} options.el - container element\n * @param {string} [options.height='300px'] - Editor's height style value. Height is applied as border-box ex) '300px', '100%', 'auto'\n * @param {string} [options.minHeight='200px'] - Editor's min-height style value in pixel ex) '300px'\n * @param {string} [options.initialValue] - Editor's initial value\n * @param {string} [options.previewStyle] - Markdown editor's preview style (tab, vertical)\n * @param {boolean} [options.previewHighlight = true] - Highlight a preview element corresponds to the cursor position in the markdown editor\n * @param {string} [options.initialEditType] - Initial editor type (markdown, wysiwyg)\n * @param {Object} [options.events] - Events\n * @param {function} [options.events.load] - It would be emitted when editor fully load\n * @param {function} [options.events.change] - It would be emitted when content changed\n * @param {function} [options.events.caretChange] - It would be emitted when format change by cursor position\n * @param {function} [options.events.focus] - It would be emitted when editor get focus\n * @param {function} [options.events.blur] - It would be emitted when editor loose focus\n * @param {function} [options.events.keydown] - It would be emitted when the key is pressed in editor\n * @param {function} [options.events.keyup] - It would be emitted when the key is released in editor\n * @param {function} [options.events.beforePreviewRender] - It would be emitted before rendering the markdown preview with html string\n * @param {function} [options.events.beforeConvertWysiwygToMarkdown] - It would be emitted before converting wysiwyg to markdown with markdown text\n * @param {Object} [options.hooks] - Hooks\n * @param {addImageBlobHook} [options.hooks.addImageBlobHook] - hook for image upload\n * @param {string} [options.language='en-US'] - language\n * @param {boolean} [options.useCommandShortcut=true] - whether use keyboard shortcuts to perform commands\n * @param {boolean} [options.usageStatistics=true] - send hostname to google analytics\n * @param {Array.} [options.toolbarItems] - toolbar items.\n * @param {boolean} [options.hideModeSwitch=false] - hide mode switch tab bar\n * @param {Array.} [options.plugins] - Array of plugins. A plugin can be either a function or an array in the form of [function, options].\n * @param {Object} [options.extendedAutolinks] - Using extended Autolinks specified in GFM spec\n * @param {string} [options.placeholder] - The placeholder text of the editable element.\n * @param {Object} [options.linkAttributes] - Attributes of anchor element that should be rel, target, hreflang, type\n * @param {Object} [options.customHTMLRenderer=null] - Object containing custom renderer functions correspond to change markdown node to preview HTML or wysiwyg node\n * @param {Object} [options.customMarkdownRenderer=null] - Object containing custom renderer functions correspond to change wysiwyg node to markdown text\n * @param {boolean} [options.referenceDefinition=false] - whether use the specification of link reference definition\n * @param {function} [options.customHTMLSanitizer=null] - custom HTML sanitizer\n * @param {boolean} [options.previewHighlight=false] - whether highlight preview area\n * @param {boolean} [options.frontMatter=false] - whether use the front matter\n * @param {Array.