{"version":3,"file":"js/application-bf131aa5d8eff78a5bad.js","sources":["webpack:///webpack/bootstrap","webpack:///./app/javascript/active_storage/direct_uploads.js","webpack:///./app/javascript/channels sync _channel\\.js$","webpack:///./app/javascript/channels/index.js","webpack:///./app/javascript/packs/application.js","webpack:///./app/javascript/stylesheets/application.scss?b7c6","webpack:///./app/javascript/stylesheets/direct_uploads.css?3881","webpack:///./node_modules/@babel/runtime/regenerator/index.js","webpack:///./node_modules/@ckeditor/ckeditor5-build-classic/build/ckeditor.js","webpack:///./node_modules/@nathanvda/cocoon/cocoon.js","webpack:///./node_modules/@rails/actiontext/app/javascript/actiontext/attachment_upload.js","webpack:///./node_modules/@rails/actiontext/app/javascript/actiontext/index.js","webpack:///./node_modules/@rails/actiontext/node_modules/@rails/activestorage/app/assets/javascripts/activestorage.js","webpack:///./node_modules/@rails/activestorage/app/assets/javascripts/activestorage.js","webpack:///./node_modules/@rails/ujs/lib/assets/compiled/rails-ujs.js","webpack:///./app/javascript/stylesheets/direct_uploads.css","webpack:///./app/javascript/stylesheets/application.scss","webpack:///./node_modules/select2/dist/css/select2.css","webpack:///./node_modules/css-loader/dist/runtime/api.js","webpack:///./node_modules/jquery/dist/jquery.js","webpack:///./node_modules/jquery/external/sizzle/dist/sizzle.js","webpack:///./node_modules/jquery/src/ajax.js","webpack:///./node_modules/jquery/src/ajax/jsonp.js","webpack:///./node_modules/jquery/src/ajax/load.js","webpack:///./node_modules/jquery/src/ajax/script.js","webpack:///./node_modules/jquery/src/ajax/var/location.js","webpack:///./node_modules/jquery/src/ajax/var/nonce.js","webpack:///./node_modules/jquery/src/ajax/var/rquery.js","webpack:///./node_modules/jquery/src/ajax/xhr.js","webpack:///./node_modules/jquery/src/attributes.js","webpack:///./node_modules/jquery/src/attributes/attr.js","webpack:///./node_modules/jquery/src/attributes/classes.js","webpack:///./node_modules/jquery/src/attributes/prop.js","webpack:///./node_modules/jquery/src/attributes/support.js","webpack:///./node_modules/jquery/src/attributes/val.js","webpack:///./node_modules/jquery/src/callbacks.js","webpack:///./node_modules/jquery/src/core.js","webpack:///./node_modules/jquery/src/core/DOMEval.js","webpack:///./node_modules/jquery/src/core/access.js","webpack:///./node_modules/jquery/src/core/camelCase.js","webpack:///./node_modules/jquery/src/core/init.js","webpack:///./node_modules/jquery/src/core/isAttached.js","webpack:///./node_modules/jquery/src/core/nodeName.js","webpack:///./node_modules/jquery/src/core/parseHTML.js","webpack:///./node_modules/jquery/src/core/parseXML.js","webpack:///./node_modules/jquery/src/core/ready.js","webpack:///./node_modules/jquery/src/core/readyException.js","webpack:///./node_modules/jquery/src/core/stripAndCollapse.js","webpack:///./node_modules/jquery/src/core/support.js","webpack:///./node_modules/jquery/src/core/toType.js","webpack:///./node_modules/jquery/src/core/var/rsingleTag.js","webpack:///./node_modules/jquery/src/css.js","webpack:///./node_modules/jquery/src/css/addGetHookIf.js","webpack:///./node_modules/jquery/src/css/adjustCSS.js","webpack:///./node_modules/jquery/src/css/curCSS.js","webpack:///./node_modules/jquery/src/css/finalPropName.js","webpack:///./node_modules/jquery/src/css/hiddenVisibleSelectors.js","webpack:///./node_modules/jquery/src/css/showHide.js","webpack:///./node_modules/jquery/src/css/support.js","webpack:///./node_modules/jquery/src/css/var/cssExpand.js","webpack:///./node_modules/jquery/src/css/var/getStyles.js","webpack:///./node_modules/jquery/src/css/var/isHiddenWithinTree.js","webpack:///./node_modules/jquery/src/css/var/rboxStyle.js","webpack:///./node_modules/jquery/src/css/var/rnumnonpx.js","webpack:///./node_modules/jquery/src/css/var/swap.js","webpack:///./node_modules/jquery/src/data.js","webpack:///./node_modules/jquery/src/data/Data.js","webpack:///./node_modules/jquery/src/data/var/acceptData.js","webpack:///./node_modules/jquery/src/data/var/dataPriv.js","webpack:///./node_modules/jquery/src/data/var/dataUser.js","webpack:///./node_modules/jquery/src/deferred.js","webpack:///./node_modules/jquery/src/deferred/exceptionHook.js","webpack:///./node_modules/jquery/src/deprecated.js","webpack:///./node_modules/jquery/src/deprecated/ajax-event-alias.js","webpack:///./node_modules/jquery/src/deprecated/event.js","webpack:///./node_modules/jquery/src/dimensions.js","webpack:///./node_modules/jquery/src/effects.js","webpack:///./node_modules/jquery/src/effects/Tween.js","webpack:///./node_modules/jquery/src/effects/animatedSelector.js","webpack:///./node_modules/jquery/src/event.js","webpack:///./node_modules/jquery/src/event/focusin.js","webpack:///./node_modules/jquery/src/event/support.js","webpack:///./node_modules/jquery/src/event/trigger.js","webpack:///./node_modules/jquery/src/exports/amd.js","webpack:///./node_modules/jquery/src/exports/global.js","webpack:///./node_modules/jquery/src/jquery.js","webpack:///./node_modules/jquery/src/manipulation.js","webpack:///./node_modules/jquery/src/manipulation/_evalUrl.js","webpack:///./node_modules/jquery/src/manipulation/buildFragment.js","webpack:///./node_modules/jquery/src/manipulation/getAll.js","webpack:///./node_modules/jquery/src/manipulation/setGlobalEval.js","webpack:///./node_modules/jquery/src/manipulation/support.js","webpack:///./node_modules/jquery/src/manipulation/var/rscriptType.js","webpack:///./node_modules/jquery/src/manipulation/var/rtagName.js","webpack:///./node_modules/jquery/src/manipulation/wrapMap.js","webpack:///./node_modules/jquery/src/offset.js","webpack:///./node_modules/jquery/src/queue.js","webpack:///./node_modules/jquery/src/queue/delay.js","webpack:///./node_modules/jquery/src/selector-sizzle.js","webpack:///./node_modules/jquery/src/selector.js","webpack:///./node_modules/jquery/src/serialize.js","webpack:///./node_modules/jquery/src/traversing.js","webpack:///./node_modules/jquery/src/traversing/findFilter.js","webpack:///./node_modules/jquery/src/traversing/var/dir.js","webpack:///./node_modules/jquery/src/traversing/var/rneedsContext.js","webpack:///./node_modules/jquery/src/traversing/var/siblings.js","webpack:///./node_modules/jquery/src/var/ObjectFunctionString.js","webpack:///./node_modules/jquery/src/var/arr.js","webpack:///./node_modules/jquery/src/var/class2type.js","webpack:///./node_modules/jquery/src/var/document.js","webpack:///./node_modules/jquery/src/var/documentElement.js","webpack:///./node_modules/jquery/src/var/flat.js","webpack:///./node_modules/jquery/src/var/fnToString.js","webpack:///./node_modules/jquery/src/var/getProto.js","webpack:///./node_modules/jquery/src/var/hasOwn.js","webpack:///./node_modules/jquery/src/var/indexOf.js","webpack:///./node_modules/jquery/src/var/isFunction.js","webpack:///./node_modules/jquery/src/var/isWindow.js","webpack:///./node_modules/jquery/src/var/pnum.js","webpack:///./node_modules/jquery/src/var/push.js","webpack:///./node_modules/jquery/src/var/rcheckableType.js","webpack:///./node_modules/jquery/src/var/rcssNum.js","webpack:///./node_modules/jquery/src/var/rnothtmlwhite.js","webpack:///./node_modules/jquery/src/var/slice.js","webpack:///./node_modules/jquery/src/var/support.js","webpack:///./node_modules/jquery/src/var/toString.js","webpack:///./node_modules/jquery/src/wrap.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/regenerator-runtime/runtime.js","webpack:///./node_modules/select2/dist/css/select2.css?9813","webpack:///./node_modules/select2/dist/js/select2.js","webpack:///./node_modules/setimmediate/setImmediate.js","webpack:///./node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack:///./node_modules/textfit/textFit.js","webpack:///./node_modules/timers-browserify/main.js","webpack:///./node_modules/trix/dist/trix.js","webpack:///(webpack)/buildin/amd-options.js","webpack:///(webpack)/buildin/global.js","webpack:///(webpack)/buildin/harmony-module.js","webpack:///(webpack)/buildin/module.js"],"sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = \"./app/javascript/packs/application.js\");\n","addEventListener(\"direct-upload:initialize\", event => {\r\n const { target, detail } = event\r\n const { id, file } = detail\r\n target.insertAdjacentHTML(\"beforebegin\", `\r\n
\").replace(/\\r?\\n/g, \"
\").replace(/^\\s/, \" \").replace(/\\s$/, \" \").replace(/\\s\\s/g, \" \")).includes(\"
\") || r.includes(\"
\")) && (r = \"
\".concat(r, \"
\")), o = r), o = _this125._htmlDataProcessor.toView(o);\n var s = new cn(_this125, \"inputTransformation\");\n _this125.fire(s, {\n content: o,\n dataTransfer: i,\n asPlainText: e.asPlainText\n }), s.stop.called && t.stop(), n.scrollToTheSelection();\n }, {\n priority: \"low\"\n }), this.listenTo(this, \"inputTransformation\", function (n, i) {\n if (!i.content.isEmpty) {\n var _o73 = _this125.editor.data,\n _r29 = _this125.editor.model,\n _s23 = _o73.toModel(i.content, \"$clipboardHolder\");\n\n if (0 == _s23.childCount) return;\n\n if (i.asPlainText || function (t) {\n if (t.childCount > 1) return !1;\n return 0 == _toConsumableArray(t.getChild(0).getAttributeKeys()).length;\n }(_s23)) {\n var _n179 = new Map(Array.from(e.selection.getAttributes()).filter(function (e) {\n return t.model.schema.getAttributeProperties(e[0]).isFormatting;\n }));\n\n _r29.change(function (t) {\n var e = t.createRangeIn(_s23);\n\n var _iterator288 = _createForOfIteratorHelper(e.getItems()),\n _step288;\n\n try {\n for (_iterator288.s(); !(_step288 = _iterator288.n()).done;) {\n var _i138 = _step288.value;\n (_i138.is(\"$text\") || _i138.is(\"$textProxy\")) && t.setAttributes(_n179, _i138);\n }\n } catch (err) {\n _iterator288.e(err);\n } finally {\n _iterator288.f();\n }\n });\n }\n\n _r29.insertContent(_s23), n.stop();\n }\n }, {\n priority: \"low\"\n }), this.listenTo(i, \"copy\", o, {\n priority: \"low\"\n }), this.listenTo(i, \"cut\", function (e, n) {\n t.isReadOnly ? n.preventDefault() : o(e, n);\n }, {\n priority: \"low\"\n }), this.listenTo(i, \"clipboardOutput\", function (n, i) {\n i.content.isEmpty || (i.dataTransfer.setData(\"text/html\", _this125._htmlDataProcessor.toData(i.content)), i.dataTransfer.setData(\"text/plain\", function t(e) {\n var n = \"\";\n if (e.is(\"$text\") || e.is(\"$textProxy\")) n = e.data;else if (e.is(\"element\", \"img\") && e.hasAttribute(\"alt\")) n = e.getAttribute(\"alt\");else if (e.is(\"element\", \"br\")) n = \"\\n\";else {\n var _i139 = null;\n\n var _iterator289 = _createForOfIteratorHelper(e.getChildren()),\n _step289;\n\n try {\n for (_iterator289.s(); !(_step289 = _iterator289.n()).done;) {\n var _o74 = _step289.value;\n\n var _e202 = t(_o74);\n\n _i139 && (_i139.is(\"containerElement\") || _o74.is(\"containerElement\")) && (fd.includes(_i139.name) || fd.includes(_o74.name) ? n += \"\\n\" : n += \"\\n\\n\"), n += _e202, _i139 = _o74;\n }\n } catch (err) {\n _iterator289.e(err);\n } finally {\n _iterator289.f();\n }\n }\n return n;\n }(i.content))), \"cut\" == i.method && t.model.deleteContent(e.selection);\n }, {\n priority: \"low\"\n });\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"Clipboard\";\n }\n }, {\n key: \"requires\",\n get: function get() {\n return [hd];\n }\n }]);\n\n return md;\n }(cd);\n\n var gd = /*#__PURE__*/function () {\n function gd(t) {\n var _this126 = this;\n\n _classCallCheck(this, gd);\n\n this.editor = t, this.set(\"value\", void 0), this.set(\"isEnabled\", !1), this._disableStack = new Set(), this.decorate(\"execute\"), this.listenTo(this.editor.model.document, \"change\", function () {\n _this126.refresh();\n }), this.on(\"execute\", function (t) {\n _this126.isEnabled || t.stop();\n }, {\n priority: \"high\"\n }), this.listenTo(t, \"change:isReadOnly\", function (t, e, n) {\n n ? _this126.forceDisabled(\"readOnlyMode\") : _this126.clearForceDisabled(\"readOnlyMode\");\n });\n }\n\n _createClass(gd, [{\n key: \"refresh\",\n value: function refresh() {\n this.isEnabled = !0;\n }\n }, {\n key: \"forceDisabled\",\n value: function forceDisabled(t) {\n this._disableStack.add(t), 1 == this._disableStack.size && (this.on(\"set:isEnabled\", pd, {\n priority: \"highest\"\n }), this.isEnabled = !1);\n }\n }, {\n key: \"clearForceDisabled\",\n value: function clearForceDisabled(t) {\n this._disableStack[\"delete\"](t), 0 == this._disableStack.size && (this.off(\"set:isEnabled\", pd), this.refresh());\n }\n }, {\n key: \"execute\",\n value: function execute() {}\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.stopListening();\n }\n }]);\n\n return gd;\n }();\n\n function pd(t) {\n t[\"return\"] = !1, t.stop();\n }\n\n function bd(t, e) {\n var _iterator290, _step290, _n180;\n\n return _regeneratorRuntime.wrap(function bd$(_context37) {\n while (1) {\n switch (_context37.prev = _context37.next) {\n case 0:\n _iterator290 = _createForOfIteratorHelper(e);\n _context37.prev = 1;\n\n _iterator290.s();\n\n case 3:\n if ((_step290 = _iterator290.n()).done) {\n _context37.next = 11;\n break;\n }\n\n _n180 = _step290.value;\n _context37.t0 = _n180 && t.getAttributeProperties(_n180[0]).copyOnEnter;\n\n if (!_context37.t0) {\n _context37.next = 9;\n break;\n }\n\n _context37.next = 9;\n return _n180;\n\n case 9:\n _context37.next = 3;\n break;\n\n case 11:\n _context37.next = 16;\n break;\n\n case 13:\n _context37.prev = 13;\n _context37.t1 = _context37[\"catch\"](1);\n\n _iterator290.e(_context37.t1);\n\n case 16:\n _context37.prev = 16;\n\n _iterator290.f();\n\n return _context37.finish(16);\n\n case 19:\n case \"end\":\n return _context37.stop();\n }\n }\n }, _marked3, null, [[1, 13, 16, 19]]);\n }\n\n xn(gd, Ui);\n\n var wd = /*#__PURE__*/function (_gd) {\n _inherits(wd, _gd);\n\n var _super67 = _createSuper(wd);\n\n function wd() {\n _classCallCheck(this, wd);\n\n return _super67.apply(this, arguments);\n }\n\n _createClass(wd, [{\n key: \"execute\",\n value: function execute() {\n var _this127 = this;\n\n var t = this.editor.model,\n e = t.document;\n t.change(function (n) {\n !function (t, e, n, i) {\n var o = n.isCollapsed,\n r = n.getFirstRange(),\n s = r.start.parent,\n a = r.end.parent;\n if (i.isLimit(s) || i.isLimit(a)) return void (o || s != a || t.deleteContent(n));\n\n if (o) {\n var _t223 = bd(e.model.schema, n.getAttributes());\n\n kd(e, r.start), e.setSelectionAttribute(_t223);\n } else {\n var _i140 = !(r.start.isAtStart && r.end.isAtEnd),\n _o75 = s == a;\n\n t.deleteContent(n, {\n leaveUnmerged: _i140\n }), _i140 && (_o75 ? kd(e, n.focus) : e.setSelection(a, 0));\n }\n }(_this127.editor.model, n, e.selection, t.schema), _this127.fire(\"afterExecute\", {\n writer: n\n });\n });\n }\n }]);\n\n return wd;\n }(gd);\n\n function kd(t, e) {\n t.split(e), t.setSelection(e.parent.nextSibling, 0);\n }\n\n var _d = /*#__PURE__*/function (_pr5) {\n _inherits(_d, _pr5);\n\n var _super68 = _createSuper(_d);\n\n function _d(t) {\n var _this128;\n\n _classCallCheck(this, _d);\n\n _this128 = _super68.call(this, t);\n var e = _this128.document;\n e.on(\"keydown\", function (t, n) {\n if (_this128.isEnabled && n.keyCode == go.enter) {\n var _i141;\n\n e.once(\"enter\", function (t) {\n return _i141 = t;\n }, {\n priority: \"highest\"\n }), e.fire(\"enter\", new Lr(e, n.domEvent, {\n isSoft: n.shiftKey\n })), _i141 && _i141.stop.called && t.stop();\n }\n });\n return _this128;\n }\n\n _createClass(_d, [{\n key: \"observe\",\n value: function observe() {}\n }]);\n\n return _d;\n }(pr);\n\n var vd = /*#__PURE__*/function (_cd3) {\n _inherits(vd, _cd3);\n\n var _super69 = _createSuper(vd);\n\n function vd() {\n _classCallCheck(this, vd);\n\n return _super69.apply(this, arguments);\n }\n\n _createClass(vd, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = t.editing.view,\n n = e.document;\n e.addObserver(_d), t.commands.add(\"enter\", new wd(t)), this.listenTo(n, \"enter\", function (n, i) {\n i.preventDefault(), i.isSoft || (t.execute(\"enter\"), e.scrollToTheSelection());\n }, {\n priority: \"low\"\n });\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"Enter\";\n }\n }]);\n\n return vd;\n }(cd);\n\n var yd = /*#__PURE__*/function (_gd2) {\n _inherits(yd, _gd2);\n\n var _super70 = _createSuper(yd);\n\n function yd() {\n _classCallCheck(this, yd);\n\n return _super70.apply(this, arguments);\n }\n\n _createClass(yd, [{\n key: \"execute\",\n value: function execute() {\n var _this129 = this;\n\n var t = this.editor.model,\n e = t.document;\n t.change(function (n) {\n !function (t, e, n) {\n var i = n.isCollapsed,\n o = n.getFirstRange(),\n r = o.start.parent,\n s = o.end.parent,\n a = r == s;\n\n if (i) {\n var _i142 = bd(t.schema, n.getAttributes());\n\n xd(t, e, o.end), e.removeSelectionAttribute(n.getAttributeKeys()), e.setSelectionAttribute(_i142);\n } else {\n var _i143 = !(o.start.isAtStart && o.end.isAtEnd);\n\n t.deleteContent(n, {\n leaveUnmerged: _i143\n }), a ? xd(t, e, n.focus) : _i143 && e.setSelection(s, 0);\n }\n }(t, n, e.selection), _this129.fire(\"afterExecute\", {\n writer: n\n });\n });\n }\n }, {\n key: \"refresh\",\n value: function refresh() {\n var t = this.editor.model,\n e = t.document;\n\n this.isEnabled = function (t, e) {\n if (e.rangeCount > 1) return !1;\n var n = e.anchor;\n if (!n || !t.checkChild(n, \"softBreak\")) return !1;\n var i = e.getFirstRange(),\n o = i.start.parent,\n r = i.end.parent;\n if ((Ad(o, t) || Ad(r, t)) && o !== r) return !1;\n return !0;\n }(t.schema, e.selection);\n }\n }]);\n\n return yd;\n }(gd);\n\n function xd(t, e, n) {\n var i = e.createElement(\"softBreak\");\n t.insertContent(i, n), e.setSelection(i, \"after\");\n }\n\n function Ad(t, e) {\n return !t.is(\"rootElement\") && (e.isLimit(t) || Ad(t.parent, e));\n }\n\n var Cd = /*#__PURE__*/function (_cd4) {\n _inherits(Cd, _cd4);\n\n var _super71 = _createSuper(Cd);\n\n function Cd() {\n _classCallCheck(this, Cd);\n\n return _super71.apply(this, arguments);\n }\n\n _createClass(Cd, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = t.model.schema,\n n = t.conversion,\n i = t.editing.view,\n o = i.document;\n e.register(\"softBreak\", {\n allowWhere: \"$text\",\n isInline: !0\n }), n[\"for\"](\"upcast\").elementToElement({\n model: \"softBreak\",\n view: \"br\"\n }), n[\"for\"](\"downcast\").elementToElement({\n model: \"softBreak\",\n view: function view(t, _ref111) {\n var e = _ref111.writer;\n return e.createEmptyElement(\"br\");\n }\n }), i.addObserver(_d), t.commands.add(\"shiftEnter\", new yd(t)), this.listenTo(o, \"enter\", function (e, n) {\n n.preventDefault(), n.isSoft && (t.execute(\"shiftEnter\"), i.scrollToTheSelection());\n }, {\n priority: \"low\"\n });\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"ShiftEnter\";\n }\n }]);\n\n return Cd;\n }(cd);\n\n var Td = /*#__PURE__*/function (_gd3) {\n _inherits(Td, _gd3);\n\n var _super72 = _createSuper(Td);\n\n function Td() {\n _classCallCheck(this, Td);\n\n return _super72.apply(this, arguments);\n }\n\n _createClass(Td, [{\n key: \"execute\",\n value: function execute() {\n var t = this.editor.model,\n e = t.document.selection;\n var n = t.schema.getLimitElement(e);\n if (e.containsEntireContent(n) || !Pd(t.schema, n)) do {\n if (n = n.parent, !n) return;\n } while (!Pd(t.schema, n));\n t.change(function (t) {\n t.setSelection(n, \"in\");\n });\n }\n }]);\n\n return Td;\n }(gd);\n\n function Pd(t, e) {\n return t.isLimit(e) && (t.checkChild(e, \"$text\") || t.checkChild(e, \"paragraph\"));\n }\n\n var Sd = bo(\"Ctrl+A\");\n\n var Ed = /*#__PURE__*/function (_cd5) {\n _inherits(Ed, _cd5);\n\n var _super73 = _createSuper(Ed);\n\n function Ed() {\n _classCallCheck(this, Ed);\n\n return _super73.apply(this, arguments);\n }\n\n _createClass(Ed, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = t.editing.view.document;\n t.commands.add(\"selectAll\", new Td(t)), this.listenTo(e, \"keydown\", function (e, n) {\n po(n) === Sd && (t.execute(\"selectAll\"), n.preventDefault());\n });\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"SelectAllEditing\";\n }\n }]);\n\n return Ed;\n }(cd);\n\n var Md = /*#__PURE__*/function (_cd6) {\n _inherits(Md, _cd6);\n\n var _super74 = _createSuper(Md);\n\n function Md() {\n _classCallCheck(this, Md);\n\n return _super74.apply(this, arguments);\n }\n\n _createClass(Md, [{\n key: \"init\",\n value: function init() {\n var _this130 = this;\n\n var t = this.editor;\n t.ui.componentFactory.add(\"selectAll\", function (e) {\n var n = t.commands.get(\"selectAll\"),\n i = new $l(e),\n o = e.t;\n return i.set({\n label: o(\"Select all\"),\n icon: '',\n keystroke: \"Ctrl+A\",\n tooltip: !0\n }), i.bind(\"isOn\", \"isEnabled\").to(n, \"value\", \"isEnabled\"), _this130.listenTo(i, \"execute\", function () {\n t.execute(\"selectAll\"), t.editing.view.focus();\n }), i;\n });\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"SelectAllUI\";\n }\n }]);\n\n return Md;\n }(cd);\n\n var Id = /*#__PURE__*/function (_cd7) {\n _inherits(Id, _cd7);\n\n var _super75 = _createSuper(Id);\n\n function Id() {\n _classCallCheck(this, Id);\n\n return _super75.apply(this, arguments);\n }\n\n _createClass(Id, null, [{\n key: \"requires\",\n get: function get() {\n return [Ed, Md];\n }\n }, {\n key: \"pluginName\",\n get: function get() {\n return \"SelectAll\";\n }\n }]);\n\n return Id;\n }(cd);\n\n var Nd = /*#__PURE__*/function () {\n function Nd(t) {\n var _this131 = this;\n\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 20;\n\n _classCallCheck(this, Nd);\n\n this.model = t, this.size = 0, this.limit = e, this.isLocked = !1, this._changeCallback = function (t, e) {\n \"transparent\" != e.type && e !== _this131._batch && _this131._reset(!0);\n }, this._selectionChangeCallback = function () {\n _this131._reset();\n }, this.model.document.on(\"change\", this._changeCallback), this.model.document.selection.on(\"change:range\", this._selectionChangeCallback), this.model.document.selection.on(\"change:attribute\", this._selectionChangeCallback);\n }\n\n _createClass(Nd, [{\n key: \"input\",\n value: function input(t) {\n this.size += t, this.size >= this.limit && this._reset(!0);\n }\n }, {\n key: \"lock\",\n value: function lock() {\n this.isLocked = !0;\n }\n }, {\n key: \"unlock\",\n value: function unlock() {\n this.isLocked = !1;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this.model.document.off(\"change\", this._changeCallback), this.model.document.selection.off(\"change:range\", this._selectionChangeCallback), this.model.document.selection.off(\"change:attribute\", this._selectionChangeCallback);\n }\n }, {\n key: \"_reset\",\n value: function _reset(t) {\n this.isLocked && !t || (this._batch = null, this.size = 0);\n }\n }, {\n key: \"batch\",\n get: function get() {\n return this._batch || (this._batch = this.model.createBatch()), this._batch;\n }\n }]);\n\n return Nd;\n }();\n\n var Od = /*#__PURE__*/function (_gd4) {\n _inherits(Od, _gd4);\n\n var _super76 = _createSuper(Od);\n\n function Od(t, e) {\n var _this132;\n\n _classCallCheck(this, Od);\n\n _this132 = _super76.call(this, t), _this132._buffer = new Nd(t.model, e), _this132._batches = new WeakSet();\n return _this132;\n }\n\n _createClass(Od, [{\n key: \"destroy\",\n value: function destroy() {\n _get(_getPrototypeOf(Od.prototype), \"destroy\", this).call(this), this._buffer.destroy();\n }\n }, {\n key: \"execute\",\n value: function execute() {\n var _this133 = this;\n\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var e = this.editor.model,\n n = e.document,\n i = t.text || \"\",\n o = i.length,\n r = t.range ? e.createSelection(t.range) : n.selection,\n s = t.resultRange;\n e.enqueueChange(this._buffer.batch, function (t) {\n _this133._buffer.lock(), _this133._batches.add(_this133._buffer.batch), e.deleteContent(r), i && e.insertContent(t.createText(i, n.selection.getAttributes()), r), s ? t.setSelection(s) : r.is(\"documentSelection\") || t.setSelection(r), _this133._buffer.unlock(), _this133._buffer.input(o);\n });\n }\n }, {\n key: \"buffer\",\n get: function get() {\n return this._buffer;\n }\n }]);\n\n return Od;\n }(gd);\n\n var Rd = [po(\"arrowUp\"), po(\"arrowRight\"), po(\"arrowDown\"), po(\"arrowLeft\"), 9, 16, 17, 18, 19, 20, 27, 33, 34, 35, 36, 45, 91, 93, 144, 145, 173, 174, 175, 176, 177, 178, 179, 255];\n\n for (var _t224 = 112; _t224 <= 135; _t224++) {\n Rd.push(_t224);\n }\n\n function Dd(t) {\n return !!t.ctrlKey || Rd.includes(t.keyCode);\n }\n\n function Ld(t) {\n if (t.newChildren.length - t.oldChildren.length != 1) return;\n\n var e = function (t, e) {\n var n = [];\n var i,\n o = 0;\n return t.forEach(function (t) {\n \"equal\" == t ? (r(), o++) : \"insert\" == t ? (s(\"insert\") ? i.values.push(e[o]) : (r(), i = {\n type: \"insert\",\n index: o,\n values: [e[o]]\n }), o++) : s(\"delete\") ? i.howMany++ : (r(), i = {\n type: \"delete\",\n index: o,\n howMany: 1\n });\n }), r(), n;\n\n function r() {\n i && (n.push(i), i = null);\n }\n\n function s(t) {\n return i && i.type == t;\n }\n }(Qo(t.oldChildren, t.newChildren, Vd), t.newChildren);\n\n if (e.length > 1) return;\n var n = e[0];\n return n.values[0] && n.values[0].is(\"$text\") ? n : void 0;\n }\n\n function Vd(t, e) {\n return t && t.is(\"$text\") && e && e.is(\"$text\") ? t.data === e.data : t === e;\n }\n\n var jd = /*#__PURE__*/function () {\n function jd(t) {\n _classCallCheck(this, jd);\n\n this.editor = t, this.editing = this.editor.editing;\n }\n\n _createClass(jd, [{\n key: \"handle\",\n value: function handle(t, e) {\n if (function (t) {\n if (0 == t.length) return !1;\n\n var _iterator291 = _createForOfIteratorHelper(t),\n _step291;\n\n try {\n for (_iterator291.s(); !(_step291 = _iterator291.n()).done;) {\n var _e203 = _step291.value;\n if (\"children\" === _e203.type && !Ld(_e203)) return !0;\n }\n } catch (err) {\n _iterator291.e(err);\n } finally {\n _iterator291.f();\n }\n\n return !1;\n }(t)) this._handleContainerChildrenMutations(t, e);else {\n var _iterator292 = _createForOfIteratorHelper(t),\n _step292;\n\n try {\n for (_iterator292.s(); !(_step292 = _iterator292.n()).done;) {\n var _n181 = _step292.value;\n this._handleTextMutation(_n181, e), this._handleTextNodeInsertion(_n181);\n }\n } catch (err) {\n _iterator292.e(err);\n } finally {\n _iterator292.f();\n }\n }\n }\n }, {\n key: \"_handleContainerChildrenMutations\",\n value: function _handleContainerChildrenMutations(t, e) {\n var n = function (t) {\n var e = t.map(function (t) {\n return t.node;\n }).reduce(function (t, e) {\n return t.getCommonAncestor(e, {\n includeSelf: !0\n });\n });\n if (!e) return;\n return e.getAncestors({\n includeSelf: !0,\n parentFirst: !0\n }).find(function (t) {\n return t.is(\"containerElement\") || t.is(\"rootElement\");\n });\n }(t);\n\n if (!n) return;\n var i = this.editor.editing.view.domConverter.mapViewToDom(n),\n o = new cr(this.editor.editing.view.document),\n r = this.editor.data.toModel(o.domToView(i)).getChild(0),\n s = this.editor.editing.mapper.toModelElement(n);\n if (!s) return;\n var a = Array.from(r.getChildren()),\n c = Array.from(s.getChildren()),\n l = a[a.length - 1],\n d = c[c.length - 1],\n u = l && l.is(\"element\", \"softBreak\"),\n h = d && !d.is(\"element\", \"softBreak\");\n u && h && a.pop();\n var f = this.editor.model.schema;\n if (!zd(a, f) || !zd(c, f)) return;\n var m = a.map(function (t) {\n return t.is(\"$text\") ? t.data : \"@\";\n }).join(\"\").replace(/\\u00A0/g, \" \"),\n g = c.map(function (t) {\n return t.is(\"$text\") ? t.data : \"@\";\n }).join(\"\").replace(/\\u00A0/g, \" \");\n if (g === m) return;\n\n var p = Qo(g, m),\n _Bd = Bd(p),\n b = _Bd.firstChangeAt,\n w = _Bd.insertions,\n k = _Bd.deletions;\n\n var _ = null;\n e && (_ = this.editing.mapper.toModelRange(e.getFirstRange()));\n var v = m.substr(b, w),\n y = this.editor.model.createRange(this.editor.model.createPositionAt(s, b), this.editor.model.createPositionAt(s, b + k));\n this.editor.execute(\"input\", {\n text: v,\n range: y,\n resultRange: _\n });\n }\n }, {\n key: \"_handleTextMutation\",\n value: function _handleTextMutation(t, e) {\n if (\"text\" != t.type) return;\n var n = t.newText.replace(/\\u00A0/g, \" \"),\n i = t.oldText.replace(/\\u00A0/g, \" \");\n if (i === n) return;\n\n var o = Qo(i, n),\n _Bd2 = Bd(o),\n r = _Bd2.firstChangeAt,\n s = _Bd2.insertions,\n a = _Bd2.deletions;\n\n var c = null;\n e && (c = this.editing.mapper.toModelRange(e.getFirstRange()));\n var l = this.editing.view.createPositionAt(t.node, r),\n d = this.editing.mapper.toModelPosition(l),\n u = this.editor.model.createRange(d, d.getShiftedBy(a)),\n h = n.substr(r, s);\n this.editor.execute(\"input\", {\n text: h,\n range: u,\n resultRange: c\n });\n }\n }, {\n key: \"_handleTextNodeInsertion\",\n value: function _handleTextNodeInsertion(t) {\n if (\"children\" != t.type) return;\n var e = Ld(t),\n n = this.editing.view.createPositionAt(t.node, e.index),\n i = this.editing.mapper.toModelPosition(n),\n o = e.values[0].data;\n this.editor.execute(\"input\", {\n text: o.replace(/\\u00A0/g, \" \"),\n range: this.editor.model.createRange(i)\n });\n }\n }]);\n\n return jd;\n }();\n\n function zd(t, e) {\n return t.every(function (t) {\n return e.isInline(t);\n });\n }\n\n function Bd(t) {\n var e = null,\n n = null;\n\n for (var _i144 = 0; _i144 < t.length; _i144++) {\n \"equal\" != t[_i144] && (e = null === e ? _i144 : e, n = _i144);\n }\n\n var i = 0,\n o = 0;\n\n for (var _r30 = e; _r30 <= n; _r30++) {\n \"insert\" != t[_r30] && i++, \"delete\" != t[_r30] && o++;\n }\n\n return {\n insertions: o,\n deletions: i,\n firstChangeAt: e\n };\n }\n\n var Fd = /*#__PURE__*/function (_cd8) {\n _inherits(Fd, _cd8);\n\n var _super77 = _createSuper(Fd);\n\n function Fd() {\n _classCallCheck(this, Fd);\n\n return _super77.apply(this, arguments);\n }\n\n _createClass(Fd, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = new Od(t, t.config.get(\"typing.undoStep\") || 20);\n t.commands.add(\"input\", e), function (t) {\n var e = null;\n var n = t.model,\n i = t.editing.view,\n o = t.commands.get(\"input\");\n\n function r(t) {\n var r = n.document,\n a = i.document.isComposing,\n c = e && e.isEqual(r.selection);\n e = null, o.isEnabled && (Dd(t) || r.selection.isCollapsed || a && 229 === t.keyCode || !a && 229 === t.keyCode && c || s());\n }\n\n function s() {\n var t = o.buffer;\n t.lock();\n var e = t.batch;\n o._batches.add(e), n.enqueueChange(e, function () {\n n.deleteContent(n.document.selection);\n }), t.unlock();\n }\n\n ho.isAndroid ? i.document.on(\"beforeinput\", function (t, e) {\n return r(e);\n }, {\n priority: \"lowest\"\n }) : i.document.on(\"keydown\", function (t, e) {\n return r(e);\n }, {\n priority: \"lowest\"\n }), i.document.on(\"compositionstart\", function () {\n var t = n.document,\n e = 1 !== t.selection.rangeCount || t.selection.getFirstRange().isFlat;\n if (t.selection.isCollapsed || e) return;\n s();\n }, {\n priority: \"lowest\"\n }), i.document.on(\"compositionend\", function () {\n e = n.createSelection(n.document.selection);\n }, {\n priority: \"lowest\"\n });\n }(t), function (t) {\n t.editing.view.document.on(\"mutations\", function (e, n, i) {\n new jd(t).handle(n, i);\n });\n }(t);\n }\n }, {\n key: \"isInput\",\n value: function isInput(t) {\n return this.editor.commands.get(\"input\")._batches.has(t);\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"Input\";\n }\n }]);\n\n return Fd;\n }(cd);\n\n var Ud = /*#__PURE__*/function (_gd5) {\n _inherits(Ud, _gd5);\n\n var _super78 = _createSuper(Ud);\n\n function Ud(t, e) {\n var _this134;\n\n _classCallCheck(this, Ud);\n\n _this134 = _super78.call(this, t), _this134.direction = e, _this134._buffer = new Nd(t.model, t.config.get(\"typing.undoStep\"));\n return _this134;\n }\n\n _createClass(Ud, [{\n key: \"execute\",\n value: function execute() {\n var _this135 = this;\n\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var e = this.editor.model,\n n = e.document;\n e.enqueueChange(this._buffer.batch, function (i) {\n _this135._buffer.lock();\n\n var o = i.createSelection(t.selection || n.selection),\n r = o.isCollapsed;\n if (o.isCollapsed && e.modifySelection(o, {\n direction: _this135.direction,\n unit: t.unit\n }), _this135._shouldEntireContentBeReplacedWithParagraph(t.sequence || 1)) return void _this135._replaceEntireContentWithParagraph(i);\n if (o.isCollapsed) return;\n var s = 0;\n o.getFirstRange().getMinimalFlatRanges().forEach(function (t) {\n s += eo(t.getWalker({\n singleCharacters: !0,\n ignoreElementEnd: !0,\n shallow: !0\n }));\n }), e.deleteContent(o, {\n doNotResetEntireContent: r,\n direction: _this135.direction\n }), _this135._buffer.input(s), i.setSelection(o), _this135._buffer.unlock();\n });\n }\n }, {\n key: \"_shouldEntireContentBeReplacedWithParagraph\",\n value: function _shouldEntireContentBeReplacedWithParagraph(t) {\n if (t > 1) return !1;\n var e = this.editor.model,\n n = e.document.selection,\n i = e.schema.getLimitElement(n);\n if (!(n.isCollapsed && n.containsEntireContent(i))) return !1;\n if (!e.schema.checkChild(i, \"paragraph\")) return !1;\n var o = i.getChild(0);\n return !o || \"paragraph\" !== o.name;\n }\n }, {\n key: \"_replaceEntireContentWithParagraph\",\n value: function _replaceEntireContentWithParagraph(t) {\n var e = this.editor.model,\n n = e.document.selection,\n i = e.schema.getLimitElement(n),\n o = t.createElement(\"paragraph\");\n t.remove(t.createRangeIn(i)), t.insert(o, i), t.setSelection(o, 0);\n }\n }, {\n key: \"buffer\",\n get: function get() {\n return this._buffer;\n }\n }]);\n\n return Ud;\n }(gd);\n\n var Hd = /*#__PURE__*/function (_pr6) {\n _inherits(Hd, _pr6);\n\n var _super79 = _createSuper(Hd);\n\n function Hd(t) {\n var _this136;\n\n _classCallCheck(this, Hd);\n\n _this136 = _super79.call(this, t);\n var e = t.document;\n var n = 0;\n\n function i(t, n, i) {\n var o;\n e.once(\"delete\", function (t) {\n return o = t;\n }, {\n priority: Number.POSITIVE_INFINITY\n }), e.fire(\"delete\", new Lr(e, n, i)), o && o.stop.called && t.stop();\n }\n\n e.on(\"keyup\", function (t, e) {\n e.keyCode != go[\"delete\"] && e.keyCode != go.backspace || (n = 0);\n }), e.on(\"keydown\", function (t, e) {\n var o = {};\n if (e.keyCode == go[\"delete\"]) o.direction = \"forward\", o.unit = \"character\";else {\n if (e.keyCode != go.backspace) return;\n o.direction = \"backward\", o.unit = \"codePoint\";\n }\n var r = ho.isMac ? e.altKey : e.ctrlKey;\n o.unit = r ? \"word\" : o.unit, o.sequence = ++n, i(t, e.domEvent, o);\n }), ho.isAndroid && e.on(\"beforeinput\", function (e, n) {\n if (\"deleteContentBackward\" != n.domEvent.inputType) return;\n var o = {\n unit: \"codepoint\",\n direction: \"backward\",\n sequence: 1\n },\n r = n.domTarget.ownerDocument.defaultView.getSelection();\n r.anchorNode == r.focusNode && r.anchorOffset + 1 != r.focusOffset && (o.selectionToRemove = t.domConverter.domSelectionToView(r)), i(e, n.domEvent, o);\n });\n return _this136;\n }\n\n _createClass(Hd, [{\n key: \"observe\",\n value: function observe() {}\n }]);\n\n return Hd;\n }(pr);\n\n var Wd = /*#__PURE__*/function (_cd9) {\n _inherits(Wd, _cd9);\n\n var _super80 = _createSuper(Wd);\n\n function Wd() {\n _classCallCheck(this, Wd);\n\n return _super80.apply(this, arguments);\n }\n\n _createClass(Wd, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = t.editing.view,\n n = e.document;\n\n if (e.addObserver(Hd), t.commands.add(\"forwardDelete\", new Ud(t, \"forward\")), t.commands.add(\"delete\", new Ud(t, \"backward\")), this.listenTo(n, \"delete\", function (n, i) {\n var o = {\n unit: i.unit,\n sequence: i.sequence\n };\n\n if (i.selectionToRemove) {\n var _e204 = t.model.createSelection(),\n _n182 = [];\n\n var _iterator293 = _createForOfIteratorHelper(i.selectionToRemove.getRanges()),\n _step293;\n\n try {\n for (_iterator293.s(); !(_step293 = _iterator293.n()).done;) {\n var _e205 = _step293.value;\n\n _n182.push(t.editing.mapper.toModelRange(_e205));\n }\n } catch (err) {\n _iterator293.e(err);\n } finally {\n _iterator293.f();\n }\n\n _e204.setTo(_n182), o.selection = _e204;\n }\n\n t.execute(\"forward\" == i.direction ? \"forwardDelete\" : \"delete\", o), i.preventDefault(), e.scrollToTheSelection();\n }), ho.isAndroid) {\n var _t225 = null;\n this.listenTo(n, \"delete\", function (e, n) {\n var i = n.domTarget.ownerDocument.defaultView.getSelection();\n _t225 = {\n anchorNode: i.anchorNode,\n anchorOffset: i.anchorOffset,\n focusNode: i.focusNode,\n focusOffset: i.focusOffset\n };\n }, {\n priority: \"lowest\"\n }), this.listenTo(n, \"keyup\", function (e, n) {\n if (_t225) {\n var _e206 = n.domTarget.ownerDocument.defaultView.getSelection();\n\n _e206.collapse(_t225.anchorNode, _t225.anchorOffset), _e206.extend(_t225.focusNode, _t225.focusOffset), _t225 = null;\n }\n });\n }\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"Delete\";\n }\n }]);\n\n return Wd;\n }(cd);\n\n var qd = /*#__PURE__*/function (_cd10) {\n _inherits(qd, _cd10);\n\n var _super81 = _createSuper(qd);\n\n function qd() {\n _classCallCheck(this, qd);\n\n return _super81.apply(this, arguments);\n }\n\n _createClass(qd, null, [{\n key: \"requires\",\n get: function get() {\n return [Fd, Wd];\n }\n }, {\n key: \"pluginName\",\n get: function get() {\n return \"Typing\";\n }\n }]);\n\n return qd;\n }(cd);\n\n var $d = new Map();\n\n function Yd(t, e, n) {\n var i = $d.get(t);\n i || (i = new Map(), $d.set(t, i)), i.set(e, n);\n }\n\n function Gd(t) {\n return [t];\n }\n\n function Kd(t, e) {\n var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n\n var i = function (t, e) {\n var n = $d.get(t);\n return n && n.has(e) ? n.get(e) : Gd;\n }(t.constructor, e.constructor);\n\n try {\n return i(t = t.clone(), e, n);\n } catch (t) {\n throw t;\n }\n }\n\n function Qd(t, e, n) {\n t = t.slice(), e = e.slice();\n var i = new Jd(n.document, n.useRelations, n.forceWeakRemove);\n i.setOriginalOperations(t), i.setOriginalOperations(e);\n var o = i.originalOperations;\n if (0 == t.length || 0 == e.length) return {\n operationsA: t,\n operationsB: e,\n originalOperations: o\n };\n var r = new WeakMap();\n\n var _iterator294 = _createForOfIteratorHelper(t),\n _step294;\n\n try {\n for (_iterator294.s(); !(_step294 = _iterator294.n()).done;) {\n var _e208 = _step294.value;\n r.set(_e208, 0);\n }\n } catch (err) {\n _iterator294.e(err);\n } finally {\n _iterator294.f();\n }\n\n var s = {\n nextBaseVersionA: t[t.length - 1].baseVersion + 1,\n nextBaseVersionB: e[e.length - 1].baseVersion + 1,\n originalOperationsACount: t.length,\n originalOperationsBCount: e.length\n };\n var a = 0;\n\n for (; a < t.length;) {\n var _t226, _e207;\n\n var _n183 = t[a],\n _o76 = r.get(_n183);\n\n if (_o76 == e.length) {\n a++;\n continue;\n }\n\n var _s24 = e[_o76],\n _c7 = Kd(_n183, _s24, i.getContext(_n183, _s24, !0)),\n _l4 = Kd(_s24, _n183, i.getContext(_s24, _n183, !1));\n\n i.updateRelation(_n183, _s24), i.setOriginalOperations(_c7, _n183), i.setOriginalOperations(_l4, _s24);\n\n var _iterator295 = _createForOfIteratorHelper(_c7),\n _step295;\n\n try {\n for (_iterator295.s(); !(_step295 = _iterator295.n()).done;) {\n var _t227 = _step295.value;\n r.set(_t227, _o76 + _l4.length);\n }\n } catch (err) {\n _iterator295.e(err);\n } finally {\n _iterator295.f();\n }\n\n (_t226 = t).splice.apply(_t226, [a, 1].concat(_toConsumableArray(_c7))), (_e207 = e).splice.apply(_e207, [_o76, 1].concat(_toConsumableArray(_l4)));\n }\n\n if (n.padWithNoOps) {\n var _n184 = t.length - s.originalOperationsACount,\n _i145 = e.length - s.originalOperationsBCount;\n\n Xd(t, _i145 - _n184), Xd(e, _n184 - _i145);\n }\n\n return Zd(t, s.nextBaseVersionB), Zd(e, s.nextBaseVersionA), {\n operationsA: t,\n operationsB: e,\n originalOperations: o\n };\n }\n\n var Jd = /*#__PURE__*/function () {\n function Jd(t, e) {\n var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !1;\n\n _classCallCheck(this, Jd);\n\n this.originalOperations = new Map(), this._history = t.history, this._useRelations = e, this._forceWeakRemove = !!n, this._relations = new Map();\n }\n\n _createClass(Jd, [{\n key: \"setOriginalOperations\",\n value: function setOriginalOperations(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;\n var n = e ? this.originalOperations.get(e) : null;\n\n var _iterator296 = _createForOfIteratorHelper(t),\n _step296;\n\n try {\n for (_iterator296.s(); !(_step296 = _iterator296.n()).done;) {\n var _e209 = _step296.value;\n this.originalOperations.set(_e209, n || _e209);\n }\n } catch (err) {\n _iterator296.e(err);\n } finally {\n _iterator296.f();\n }\n }\n }, {\n key: \"updateRelation\",\n value: function updateRelation(t, e) {\n switch (t.constructor) {\n case Ya:\n switch (e.constructor) {\n case Za:\n t.targetPosition.isEqual(e.sourcePosition) || e.movedRange.containsPosition(t.targetPosition) ? this._setRelation(t, e, \"insertAtSource\") : t.targetPosition.isEqual(e.deletionPosition) ? this._setRelation(t, e, \"insertBetween\") : t.targetPosition.isAfter(e.sourcePosition) && this._setRelation(t, e, \"moveTargetAfter\");\n break;\n\n case Ya:\n t.targetPosition.isEqual(e.sourcePosition) || t.targetPosition.isBefore(e.sourcePosition) ? this._setRelation(t, e, \"insertBefore\") : this._setRelation(t, e, \"insertAfter\");\n }\n\n break;\n\n case Xa:\n switch (e.constructor) {\n case Za:\n t.splitPosition.isBefore(e.sourcePosition) && this._setRelation(t, e, \"splitBefore\");\n break;\n\n case Ya:\n (t.splitPosition.isEqual(e.sourcePosition) || t.splitPosition.isBefore(e.sourcePosition)) && this._setRelation(t, e, \"splitBefore\");\n }\n\n break;\n\n case Za:\n switch (e.constructor) {\n case Za:\n t.targetPosition.isEqual(e.sourcePosition) || this._setRelation(t, e, \"mergeTargetNotMoved\"), t.sourcePosition.isEqual(e.targetPosition) && this._setRelation(t, e, \"mergeSourceNotMoved\"), t.sourcePosition.isEqual(e.sourcePosition) && this._setRelation(t, e, \"mergeSameElement\");\n break;\n\n case Xa:\n t.sourcePosition.isEqual(e.splitPosition) && this._setRelation(t, e, \"splitAtSource\");\n }\n\n break;\n\n case Ka:\n {\n var _n185 = t.newRange;\n if (!_n185) return;\n\n switch (e.constructor) {\n case Ya:\n {\n var _i146 = Ss._createFromPositionAndShift(e.sourcePosition, e.howMany),\n _o77 = _i146.containsPosition(_n185.start) || _i146.start.isEqual(_n185.start),\n _r31 = _i146.containsPosition(_n185.end) || _i146.end.isEqual(_n185.end);\n\n !_o77 && !_r31 || _i146.containsRange(_n185) || this._setRelation(t, e, {\n side: _o77 ? \"left\" : \"right\",\n path: _o77 ? _n185.start.path.slice() : _n185.end.path.slice()\n });\n break;\n }\n\n case Za:\n {\n var _i147 = _n185.start.isEqual(e.targetPosition),\n _o78 = _n185.start.isEqual(e.deletionPosition),\n _r32 = _n185.end.isEqual(e.deletionPosition),\n _s25 = _n185.end.isEqual(e.sourcePosition);\n\n (_i147 || _o78 || _r32 || _s25) && this._setRelation(t, e, {\n wasInLeftElement: _i147,\n wasStartBeforeMergedElement: _o78,\n wasEndBeforeMergedElement: _r32,\n wasInRightElement: _s25\n });\n break;\n }\n }\n\n break;\n }\n }\n }\n }, {\n key: \"getContext\",\n value: function getContext(t, e, n) {\n return {\n aIsStrong: n,\n aWasUndone: this._wasUndone(t),\n bWasUndone: this._wasUndone(e),\n abRelation: this._useRelations ? this._getRelation(t, e) : null,\n baRelation: this._useRelations ? this._getRelation(e, t) : null,\n forceWeakRemove: this._forceWeakRemove\n };\n }\n }, {\n key: \"_wasUndone\",\n value: function _wasUndone(t) {\n var e = this.originalOperations.get(t);\n return e.wasUndone || this._history.isUndoneOperation(e);\n }\n }, {\n key: \"_getRelation\",\n value: function _getRelation(t, e) {\n var n = this.originalOperations.get(e),\n i = this._history.getUndoneOperation(n);\n\n if (!i) return null;\n\n var o = this.originalOperations.get(t),\n r = this._relations.get(o);\n\n return r && r.get(i) || null;\n }\n }, {\n key: \"_setRelation\",\n value: function _setRelation(t, e, n) {\n var i = this.originalOperations.get(t),\n o = this.originalOperations.get(e);\n\n var r = this._relations.get(i);\n\n r || (r = new Map(), this._relations.set(i, r)), r.set(o, n);\n }\n }]);\n\n return Jd;\n }();\n\n function Zd(t, e) {\n var _iterator297 = _createForOfIteratorHelper(t),\n _step297;\n\n try {\n for (_iterator297.s(); !(_step297 = _iterator297.n()).done;) {\n var _n186 = _step297.value;\n _n186.baseVersion = e++;\n }\n } catch (err) {\n _iterator297.e(err);\n } finally {\n _iterator297.f();\n }\n }\n\n function Xd(t, e) {\n for (var _n187 = 0; _n187 < e; _n187++) {\n t.push(new wc(0));\n }\n }\n\n function tu(t, e, n) {\n var i = t.nodes.getNode(0).getAttribute(e);\n if (i == n) return null;\n var o = new Ss(t.position, t.position.getShiftedBy(t.howMany));\n return new qa(o, e, i, n, 0);\n }\n\n function eu(t, e) {\n return null === t.targetPosition._getTransformedByDeletion(e.sourcePosition, e.howMany);\n }\n\n function nu(t, e) {\n var n = [];\n\n for (var _i148 = 0; _i148 < t.length; _i148++) {\n var _o79 = t[_i148],\n _r33 = new Ya(_o79.start, _o79.end.offset - _o79.start.offset, e, 0);\n\n n.push(_r33);\n\n for (var _e210 = _i148 + 1; _e210 < t.length; _e210++) {\n t[_e210] = t[_e210]._getTransformedByMove(_r33.sourcePosition, _r33.targetPosition, _r33.howMany)[0];\n }\n\n e = e._getTransformedByMove(_r33.sourcePosition, _r33.targetPosition, _r33.howMany);\n }\n\n return n;\n }\n\n Yd(qa, qa, function (t, e, n) {\n if (t.key === e.key && t.range.start.hasSameParentAs(e.range.start)) {\n var _i149 = t.range.getDifference(e.range).map(function (e) {\n return new qa(e, t.key, t.oldValue, t.newValue, 0);\n }),\n _o80 = t.range.getIntersection(e.range);\n\n return _o80 && n.aIsStrong && _i149.push(new qa(_o80, e.key, e.newValue, t.newValue, 0)), 0 == _i149.length ? [new wc(0)] : _i149;\n }\n\n return [t];\n }), Yd(qa, Ga, function (t, e) {\n if (t.range.start.hasSameParentAs(e.position) && t.range.containsPosition(e.position)) {\n var _n188 = t.range._getTransformedByInsertion(e.position, e.howMany, !e.shouldReceiveAttributes).map(function (e) {\n return new qa(e, t.key, t.oldValue, t.newValue, t.baseVersion);\n });\n\n if (e.shouldReceiveAttributes) {\n var _i150 = tu(e, t.key, t.oldValue);\n\n _i150 && _n188.unshift(_i150);\n }\n\n return _n188;\n }\n\n return t.range = t.range._getTransformedByInsertion(e.position, e.howMany, !1)[0], [t];\n }), Yd(qa, Za, function (t, e) {\n var n = [];\n t.range.start.hasSameParentAs(e.deletionPosition) && (t.range.containsPosition(e.deletionPosition) || t.range.start.isEqual(e.deletionPosition)) && n.push(Ss._createFromPositionAndShift(e.graveyardPosition, 1));\n\n var i = t.range._getTransformedByMergeOperation(e);\n\n return i.isCollapsed || n.push(i), n.map(function (e) {\n return new qa(e, t.key, t.oldValue, t.newValue, t.baseVersion);\n });\n }), Yd(qa, Ya, function (t, e) {\n return function (t, e) {\n var n = Ss._createFromPositionAndShift(e.sourcePosition, e.howMany);\n\n var i = null,\n o = [];\n n.containsRange(t, !0) ? i = t : t.start.hasSameParentAs(n.start) ? (o = t.getDifference(n), i = t.getIntersection(n)) : o = [t];\n var r = [];\n\n var _iterator298 = _createForOfIteratorHelper(o),\n _step298;\n\n try {\n for (_iterator298.s(); !(_step298 = _iterator298.n()).done;) {\n var _t228 = _step298.value;\n _t228 = _t228._getTransformedByDeletion(e.sourcePosition, e.howMany);\n\n var _n189 = e.getMovedRangeStart(),\n _i151 = _t228.start.hasSameParentAs(_n189);\n\n _t228 = _t228._getTransformedByInsertion(_n189, e.howMany, _i151), r.push.apply(r, _toConsumableArray(_t228));\n }\n } catch (err) {\n _iterator298.e(err);\n } finally {\n _iterator298.f();\n }\n\n i && r.push(i._getTransformedByMove(e.sourcePosition, e.targetPosition, e.howMany, !1)[0]);\n return r;\n }(t.range, e).map(function (e) {\n return new qa(e, t.key, t.oldValue, t.newValue, t.baseVersion);\n });\n }), Yd(qa, Xa, function (t, e) {\n if (t.range.end.isEqual(e.insertionPosition)) return e.graveyardPosition || t.range.end.offset++, [t];\n\n if (t.range.start.hasSameParentAs(e.splitPosition) && t.range.containsPosition(e.splitPosition)) {\n var _n190 = t.clone();\n\n return _n190.range = new Ss(e.moveTargetPosition.clone(), t.range.end._getCombined(e.splitPosition, e.moveTargetPosition)), t.range.end = e.splitPosition.clone(), t.range.end.stickiness = \"toPrevious\", [t, _n190];\n }\n\n return t.range = t.range._getTransformedBySplitOperation(e), [t];\n }), Yd(Ga, qa, function (t, e) {\n var n = [t];\n\n if (t.shouldReceiveAttributes && t.position.hasSameParentAs(e.range.start) && e.range.containsPosition(t.position)) {\n var _i152 = tu(t, e.key, e.newValue);\n\n _i152 && n.push(_i152);\n }\n\n return n;\n }), Yd(Ga, Ga, function (t, e, n) {\n return t.position.isEqual(e.position) && n.aIsStrong || (t.position = t.position._getTransformedByInsertOperation(e)), [t];\n }), Yd(Ga, Ya, function (t, e) {\n return t.position = t.position._getTransformedByMoveOperation(e), [t];\n }), Yd(Ga, Xa, function (t, e) {\n return t.position = t.position._getTransformedBySplitOperation(e), [t];\n }), Yd(Ga, Za, function (t, e) {\n return t.position = t.position._getTransformedByMergeOperation(e), [t];\n }), Yd(Ka, Ga, function (t, e) {\n return t.oldRange && (t.oldRange = t.oldRange._getTransformedByInsertOperation(e)[0]), t.newRange && (t.newRange = t.newRange._getTransformedByInsertOperation(e)[0]), [t];\n }), Yd(Ka, Ka, function (t, e, n) {\n if (t.name == e.name) {\n if (!n.aIsStrong) return [new wc(0)];\n t.oldRange = e.newRange ? e.newRange.clone() : null;\n }\n\n return [t];\n }), Yd(Ka, Za, function (t, e) {\n return t.oldRange && (t.oldRange = t.oldRange._getTransformedByMergeOperation(e)), t.newRange && (t.newRange = t.newRange._getTransformedByMergeOperation(e)), [t];\n }), Yd(Ka, Ya, function (t, e, n) {\n if (t.oldRange && (t.oldRange = Ss._createFromRanges(t.oldRange._getTransformedByMoveOperation(e))), t.newRange) {\n if (n.abRelation) {\n var _i153 = Ss._createFromRanges(t.newRange._getTransformedByMoveOperation(e));\n\n if (\"left\" == n.abRelation.side && e.targetPosition.isEqual(t.newRange.start)) return t.newRange.start.path = n.abRelation.path, t.newRange.end = _i153.end, [t];\n if (\"right\" == n.abRelation.side && e.targetPosition.isEqual(t.newRange.end)) return t.newRange.start = _i153.start, t.newRange.end.path = n.abRelation.path, [t];\n }\n\n t.newRange = Ss._createFromRanges(t.newRange._getTransformedByMoveOperation(e));\n }\n\n return [t];\n }), Yd(Ka, Xa, function (t, e, n) {\n if (t.oldRange && (t.oldRange = t.oldRange._getTransformedBySplitOperation(e)), t.newRange) {\n if (n.abRelation) {\n var _i154 = t.newRange._getTransformedBySplitOperation(e);\n\n return t.newRange.start.isEqual(e.splitPosition) && n.abRelation.wasStartBeforeMergedElement ? t.newRange.start = As._createAt(e.insertionPosition) : t.newRange.start.isEqual(e.splitPosition) && !n.abRelation.wasInLeftElement && (t.newRange.start = As._createAt(e.moveTargetPosition)), t.newRange.end.isEqual(e.splitPosition) && n.abRelation.wasInRightElement ? t.newRange.end = As._createAt(e.moveTargetPosition) : t.newRange.end.isEqual(e.splitPosition) && n.abRelation.wasEndBeforeMergedElement ? t.newRange.end = As._createAt(e.insertionPosition) : t.newRange.end = _i154.end, [t];\n }\n\n t.newRange = t.newRange._getTransformedBySplitOperation(e);\n }\n\n return [t];\n }), Yd(Za, Ga, function (t, e) {\n return t.sourcePosition.hasSameParentAs(e.position) && (t.howMany += e.howMany), t.sourcePosition = t.sourcePosition._getTransformedByInsertOperation(e), t.targetPosition = t.targetPosition._getTransformedByInsertOperation(e), [t];\n }), Yd(Za, Za, function (t, e, n) {\n if (t.sourcePosition.isEqual(e.sourcePosition) && t.targetPosition.isEqual(e.targetPosition)) {\n if (n.bWasUndone) {\n var _n191 = e.graveyardPosition.path.slice();\n\n return _n191.push(0), t.sourcePosition = new As(e.graveyardPosition.root, _n191), t.howMany = 0, [t];\n }\n\n return [new wc(0)];\n }\n\n if (t.sourcePosition.isEqual(e.sourcePosition) && !t.targetPosition.isEqual(e.targetPosition) && !n.bWasUndone && \"splitAtSource\" != n.abRelation) {\n var _i155 = \"$graveyard\" == t.targetPosition.root.rootName,\n _o81 = \"$graveyard\" == e.targetPosition.root.rootName,\n _r34 = _i155 && !_o81;\n\n if (_o81 && !_i155 || !_r34 && n.aIsStrong) {\n var _n192 = e.targetPosition._getTransformedByMergeOperation(e),\n _i156 = t.targetPosition._getTransformedByMergeOperation(e);\n\n return [new Ya(_n192, t.howMany, _i156, 0)];\n }\n\n return [new wc(0)];\n }\n\n return t.sourcePosition.hasSameParentAs(e.targetPosition) && (t.howMany += e.howMany), t.sourcePosition = t.sourcePosition._getTransformedByMergeOperation(e), t.targetPosition = t.targetPosition._getTransformedByMergeOperation(e), t.graveyardPosition.isEqual(e.graveyardPosition) && n.aIsStrong || (t.graveyardPosition = t.graveyardPosition._getTransformedByMergeOperation(e)), [t];\n }), Yd(Za, Ya, function (t, e, n) {\n var i = Ss._createFromPositionAndShift(e.sourcePosition, e.howMany);\n\n return \"remove\" == e.type && !n.bWasUndone && !n.forceWeakRemove && t.deletionPosition.hasSameParentAs(e.sourcePosition) && i.containsPosition(t.sourcePosition) ? [new wc(0)] : (t.sourcePosition.hasSameParentAs(e.targetPosition) && (t.howMany += e.howMany), t.sourcePosition.hasSameParentAs(e.sourcePosition) && (t.howMany -= e.howMany), t.sourcePosition = t.sourcePosition._getTransformedByMoveOperation(e), t.targetPosition = t.targetPosition._getTransformedByMoveOperation(e), t.graveyardPosition.isEqual(e.targetPosition) || (t.graveyardPosition = t.graveyardPosition._getTransformedByMoveOperation(e)), [t]);\n }), Yd(Za, Xa, function (t, e, n) {\n if (e.graveyardPosition && (t.graveyardPosition = t.graveyardPosition._getTransformedByDeletion(e.graveyardPosition, 1), t.deletionPosition.isEqual(e.graveyardPosition) && (t.howMany = e.howMany)), t.targetPosition.isEqual(e.splitPosition)) {\n var _i157 = 0 != e.howMany,\n _o82 = e.graveyardPosition && t.deletionPosition.isEqual(e.graveyardPosition);\n\n if (_i157 || _o82 || \"mergeTargetNotMoved\" == n.abRelation) return t.sourcePosition = t.sourcePosition._getTransformedBySplitOperation(e), [t];\n }\n\n if (t.sourcePosition.isEqual(e.splitPosition)) {\n if (\"mergeSourceNotMoved\" == n.abRelation) return t.howMany = 0, t.targetPosition = t.targetPosition._getTransformedBySplitOperation(e), [t];\n if (\"mergeSameElement\" == n.abRelation || t.sourcePosition.offset > 0) return t.sourcePosition = e.moveTargetPosition.clone(), t.targetPosition = t.targetPosition._getTransformedBySplitOperation(e), [t];\n }\n\n return t.sourcePosition.hasSameParentAs(e.splitPosition) && (t.howMany = e.splitPosition.offset), t.sourcePosition = t.sourcePosition._getTransformedBySplitOperation(e), t.targetPosition = t.targetPosition._getTransformedBySplitOperation(e), [t];\n }), Yd(Ya, Ga, function (t, e) {\n var n = Ss._createFromPositionAndShift(t.sourcePosition, t.howMany)._getTransformedByInsertOperation(e, !1)[0];\n\n return t.sourcePosition = n.start, t.howMany = n.end.offset - n.start.offset, t.targetPosition.isEqual(e.position) || (t.targetPosition = t.targetPosition._getTransformedByInsertOperation(e)), [t];\n }), Yd(Ya, Ya, function (t, e, n) {\n var i = Ss._createFromPositionAndShift(t.sourcePosition, t.howMany),\n o = Ss._createFromPositionAndShift(e.sourcePosition, e.howMany);\n\n var r,\n s = n.aIsStrong,\n a = !n.aIsStrong;\n if (\"insertBefore\" == n.abRelation || \"insertAfter\" == n.baRelation ? a = !0 : \"insertAfter\" != n.abRelation && \"insertBefore\" != n.baRelation || (a = !1), r = t.targetPosition.isEqual(e.targetPosition) && a ? t.targetPosition._getTransformedByDeletion(e.sourcePosition, e.howMany) : t.targetPosition._getTransformedByMove(e.sourcePosition, e.targetPosition, e.howMany), eu(t, e) && eu(e, t)) return [e.getReversed()];\n if (i.containsPosition(e.targetPosition) && i.containsRange(o, !0)) return i.start = i.start._getTransformedByMove(e.sourcePosition, e.targetPosition, e.howMany), i.end = i.end._getTransformedByMove(e.sourcePosition, e.targetPosition, e.howMany), nu([i], r);\n if (o.containsPosition(t.targetPosition) && o.containsRange(i, !0)) return i.start = i.start._getCombined(e.sourcePosition, e.getMovedRangeStart()), i.end = i.end._getCombined(e.sourcePosition, e.getMovedRangeStart()), nu([i], r);\n var c = In(t.sourcePosition.getParentPath(), e.sourcePosition.getParentPath());\n if (\"prefix\" == c || \"extension\" == c) return i.start = i.start._getTransformedByMove(e.sourcePosition, e.targetPosition, e.howMany), i.end = i.end._getTransformedByMove(e.sourcePosition, e.targetPosition, e.howMany), nu([i], r);\n \"remove\" != t.type || \"remove\" == e.type || n.aWasUndone || n.forceWeakRemove ? \"remove\" == t.type || \"remove\" != e.type || n.bWasUndone || n.forceWeakRemove || (s = !1) : s = !0;\n var l = [],\n d = i.getDifference(o);\n\n var _iterator299 = _createForOfIteratorHelper(d),\n _step299;\n\n try {\n for (_iterator299.s(); !(_step299 = _iterator299.n()).done;) {\n var _t229 = _step299.value;\n _t229.start = _t229.start._getTransformedByDeletion(e.sourcePosition, e.howMany), _t229.end = _t229.end._getTransformedByDeletion(e.sourcePosition, e.howMany);\n\n var _n193 = \"same\" == In(_t229.start.getParentPath(), e.getMovedRangeStart().getParentPath()),\n _i158 = _t229._getTransformedByInsertion(e.getMovedRangeStart(), e.howMany, _n193);\n\n l.push.apply(l, _toConsumableArray(_i158));\n }\n } catch (err) {\n _iterator299.e(err);\n } finally {\n _iterator299.f();\n }\n\n var u = i.getIntersection(o);\n return null !== u && s && (u.start = u.start._getCombined(e.sourcePosition, e.getMovedRangeStart()), u.end = u.end._getCombined(e.sourcePosition, e.getMovedRangeStart()), 0 === l.length ? l.push(u) : 1 == l.length ? o.start.isBefore(i.start) || o.start.isEqual(i.start) ? l.unshift(u) : l.push(u) : l.splice(1, 0, u)), 0 === l.length ? [new wc(t.baseVersion)] : nu(l, r);\n }), Yd(Ya, Xa, function (t, e, n) {\n var i = t.targetPosition.clone();\n t.targetPosition.isEqual(e.insertionPosition) && e.graveyardPosition && \"moveTargetAfter\" != n.abRelation || (i = t.targetPosition._getTransformedBySplitOperation(e));\n\n var o = Ss._createFromPositionAndShift(t.sourcePosition, t.howMany);\n\n if (o.end.isEqual(e.insertionPosition)) return e.graveyardPosition || t.howMany++, t.targetPosition = i, [t];\n\n if (o.start.hasSameParentAs(e.splitPosition) && o.containsPosition(e.splitPosition)) {\n var _t230 = new Ss(e.splitPosition, o.end);\n\n _t230 = _t230._getTransformedBySplitOperation(e);\n return nu([new Ss(o.start, e.splitPosition), _t230], i);\n }\n\n t.targetPosition.isEqual(e.splitPosition) && \"insertAtSource\" == n.abRelation && (i = e.moveTargetPosition), t.targetPosition.isEqual(e.insertionPosition) && \"insertBetween\" == n.abRelation && (i = t.targetPosition);\n var r = [o._getTransformedBySplitOperation(e)];\n\n if (e.graveyardPosition) {\n var _i159 = o.start.isEqual(e.graveyardPosition) || o.containsPosition(e.graveyardPosition);\n\n t.howMany > 1 && _i159 && !n.aWasUndone && r.push(Ss._createFromPositionAndShift(e.insertionPosition, 1));\n }\n\n return nu(r, i);\n }), Yd(Ya, Za, function (t, e, n) {\n var i = Ss._createFromPositionAndShift(t.sourcePosition, t.howMany);\n\n if (e.deletionPosition.hasSameParentAs(t.sourcePosition) && i.containsPosition(e.sourcePosition)) if (\"remove\" != t.type || n.forceWeakRemove) {\n if (1 == t.howMany) return n.bWasUndone ? (t.sourcePosition = e.graveyardPosition.clone(), t.targetPosition = t.targetPosition._getTransformedByMergeOperation(e), [t]) : [new wc(0)];\n } else if (!n.aWasUndone) {\n var _n194 = [];\n\n var _i160 = e.graveyardPosition.clone(),\n _o83 = e.targetPosition._getTransformedByMergeOperation(e);\n\n t.howMany > 1 && (_n194.push(new Ya(t.sourcePosition, t.howMany - 1, t.targetPosition, 0)), _i160 = _i160._getTransformedByMove(t.sourcePosition, t.targetPosition, t.howMany - 1), _o83 = _o83._getTransformedByMove(t.sourcePosition, t.targetPosition, t.howMany - 1));\n\n var _r35 = e.deletionPosition._getCombined(t.sourcePosition, t.targetPosition),\n _s26 = new Ya(_i160, 1, _r35, 0),\n _a13 = _s26.getMovedRangeStart().path.slice();\n\n _a13.push(0);\n\n var _c8 = new As(_s26.targetPosition.root, _a13);\n\n _o83 = _o83._getTransformedByMove(_i160, _r35, 1);\n\n var _l5 = new Ya(_o83, e.howMany, _c8, 0);\n\n return _n194.push(_s26), _n194.push(_l5), _n194;\n }\n\n var o = Ss._createFromPositionAndShift(t.sourcePosition, t.howMany)._getTransformedByMergeOperation(e);\n\n return t.sourcePosition = o.start, t.howMany = o.end.offset - o.start.offset, t.targetPosition = t.targetPosition._getTransformedByMergeOperation(e), [t];\n }), Yd(Qa, Ga, function (t, e) {\n return t.position = t.position._getTransformedByInsertOperation(e), [t];\n }), Yd(Qa, Za, function (t, e) {\n return t.position.isEqual(e.deletionPosition) ? (t.position = e.graveyardPosition.clone(), t.position.stickiness = \"toNext\", [t]) : (t.position = t.position._getTransformedByMergeOperation(e), [t]);\n }), Yd(Qa, Ya, function (t, e) {\n return t.position = t.position._getTransformedByMoveOperation(e), [t];\n }), Yd(Qa, Qa, function (t, e, n) {\n if (t.position.isEqual(e.position)) {\n if (!n.aIsStrong) return [new wc(0)];\n t.oldName = e.newName;\n }\n\n return [t];\n }), Yd(Qa, Xa, function (t, e) {\n if (\"same\" == In(t.position.path, e.splitPosition.getParentPath()) && !e.graveyardPosition) {\n var _e211 = new Qa(t.position.getShiftedBy(1), t.oldName, t.newName, 0);\n\n return [t, _e211];\n }\n\n return t.position = t.position._getTransformedBySplitOperation(e), [t];\n }), Yd(Ja, Ja, function (t, e, n) {\n if (t.root === e.root && t.key === e.key) {\n if (!n.aIsStrong || t.newValue === e.newValue) return [new wc(0)];\n t.oldValue = e.newValue;\n }\n\n return [t];\n }), Yd(Xa, Ga, function (t, e) {\n return t.splitPosition.hasSameParentAs(e.position) && t.splitPosition.offset < e.position.offset && (t.howMany += e.howMany), t.splitPosition = t.splitPosition._getTransformedByInsertOperation(e), t.insertionPosition = Xa.getInsertionPosition(t.splitPosition), [t];\n }), Yd(Xa, Za, function (t, e, n) {\n if (!t.graveyardPosition && !n.bWasUndone && t.splitPosition.hasSameParentAs(e.sourcePosition)) {\n var _n195 = e.graveyardPosition.path.slice();\n\n _n195.push(0);\n\n var _i161 = new As(e.graveyardPosition.root, _n195),\n _o84 = Xa.getInsertionPosition(new As(e.graveyardPosition.root, _n195)),\n _r36 = new Xa(_i161, 0, null, 0);\n\n return _r36.insertionPosition = _o84, t.splitPosition = t.splitPosition._getTransformedByMergeOperation(e), t.insertionPosition = Xa.getInsertionPosition(t.splitPosition), t.graveyardPosition = _r36.insertionPosition.clone(), t.graveyardPosition.stickiness = \"toNext\", [_r36, t];\n }\n\n return t.splitPosition.hasSameParentAs(e.deletionPosition) && !t.splitPosition.isAfter(e.deletionPosition) && t.howMany--, t.splitPosition.hasSameParentAs(e.targetPosition) && (t.howMany += e.howMany), t.splitPosition = t.splitPosition._getTransformedByMergeOperation(e), t.insertionPosition = Xa.getInsertionPosition(t.splitPosition), t.graveyardPosition && (t.graveyardPosition = t.graveyardPosition._getTransformedByMergeOperation(e)), [t];\n }), Yd(Xa, Ya, function (t, e, n) {\n var i = Ss._createFromPositionAndShift(e.sourcePosition, e.howMany);\n\n if (t.graveyardPosition) {\n var _o85 = i.start.isEqual(t.graveyardPosition) || i.containsPosition(t.graveyardPosition);\n\n if (!n.bWasUndone && _o85) {\n var _n196 = t.splitPosition._getTransformedByMoveOperation(e),\n _i162 = t.graveyardPosition._getTransformedByMoveOperation(e),\n _o86 = _i162.path.slice();\n\n _o86.push(0);\n\n var _r37 = new As(_i162.root, _o86);\n\n return [new Ya(_n196, t.howMany, _r37, 0)];\n }\n\n t.graveyardPosition = t.graveyardPosition._getTransformedByMoveOperation(e);\n }\n\n if (t.splitPosition.hasSameParentAs(e.sourcePosition) && i.containsPosition(t.splitPosition)) {\n var _n197 = e.howMany - (t.splitPosition.offset - e.sourcePosition.offset);\n\n return t.howMany -= _n197, t.splitPosition.hasSameParentAs(e.targetPosition) && t.splitPosition.offset < e.targetPosition.offset && (t.howMany += e.howMany), t.splitPosition = e.sourcePosition.clone(), t.insertionPosition = Xa.getInsertionPosition(t.splitPosition), [t];\n }\n\n return !t.splitPosition.isEqual(e.targetPosition) || \"insertAtSource\" != n.baRelation && \"splitBefore\" != n.abRelation ? (e.sourcePosition.isEqual(e.targetPosition) || (t.splitPosition.hasSameParentAs(e.sourcePosition) && t.splitPosition.offset <= e.sourcePosition.offset && (t.howMany -= e.howMany), t.splitPosition.hasSameParentAs(e.targetPosition) && t.splitPosition.offset < e.targetPosition.offset && (t.howMany += e.howMany)), t.splitPosition.stickiness = \"toNone\", t.splitPosition = t.splitPosition._getTransformedByMoveOperation(e), t.splitPosition.stickiness = \"toNext\", t.graveyardPosition ? t.insertionPosition = t.insertionPosition._getTransformedByMoveOperation(e) : t.insertionPosition = Xa.getInsertionPosition(t.splitPosition), [t]) : (t.howMany += e.howMany, t.splitPosition = t.splitPosition._getTransformedByDeletion(e.sourcePosition, e.howMany), t.insertionPosition = Xa.getInsertionPosition(t.splitPosition), [t]);\n }), Yd(Xa, Xa, function (t, e, n) {\n if (t.splitPosition.isEqual(e.splitPosition)) {\n if (!t.graveyardPosition && !e.graveyardPosition) return [new wc(0)];\n if (t.graveyardPosition && e.graveyardPosition && t.graveyardPosition.isEqual(e.graveyardPosition)) return [new wc(0)];\n if (\"splitBefore\" == n.abRelation) return t.howMany = 0, t.graveyardPosition = t.graveyardPosition._getTransformedBySplitOperation(e), [t];\n }\n\n if (t.graveyardPosition && e.graveyardPosition && t.graveyardPosition.isEqual(e.graveyardPosition)) {\n var _i163 = \"$graveyard\" == t.splitPosition.root.rootName,\n _o87 = \"$graveyard\" == e.splitPosition.root.rootName,\n _r38 = _i163 && !_o87;\n\n if (_o87 && !_i163 || !_r38 && n.aIsStrong) {\n var _n198 = [];\n return e.howMany && _n198.push(new Ya(e.moveTargetPosition, e.howMany, e.splitPosition, 0)), t.howMany && _n198.push(new Ya(t.splitPosition, t.howMany, t.moveTargetPosition, 0)), _n198;\n }\n\n return [new wc(0)];\n }\n\n if (t.graveyardPosition && (t.graveyardPosition = t.graveyardPosition._getTransformedBySplitOperation(e)), t.splitPosition.isEqual(e.insertionPosition) && \"splitBefore\" == n.abRelation) return t.howMany++, [t];\n\n if (e.splitPosition.isEqual(t.insertionPosition) && \"splitBefore\" == n.baRelation) {\n var _n199 = e.insertionPosition.path.slice();\n\n _n199.push(0);\n\n var _i164 = new As(e.insertionPosition.root, _n199);\n\n return [t, new Ya(t.insertionPosition, 1, _i164, 0)];\n }\n\n return t.splitPosition.hasSameParentAs(e.splitPosition) && t.splitPosition.offset < e.splitPosition.offset && (t.howMany -= e.howMany), t.splitPosition = t.splitPosition._getTransformedBySplitOperation(e), t.insertionPosition = Xa.getInsertionPosition(t.splitPosition), [t];\n });\n\n var iu = /*#__PURE__*/function (_gd6) {\n _inherits(iu, _gd6);\n\n var _super82 = _createSuper(iu);\n\n function iu(t) {\n var _this137;\n\n _classCallCheck(this, iu);\n\n _this137 = _super82.call(this, t), _this137._stack = [], _this137._createdBatches = new WeakSet(), _this137.refresh(), _this137.listenTo(t.data, \"set\", function () {\n return _this137.clearStack();\n });\n return _this137;\n }\n\n _createClass(iu, [{\n key: \"refresh\",\n value: function refresh() {\n this.isEnabled = this._stack.length > 0;\n }\n }, {\n key: \"addBatch\",\n value: function addBatch(t) {\n var e = this.editor.model.document.selection,\n n = {\n ranges: e.hasOwnRange ? Array.from(e.getRanges()) : [],\n isBackward: e.isBackward\n };\n this._stack.push({\n batch: t,\n selection: n\n }), this.refresh();\n }\n }, {\n key: \"clearStack\",\n value: function clearStack() {\n this._stack = [], this.refresh();\n }\n }, {\n key: \"_restoreSelection\",\n value: function _restoreSelection(t, e, n) {\n var i = this.editor.model,\n o = i.document,\n r = [],\n s = t.map(function (t) {\n return t.getTransformedByOperations(n);\n }),\n a = s.flat();\n\n var _iterator300 = _createForOfIteratorHelper(s),\n _step300;\n\n try {\n for (_iterator300.s(); !(_step300 = _iterator300.n()).done;) {\n var _t231 = _step300.value;\n\n var _e212 = _t231.filter(function (t) {\n return !ru(t, a);\n });\n\n ou(_e212);\n\n var _n200 = _e212.find(function (t) {\n return t.root != o.graveyard;\n });\n\n _n200 && r.push(_n200);\n }\n } catch (err) {\n _iterator300.e(err);\n } finally {\n _iterator300.f();\n }\n\n r.length && i.change(function (t) {\n t.setSelection(r, {\n backward: e\n });\n });\n }\n }, {\n key: \"_undo\",\n value: function _undo(t, e) {\n var n = this.editor.model,\n i = n.document;\n\n this._createdBatches.add(e);\n\n var o = t.operations.slice().filter(function (t) {\n return t.isDocumentOperation;\n });\n o.reverse();\n\n var _iterator301 = _createForOfIteratorHelper(o),\n _step301;\n\n try {\n for (_iterator301.s(); !(_step301 = _iterator301.n()).done;) {\n var _t232 = _step301.value;\n\n var _o88 = _t232.baseVersion + 1,\n _r39 = Array.from(i.history.getOperations(_o88)),\n _s27 = Qd([_t232.getReversed()], _r39, {\n useRelations: !0,\n document: this.editor.model.document,\n padWithNoOps: !1,\n forceWeakRemove: !0\n }).operationsA;\n\n var _iterator302 = _createForOfIteratorHelper(_s27),\n _step302;\n\n try {\n for (_iterator302.s(); !(_step302 = _iterator302.n()).done;) {\n var _o89 = _step302.value;\n e.addOperation(_o89), n.applyOperation(_o89), i.history.setOperationAsUndone(_t232, _o89);\n }\n } catch (err) {\n _iterator302.e(err);\n } finally {\n _iterator302.f();\n }\n }\n } catch (err) {\n _iterator301.e(err);\n } finally {\n _iterator301.f();\n }\n }\n }]);\n\n return iu;\n }(gd);\n\n function ou(t) {\n t.sort(function (t, e) {\n return t.start.isBefore(e.start) ? -1 : 1;\n });\n\n for (var _e213 = 1; _e213 < t.length; _e213++) {\n var _n201 = t[_e213 - 1].getJoined(t[_e213], !0);\n\n _n201 && (_e213--, t.splice(_e213, 2, _n201));\n }\n }\n\n function ru(t, e) {\n return e.some(function (e) {\n return e !== t && e.containsRange(t, !0);\n });\n }\n\n var su = /*#__PURE__*/function (_iu) {\n _inherits(su, _iu);\n\n var _super83 = _createSuper(su);\n\n function su() {\n _classCallCheck(this, su);\n\n return _super83.apply(this, arguments);\n }\n\n _createClass(su, [{\n key: \"execute\",\n value: function execute() {\n var _this138 = this;\n\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n\n var e = t ? this._stack.findIndex(function (e) {\n return e.batch == t;\n }) : this._stack.length - 1,\n n = this._stack.splice(e, 1)[0],\n i = this.editor.model.createBatch(\"transparent\");\n\n this.editor.model.enqueueChange(i, function () {\n _this138._undo(n.batch, i);\n\n var t = _this138.editor.model.document.history.getOperations(n.batch.baseVersion);\n\n _this138._restoreSelection(n.selection.ranges, n.selection.isBackward, t), _this138.fire(\"revert\", n.batch, i);\n }), this.refresh();\n }\n }]);\n\n return su;\n }(iu);\n\n var au = /*#__PURE__*/function (_iu2) {\n _inherits(au, _iu2);\n\n var _super84 = _createSuper(au);\n\n function au() {\n _classCallCheck(this, au);\n\n return _super84.apply(this, arguments);\n }\n\n _createClass(au, [{\n key: \"execute\",\n value: function execute() {\n var _this139 = this;\n\n var t = this._stack.pop(),\n e = this.editor.model.createBatch(\"transparent\");\n\n this.editor.model.enqueueChange(e, function () {\n var n = t.batch.operations[t.batch.operations.length - 1].baseVersion + 1,\n i = _this139.editor.model.document.history.getOperations(n);\n\n _this139._restoreSelection(t.selection.ranges, t.selection.isBackward, i), _this139._undo(t.batch, e);\n }), this.refresh();\n }\n }]);\n\n return au;\n }(iu);\n\n var cu = /*#__PURE__*/function (_cd11) {\n _inherits(cu, _cd11);\n\n var _super85 = _createSuper(cu);\n\n _createClass(cu, null, [{\n key: \"pluginName\",\n get: function get() {\n return \"UndoEditing\";\n }\n }]);\n\n function cu(t) {\n var _this140;\n\n _classCallCheck(this, cu);\n\n _this140 = _super85.call(this, t), _this140._batchRegistry = new WeakSet();\n return _this140;\n }\n\n _createClass(cu, [{\n key: \"init\",\n value: function init() {\n var _this141 = this;\n\n var t = this.editor;\n this._undoCommand = new su(t), this._redoCommand = new au(t), t.commands.add(\"undo\", this._undoCommand), t.commands.add(\"redo\", this._redoCommand), this.listenTo(t.model, \"applyOperation\", function (t, e) {\n var n = e[0];\n if (!n.isDocumentOperation) return;\n\n var i = n.batch,\n o = _this141._redoCommand._createdBatches.has(i),\n r = _this141._undoCommand._createdBatches.has(i);\n\n _this141._batchRegistry.has(i) || \"transparent\" == i.type && !o && !r || (o ? _this141._undoCommand.addBatch(i) : r || (_this141._undoCommand.addBatch(i), _this141._redoCommand.clearStack()), _this141._batchRegistry.add(i));\n }, {\n priority: \"highest\"\n }), this.listenTo(this._undoCommand, \"revert\", function (t, e, n) {\n _this141._redoCommand.addBatch(n);\n }), t.keystrokes.set(\"CTRL+Z\", \"undo\"), t.keystrokes.set(\"CTRL+Y\", \"redo\"), t.keystrokes.set(\"CTRL+SHIFT+Z\", \"redo\");\n }\n }]);\n\n return cu;\n }(cd);\n\n var lu = '',\n du = '';\n\n var uu = /*#__PURE__*/function (_cd12) {\n _inherits(uu, _cd12);\n\n var _super86 = _createSuper(uu);\n\n function uu() {\n _classCallCheck(this, uu);\n\n return _super86.apply(this, arguments);\n }\n\n _createClass(uu, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = t.locale,\n n = t.t,\n i = \"ltr\" == e.uiLanguageDirection ? lu : du,\n o = \"ltr\" == e.uiLanguageDirection ? du : lu;\n this._addButton(\"undo\", n(\"Undo\"), \"CTRL+Z\", i), this._addButton(\"redo\", n(\"Redo\"), \"CTRL+Y\", o);\n }\n }, {\n key: \"_addButton\",\n value: function _addButton(t, e, n, i) {\n var _this142 = this;\n\n var o = this.editor;\n o.ui.componentFactory.add(t, function (r) {\n var s = o.commands.get(t),\n a = new $l(r);\n return a.set({\n label: e,\n icon: i,\n keystroke: n,\n tooltip: !0\n }), a.bind(\"isEnabled\").to(s, \"isEnabled\"), _this142.listenTo(a, \"execute\", function () {\n o.execute(t), o.editing.view.focus();\n }), a;\n });\n }\n }]);\n\n return uu;\n }(cd);\n\n var hu = /*#__PURE__*/function (_cd13) {\n _inherits(hu, _cd13);\n\n var _super87 = _createSuper(hu);\n\n function hu() {\n _classCallCheck(this, hu);\n\n return _super87.apply(this, arguments);\n }\n\n _createClass(hu, null, [{\n key: \"requires\",\n get: function get() {\n return [cu, uu];\n }\n }, {\n key: \"pluginName\",\n get: function get() {\n return \"Undo\";\n }\n }]);\n\n return hu;\n }(cd);\n\n var fu = /*#__PURE__*/function () {\n function fu(t) {\n _classCallCheck(this, fu);\n\n this.context = t;\n }\n\n _createClass(fu, [{\n key: \"destroy\",\n value: function destroy() {\n this.stopListening();\n }\n }], [{\n key: \"isContextPlugin\",\n get: function get() {\n return !0;\n }\n }]);\n\n return fu;\n }();\n\n xn(fu, Ui);\n\n var mu = /*#__PURE__*/function (_fu) {\n _inherits(mu, _fu);\n\n var _super88 = _createSuper(mu);\n\n function mu() {\n _classCallCheck(this, mu);\n\n return _super88.apply(this, arguments);\n }\n\n _createClass(mu, [{\n key: \"init\",\n value: function init() {\n this.set(\"hasAny\", !1), this._actions = new An({\n idProperty: \"_id\"\n }), this._actions.delegate(\"add\", \"remove\").to(this);\n }\n }, {\n key: \"add\",\n value: function add(t) {\n if (\"string\" != typeof t) throw new hn.a(\"pendingactions-add-invalid-message\", this);\n var e = Object.create(Ui);\n return e.set(\"message\", t), this._actions.add(e), this.hasAny = !0, e;\n }\n }, {\n key: \"remove\",\n value: function remove(t) {\n this._actions.remove(t), this.hasAny = !!this._actions.length;\n }\n }, {\n key: Symbol.iterator,\n value: function value() {\n return this._actions[Symbol.iterator]();\n }\n }, {\n key: \"first\",\n get: function get() {\n return this._actions.get(0);\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"PendingActions\";\n }\n }]);\n\n return mu;\n }(fu);\n\n var gu = /*#__PURE__*/function () {\n function gu() {\n var _this143 = this;\n\n _classCallCheck(this, gu);\n\n var t = new window.FileReader();\n this._reader = t, this._data = void 0, this.set(\"loaded\", 0), t.onprogress = function (t) {\n _this143.loaded = t.loaded;\n };\n }\n\n _createClass(gu, [{\n key: \"read\",\n value: function read(t) {\n var _this144 = this;\n\n var e = this._reader;\n return this.total = t.size, new Promise(function (n, i) {\n e.onload = function () {\n var t = e.result;\n _this144._data = t, n(t);\n }, e.onerror = function () {\n i(\"error\");\n }, e.onabort = function () {\n i(\"aborted\");\n }, _this144._reader.readAsDataURL(t);\n });\n }\n }, {\n key: \"abort\",\n value: function abort() {\n this._reader.abort();\n }\n }, {\n key: \"error\",\n get: function get() {\n return this._reader.error;\n }\n }, {\n key: \"data\",\n get: function get() {\n return this._data;\n }\n }]);\n\n return gu;\n }();\n\n xn(gu, Ui);\n\n var pu = /*#__PURE__*/function (_cd14) {\n _inherits(pu, _cd14);\n\n var _super89 = _createSuper(pu);\n\n function pu() {\n _classCallCheck(this, pu);\n\n return _super89.apply(this, arguments);\n }\n\n _createClass(pu, [{\n key: \"init\",\n value: function init() {\n var _this145 = this;\n\n this.loaders = new An(), this.loaders.on(\"add\", function () {\n return _this145._updatePendingAction();\n }), this.loaders.on(\"remove\", function () {\n return _this145._updatePendingAction();\n }), this._loadersMap = new Map(), this._pendingAction = null, this.set(\"uploaded\", 0), this.set(\"uploadTotal\", null), this.bind(\"uploadedPercent\").to(this, \"uploaded\", this, \"uploadTotal\", function (t, e) {\n return e ? t / e * 100 : 0;\n });\n }\n }, {\n key: \"getLoader\",\n value: function getLoader(t) {\n return this._loadersMap.get(t) || null;\n }\n }, {\n key: \"createLoader\",\n value: function createLoader(t) {\n var _this146 = this;\n\n if (!this.createUploadAdapter) return Object(hn.c)(\"filerepository-no-upload-adapter\"), null;\n var e = new bu(Promise.resolve(t), this.createUploadAdapter);\n return this.loaders.add(e), this._loadersMap.set(t, e), t instanceof Promise && e.file.then(function (t) {\n _this146._loadersMap.set(t, e);\n })[\"catch\"](function () {}), e.on(\"change:uploaded\", function () {\n var t = 0;\n\n var _iterator303 = _createForOfIteratorHelper(_this146.loaders),\n _step303;\n\n try {\n for (_iterator303.s(); !(_step303 = _iterator303.n()).done;) {\n var _e214 = _step303.value;\n t += _e214.uploaded;\n }\n } catch (err) {\n _iterator303.e(err);\n } finally {\n _iterator303.f();\n }\n\n _this146.uploaded = t;\n }), e.on(\"change:uploadTotal\", function () {\n var t = 0;\n\n var _iterator304 = _createForOfIteratorHelper(_this146.loaders),\n _step304;\n\n try {\n for (_iterator304.s(); !(_step304 = _iterator304.n()).done;) {\n var _e215 = _step304.value;\n _e215.uploadTotal && (t += _e215.uploadTotal);\n }\n } catch (err) {\n _iterator304.e(err);\n } finally {\n _iterator304.f();\n }\n\n _this146.uploadTotal = t;\n }), e;\n }\n }, {\n key: \"destroyLoader\",\n value: function destroyLoader(t) {\n var _this147 = this;\n\n var e = t instanceof bu ? t : this.getLoader(t);\n e._destroy(), this.loaders.remove(e), this._loadersMap.forEach(function (t, n) {\n t === e && _this147._loadersMap[\"delete\"](n);\n });\n }\n }, {\n key: \"_updatePendingAction\",\n value: function _updatePendingAction() {\n var t = this.editor.plugins.get(mu);\n\n if (this.loaders.length) {\n if (!this._pendingAction) {\n var _e216 = this.editor.t,\n _n202 = function _n202(t) {\n return \"\".concat(_e216(\"Upload in progress\"), \" \").concat(parseInt(t), \"%.\");\n };\n\n this._pendingAction = t.add(_n202(this.uploadedPercent)), this._pendingAction.bind(\"message\").to(this, \"uploadedPercent\", _n202);\n }\n } else t.remove(this._pendingAction), this._pendingAction = null;\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"FileRepository\";\n }\n }, {\n key: \"requires\",\n get: function get() {\n return [mu];\n }\n }]);\n\n return pu;\n }(cd);\n\n xn(pu, Ui);\n\n var bu = /*#__PURE__*/function () {\n function bu(t, e) {\n _classCallCheck(this, bu);\n\n this.id = dn(), this._filePromiseWrapper = this._createFilePromiseWrapper(t), this._adapter = e(this), this._reader = new gu(), this.set(\"status\", \"idle\"), this.set(\"uploaded\", 0), this.set(\"uploadTotal\", null), this.bind(\"uploadedPercent\").to(this, \"uploaded\", this, \"uploadTotal\", function (t, e) {\n return e ? t / e * 100 : 0;\n }), this.set(\"uploadResponse\", null);\n }\n\n _createClass(bu, [{\n key: \"read\",\n value: function read() {\n var _this148 = this;\n\n if (\"idle\" != this.status) throw new hn.a(\"filerepository-read-wrong-status\", this);\n return this.status = \"reading\", this.file.then(function (t) {\n return _this148._reader.read(t);\n }).then(function (t) {\n if (\"reading\" !== _this148.status) throw _this148.status;\n return _this148.status = \"idle\", t;\n })[\"catch\"](function (t) {\n if (\"aborted\" === t) throw _this148.status = \"aborted\", \"aborted\";\n throw _this148.status = \"error\", _this148._reader.error ? _this148._reader.error : t;\n });\n }\n }, {\n key: \"upload\",\n value: function upload() {\n var _this149 = this;\n\n if (\"idle\" != this.status) throw new hn.a(\"filerepository-upload-wrong-status\", this);\n return this.status = \"uploading\", this.file.then(function () {\n return _this149._adapter.upload();\n }).then(function (t) {\n return _this149.uploadResponse = t, _this149.status = \"idle\", t;\n })[\"catch\"](function (t) {\n if (\"aborted\" === _this149.status) throw \"aborted\";\n throw _this149.status = \"error\", t;\n });\n }\n }, {\n key: \"abort\",\n value: function abort() {\n var t = this.status;\n this.status = \"aborted\", this._filePromiseWrapper.isFulfilled ? \"reading\" == t ? this._reader.abort() : \"uploading\" == t && this._adapter.abort && this._adapter.abort() : (this._filePromiseWrapper.promise[\"catch\"](function () {}), this._filePromiseWrapper.rejecter(\"aborted\")), this._destroy();\n }\n }, {\n key: \"_destroy\",\n value: function _destroy() {\n this._filePromiseWrapper = void 0, this._reader = void 0, this._adapter = void 0, this.uploadResponse = void 0;\n }\n }, {\n key: \"_createFilePromiseWrapper\",\n value: function _createFilePromiseWrapper(t) {\n var e = {};\n return e.promise = new Promise(function (n, i) {\n e.rejecter = i, e.isFulfilled = !1, t.then(function (t) {\n e.isFulfilled = !0, n(t);\n })[\"catch\"](function (t) {\n e.isFulfilled = !0, i(t);\n });\n }), e;\n }\n }, {\n key: \"file\",\n get: function get() {\n var _this150 = this;\n\n return this._filePromiseWrapper ? this._filePromiseWrapper.promise.then(function (t) {\n return _this150._filePromiseWrapper ? t : null;\n }) : Promise.resolve(null);\n }\n }, {\n key: \"data\",\n get: function get() {\n return this._reader.data;\n }\n }]);\n\n return bu;\n }();\n\n xn(bu, Ui);\n\n function wu() {\n var t = function (t) {\n t = t.toLowerCase();\n var e = document.cookie.split(\";\");\n\n var _iterator305 = _createForOfIteratorHelper(e),\n _step305;\n\n try {\n for (_iterator305.s(); !(_step305 = _iterator305.n()).done;) {\n var _n203 = _step305.value;\n\n var _e217 = _n203.split(\"=\");\n\n if (decodeURIComponent(_e217[0].trim().toLowerCase()) === t) return decodeURIComponent(_e217[1]);\n }\n } catch (err) {\n _iterator305.e(err);\n } finally {\n _iterator305.f();\n }\n\n return null;\n }(\"ckCsrfToken\");\n\n var e, n;\n return t && 40 == t.length || (t = function (t) {\n var e = \"\";\n var n = new Uint8Array(t);\n window.crypto.getRandomValues(n);\n\n for (var _t233 = 0; _t233 < n.length; _t233++) {\n var _i165 = \"abcdefghijklmnopqrstuvwxyz0123456789\".charAt(n[_t233] % \"abcdefghijklmnopqrstuvwxyz0123456789\".length);\n\n e += Math.random() > .5 ? _i165.toUpperCase() : _i165;\n }\n\n return e;\n }(40), e = \"ckCsrfToken\", n = t, document.cookie = encodeURIComponent(e) + \"=\" + encodeURIComponent(n) + \";path=/\"), t;\n }\n\n var ku = /*#__PURE__*/function (_cd15) {\n _inherits(ku, _cd15);\n\n var _super90 = _createSuper(ku);\n\n function ku() {\n _classCallCheck(this, ku);\n\n return _super90.apply(this, arguments);\n }\n\n _createClass(ku, [{\n key: \"init\",\n value: function init() {\n var _this151 = this;\n\n var t = this.editor.config.get(\"ckfinder.uploadUrl\");\n t && (this.editor.plugins.get(pu).createUploadAdapter = function (e) {\n return new _u(e, t, _this151.editor.t);\n });\n }\n }], [{\n key: \"requires\",\n get: function get() {\n return [pu];\n }\n }, {\n key: \"pluginName\",\n get: function get() {\n return \"CKFinderUploadAdapter\";\n }\n }]);\n\n return ku;\n }(cd);\n\n var _u = /*#__PURE__*/function () {\n function _u(t, e, n) {\n _classCallCheck(this, _u);\n\n this.loader = t, this.url = e, this.t = n;\n }\n\n _createClass(_u, [{\n key: \"upload\",\n value: function upload() {\n var _this152 = this;\n\n return this.loader.file.then(function (t) {\n return new Promise(function (e, n) {\n _this152._initRequest(), _this152._initListeners(e, n, t), _this152._sendRequest(t);\n });\n });\n }\n }, {\n key: \"abort\",\n value: function abort() {\n this.xhr && this.xhr.abort();\n }\n }, {\n key: \"_initRequest\",\n value: function _initRequest() {\n var t = this.xhr = new XMLHttpRequest();\n t.open(\"POST\", this.url, !0), t.responseType = \"json\";\n }\n }, {\n key: \"_initListeners\",\n value: function _initListeners(t, e, n) {\n var i = this.xhr,\n o = this.loader,\n r = (0, this.t)(\"Cannot upload file:\") + \" \".concat(n.name, \".\");\n i.addEventListener(\"error\", function () {\n return e(r);\n }), i.addEventListener(\"abort\", function () {\n return e();\n }), i.addEventListener(\"load\", function () {\n var n = i.response;\n if (!n || !n.uploaded) return e(n && n.error && n.error.message ? n.error.message : r);\n t({\n \"default\": n.url\n });\n }), i.upload && i.upload.addEventListener(\"progress\", function (t) {\n t.lengthComputable && (o.uploadTotal = t.total, o.uploaded = t.loaded);\n });\n }\n }, {\n key: \"_sendRequest\",\n value: function _sendRequest(t) {\n var e = new FormData();\n e.append(\"upload\", t), e.append(\"ckCsrfToken\", wu()), this.xhr.send(e);\n }\n }]);\n\n return _u;\n }();\n\n function vu(t) {\n var e = t.next();\n return e.done ? null : e.value;\n }\n\n function yu(t, e, n, i) {\n var o,\n r = null;\n \"function\" == typeof i ? o = i : (r = t.commands.get(i), o = function o() {\n t.execute(i);\n }), t.model.document.on(\"change:data\", function (i, s) {\n if (r && !r.isEnabled || !e.isEnabled) return;\n var a = vu(t.model.document.selection.getRanges());\n if (!a.isCollapsed) return;\n if (\"transparent\" == s.type) return;\n var c = Array.from(t.model.document.differ.getChanges()),\n l = c[0];\n if (1 != c.length || \"insert\" !== l.type || \"$text\" != l.name || 1 != l.length) return;\n var d = l.position.parent;\n if (d.is(\"element\", \"codeBlock\")) return;\n if (r && !0 === r.value) return;\n var u = d.getChild(0),\n h = t.model.createRangeOn(u);\n if (!h.containsRange(a) && !a.end.isEqual(h.end)) return;\n var f = n.exec(u.data.substr(0, a.end.offset));\n f && t.model.enqueueChange(function (t) {\n var e = t.createPositionAt(d, 0),\n n = t.createPositionAt(d, f[0].length),\n i = new Fs(e, n);\n !1 !== o({\n match: f\n }) && t.remove(i), i.detach();\n });\n });\n }\n\n function xu(t, e, n, i) {\n var o, r;\n n instanceof RegExp ? o = n : r = n, r = r || function (t) {\n var e;\n var n = [],\n i = [];\n\n for (; null !== (e = o.exec(t)) && !(e && e.length < 4);) {\n var _e218 = e,\n _t234 = _e218.index,\n _o90 = _e218[1],\n _r40 = _e218[2],\n _s28 = _e218[3];\n\n var _a14 = _o90 + _r40 + _s28;\n\n _t234 += e[0].length - _a14.length;\n var _c9 = [_t234, _t234 + _o90.length],\n _l6 = [_t234 + _o90.length + _r40.length, _t234 + _o90.length + _r40.length + _s28.length];\n n.push(_c9), n.push(_l6), i.push([_t234 + _o90.length, _t234 + _o90.length + _r40.length]);\n }\n\n return {\n remove: n,\n format: i\n };\n }, t.model.document.on(\"change:data\", function (n, o) {\n if (\"transparent\" == o.type || !e.isEnabled) return;\n var s = t.model,\n a = s.document.selection;\n if (!a.isCollapsed) return;\n var c = Array.from(s.document.differ.getChanges()),\n l = c[0];\n if (1 != c.length || \"insert\" !== l.type || \"$text\" != l.name || 1 != l.length) return;\n\n var d = a.focus,\n u = d.parent,\n _ref112 = function (t, e) {\n var n = t.start;\n return {\n text: Array.from(t.getItems()).reduce(function (t, i) {\n return !i.is(\"$text\") && !i.is(\"$textProxy\") || i.getAttribute(\"code\") ? (n = e.createPositionAfter(i), \"\") : t + i.data;\n }, \"\"),\n range: e.createRange(n, t.end)\n };\n }(s.createRange(s.createPositionAt(u, 0), d), s),\n h = _ref112.text,\n f = _ref112.range,\n m = r(h),\n g = Au(f.start, m.format, s),\n p = Au(f.start, m.remove, s);\n\n g.length && p.length && s.enqueueChange(function (t) {\n if (!1 !== i(t, g)) {\n var _iterator306 = _createForOfIteratorHelper(p.reverse()),\n _step306;\n\n try {\n for (_iterator306.s(); !(_step306 = _iterator306.n()).done;) {\n var _e219 = _step306.value;\n t.remove(_e219);\n }\n } catch (err) {\n _iterator306.e(err);\n } finally {\n _iterator306.f();\n }\n }\n });\n });\n }\n\n function Au(t, e, n) {\n return e.filter(function (t) {\n return void 0 !== t[0] && void 0 !== t[1];\n }).map(function (e) {\n return n.createRange(t.getShiftedBy(e[0]), t.getShiftedBy(e[1]));\n });\n }\n\n function Cu(t, e) {\n return function (n, i) {\n if (!t.commands.get(e).isEnabled) return !1;\n var o = t.model.schema.getValidRanges(i, e);\n\n var _iterator307 = _createForOfIteratorHelper(o),\n _step307;\n\n try {\n for (_iterator307.s(); !(_step307 = _iterator307.n()).done;) {\n var _t235 = _step307.value;\n n.setAttribute(e, !0, _t235);\n }\n } catch (err) {\n _iterator307.e(err);\n } finally {\n _iterator307.f();\n }\n\n n.removeSelectionAttribute(e);\n };\n }\n\n var Tu = /*#__PURE__*/function (_gd7) {\n _inherits(Tu, _gd7);\n\n var _super91 = _createSuper(Tu);\n\n function Tu(t, e) {\n var _this153;\n\n _classCallCheck(this, Tu);\n\n _this153 = _super91.call(this, t), _this153.attributeKey = e;\n return _this153;\n }\n\n _createClass(Tu, [{\n key: \"refresh\",\n value: function refresh() {\n var t = this.editor.model,\n e = t.document;\n this.value = this._getValueFromFirstAllowedNode(), this.isEnabled = t.schema.checkAttributeInSelection(e.selection, this.attributeKey);\n }\n }, {\n key: \"execute\",\n value: function execute() {\n var _this154 = this;\n\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var e = this.editor.model,\n n = e.document.selection,\n i = void 0 === t.forceValue ? !this.value : t.forceValue;\n e.change(function (t) {\n if (n.isCollapsed) i ? t.setSelectionAttribute(_this154.attributeKey, !0) : t.removeSelectionAttribute(_this154.attributeKey);else {\n var _o91 = e.schema.getValidRanges(n.getRanges(), _this154.attributeKey);\n\n var _iterator308 = _createForOfIteratorHelper(_o91),\n _step308;\n\n try {\n for (_iterator308.s(); !(_step308 = _iterator308.n()).done;) {\n var _e220 = _step308.value;\n i ? t.setAttribute(_this154.attributeKey, i, _e220) : t.removeAttribute(_this154.attributeKey, _e220);\n }\n } catch (err) {\n _iterator308.e(err);\n } finally {\n _iterator308.f();\n }\n }\n });\n }\n }, {\n key: \"_getValueFromFirstAllowedNode\",\n value: function _getValueFromFirstAllowedNode() {\n var t = this.editor.model,\n e = t.schema,\n n = t.document.selection;\n if (n.isCollapsed) return n.hasAttribute(this.attributeKey);\n\n var _iterator309 = _createForOfIteratorHelper(n.getRanges()),\n _step309;\n\n try {\n for (_iterator309.s(); !(_step309 = _iterator309.n()).done;) {\n var _t236 = _step309.value;\n\n var _iterator310 = _createForOfIteratorHelper(_t236.getItems()),\n _step310;\n\n try {\n for (_iterator310.s(); !(_step310 = _iterator310.n()).done;) {\n var _n204 = _step310.value;\n if (e.checkAttribute(_n204, this.attributeKey)) return _n204.hasAttribute(this.attributeKey);\n }\n } catch (err) {\n _iterator310.e(err);\n } finally {\n _iterator310.f();\n }\n }\n } catch (err) {\n _iterator309.e(err);\n } finally {\n _iterator309.f();\n }\n\n return !1;\n }\n }]);\n\n return Tu;\n }(gd);\n\n var Pu = /*#__PURE__*/function (_cd16) {\n _inherits(Pu, _cd16);\n\n var _super92 = _createSuper(Pu);\n\n function Pu() {\n _classCallCheck(this, Pu);\n\n return _super92.apply(this, arguments);\n }\n\n _createClass(Pu, [{\n key: \"init\",\n value: function init() {\n var t = this.editor;\n t.model.schema.extend(\"$text\", {\n allowAttributes: \"bold\"\n }), t.model.schema.setAttributeProperties(\"bold\", {\n isFormatting: !0,\n copyOnEnter: !0\n }), t.conversion.attributeToElement({\n model: \"bold\",\n view: \"strong\",\n upcastAlso: [\"b\", function (t) {\n var e = t.getStyle(\"font-weight\");\n return e ? \"bold\" == e || Number(e) >= 600 ? {\n name: !0,\n styles: [\"font-weight\"]\n } : void 0 : null;\n }]\n }), t.commands.add(\"bold\", new Tu(t, \"bold\")), t.keystrokes.set(\"CTRL+B\", \"bold\");\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"BoldEditing\";\n }\n }]);\n\n return Pu;\n }(cd);\n\n var Su = /*#__PURE__*/function (_cd17) {\n _inherits(Su, _cd17);\n\n var _super93 = _createSuper(Su);\n\n function Su() {\n _classCallCheck(this, Su);\n\n return _super93.apply(this, arguments);\n }\n\n _createClass(Su, [{\n key: \"init\",\n value: function init() {\n var _this155 = this;\n\n var t = this.editor,\n e = t.t;\n t.ui.componentFactory.add(\"bold\", function (n) {\n var i = t.commands.get(\"bold\"),\n o = new $l(n);\n return o.set({\n label: e(\"Bold\"),\n icon: '',\n keystroke: \"CTRL+B\",\n tooltip: !0,\n isToggleable: !0\n }), o.bind(\"isOn\", \"isEnabled\").to(i, \"value\", \"isEnabled\"), _this155.listenTo(o, \"execute\", function () {\n t.execute(\"bold\"), t.editing.view.focus();\n }), o;\n });\n }\n }]);\n\n return Su;\n }(cd);\n\n var Eu = /*#__PURE__*/function (_cd18) {\n _inherits(Eu, _cd18);\n\n var _super94 = _createSuper(Eu);\n\n function Eu() {\n _classCallCheck(this, Eu);\n\n return _super94.apply(this, arguments);\n }\n\n _createClass(Eu, [{\n key: \"init\",\n value: function init() {\n var t = this.editor;\n t.model.schema.extend(\"$text\", {\n allowAttributes: \"italic\"\n }), t.model.schema.setAttributeProperties(\"italic\", {\n isFormatting: !0,\n copyOnEnter: !0\n }), t.conversion.attributeToElement({\n model: \"italic\",\n view: \"i\",\n upcastAlso: [\"em\", {\n styles: {\n \"font-style\": \"italic\"\n }\n }]\n }), t.commands.add(\"italic\", new Tu(t, \"italic\")), t.keystrokes.set(\"CTRL+I\", \"italic\");\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"ItalicEditing\";\n }\n }]);\n\n return Eu;\n }(cd);\n\n var Mu = /*#__PURE__*/function (_cd19) {\n _inherits(Mu, _cd19);\n\n var _super95 = _createSuper(Mu);\n\n function Mu() {\n _classCallCheck(this, Mu);\n\n return _super95.apply(this, arguments);\n }\n\n _createClass(Mu, [{\n key: \"init\",\n value: function init() {\n var _this156 = this;\n\n var t = this.editor,\n e = t.t;\n t.ui.componentFactory.add(\"italic\", function (n) {\n var i = t.commands.get(\"italic\"),\n o = new $l(n);\n return o.set({\n label: e(\"Italic\"),\n icon: '',\n keystroke: \"CTRL+I\",\n tooltip: !0,\n isToggleable: !0\n }), o.bind(\"isOn\", \"isEnabled\").to(i, \"value\", \"isEnabled\"), _this156.listenTo(o, \"execute\", function () {\n t.execute(\"italic\"), t.editing.view.focus();\n }), o;\n });\n }\n }]);\n\n return Mu;\n }(cd);\n\n var Iu = /*#__PURE__*/function (_gd8) {\n _inherits(Iu, _gd8);\n\n var _super96 = _createSuper(Iu);\n\n function Iu() {\n _classCallCheck(this, Iu);\n\n return _super96.apply(this, arguments);\n }\n\n _createClass(Iu, [{\n key: \"refresh\",\n value: function refresh() {\n this.value = this._getValue(), this.isEnabled = this._checkEnabled();\n }\n }, {\n key: \"execute\",\n value: function execute() {\n var _this157 = this;\n\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var e = this.editor.model,\n n = e.schema,\n i = e.document.selection,\n o = Array.from(i.getSelectedBlocks()),\n r = void 0 === t.forceValue ? !this.value : t.forceValue;\n e.change(function (t) {\n if (r) {\n var _e221 = o.filter(function (t) {\n return Nu(t) || Ru(n, t);\n });\n\n _this157._applyQuote(t, _e221);\n } else _this157._removeQuote(t, o.filter(Nu));\n });\n }\n }, {\n key: \"_getValue\",\n value: function _getValue() {\n var t = vu(this.editor.model.document.selection.getSelectedBlocks());\n return !(!t || !Nu(t));\n }\n }, {\n key: \"_checkEnabled\",\n value: function _checkEnabled() {\n if (this.value) return !0;\n var t = this.editor.model.document.selection,\n e = this.editor.model.schema,\n n = vu(t.getSelectedBlocks());\n return !!n && Ru(e, n);\n }\n }, {\n key: \"_removeQuote\",\n value: function _removeQuote(t, e) {\n Ou(t, e).reverse().forEach(function (e) {\n if (e.start.isAtStart && e.end.isAtEnd) return void t.unwrap(e.start.parent);\n\n if (e.start.isAtStart) {\n var _n205 = t.createPositionBefore(e.start.parent);\n\n return void t.move(e, _n205);\n }\n\n e.end.isAtEnd || t.split(e.end);\n var n = t.createPositionAfter(e.end.parent);\n t.move(e, n);\n });\n }\n }, {\n key: \"_applyQuote\",\n value: function _applyQuote(t, e) {\n var n = [];\n Ou(t, e).reverse().forEach(function (e) {\n var i = Nu(e.start);\n i || (i = t.createElement(\"blockQuote\"), t.wrap(e, i)), n.push(i);\n }), n.reverse().reduce(function (e, n) {\n return e.nextSibling == n ? (t.merge(t.createPositionAfter(e)), e) : n;\n });\n }\n }]);\n\n return Iu;\n }(gd);\n\n function Nu(t) {\n return \"blockQuote\" == t.parent.name ? t.parent : null;\n }\n\n function Ou(t, e) {\n var n,\n i = 0;\n var o = [];\n\n for (; i < e.length;) {\n var _r41 = e[i],\n _s29 = e[i + 1];\n n || (n = t.createPositionBefore(_r41)), _s29 && _r41.nextSibling == _s29 || (o.push(t.createRange(n, t.createPositionAfter(_r41))), n = null), i++;\n }\n\n return o;\n }\n\n function Ru(t, e) {\n var n = t.checkChild(e.parent, \"blockQuote\"),\n i = t.checkChild([\"$root\", \"blockQuote\"], e);\n return n && i;\n }\n\n var Du = /*#__PURE__*/function (_cd20) {\n _inherits(Du, _cd20);\n\n var _super97 = _createSuper(Du);\n\n function Du() {\n _classCallCheck(this, Du);\n\n return _super97.apply(this, arguments);\n }\n\n _createClass(Du, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = t.model.schema;\n t.commands.add(\"blockQuote\", new Iu(t)), e.register(\"blockQuote\", {\n allowWhere: \"$block\",\n allowContentOf: \"$root\"\n }), e.addChildCheck(function (t, e) {\n if (t.endsWith(\"blockQuote\") && \"blockQuote\" == e.name) return !1;\n }), t.conversion.elementToElement({\n model: \"blockQuote\",\n view: \"blockquote\"\n }), t.model.document.registerPostFixer(function (n) {\n var i = t.model.document.differ.getChanges();\n\n var _iterator311 = _createForOfIteratorHelper(i),\n _step311;\n\n try {\n for (_iterator311.s(); !(_step311 = _iterator311.n()).done;) {\n var _t237 = _step311.value;\n\n if (\"insert\" == _t237.type) {\n var _i166 = _t237.position.nodeAfter;\n if (!_i166) continue;\n if (_i166.is(\"element\", \"blockQuote\") && _i166.isEmpty) return n.remove(_i166), !0;\n if (_i166.is(\"element\", \"blockQuote\") && !e.checkChild(_t237.position, _i166)) return n.unwrap(_i166), !0;\n\n if (_i166.is(\"element\")) {\n var _t238 = n.createRangeIn(_i166);\n\n var _iterator312 = _createForOfIteratorHelper(_t238.getItems()),\n _step312;\n\n try {\n for (_iterator312.s(); !(_step312 = _iterator312.n()).done;) {\n var _i167 = _step312.value;\n if (_i167.is(\"element\", \"blockQuote\") && !e.checkChild(n.createPositionBefore(_i167), _i167)) return n.unwrap(_i167), !0;\n }\n } catch (err) {\n _iterator312.e(err);\n } finally {\n _iterator312.f();\n }\n }\n } else if (\"remove\" == _t237.type) {\n var _e222 = _t237.position.parent;\n if (_e222.is(\"element\", \"blockQuote\") && _e222.isEmpty) return n.remove(_e222), !0;\n }\n }\n } catch (err) {\n _iterator311.e(err);\n } finally {\n _iterator311.f();\n }\n\n return !1;\n });\n }\n }, {\n key: \"afterInit\",\n value: function afterInit() {\n var _this158 = this;\n\n var t = this.editor.commands.get(\"blockQuote\");\n this.listenTo(this.editor.editing.view.document, \"enter\", function (e, n) {\n var i = _this158.editor.model.document,\n o = i.selection.getLastPosition().parent;\n i.selection.isCollapsed && o.isEmpty && t.value && (_this158.editor.execute(\"blockQuote\"), _this158.editor.editing.view.scrollToTheSelection(), n.preventDefault(), e.stop());\n });\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"BlockQuoteEditing\";\n }\n }]);\n\n return Du;\n }(cd);\n\n n(44);\n\n var Lu = /*#__PURE__*/function (_cd21) {\n _inherits(Lu, _cd21);\n\n var _super98 = _createSuper(Lu);\n\n function Lu() {\n _classCallCheck(this, Lu);\n\n return _super98.apply(this, arguments);\n }\n\n _createClass(Lu, [{\n key: \"init\",\n value: function init() {\n var _this159 = this;\n\n var t = this.editor,\n e = t.t;\n t.ui.componentFactory.add(\"blockQuote\", function (n) {\n var i = t.commands.get(\"blockQuote\"),\n o = new $l(n);\n return o.set({\n label: e(\"Block quote\"),\n icon: '',\n tooltip: !0,\n isToggleable: !0\n }), o.bind(\"isOn\", \"isEnabled\").to(i, \"value\", \"isEnabled\"), _this159.listenTo(o, \"execute\", function () {\n t.execute(\"blockQuote\"), t.editing.view.focus();\n }), o;\n });\n }\n }]);\n\n return Lu;\n }(cd);\n\n var Vu = /*#__PURE__*/function (_cd22) {\n _inherits(Vu, _cd22);\n\n var _super99 = _createSuper(Vu);\n\n function Vu() {\n _classCallCheck(this, Vu);\n\n return _super99.apply(this, arguments);\n }\n\n _createClass(Vu, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = t.ui.componentFactory,\n n = t.t;\n e.add(\"ckfinder\", function (e) {\n var i = t.commands.get(\"ckfinder\"),\n o = new $l(e);\n return o.set({\n label: n(\"Insert image or file\"),\n icon: '',\n tooltip: !0\n }), o.bind(\"isEnabled\").to(i), o.on(\"execute\", function () {\n t.execute(\"ckfinder\"), t.editing.view.focus();\n }), o;\n });\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"CKFinderUI\";\n }\n }]);\n\n return Vu;\n }(cd);\n\n var ju = /*#__PURE__*/function (_pr7) {\n _inherits(ju, _pr7);\n\n var _super100 = _createSuper(ju);\n\n function ju() {\n _classCallCheck(this, ju);\n\n return _super100.apply(this, arguments);\n }\n\n _createClass(ju, [{\n key: \"observe\",\n value: function observe(t) {\n var _this160 = this;\n\n this.listenTo(t, \"load\", function (t, e) {\n var n = e.target;\n _this160.checkShouldIgnoreEventFromTarget(n) || \"IMG\" == n.tagName && _this160._fireEvents(e);\n }, {\n useCapture: !0\n });\n }\n }, {\n key: \"_fireEvents\",\n value: function _fireEvents(t) {\n this.isEnabled && (this.document.fire(\"layoutChanged\"), this.document.fire(\"imageLoaded\", t));\n }\n }]);\n\n return ju;\n }(pr);\n\n var zu = /*#__PURE__*/function () {\n function zu() {\n _classCallCheck(this, zu);\n\n this._stack = [];\n }\n\n _createClass(zu, [{\n key: \"add\",\n value: function add(t, e) {\n var n = this._stack,\n i = n[0];\n\n this._insertDescriptor(t);\n\n var o = n[0];\n i === o || Bu(i, o) || this.fire(\"change:top\", {\n oldDescriptor: i,\n newDescriptor: o,\n writer: e\n });\n }\n }, {\n key: \"remove\",\n value: function remove(t, e) {\n var n = this._stack,\n i = n[0];\n\n this._removeDescriptor(t);\n\n var o = n[0];\n i === o || Bu(i, o) || this.fire(\"change:top\", {\n oldDescriptor: i,\n newDescriptor: o,\n writer: e\n });\n }\n }, {\n key: \"_insertDescriptor\",\n value: function _insertDescriptor(t) {\n var e = this._stack,\n n = e.findIndex(function (e) {\n return e.id === t.id;\n });\n if (Bu(t, e[n])) return;\n n > -1 && e.splice(n, 1);\n var i = 0;\n\n for (; e[i] && Fu(e[i], t);) {\n i++;\n }\n\n e.splice(i, 0, t);\n }\n }, {\n key: \"_removeDescriptor\",\n value: function _removeDescriptor(t) {\n var e = this._stack,\n n = e.findIndex(function (e) {\n return e.id === t;\n });\n n > -1 && e.splice(n, 1);\n }\n }]);\n\n return zu;\n }();\n\n function Bu(t, e) {\n return t && e && t.priority == e.priority && Uu(t.classes) == Uu(e.classes);\n }\n\n function Fu(t, e) {\n return t.priority > e.priority || !(t.priority < e.priority) && Uu(t.classes) > Uu(e.classes);\n }\n\n function Uu(t) {\n return Array.isArray(t) ? t.sort().join(\",\") : t;\n }\n\n xn(zu, gn);\n n(46);\n var Hu = Ml(\"px\"),\n Wu = or.document.body;\n\n var qu = /*#__PURE__*/function (_yl16) {\n _inherits(qu, _yl16);\n\n var _super101 = _createSuper(qu);\n\n function qu(t) {\n var _this161;\n\n _classCallCheck(this, qu);\n\n _this161 = _super101.call(this, t);\n var e = _this161.bindTemplate;\n _this161.set(\"top\", 0), _this161.set(\"left\", 0), _this161.set(\"position\", \"arrow_nw\"), _this161.set(\"isVisible\", !1), _this161.set(\"withArrow\", !0), _this161.set(\"class\"), _this161.content = _this161.createCollection(), _this161.setTemplate({\n tag: \"div\",\n attributes: {\n \"class\": [\"ck\", \"ck-balloon-panel\", e.to(\"position\", function (t) {\n return \"ck-balloon-panel_\" + t;\n }), e[\"if\"](\"isVisible\", \"ck-balloon-panel_visible\"), e[\"if\"](\"withArrow\", \"ck-balloon-panel_with-arrow\"), e.to(\"class\")],\n style: {\n top: e.to(\"top\", Hu),\n left: e.to(\"left\", Hu)\n }\n },\n children: _this161.content\n });\n return _this161;\n }\n\n _createClass(qu, [{\n key: \"show\",\n value: function show() {\n this.isVisible = !0;\n }\n }, {\n key: \"hide\",\n value: function hide() {\n this.isVisible = !1;\n }\n }, {\n key: \"attachTo\",\n value: function attachTo(t) {\n this.show();\n\n var e = qu.defaultPositions,\n n = Object.assign({}, {\n element: this.element,\n positions: [e.southArrowNorth, e.southArrowNorthMiddleWest, e.southArrowNorthMiddleEast, e.southArrowNorthWest, e.southArrowNorthEast, e.northArrowSouth, e.northArrowSouthMiddleWest, e.northArrowSouthMiddleEast, e.northArrowSouthWest, e.northArrowSouthEast],\n limiter: Wu,\n fitInViewport: !0\n }, t),\n i = qu._getOptimalPosition(n),\n o = parseInt(i.left),\n r = parseInt(i.top),\n s = i.name;\n\n Object.assign(this, {\n top: r,\n left: o,\n position: s\n });\n }\n }, {\n key: \"pin\",\n value: function pin(t) {\n var _this162 = this;\n\n this.unpin(), this._pinWhenIsVisibleCallback = function () {\n _this162.isVisible ? _this162._startPinning(t) : _this162._stopPinning();\n }, this._startPinning(t), this.listenTo(this, \"change:isVisible\", this._pinWhenIsVisibleCallback);\n }\n }, {\n key: \"unpin\",\n value: function unpin() {\n this._pinWhenIsVisibleCallback && (this._stopPinning(), this.stopListening(this, \"change:isVisible\", this._pinWhenIsVisibleCallback), this._pinWhenIsVisibleCallback = null, this.hide());\n }\n }, {\n key: \"_startPinning\",\n value: function _startPinning(t) {\n var _this163 = this;\n\n this.attachTo(t);\n var e = $u(t.target),\n n = t.limiter ? $u(t.limiter) : Wu;\n this.listenTo(or.document, \"scroll\", function (i, o) {\n var r = o.target,\n s = e && r.contains(e),\n a = n && r.contains(n);\n !s && !a && e && n || _this163.attachTo(t);\n }, {\n useCapture: !0\n }), this.listenTo(or.window, \"resize\", function () {\n _this163.attachTo(t);\n });\n }\n }, {\n key: \"_stopPinning\",\n value: function _stopPinning() {\n this.stopListening(or.document, \"scroll\"), this.stopListening(or.window, \"resize\");\n }\n }]);\n\n return qu;\n }(yl);\n\n function $u(t) {\n return nn(t) ? t : ts(t) ? t.commonAncestorContainer : \"function\" == typeof t ? $u(t()) : null;\n }\n\n function Yu(t, e) {\n return t.top - e.height - qu.arrowVerticalOffset;\n }\n\n function Gu(t) {\n return t.bottom + qu.arrowVerticalOffset;\n }\n\n qu.arrowHorizontalOffset = 25, qu.arrowVerticalOffset = 10, qu._getOptimalPosition = zl, qu.defaultPositions = {\n northWestArrowSouthWest: function northWestArrowSouthWest(t, e) {\n return {\n top: Yu(t, e),\n left: t.left - qu.arrowHorizontalOffset,\n name: \"arrow_sw\"\n };\n },\n northWestArrowSouthMiddleWest: function northWestArrowSouthMiddleWest(t, e) {\n return {\n top: Yu(t, e),\n left: t.left - .25 * e.width - qu.arrowHorizontalOffset,\n name: \"arrow_smw\"\n };\n },\n northWestArrowSouth: function northWestArrowSouth(t, e) {\n return {\n top: Yu(t, e),\n left: t.left - e.width / 2,\n name: \"arrow_s\"\n };\n },\n northWestArrowSouthMiddleEast: function northWestArrowSouthMiddleEast(t, e) {\n return {\n top: Yu(t, e),\n left: t.left - .75 * e.width + qu.arrowHorizontalOffset,\n name: \"arrow_sme\"\n };\n },\n northWestArrowSouthEast: function northWestArrowSouthEast(t, e) {\n return {\n top: Yu(t, e),\n left: t.left - e.width + qu.arrowHorizontalOffset,\n name: \"arrow_se\"\n };\n },\n northArrowSouthWest: function northArrowSouthWest(t, e) {\n return {\n top: Yu(t, e),\n left: t.left + t.width / 2 - qu.arrowHorizontalOffset,\n name: \"arrow_sw\"\n };\n },\n northArrowSouthMiddleWest: function northArrowSouthMiddleWest(t, e) {\n return {\n top: Yu(t, e),\n left: t.left + t.width / 2 - .25 * e.width - qu.arrowHorizontalOffset,\n name: \"arrow_smw\"\n };\n },\n northArrowSouth: function northArrowSouth(t, e) {\n return {\n top: Yu(t, e),\n left: t.left + t.width / 2 - e.width / 2,\n name: \"arrow_s\"\n };\n },\n northArrowSouthMiddleEast: function northArrowSouthMiddleEast(t, e) {\n return {\n top: Yu(t, e),\n left: t.left + t.width / 2 - .75 * e.width + qu.arrowHorizontalOffset,\n name: \"arrow_sme\"\n };\n },\n northArrowSouthEast: function northArrowSouthEast(t, e) {\n return {\n top: Yu(t, e),\n left: t.left + t.width / 2 - e.width + qu.arrowHorizontalOffset,\n name: \"arrow_se\"\n };\n },\n northEastArrowSouthWest: function northEastArrowSouthWest(t, e) {\n return {\n top: Yu(t, e),\n left: t.right - qu.arrowHorizontalOffset,\n name: \"arrow_sw\"\n };\n },\n northEastArrowSouthMiddleWest: function northEastArrowSouthMiddleWest(t, e) {\n return {\n top: Yu(t, e),\n left: t.right - .25 * e.width - qu.arrowHorizontalOffset,\n name: \"arrow_smw\"\n };\n },\n northEastArrowSouth: function northEastArrowSouth(t, e) {\n return {\n top: Yu(t, e),\n left: t.right - e.width / 2,\n name: \"arrow_s\"\n };\n },\n northEastArrowSouthMiddleEast: function northEastArrowSouthMiddleEast(t, e) {\n return {\n top: Yu(t, e),\n left: t.right - .75 * e.width + qu.arrowHorizontalOffset,\n name: \"arrow_sme\"\n };\n },\n northEastArrowSouthEast: function northEastArrowSouthEast(t, e) {\n return {\n top: Yu(t, e),\n left: t.right - e.width + qu.arrowHorizontalOffset,\n name: \"arrow_se\"\n };\n },\n southWestArrowNorthWest: function southWestArrowNorthWest(t, e) {\n return {\n top: Gu(t),\n left: t.left - qu.arrowHorizontalOffset,\n name: \"arrow_nw\"\n };\n },\n southWestArrowNorthMiddleWest: function southWestArrowNorthMiddleWest(t, e) {\n return {\n top: Gu(t),\n left: t.left - .25 * e.width - qu.arrowHorizontalOffset,\n name: \"arrow_nmw\"\n };\n },\n southWestArrowNorth: function southWestArrowNorth(t, e) {\n return {\n top: Gu(t),\n left: t.left - e.width / 2,\n name: \"arrow_n\"\n };\n },\n southWestArrowNorthMiddleEast: function southWestArrowNorthMiddleEast(t, e) {\n return {\n top: Gu(t),\n left: t.left - .75 * e.width + qu.arrowHorizontalOffset,\n name: \"arrow_nme\"\n };\n },\n southWestArrowNorthEast: function southWestArrowNorthEast(t, e) {\n return {\n top: Gu(t),\n left: t.left - e.width + qu.arrowHorizontalOffset,\n name: \"arrow_ne\"\n };\n },\n southArrowNorthWest: function southArrowNorthWest(t, e) {\n return {\n top: Gu(t),\n left: t.left + t.width / 2 - qu.arrowHorizontalOffset,\n name: \"arrow_nw\"\n };\n },\n southArrowNorthMiddleWest: function southArrowNorthMiddleWest(t, e) {\n return {\n top: Gu(t),\n left: t.left + t.width / 2 - .25 * e.width - qu.arrowHorizontalOffset,\n name: \"arrow_nmw\"\n };\n },\n southArrowNorth: function southArrowNorth(t, e) {\n return {\n top: Gu(t),\n left: t.left + t.width / 2 - e.width / 2,\n name: \"arrow_n\"\n };\n },\n southArrowNorthMiddleEast: function southArrowNorthMiddleEast(t, e) {\n return {\n top: Gu(t),\n left: t.left + t.width / 2 - .75 * e.width + qu.arrowHorizontalOffset,\n name: \"arrow_nme\"\n };\n },\n southArrowNorthEast: function southArrowNorthEast(t, e) {\n return {\n top: Gu(t),\n left: t.left + t.width / 2 - e.width + qu.arrowHorizontalOffset,\n name: \"arrow_ne\"\n };\n },\n southEastArrowNorthWest: function southEastArrowNorthWest(t, e) {\n return {\n top: Gu(t),\n left: t.right - qu.arrowHorizontalOffset,\n name: \"arrow_nw\"\n };\n },\n southEastArrowNorthMiddleWest: function southEastArrowNorthMiddleWest(t, e) {\n return {\n top: Gu(t),\n left: t.right - .25 * e.width - qu.arrowHorizontalOffset,\n name: \"arrow_nmw\"\n };\n },\n southEastArrowNorth: function southEastArrowNorth(t, e) {\n return {\n top: Gu(t),\n left: t.right - e.width / 2,\n name: \"arrow_n\"\n };\n },\n southEastArrowNorthMiddleEast: function southEastArrowNorthMiddleEast(t, e) {\n return {\n top: Gu(t),\n left: t.right - .75 * e.width + qu.arrowHorizontalOffset,\n name: \"arrow_nme\"\n };\n },\n southEastArrowNorthEast: function southEastArrowNorthEast(t, e) {\n return {\n top: Gu(t),\n left: t.right - e.width + qu.arrowHorizontalOffset,\n name: \"arrow_ne\"\n };\n }\n };\n\n function Ku(t, e, n) {\n return t && Ju(t) && !n.isInline(e);\n }\n\n function Qu(t) {\n return t.getAttribute(\"widget-type-around\");\n }\n\n function Ju(t) {\n return !!t.is(\"element\") && !!t.getCustomProperty(\"widget\");\n }\n\n function Zu(t, e) {\n var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n if (!t.is(\"containerElement\")) throw new hn.a(\"widget-to-widget-wrong-element-type\", null, {\n element: t\n });\n return e.setAttribute(\"contenteditable\", \"false\", t), e.addClass(\"ck-widget\", t), e.setCustomProperty(\"widget\", !0, t), t.getFillerOffset = oh, n.label && function (t, e, n) {\n n.setCustomProperty(\"widgetLabel\", e, t);\n }(t, n.label, e), n.hasSelectionHandle && function (t, e) {\n var n = e.createUIElement(\"div\", {\n \"class\": \"ck ck-widget__selection-handle\"\n }, function (t) {\n var e = this.toDomElement(t),\n n = new Wl();\n return n.set(\"content\", ''), n.render(), e.appendChild(n.element), e;\n });\n e.insert(e.createPositionAt(t, 0), n), e.addClass([\"ck-widget_with-selection-handle\"], t);\n }(t, e), Xu(t, e, function (t, e, n) {\n return n.addClass(i(e.classes), t);\n }, function (t, e, n) {\n return n.removeClass(i(e.classes), t);\n }), t;\n\n function i(t) {\n return Array.isArray(t) ? t : [t];\n }\n }\n\n function Xu(t, e, n, i) {\n var o = new zu();\n o.on(\"change:top\", function (e, o) {\n o.oldDescriptor && i(t, o.oldDescriptor, o.writer), o.newDescriptor && n(t, o.newDescriptor, o.writer);\n }), e.setCustomProperty(\"addHighlight\", function (t, e, n) {\n return o.add(e, n);\n }, t), e.setCustomProperty(\"removeHighlight\", function (t, e, n) {\n return o.remove(e, n);\n }, t);\n }\n\n function th(t) {\n var e = t.getCustomProperty(\"widgetLabel\");\n return e ? \"function\" == typeof e ? e() : e : \"\";\n }\n\n function eh(t, e) {\n return e.addClass([\"ck-editor__editable\", \"ck-editor__nested-editable\"], t), e.setAttribute(\"contenteditable\", t.isReadOnly ? \"false\" : \"true\", t), t.on(\"change:isReadOnly\", function (n, i, o) {\n e.setAttribute(\"contenteditable\", o ? \"false\" : \"true\", t);\n }), t.on(\"change:isFocused\", function (n, i, o) {\n o ? e.addClass(\"ck-editor__nested-editable_focused\", t) : e.removeClass(\"ck-editor__nested-editable_focused\", t);\n }), t;\n }\n\n function nh(t, e) {\n var n = t.getSelectedElement();\n\n if (n) {\n var _i168 = Qu(t);\n\n if (_i168) return e.createPositionAt(n, _i168);\n if (e.schema.isBlock(n)) return e.createPositionAfter(n);\n }\n\n var i = t.getSelectedBlocks().next().value;\n\n if (i) {\n if (i.isEmpty) return e.createPositionAt(i, 0);\n\n var _n206 = e.createPositionAfter(i);\n\n return t.focus.isTouching(_n206) ? _n206 : e.createPositionBefore(i);\n }\n\n return t.focus;\n }\n\n function ih(t, e) {\n var n = new is(or.window),\n i = n.getIntersection(t),\n o = e.height + qu.arrowVerticalOffset;\n if (t.top - o > n.top || t.bottom + o < n.bottom) return null;\n var r = i || t,\n s = r.left + r.width / 2 - e.width / 2;\n return {\n top: Math.max(t.top, 0) + qu.arrowVerticalOffset,\n left: s,\n name: \"arrow_n\"\n };\n }\n\n function oh() {\n return null;\n }\n\n function rh(t) {\n var e = t.getSelectedElement();\n return e && function (t) {\n return !!t.getCustomProperty(\"image\") && Ju(t);\n }(e) ? e : null;\n }\n\n function sh(t) {\n return !!t && t.is(\"element\", \"image\");\n }\n\n function ah(t, e) {\n var n = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var i = t.createElement(\"image\", n),\n o = nh(e.document.selection, e);\n e.insertContent(i, o), i.parent && t.setSelection(i, \"on\");\n }\n\n function ch(t) {\n var e = t.schema,\n n = t.document.selection;\n return function (t, e, n) {\n var i = function (t, e) {\n var n = nh(t, e).parent;\n if (n.isEmpty && !n.is(\"element\", \"$root\")) return n.parent;\n return n;\n }(t, n);\n\n return e.checkChild(i, \"image\");\n }(n, e, t) && !function (t, e) {\n var n = t.getSelectedElement();\n return n && e.isObject(n);\n }(n, e) && function (t) {\n return _toConsumableArray(t.focus.getAncestors()).every(function (t) {\n return !t.is(\"element\", \"image\");\n });\n }(n);\n }\n\n function lh(t) {\n var e = [];\n\n var _iterator313 = _createForOfIteratorHelper(t.getChildren()),\n _step313;\n\n try {\n for (_iterator313.s(); !(_step313 = _iterator313.n()).done;) {\n var _n207 = _step313.value;\n e.push(_n207), _n207.is(\"element\") && e.push.apply(e, _toConsumableArray(_n207.getChildren()));\n }\n } catch (err) {\n _iterator313.e(err);\n } finally {\n _iterator313.f();\n }\n\n return e.find(function (t) {\n return t.is(\"element\", \"img\");\n });\n }\n\n function dh(t) {\n return function (n) {\n n.on(\"attribute:\".concat(t, \":image\"), e);\n };\n\n function e(t, e, n) {\n if (!n.consumable.consume(e.item, t.name)) return;\n var i = n.writer,\n o = lh(n.mapper.toViewElement(e.item));\n i.setAttribute(e.attributeKey, e.attributeNewValue || \"\", o);\n }\n }\n\n var uh = /*#__PURE__*/function (_gd9) {\n _inherits(uh, _gd9);\n\n var _super102 = _createSuper(uh);\n\n function uh() {\n _classCallCheck(this, uh);\n\n return _super102.apply(this, arguments);\n }\n\n _createClass(uh, [{\n key: \"refresh\",\n value: function refresh() {\n this.isEnabled = ch(this.editor.model);\n }\n }, {\n key: \"execute\",\n value: function execute(t) {\n var e = this.editor.model;\n e.change(function (n) {\n var i = Array.isArray(t.source) ? t.source : [t.source];\n\n var _iterator314 = _createForOfIteratorHelper(i),\n _step314;\n\n try {\n for (_iterator314.s(); !(_step314 = _iterator314.n()).done;) {\n var _t239 = _step314.value;\n ah(n, e, {\n src: _t239\n });\n }\n } catch (err) {\n _iterator314.e(err);\n } finally {\n _iterator314.f();\n }\n });\n }\n }]);\n\n return uh;\n }(gd);\n\n var hh = /*#__PURE__*/function (_cd23) {\n _inherits(hh, _cd23);\n\n var _super103 = _createSuper(hh);\n\n function hh() {\n _classCallCheck(this, hh);\n\n return _super103.apply(this, arguments);\n }\n\n _createClass(hh, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = t.model.schema,\n n = t.t,\n i = t.conversion;\n t.editing.view.addObserver(ju), e.register(\"image\", {\n isObject: !0,\n isBlock: !0,\n allowWhere: \"$block\",\n allowAttributes: [\"alt\", \"src\", \"srcset\"]\n }), i[\"for\"](\"dataDowncast\").elementToElement({\n model: \"image\",\n view: function view(t, _ref113) {\n var e = _ref113.writer;\n return fh(e);\n }\n }), i[\"for\"](\"editingDowncast\").elementToElement({\n model: \"image\",\n view: function view(t, _ref114) {\n var e = _ref114.writer;\n return function (t, e, n) {\n return e.setCustomProperty(\"image\", !0, t), Zu(t, e, {\n label: function label() {\n var e = lh(t).getAttribute(\"alt\");\n return e ? \"\".concat(e, \" \").concat(n) : n;\n }\n });\n }(fh(e), e, n(\"image widget\"));\n }\n }), i[\"for\"](\"downcast\").add(dh(\"src\")).add(dh(\"alt\")).add(function () {\n return function (e) {\n e.on(\"attribute:srcset:image\", t);\n };\n\n function t(t, e, n) {\n if (!n.consumable.consume(e.item, t.name)) return;\n var i = n.writer,\n o = lh(n.mapper.toViewElement(e.item));\n\n if (null === e.attributeNewValue) {\n var _t240 = e.attributeOldValue;\n _t240.data && (i.removeAttribute(\"srcset\", o), i.removeAttribute(\"sizes\", o), _t240.width && i.removeAttribute(\"width\", o));\n } else {\n var _t241 = e.attributeNewValue;\n _t241.data && (i.setAttribute(\"srcset\", _t241.data, o), i.setAttribute(\"sizes\", \"100vw\", o), _t241.width && i.setAttribute(\"width\", _t241.width, o));\n }\n }\n }()), i[\"for\"](\"upcast\").elementToElement({\n view: {\n name: \"img\",\n attributes: {\n src: !0\n }\n },\n model: function model(t, _ref115) {\n var e = _ref115.writer;\n return e.createElement(\"image\", {\n src: t.getAttribute(\"src\")\n });\n }\n }).attributeToAttribute({\n view: {\n name: \"img\",\n key: \"alt\"\n },\n model: \"alt\"\n }).attributeToAttribute({\n view: {\n name: \"img\",\n key: \"srcset\"\n },\n model: {\n key: \"srcset\",\n value: function value(t) {\n var e = {\n data: t.getAttribute(\"srcset\")\n };\n return t.hasAttribute(\"width\") && (e.width = t.getAttribute(\"width\")), e;\n }\n }\n }).add(function () {\n return function (e) {\n e.on(\"element:figure\", t);\n };\n\n function t(t, e, n) {\n if (!n.consumable.test(e.viewItem, {\n name: !0,\n classes: \"image\"\n })) return;\n var i = lh(e.viewItem);\n if (!i || !i.hasAttribute(\"src\") || !n.consumable.test(i, {\n name: !0\n })) return;\n var o = vu(n.convertItem(i, e.modelCursor).modelRange.getItems());\n o && (n.convertChildren(e.viewItem, o), n.updateConversionResult(o, e));\n }\n }()), t.commands.add(\"imageInsert\", new uh(t));\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"ImageEditing\";\n }\n }]);\n\n return hh;\n }(cd);\n\n function fh(t) {\n var e = t.createEmptyElement(\"img\"),\n n = t.createContainerElement(\"figure\", {\n \"class\": \"image\"\n });\n return t.insert(t.createPositionAt(n, 0), e), n;\n }\n\n var mh = /*#__PURE__*/function (_Vr6) {\n _inherits(mh, _Vr6);\n\n var _super104 = _createSuper(mh);\n\n function mh(t) {\n var _this164;\n\n _classCallCheck(this, mh);\n\n _this164 = _super104.call(this, t), _this164.domEventType = \"mousedown\";\n return _this164;\n }\n\n _createClass(mh, [{\n key: \"onDomEvent\",\n value: function onDomEvent(t) {\n this.fire(t.type, t);\n }\n }]);\n\n return mh;\n }(Vr);\n\n var gh = /*#__PURE__*/function (_cd24) {\n _inherits(gh, _cd24);\n\n var _super105 = _createSuper(gh);\n\n _createClass(gh, null, [{\n key: \"pluginName\",\n get: function get() {\n return \"TwoStepCaretMovement\";\n }\n }]);\n\n function gh(t) {\n var _this165;\n\n _classCallCheck(this, gh);\n\n _this165 = _super105.call(this, t), _this165.attributes = new Set(), _this165._overrideUid = null;\n return _this165;\n }\n\n _createClass(gh, [{\n key: \"init\",\n value: function init() {\n var _this166 = this;\n\n var t = this.editor,\n e = t.model,\n n = t.editing.view,\n i = t.locale,\n o = e.document.selection;\n this.listenTo(n.document, \"keydown\", function (t, e) {\n if (!o.isCollapsed) return;\n if (e.shiftKey || e.altKey || e.ctrlKey) return;\n var n = e.keyCode == go.arrowright,\n r = e.keyCode == go.arrowleft;\n if (!n && !r) return;\n var s = i.contentLanguageDirection;\n var a = !1;\n a = \"ltr\" === s && n || \"rtl\" === s && r ? _this166._handleForwardMovement(e) : _this166._handleBackwardMovement(e), !0 === a && t.stop();\n }, {\n priority: un.get(\"high\") + 1\n }), this._isNextGravityRestorationSkipped = !1, this.listenTo(o, \"change:range\", function (t, e) {\n _this166._isNextGravityRestorationSkipped ? _this166._isNextGravityRestorationSkipped = !1 : _this166._isGravityOverridden && (!e.directChange && kh(o.getFirstPosition(), _this166.attributes) || _this166._restoreGravity());\n });\n }\n }, {\n key: \"registerAttribute\",\n value: function registerAttribute(t) {\n this.attributes.add(t);\n }\n }, {\n key: \"_handleForwardMovement\",\n value: function _handleForwardMovement(t) {\n var e = this.attributes,\n n = this.editor.model.document.selection,\n i = n.getFirstPosition();\n return !this._isGravityOverridden && (!i.isAtStart || !ph(n, e)) && (kh(i, e) ? (wh(t), this._overrideGravity(), !0) : void 0);\n }\n }, {\n key: \"_handleBackwardMovement\",\n value: function _handleBackwardMovement(t) {\n var e = this.attributes,\n n = this.editor.model,\n i = n.document.selection,\n o = i.getFirstPosition();\n return this._isGravityOverridden ? (wh(t), this._restoreGravity(), bh(n, e, o), !0) : o.isAtStart ? !!ph(i, e) && (wh(t), bh(n, e, o), !0) : function (t, e) {\n return kh(t.getShiftedBy(-1), e);\n }(o, e) ? o.isAtEnd && !ph(i, e) && kh(o, e) ? (wh(t), bh(n, e, o), !0) : (this._isNextGravityRestorationSkipped = !0, this._overrideGravity(), !1) : void 0;\n }\n }, {\n key: \"_overrideGravity\",\n value: function _overrideGravity() {\n this._overrideUid = this.editor.model.change(function (t) {\n return t.overrideSelectionGravity();\n });\n }\n }, {\n key: \"_restoreGravity\",\n value: function _restoreGravity() {\n var _this167 = this;\n\n this.editor.model.change(function (t) {\n t.restoreSelectionGravity(_this167._overrideUid), _this167._overrideUid = null;\n });\n }\n }, {\n key: \"_isGravityOverridden\",\n get: function get() {\n return !!this._overrideUid;\n }\n }]);\n\n return gh;\n }(cd);\n\n function ph(t, e) {\n var _iterator315 = _createForOfIteratorHelper(e),\n _step315;\n\n try {\n for (_iterator315.s(); !(_step315 = _iterator315.n()).done;) {\n var _n208 = _step315.value;\n if (t.hasAttribute(_n208)) return !0;\n }\n } catch (err) {\n _iterator315.e(err);\n } finally {\n _iterator315.f();\n }\n\n return !1;\n }\n\n function bh(t, e, n) {\n var i = n.nodeBefore;\n t.change(function (t) {\n i ? t.setSelectionAttribute(i.getAttributes()) : t.removeSelectionAttribute(e);\n });\n }\n\n function wh(t) {\n t.preventDefault();\n }\n\n function kh(t, e) {\n var n = t.nodeBefore,\n i = t.nodeAfter;\n\n var _iterator316 = _createForOfIteratorHelper(e),\n _step316;\n\n try {\n for (_iterator316.s(); !(_step316 = _iterator316.n()).done;) {\n var _t242 = _step316.value;\n\n var _e223 = n ? n.getAttribute(_t242) : void 0;\n\n if ((i ? i.getAttribute(_t242) : void 0) !== _e223) return !0;\n }\n } catch (err) {\n _iterator316.e(err);\n } finally {\n _iterator316.f();\n }\n\n return !1;\n }\n\n function _h(t, e, n, i) {\n return i.createRange(vh(t, e, n, !0, i), vh(t, e, n, !1, i));\n }\n\n function vh(t, e, n, i, o) {\n var r = t.textNode || (i ? t.nodeBefore : t.nodeAfter),\n s = null;\n\n for (; r && r.getAttribute(e) == n;) {\n s = r, r = i ? r.previousSibling : r.nextSibling;\n }\n\n return s ? o.createPositionAt(s, i ? \"before\" : \"after\") : t;\n }\n\n var yh = /*#__PURE__*/function () {\n function yh() {\n _classCallCheck(this, yh);\n\n this._definitions = new Set();\n }\n\n _createClass(yh, [{\n key: \"add\",\n value: function add(t) {\n var _this168 = this;\n\n Array.isArray(t) ? t.forEach(function (t) {\n return _this168._definitions.add(t);\n }) : this._definitions.add(t);\n }\n }, {\n key: \"getDispatcher\",\n value: function getDispatcher() {\n var _this169 = this;\n\n return function (t) {\n t.on(\"attribute:linkHref\", function (t, e, n) {\n if (!n.consumable.test(e.item, \"attribute:linkHref\")) return;\n var i = n.writer,\n o = i.document.selection;\n\n var _iterator317 = _createForOfIteratorHelper(_this169._definitions),\n _step317;\n\n try {\n for (_iterator317.s(); !(_step317 = _iterator317.n()).done;) {\n var _t243 = _step317.value;\n\n var _r42 = i.createAttributeElement(\"a\", _t243.attributes, {\n priority: 5\n });\n\n i.setCustomProperty(\"link\", !0, _r42), _t243.callback(e.attributeNewValue) ? e.item.is(\"selection\") ? i.wrap(o.getFirstRange(), _r42) : i.wrap(n.mapper.toViewRange(e.range), _r42) : i.unwrap(n.mapper.toViewRange(e.range), _r42);\n }\n } catch (err) {\n _iterator317.e(err);\n } finally {\n _iterator317.f();\n }\n }, {\n priority: \"high\"\n });\n };\n }\n }, {\n key: \"getDispatcherForLinkedImage\",\n value: function getDispatcherForLinkedImage() {\n var _this170 = this;\n\n return function (t) {\n t.on(\"attribute:linkHref:image\", function (t, e, n) {\n var i = n.mapper.toViewElement(e.item),\n o = Array.from(i.getChildren()).find(function (t) {\n return \"a\" === t.name;\n });\n\n var _iterator318 = _createForOfIteratorHelper(_this170._definitions),\n _step318;\n\n try {\n for (_iterator318.s(); !(_step318 = _iterator318.n()).done;) {\n var _t244 = _step318.value;\n\n var _i169 = Ln(_t244.attributes);\n\n if (_t244.callback(e.attributeNewValue)) {\n var _iterator319 = _createForOfIteratorHelper(_i169),\n _step319;\n\n try {\n for (_iterator319.s(); !(_step319 = _iterator319.n()).done;) {\n var _ref118 = _step319.value;\n\n var _ref117 = _slicedToArray(_ref118, 2);\n\n var _t245 = _ref117[0];\n var _e224 = _ref117[1];\n \"class\" === _t245 ? n.writer.addClass(_e224, o) : n.writer.setAttribute(_t245, _e224, o);\n }\n } catch (err) {\n _iterator319.e(err);\n } finally {\n _iterator319.f();\n }\n } else {\n var _iterator320 = _createForOfIteratorHelper(_i169),\n _step320;\n\n try {\n for (_iterator320.s(); !(_step320 = _iterator320.n()).done;) {\n var _ref121 = _step320.value;\n\n var _ref120 = _slicedToArray(_ref121, 2);\n\n var _t246 = _ref120[0];\n var _e225 = _ref120[1];\n \"class\" === _t246 ? n.writer.removeClass(_e225, o) : n.writer.removeAttribute(_t246, o);\n }\n } catch (err) {\n _iterator320.e(err);\n } finally {\n _iterator320.f();\n }\n }\n }\n } catch (err) {\n _iterator318.e(err);\n } finally {\n _iterator318.f();\n }\n });\n };\n }\n }, {\n key: \"length\",\n get: function get() {\n return this._definitions.size;\n }\n }]);\n\n return yh;\n }();\n\n var xh = function xh(t, e, n) {\n var i = t.length;\n return n = void 0 === n ? i : n, !e && n >= i ? t : ii(t, e, n);\n },\n Ah = RegExp(\"[\\\\u200d\\\\ud800-\\\\udfff\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff\\\\ufe0e\\\\ufe0f]\");\n\n var Ch = function Ch(t) {\n return Ah.test(t);\n };\n\n var Th = function Th(t) {\n return t.split(\"\");\n },\n Ph = \"[\\\\ud800-\\\\udfff]\",\n Sh = \"[\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff]\",\n Eh = \"\\\\ud83c[\\\\udffb-\\\\udfff]\",\n Mh = \"[^\\\\ud800-\\\\udfff]\",\n Ih = \"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",\n Nh = \"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",\n Oh = \"(?:\" + Sh + \"|\" + Eh + \")\" + \"?\",\n Rh = \"[\\\\ufe0e\\\\ufe0f]?\" + Oh + (\"(?:\\\\u200d(?:\" + [Mh, Ih, Nh].join(\"|\") + \")[\\\\ufe0e\\\\ufe0f]?\" + Oh + \")*\"),\n Dh = \"(?:\" + [Mh + Sh + \"?\", Sh, Ih, Nh, Ph].join(\"|\") + \")\",\n Lh = RegExp(Eh + \"(?=\" + Eh + \")|\" + Dh + Rh, \"g\");\n\n var Vh = function Vh(t) {\n return t.match(Lh) || [];\n };\n\n var jh = function jh(t) {\n return Ch(t) ? Vh(t) : Th(t);\n };\n\n var zh = function (t) {\n return function (e) {\n e = Zn(e);\n var n = Ch(e) ? jh(e) : void 0,\n i = n ? n[0] : e.charAt(0),\n o = n ? xh(n, 1).join(\"\") : e.slice(1);\n return i[t]() + o;\n };\n }(\"toUpperCase\");\n\n var Bh = /[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205f\\u3000]/g,\n Fh = /^(?:(?:https?|ftps?|mailto):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))/i,\n Uh = /^[\\S]+@((?![-_])(?:[-\\w\\u00a1-\\uffff]{0,63}[^-_]\\.))+(?:[a-z\\u00a1-\\uffff]{2,})$/i,\n Hh = /^((\\w+:(\\/{2,})?)|(\\W))/i;\n\n function Wh(t, _ref122) {\n var e = _ref122.writer;\n var n = e.createAttributeElement(\"a\", {\n href: t\n }, {\n priority: 5\n });\n return e.setCustomProperty(\"link\", !0, n), n;\n }\n\n function qh(t) {\n return function (t) {\n return t.replace(Bh, \"\").match(Fh);\n }(t = String(t)) ? t : \"#\";\n }\n\n function $h(t, e) {\n return !!t && t.is(\"element\", \"image\") && e.checkAttribute(\"image\", \"linkHref\");\n }\n\n function Yh(t, e) {\n var n = (i = t, Uh.test(i) ? \"mailto:\" : e);\n var i;\n var o = !!n && !Hh.test(t);\n return t && o ? n + t : t;\n }\n\n var Gh = /*#__PURE__*/function (_gd10) {\n _inherits(Gh, _gd10);\n\n var _super106 = _createSuper(Gh);\n\n function Gh(t) {\n var _this171;\n\n _classCallCheck(this, Gh);\n\n _this171 = _super106.call(this, t), _this171.manualDecorators = new An(), _this171.automaticDecorators = new yh();\n return _this171;\n }\n\n _createClass(Gh, [{\n key: \"restoreManualDecoratorStates\",\n value: function restoreManualDecoratorStates() {\n var _iterator321 = _createForOfIteratorHelper(this.manualDecorators),\n _step321;\n\n try {\n for (_iterator321.s(); !(_step321 = _iterator321.n()).done;) {\n var _t247 = _step321.value;\n _t247.value = this._getDecoratorStateFromModel(_t247.id);\n }\n } catch (err) {\n _iterator321.e(err);\n } finally {\n _iterator321.f();\n }\n }\n }, {\n key: \"refresh\",\n value: function refresh() {\n var t = this.editor.model,\n e = t.document,\n n = vu(e.selection.getSelectedBlocks());\n $h(n, t.schema) ? (this.value = n.getAttribute(\"linkHref\"), this.isEnabled = t.schema.checkAttribute(n, \"linkHref\")) : (this.value = e.selection.getAttribute(\"linkHref\"), this.isEnabled = t.schema.checkAttributeInSelection(e.selection, \"linkHref\"));\n\n var _iterator322 = _createForOfIteratorHelper(this.manualDecorators),\n _step322;\n\n try {\n for (_iterator322.s(); !(_step322 = _iterator322.n()).done;) {\n var _t248 = _step322.value;\n _t248.value = this._getDecoratorStateFromModel(_t248.id);\n }\n } catch (err) {\n _iterator322.e(err);\n } finally {\n _iterator322.f();\n }\n }\n }, {\n key: \"execute\",\n value: function execute(t) {\n var _this172 = this;\n\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var n = this.editor.model,\n i = n.document.selection,\n o = [],\n r = [];\n\n for (var _t249 in e) {\n e[_t249] ? o.push(_t249) : r.push(_t249);\n }\n\n n.change(function (e) {\n if (i.isCollapsed) {\n var _s30 = i.getFirstPosition();\n\n if (i.hasAttribute(\"linkHref\")) {\n var _a15 = _h(_s30, \"linkHref\", i.getAttribute(\"linkHref\"), n);\n\n e.setAttribute(\"linkHref\", t, _a15), o.forEach(function (t) {\n e.setAttribute(t, !0, _a15);\n }), r.forEach(function (t) {\n e.removeAttribute(t, _a15);\n }), e.setSelection(e.createPositionAfter(_a15.end.nodeBefore));\n } else if (\"\" !== t) {\n var _r43 = Ln(i.getAttributes());\n\n _r43.set(\"linkHref\", t), o.forEach(function (t) {\n _r43.set(t, !0);\n });\n\n var _a16 = e.createText(t, _r43);\n\n n.insertContent(_a16, _s30), e.setSelection(e.createPositionAfter(_a16));\n }\n\n [\"linkHref\"].concat(o, r).forEach(function (t) {\n e.removeSelectionAttribute(t);\n });\n } else {\n var _s31 = n.schema.getValidRanges(i.getRanges(), \"linkHref\"),\n _a17 = [];\n\n var _iterator323 = _createForOfIteratorHelper(i.getSelectedBlocks()),\n _step323;\n\n try {\n for (_iterator323.s(); !(_step323 = _iterator323.n()).done;) {\n var _t250 = _step323.value;\n n.schema.checkAttribute(_t250, \"linkHref\") && _a17.push(e.createRangeOn(_t250));\n }\n } catch (err) {\n _iterator323.e(err);\n } finally {\n _iterator323.f();\n }\n\n var _c10 = _a17.slice();\n\n var _iterator324 = _createForOfIteratorHelper(_s31),\n _step324;\n\n try {\n for (_iterator324.s(); !(_step324 = _iterator324.n()).done;) {\n var _t251 = _step324.value;\n _this172._isRangeToUpdate(_t251, _a17) && _c10.push(_t251);\n }\n } catch (err) {\n _iterator324.e(err);\n } finally {\n _iterator324.f();\n }\n\n var _iterator325 = _createForOfIteratorHelper(_c10),\n _step325;\n\n try {\n var _loop6 = function _loop6() {\n var n = _step325.value;\n e.setAttribute(\"linkHref\", t, n), o.forEach(function (t) {\n e.setAttribute(t, !0, n);\n }), r.forEach(function (t) {\n e.removeAttribute(t, n);\n });\n };\n\n for (_iterator325.s(); !(_step325 = _iterator325.n()).done;) {\n _loop6();\n }\n } catch (err) {\n _iterator325.e(err);\n } finally {\n _iterator325.f();\n }\n }\n });\n }\n }, {\n key: \"_getDecoratorStateFromModel\",\n value: function _getDecoratorStateFromModel(t) {\n var e = this.editor.model,\n n = e.document,\n i = vu(n.selection.getSelectedBlocks());\n return $h(i, e.schema) ? i.getAttribute(t) : n.selection.getAttribute(t);\n }\n }, {\n key: \"_isRangeToUpdate\",\n value: function _isRangeToUpdate(t, e) {\n var _iterator326 = _createForOfIteratorHelper(e),\n _step326;\n\n try {\n for (_iterator326.s(); !(_step326 = _iterator326.n()).done;) {\n var _n209 = _step326.value;\n if (_n209.containsRange(t)) return !1;\n }\n } catch (err) {\n _iterator326.e(err);\n } finally {\n _iterator326.f();\n }\n\n return !0;\n }\n }]);\n\n return Gh;\n }(gd);\n\n var Kh = /*#__PURE__*/function (_gd11) {\n _inherits(Kh, _gd11);\n\n var _super107 = _createSuper(Kh);\n\n function Kh() {\n _classCallCheck(this, Kh);\n\n return _super107.apply(this, arguments);\n }\n\n _createClass(Kh, [{\n key: \"refresh\",\n value: function refresh() {\n var t = this.editor.model,\n e = t.document,\n n = vu(e.selection.getSelectedBlocks());\n $h(n, t.schema) ? this.isEnabled = t.schema.checkAttribute(n, \"linkHref\") : this.isEnabled = t.schema.checkAttributeInSelection(e.selection, \"linkHref\");\n }\n }, {\n key: \"execute\",\n value: function execute() {\n var t = this.editor,\n e = this.editor.model,\n n = e.document.selection,\n i = t.commands.get(\"link\");\n e.change(function (t) {\n var o = n.isCollapsed ? [_h(n.getFirstPosition(), \"linkHref\", n.getAttribute(\"linkHref\"), e)] : n.getRanges();\n\n var _iterator327 = _createForOfIteratorHelper(o),\n _step327;\n\n try {\n for (_iterator327.s(); !(_step327 = _iterator327.n()).done;) {\n var _e226 = _step327.value;\n\n if (t.removeAttribute(\"linkHref\", _e226), i) {\n var _iterator328 = _createForOfIteratorHelper(i.manualDecorators),\n _step328;\n\n try {\n for (_iterator328.s(); !(_step328 = _iterator328.n()).done;) {\n var _n210 = _step328.value;\n t.removeAttribute(_n210.id, _e226);\n }\n } catch (err) {\n _iterator328.e(err);\n } finally {\n _iterator328.f();\n }\n }\n }\n } catch (err) {\n _iterator327.e(err);\n } finally {\n _iterator327.f();\n }\n });\n }\n }]);\n\n return Kh;\n }(gd);\n\n var Qh = function Qh(_ref123) {\n var t = _ref123.id,\n e = _ref123.label,\n n = _ref123.attributes,\n i = _ref123.defaultValue;\n\n _classCallCheck(this, Qh);\n\n this.id = t, this.set(\"value\"), this.defaultValue = i, this.label = e, this.attributes = n;\n };\n\n xn(Qh, Ui);\n n(48);\n var Jh = /^(https?:)?\\/\\//;\n\n var Zh = /*#__PURE__*/function (_cd25) {\n _inherits(Zh, _cd25);\n\n var _super108 = _createSuper(Zh);\n\n _createClass(Zh, null, [{\n key: \"pluginName\",\n get: function get() {\n return \"LinkEditing\";\n }\n }, {\n key: \"requires\",\n get: function get() {\n return [gh, Fd, md];\n }\n }]);\n\n function Zh(t) {\n var _this173;\n\n _classCallCheck(this, Zh);\n\n _this173 = _super108.call(this, t), t.config.define(\"link\", {\n addTargetToExternalLinks: !1\n });\n return _this173;\n }\n\n _createClass(Zh, [{\n key: \"init\",\n value: function init() {\n var t = this.editor;\n t.model.schema.extend(\"$text\", {\n allowAttributes: \"linkHref\"\n }), t.conversion[\"for\"](\"dataDowncast\").attributeToElement({\n model: \"linkHref\",\n view: Wh\n }), t.conversion[\"for\"](\"editingDowncast\").attributeToElement({\n model: \"linkHref\",\n view: function view(t, e) {\n return Wh(qh(t), e);\n }\n }), t.conversion[\"for\"](\"upcast\").elementToAttribute({\n view: {\n name: \"a\",\n attributes: {\n href: !0\n }\n },\n model: {\n key: \"linkHref\",\n value: function value(t) {\n return t.getAttribute(\"href\");\n }\n }\n }), t.commands.add(\"link\", new Gh(t)), t.commands.add(\"unlink\", new Kh(t));\n\n var e = function (t, e) {\n var n = {\n \"Open in a new tab\": t(\"Open in a new tab\"),\n Downloadable: t(\"Downloadable\")\n };\n return e.forEach(function (t) {\n return t.label && n[t.label] && (t.label = n[t.label]), t;\n }), e;\n }(t.t, function (t) {\n var e = [];\n if (t) for (var _i170 = 0, _Object$entries2 = Object.entries(t); _i170 < _Object$entries2.length; _i170++) {\n var _ref126 = _Object$entries2[_i170];\n\n var _ref125 = _slicedToArray(_ref126, 2);\n\n var _n211 = _ref125[0];\n var _i171 = _ref125[1];\n\n var _t252 = Object.assign({}, _i171, {\n id: \"link\" + zh(_n211)\n });\n\n e.push(_t252);\n }\n return e;\n }(t.config.get(\"link.decorators\")));\n\n this._enableAutomaticDecorators(e.filter(function (t) {\n return \"automatic\" === t.mode;\n })), this._enableManualDecorators(e.filter(function (t) {\n return \"manual\" === t.mode;\n }));\n t.plugins.get(gh).registerAttribute(\"linkHref\"), function (t, e, n, i) {\n var o = t.editing.view,\n r = new Set();\n o.document.registerPostFixer(function (o) {\n var s = t.model.document.selection;\n var a = !1;\n\n if (s.hasAttribute(e)) {\n var _c11 = _h(s.getFirstPosition(), e, s.getAttribute(e), t.model),\n _l7 = t.editing.mapper.toViewRange(_c11);\n\n var _iterator329 = _createForOfIteratorHelper(_l7.getItems()),\n _step329;\n\n try {\n for (_iterator329.s(); !(_step329 = _iterator329.n()).done;) {\n var _t253 = _step329.value;\n _t253.is(\"element\", n) && !_t253.hasClass(i) && (o.addClass(i, _t253), r.add(_t253), a = !0);\n }\n } catch (err) {\n _iterator329.e(err);\n } finally {\n _iterator329.f();\n }\n }\n\n return a;\n }), t.conversion[\"for\"](\"editingDowncast\").add(function (t) {\n function e() {\n o.change(function (t) {\n var _iterator330 = _createForOfIteratorHelper(r.values()),\n _step330;\n\n try {\n for (_iterator330.s(); !(_step330 = _iterator330.n()).done;) {\n var _e227 = _step330.value;\n t.removeClass(i, _e227), r[\"delete\"](_e227);\n }\n } catch (err) {\n _iterator330.e(err);\n } finally {\n _iterator330.f();\n }\n });\n }\n\n t.on(\"insert\", e, {\n priority: \"highest\"\n }), t.on(\"remove\", e, {\n priority: \"highest\"\n }), t.on(\"attribute\", e, {\n priority: \"highest\"\n }), t.on(\"selection\", e, {\n priority: \"highest\"\n });\n });\n }(t, \"linkHref\", \"a\", \"ck-link_selected\"), this._enableInsertContentSelectionAttributesFixer(), this._enableClickingAfterLink(), this._enableTypingOverLink(), this._handleDeleteContentAfterLink();\n }\n }, {\n key: \"_enableAutomaticDecorators\",\n value: function _enableAutomaticDecorators(t) {\n var e = this.editor,\n n = e.commands.get(\"link\").automaticDecorators;\n e.config.get(\"link.addTargetToExternalLinks\") && n.add({\n id: \"linkIsExternal\",\n mode: \"automatic\",\n callback: function callback(t) {\n return Jh.test(t);\n },\n attributes: {\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n }), n.add(t), n.length && e.conversion[\"for\"](\"downcast\").add(n.getDispatcher());\n }\n }, {\n key: \"_enableManualDecorators\",\n value: function _enableManualDecorators(t) {\n if (!t.length) return;\n var e = this.editor,\n n = e.commands.get(\"link\").manualDecorators;\n t.forEach(function (t) {\n e.model.schema.extend(\"$text\", {\n allowAttributes: t.id\n }), n.add(new Qh(t)), e.conversion[\"for\"](\"downcast\").attributeToElement({\n model: t.id,\n view: function view(e, _ref127) {\n var i = _ref127.writer;\n\n if (e) {\n var _e228 = n.get(t.id).attributes,\n _o92 = i.createAttributeElement(\"a\", _e228, {\n priority: 5\n });\n\n return i.setCustomProperty(\"link\", !0, _o92), _o92;\n }\n }\n }), e.conversion[\"for\"](\"upcast\").elementToAttribute({\n view: {\n name: \"a\",\n attributes: n.get(t.id).attributes\n },\n model: {\n key: t.id\n }\n });\n });\n }\n }, {\n key: \"_enableInsertContentSelectionAttributesFixer\",\n value: function _enableInsertContentSelectionAttributesFixer() {\n var t = this.editor,\n e = t.model,\n n = e.document.selection,\n i = t.commands.get(\"link\");\n this.listenTo(e, \"insertContent\", function () {\n var t = n.anchor.nodeBefore,\n o = n.anchor.nodeAfter;\n n.hasAttribute(\"linkHref\") && t && t.hasAttribute(\"linkHref\") && (o && o.hasAttribute(\"linkHref\") || e.change(function (t) {\n Xh(t, i.manualDecorators);\n }));\n }, {\n priority: \"low\"\n });\n }\n }, {\n key: \"_enableClickingAfterLink\",\n value: function _enableClickingAfterLink() {\n var t = this.editor,\n e = t.commands.get(\"link\");\n t.editing.view.addObserver(mh);\n var n = !1;\n this.listenTo(t.editing.view.document, \"mousedown\", function () {\n n = !0;\n }), this.listenTo(t.editing.view.document, \"selectionChange\", function () {\n if (!n) return;\n n = !1;\n var i = t.model.document.selection;\n if (!i.isCollapsed) return;\n if (!i.hasAttribute(\"linkHref\")) return;\n\n var o = i.getFirstPosition(),\n r = _h(o, \"linkHref\", i.getAttribute(\"linkHref\"), t.model);\n\n (o.isTouching(r.start) || o.isTouching(r.end)) && t.model.change(function (t) {\n Xh(t, e.manualDecorators);\n });\n });\n }\n }, {\n key: \"_enableTypingOverLink\",\n value: function _enableTypingOverLink() {\n var t = this.editor,\n e = t.editing.view;\n var n, i;\n this.listenTo(e.document, \"delete\", function () {\n i = !0;\n }, {\n priority: \"high\"\n }), this.listenTo(t.model, \"deleteContent\", function () {\n var e = t.model.document.selection;\n e.isCollapsed || (i ? i = !1 : tf(t) && function (t) {\n var e = t.document.selection,\n n = e.getFirstPosition(),\n i = e.getLastPosition(),\n o = n.nodeAfter;\n if (!o) return !1;\n if (!o.is(\"$text\")) return !1;\n if (!o.hasAttribute(\"linkHref\")) return !1;\n var r = i.textNode || i.nodeBefore;\n if (o === r) return !0;\n return _h(n, \"linkHref\", o.getAttribute(\"linkHref\"), t).containsRange(t.createRange(n, i), !0);\n }(t.model) && (n = e.getAttributes()));\n }, {\n priority: \"high\"\n }), this.listenTo(t.model, \"insertContent\", function (e, _ref128) {\n var _ref129 = _slicedToArray(_ref128, 1),\n o = _ref129[0];\n\n i = !1, tf(t) && n && (t.model.change(function (t) {\n var _iterator331 = _createForOfIteratorHelper(n),\n _step331;\n\n try {\n for (_iterator331.s(); !(_step331 = _iterator331.n()).done;) {\n var _ref132 = _step331.value;\n\n var _ref131 = _slicedToArray(_ref132, 2);\n\n var _e229 = _ref131[0];\n var _i172 = _ref131[1];\n t.setAttribute(_e229, _i172, o);\n }\n } catch (err) {\n _iterator331.e(err);\n } finally {\n _iterator331.f();\n }\n }), n = null);\n }, {\n priority: \"high\"\n });\n }\n }, {\n key: \"_handleDeleteContentAfterLink\",\n value: function _handleDeleteContentAfterLink() {\n var t = this.editor,\n e = t.model,\n n = e.document.selection,\n i = t.editing.view,\n o = t.commands.get(\"link\");\n var r = !1,\n s = !1;\n this.listenTo(i.document, \"delete\", function (t, e) {\n s = e.domEvent.keyCode === go.backspace;\n }, {\n priority: \"high\"\n }), this.listenTo(e, \"deleteContent\", function () {\n r = !1;\n var t = n.getFirstPosition(),\n i = n.getAttribute(\"linkHref\");\n if (!i) return;\n\n var o = _h(t, \"linkHref\", i, e);\n\n r = o.containsPosition(t) || o.end.isEqual(t);\n }, {\n priority: \"high\"\n }), this.listenTo(e, \"deleteContent\", function () {\n s && (s = !1, r || t.model.enqueueChange(function (t) {\n Xh(t, o.manualDecorators);\n }));\n }, {\n priority: \"low\"\n });\n }\n }]);\n\n return Zh;\n }(cd);\n\n function Xh(t, e) {\n t.removeSelectionAttribute(\"linkHref\");\n\n var _iterator332 = _createForOfIteratorHelper(e),\n _step332;\n\n try {\n for (_iterator332.s(); !(_step332 = _iterator332.n()).done;) {\n var _n212 = _step332.value;\n t.removeSelectionAttribute(_n212.id);\n }\n } catch (err) {\n _iterator332.e(err);\n } finally {\n _iterator332.f();\n }\n }\n\n function tf(t) {\n return t.plugins.get(\"Input\").isInput(t.model.change(function (t) {\n return t.batch;\n }));\n }\n\n var ef = /*#__PURE__*/function (_fu2) {\n _inherits(ef, _fu2);\n\n var _super109 = _createSuper(ef);\n\n function ef() {\n _classCallCheck(this, ef);\n\n return _super109.apply(this, arguments);\n }\n\n _createClass(ef, [{\n key: \"init\",\n value: function init() {\n this.on(\"show:warning\", function (t, e) {\n window.alert(e.message);\n }, {\n priority: \"lowest\"\n });\n }\n }, {\n key: \"showSuccess\",\n value: function showSuccess(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n this._showNotification({\n message: t,\n type: \"success\",\n namespace: e.namespace,\n title: e.title\n });\n }\n }, {\n key: \"showInfo\",\n value: function showInfo(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n this._showNotification({\n message: t,\n type: \"info\",\n namespace: e.namespace,\n title: e.title\n });\n }\n }, {\n key: \"showWarning\",\n value: function showWarning(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n this._showNotification({\n message: t,\n type: \"warning\",\n namespace: e.namespace,\n title: e.title\n });\n }\n }, {\n key: \"_showNotification\",\n value: function _showNotification(t) {\n var e = \"show:\" + t.type + (t.namespace ? \":\" + t.namespace : \"\");\n this.fire(e, {\n message: t.message,\n type: t.type,\n title: t.title || \"\"\n });\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"Notification\";\n }\n }]);\n\n return ef;\n }(fu);\n\n var nf = /*#__PURE__*/function (_gd12) {\n _inherits(nf, _gd12);\n\n var _super110 = _createSuper(nf);\n\n function nf(t) {\n var _this174;\n\n _classCallCheck(this, nf);\n\n _this174 = _super110.call(this, t), _this174.stopListening(_this174.editor.model.document, \"change\"), _this174.listenTo(_this174.editor.model.document, \"change\", function () {\n return _this174.refresh();\n }, {\n priority: \"low\"\n });\n return _this174;\n }\n\n _createClass(nf, [{\n key: \"refresh\",\n value: function refresh() {\n var t = this.editor.commands.get(\"imageInsert\"),\n e = this.editor.commands.get(\"link\");\n this.isEnabled = t.isEnabled || e.isEnabled;\n }\n }, {\n key: \"execute\",\n value: function execute() {\n var t = this.editor,\n e = this.editor.config.get(\"ckfinder.openerMethod\") || \"modal\";\n if (\"popup\" != e && \"modal\" != e) throw new hn.a(\"ckfinder-unknown-openermethod\", t);\n var n = this.editor.config.get(\"ckfinder.options\") || {};\n n.chooseFiles = !0;\n var i = n.onInit;\n n.language || (n.language = t.locale.uiLanguage), n.onInit = function (e) {\n i && i(e), e.on(\"files:choose\", function (n) {\n var i = n.data.files.toArray(),\n o = i.filter(function (t) {\n return !t.isImage();\n }),\n r = i.filter(function (t) {\n return t.isImage();\n });\n\n var _iterator333 = _createForOfIteratorHelper(o),\n _step333;\n\n try {\n for (_iterator333.s(); !(_step333 = _iterator333.n()).done;) {\n var _e230 = _step333.value;\n t.execute(\"link\", _e230.getUrl());\n }\n } catch (err) {\n _iterator333.e(err);\n } finally {\n _iterator333.f();\n }\n\n var s = [];\n\n var _iterator334 = _createForOfIteratorHelper(r),\n _step334;\n\n try {\n for (_iterator334.s(); !(_step334 = _iterator334.n()).done;) {\n var _t254 = _step334.value;\n\n var _n213 = _t254.getUrl();\n\n s.push(_n213 || e.request(\"file:getProxyUrl\", {\n file: _t254\n }));\n }\n } catch (err) {\n _iterator334.e(err);\n } finally {\n _iterator334.f();\n }\n\n s.length && of(t, s);\n }), e.on(\"file:choose:resizedImage\", function (e) {\n var n = e.data.resizedUrl;\n if (n) of(t, [n]);else {\n var _e231 = t.plugins.get(\"Notification\"),\n _n214 = t.locale.t;\n\n _e231.showWarning(_n214(\"Could not obtain resized image URL.\"), {\n title: _n214(\"Selecting resized image failed\"),\n namespace: \"ckfinder\"\n });\n }\n });\n }, window.CKFinder[e](n);\n }\n }]);\n\n return nf;\n }(gd);\n\n function of(t, e) {\n if (t.commands.get(\"imageInsert\").isEnabled) t.execute(\"imageInsert\", {\n source: e\n });else {\n var _e232 = t.plugins.get(\"Notification\"),\n _n215 = t.locale.t;\n\n _e232.showWarning(_n215(\"Could not insert image at the current position.\"), {\n title: _n215(\"Inserting image failed\"),\n namespace: \"ckfinder\"\n });\n }\n }\n\n var rf = /*#__PURE__*/function (_cd26) {\n _inherits(rf, _cd26);\n\n var _super111 = _createSuper(rf);\n\n function rf() {\n _classCallCheck(this, rf);\n\n return _super111.apply(this, arguments);\n }\n\n _createClass(rf, [{\n key: \"init\",\n value: function init() {\n var t = this.editor;\n t.commands.add(\"ckfinder\", new nf(t));\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"CKFinderEditing\";\n }\n }, {\n key: \"requires\",\n get: function get() {\n return [ef, hh, Zh];\n }\n }]);\n\n return rf;\n }(cd);\n\n var sf = /^data:(\\S*?);base64,/;\n\n var af = /*#__PURE__*/function () {\n function af(t, e, n) {\n _classCallCheck(this, af);\n\n if (!t) throw new hn.a(\"fileuploader-missing-file\", null);\n if (!e) throw new hn.a(\"fileuploader-missing-token\", null);\n if (!n) throw new hn.a(\"fileuploader-missing-api-address\", null);\n this.file = function (t) {\n if (\"string\" != typeof t) return !1;\n var e = t.match(sf);\n return !(!e || !e.length);\n }(t) ? function (t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 512;\n\n try {\n var _n216 = t.match(sf)[1],\n _i173 = atob(t.replace(sf, \"\")),\n _o93 = [];\n\n for (var _t255 = 0; _t255 < _i173.length; _t255 += e) {\n var _n217 = _i173.slice(_t255, _t255 + e),\n _r44 = new Array(_n217.length);\n\n for (var _t256 = 0; _t256 < _n217.length; _t256++) {\n _r44[_t256] = _n217.charCodeAt(_t256);\n }\n\n _o93.push(new Uint8Array(_r44));\n }\n\n return new Blob(_o93, {\n type: _n216\n });\n } catch (t) {\n throw new hn.a(\"fileuploader-decoding-image-data-error\", null);\n }\n }(t) : t, this._token = e, this._apiAddress = n;\n }\n\n _createClass(af, [{\n key: \"onProgress\",\n value: function onProgress(t) {\n return this.on(\"progress\", function (e, n) {\n return t(n);\n }), this;\n }\n }, {\n key: \"onError\",\n value: function onError(t) {\n return this.once(\"error\", function (e, n) {\n return t(n);\n }), this;\n }\n }, {\n key: \"abort\",\n value: function abort() {\n this.xhr.abort();\n }\n }, {\n key: \"send\",\n value: function send() {\n return this._prepareRequest(), this._attachXHRListeners(), this._sendRequest();\n }\n }, {\n key: \"_prepareRequest\",\n value: function _prepareRequest() {\n var t = new XMLHttpRequest();\n t.open(\"POST\", this._apiAddress), t.setRequestHeader(\"Authorization\", this._token.value), t.responseType = \"json\", this.xhr = t;\n }\n }, {\n key: \"_attachXHRListeners\",\n value: function _attachXHRListeners() {\n var _this175 = this;\n\n var t = this,\n e = this.xhr;\n\n function n(e) {\n return function () {\n return t.fire(\"error\", e);\n };\n }\n\n e.addEventListener(\"error\", n(\"Network Error\")), e.addEventListener(\"abort\", n(\"Abort\")), e.upload && e.upload.addEventListener(\"progress\", function (t) {\n t.lengthComputable && _this175.fire(\"progress\", {\n total: t.total,\n uploaded: t.loaded\n });\n }), e.addEventListener(\"load\", function () {\n var t = e.status,\n n = e.response;\n if (t < 200 || t > 299) return _this175.fire(\"error\", n.message || n.error);\n });\n }\n }, {\n key: \"_sendRequest\",\n value: function _sendRequest() {\n var _this176 = this;\n\n var t = new FormData(),\n e = this.xhr;\n return t.append(\"file\", this.file), new Promise(function (n, i) {\n e.addEventListener(\"load\", function () {\n var t = e.status,\n o = e.response;\n return t < 200 || t > 299 ? o.message ? i(new hn.a(\"fileuploader-uploading-data-failed\", _this176, {\n message: o.message\n })) : i(o.error) : n(o);\n }), e.addEventListener(\"error\", function () {\n return i(new Error(\"Network Error\"));\n }), e.addEventListener(\"abort\", function () {\n return i(new Error(\"Abort\"));\n }), e.send(t);\n });\n }\n }]);\n\n return af;\n }();\n\n xn(af, gn);\n var cf = {\n autoRefresh: !0\n };\n\n var lf = /*#__PURE__*/function () {\n function lf(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : cf;\n\n _classCallCheck(this, lf);\n\n if (!t) throw new hn.a(\"token-missing-token-url\", this);\n e.initValue && this._validateTokenValue(e.initValue), this.set(\"value\", e.initValue), this._refresh = \"function\" == typeof t ? t : function () {\n return e = t, new Promise(function (t, n) {\n var i = new XMLHttpRequest();\n i.open(\"GET\", e), i.addEventListener(\"load\", function () {\n var e = i.status,\n o = i.response;\n return e < 200 || e > 299 ? n(new hn.a(\"token-cannot-download-new-token\", null)) : t(o);\n }), i.addEventListener(\"error\", function () {\n return n(new Error(\"Network Error\"));\n }), i.addEventListener(\"abort\", function () {\n return n(new Error(\"Abort\"));\n }), i.send();\n });\n var e;\n }, this._options = Object.assign({}, cf, e);\n }\n\n _createClass(lf, [{\n key: \"init\",\n value: function init() {\n var _this177 = this;\n\n return new Promise(function (t, e) {\n _this177.value ? (_this177._options.autoRefresh && _this177._registerRefreshTokenTimeout(), t(_this177)) : _this177.refreshToken().then(t)[\"catch\"](e);\n });\n }\n }, {\n key: \"refreshToken\",\n value: function refreshToken() {\n var _this178 = this;\n\n return this._refresh().then(function (t) {\n _this178._validateTokenValue(t), _this178.set(\"value\", t), _this178._options.autoRefresh && _this178._registerRefreshTokenTimeout();\n }).then(function () {\n return _this178;\n });\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n clearTimeout(this._tokenRefreshTimeout);\n }\n }, {\n key: \"_validateTokenValue\",\n value: function _validateTokenValue(t) {\n var e = \"string\" == typeof t,\n n = !/^\".*\"$/.test(t),\n i = e && 3 === t.split(\".\").length;\n if (!n || !i) throw new hn.a(\"token-not-in-jwt-format\", this);\n }\n }, {\n key: \"_registerRefreshTokenTimeout\",\n value: function _registerRefreshTokenTimeout() {\n var _this179 = this;\n\n var t = this._getTokenRefreshTimeoutTime();\n\n clearTimeout(this._tokenRefreshTimeout), this._tokenRefreshTimeout = setTimeout(function () {\n _this179.refreshToken();\n }, t);\n }\n }, {\n key: \"_getTokenRefreshTimeoutTime\",\n value: function _getTokenRefreshTimeoutTime() {\n try {\n var _this$value$split = this.value.split(\".\"),\n _this$value$split2 = _slicedToArray(_this$value$split, 2),\n _t257 = _this$value$split2[1],\n _JSON$parse = JSON.parse(atob(_t257)),\n _e233 = _JSON$parse.exp;\n\n if (!_e233) return 36e5;\n return Math.floor((1e3 * _e233 - Date.now()) / 2);\n } catch (t) {\n return 36e5;\n }\n }\n }], [{\n key: \"create\",\n value: function create(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : cf;\n return new lf(t, e).init();\n }\n }]);\n\n return lf;\n }();\n\n xn(lf, Ui);\n var df = lf;\n\n var uf = /*#__PURE__*/function (_fu3) {\n _inherits(uf, _fu3);\n\n var _super112 = _createSuper(uf);\n\n function uf() {\n _classCallCheck(this, uf);\n\n return _super112.apply(this, arguments);\n }\n\n _createClass(uf, [{\n key: \"init\",\n value: function init() {\n var t = this.context.config.get(\"cloudServices\") || {};\n\n for (var _e234 in t) {\n this[_e234] = t[_e234];\n }\n\n if (this.tokenUrl) return this.token = new uf.Token(this.tokenUrl), this.token.init();\n this.token = null;\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n _get(_getPrototypeOf(uf.prototype), \"destroy\", this).call(this), this.token && this.token.destroy();\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"CloudServices\";\n }\n }]);\n\n return uf;\n }(fu);\n\n uf.Token = df;\n\n var hf = /*#__PURE__*/function (_cd27) {\n _inherits(hf, _cd27);\n\n var _super113 = _createSuper(hf);\n\n function hf() {\n _classCallCheck(this, hf);\n\n return _super113.apply(this, arguments);\n }\n\n _createClass(hf, [{\n key: \"init\",\n value: function init() {\n var _this180 = this;\n\n var t = this.editor,\n e = t.plugins.get(uf),\n n = e.token,\n i = e.uploadUrl;\n n && (this._uploadGateway = new hf._UploadGateway(n, i), t.plugins.get(pu).createUploadAdapter = function (t) {\n return new ff(_this180._uploadGateway, t);\n });\n }\n }], [{\n key: \"requires\",\n get: function get() {\n return [pu, uf];\n }\n }]);\n\n return hf;\n }(cd);\n\n var ff = /*#__PURE__*/function () {\n function ff(t, e) {\n _classCallCheck(this, ff);\n\n this.uploadGateway = t, this.loader = e;\n }\n\n _createClass(ff, [{\n key: \"upload\",\n value: function upload() {\n var _this181 = this;\n\n return this.loader.file.then(function (t) {\n return _this181.fileUploader = _this181.uploadGateway.upload(t), _this181.fileUploader.on(\"progress\", function (t, e) {\n _this181.loader.uploadTotal = e.total, _this181.loader.uploaded = e.uploaded;\n }), _this181.fileUploader.send();\n });\n }\n }, {\n key: \"abort\",\n value: function abort() {\n this.fileUploader.abort();\n }\n }]);\n\n return ff;\n }();\n\n hf._UploadGateway = /*#__PURE__*/function () {\n function _class2(t, e) {\n _classCallCheck(this, _class2);\n\n if (!t) throw new hn.a(\"uploadgateway-missing-token\", null);\n if (!e) throw new hn.a(\"uploadgateway-missing-api-address\", null);\n this._token = t, this._apiAddress = e;\n }\n\n _createClass(_class2, [{\n key: \"upload\",\n value: function upload(t) {\n return new af(t, this._token, this._apiAddress);\n }\n }]);\n\n return _class2;\n }();\n\n n(50);\n var mf = [\"before\", \"after\"],\n gf = new DOMParser().parseFromString('', \"image/svg+xml\").firstChild;\n\n var pf = /*#__PURE__*/function (_cd28) {\n _inherits(pf, _cd28);\n\n var _super114 = _createSuper(pf);\n\n _createClass(pf, null, [{\n key: \"pluginName\",\n get: function get() {\n return \"WidgetTypeAround\";\n }\n }]);\n\n function pf(t) {\n var _this182;\n\n _classCallCheck(this, pf);\n\n _this182 = _super114.call(this, t), _this182._currentFakeCaretModelElement = null;\n return _this182;\n }\n\n _createClass(pf, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = t.editing.view;\n this.on(\"change:isEnabled\", function (n, i, o) {\n e.change(function (t) {\n var _iterator335 = _createForOfIteratorHelper(e.document.roots),\n _step335;\n\n try {\n for (_iterator335.s(); !(_step335 = _iterator335.n()).done;) {\n var _n218 = _step335.value;\n o ? t.removeClass(\"ck-widget__type-around_disabled\", _n218) : t.addClass(\"ck-widget__type-around_disabled\", _n218);\n }\n } catch (err) {\n _iterator335.e(err);\n } finally {\n _iterator335.f();\n }\n }), o || t.model.change(function (t) {\n t.removeSelectionAttribute(\"widget-type-around\");\n });\n }), this._enableTypeAroundUIInjection(), this._enableInsertingParagraphsOnButtonClick(), this._enableInsertingParagraphsOnEnterKeypress(), this._enableInsertingParagraphsOnTypingKeystroke(), this._enableTypeAroundFakeCaretActivationUsingKeyboardArrows(), this._enableDeleteIntegration(), this._enableInsertContentIntegration();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n this._currentFakeCaretModelElement = null;\n }\n }, {\n key: \"_insertParagraph\",\n value: function _insertParagraph(t, e) {\n var n = this.editor,\n i = n.editing.view;\n n.execute(\"insertParagraph\", {\n position: n.model.createPositionAt(t, e)\n }), i.focus(), i.scrollToTheSelection();\n }\n }, {\n key: \"_listenToIfEnabled\",\n value: function _listenToIfEnabled(t, e, n, i) {\n var _this183 = this;\n\n this.listenTo(t, e, function () {\n _this183.isEnabled && n.apply(void 0, arguments);\n }, i);\n }\n }, {\n key: \"_insertParagraphAccordingToFakeCaretPosition\",\n value: function _insertParagraphAccordingToFakeCaretPosition() {\n var t = this.editor.model.document.selection,\n e = Qu(t);\n if (!e) return !1;\n var n = t.getSelectedElement();\n return this._insertParagraph(n, e), !0;\n }\n }, {\n key: \"_enableTypeAroundUIInjection\",\n value: function _enableTypeAroundUIInjection() {\n var t = this.editor,\n e = t.model.schema,\n n = t.locale.t,\n i = {\n before: n(\"Insert paragraph before block\"),\n after: n(\"Insert paragraph after block\")\n };\n t.editing.downcastDispatcher.on(\"insert\", function (t, n, o) {\n var r = o.mapper.toViewElement(n.item);\n Ku(r, n.item, e) && function (t, e, n) {\n var i = t.createUIElement(\"div\", {\n \"class\": \"ck ck-reset_all ck-widget__type-around\"\n }, function (t) {\n var n = this.toDomElement(t);\n return function (t, e) {\n var _iterator336 = _createForOfIteratorHelper(mf),\n _step336;\n\n try {\n for (_iterator336.s(); !(_step336 = _iterator336.n()).done;) {\n var _n219 = _step336.value;\n\n var _i174 = new il({\n tag: \"div\",\n attributes: {\n \"class\": [\"ck\", \"ck-widget__type-around__button\", \"ck-widget__type-around__button_\" + _n219],\n title: e[_n219]\n },\n children: [t.ownerDocument.importNode(gf, !0)]\n });\n\n t.appendChild(_i174.render());\n }\n } catch (err) {\n _iterator336.e(err);\n } finally {\n _iterator336.f();\n }\n }(n, e), function (t) {\n var e = new il({\n tag: \"div\",\n attributes: {\n \"class\": [\"ck\", \"ck-widget__type-around__fake-caret\"]\n }\n });\n t.appendChild(e.render());\n }(n), n;\n });\n t.insert(t.createPositionAt(n, \"end\"), i);\n }(o.writer, i, r);\n }, {\n priority: \"low\"\n });\n }\n }, {\n key: \"_enableTypeAroundFakeCaretActivationUsingKeyboardArrows\",\n value: function _enableTypeAroundFakeCaretActivationUsingKeyboardArrows() {\n var _this184 = this;\n\n var t = this.editor,\n e = t.model,\n n = e.document.selection,\n i = e.schema,\n o = t.editing.view;\n\n function r(t) {\n return \"ck-widget_type-around_show-fake-caret_\" + t;\n }\n\n this._listenToIfEnabled(o.document, \"keydown\", function (t, e) {\n ko(e.keyCode) && _this184._handleArrowKeyPress(t, e);\n }, {\n priority: un.get(\"high\") + 10\n }), this._listenToIfEnabled(n, \"change:range\", function (e, n) {\n n.directChange && t.model.change(function (t) {\n t.removeSelectionAttribute(\"widget-type-around\");\n });\n }), this._listenToIfEnabled(e.document, \"change:data\", function () {\n var e = n.getSelectedElement();\n\n if (e) {\n if (Ku(t.editing.mapper.toViewElement(e), e, i)) return;\n }\n\n t.model.change(function (t) {\n t.removeSelectionAttribute(\"widget-type-around\");\n });\n }), this._listenToIfEnabled(t.editing.downcastDispatcher, \"selection\", function (t, e, n) {\n var o = n.writer;\n\n if (_this184._currentFakeCaretModelElement) {\n var _t258 = n.mapper.toViewElement(_this184._currentFakeCaretModelElement);\n\n _t258 && (o.removeClass(mf.map(r), _t258), _this184._currentFakeCaretModelElement = null);\n }\n\n var s = e.selection.getSelectedElement();\n if (!s) return;\n var a = n.mapper.toViewElement(s);\n if (!Ku(a, s, i)) return;\n var c = Qu(e.selection);\n c && (o.addClass(r(c), a), _this184._currentFakeCaretModelElement = s);\n }), this._listenToIfEnabled(t.ui.focusTracker, \"change:isFocused\", function (e, n, i) {\n i || t.model.change(function (t) {\n t.removeSelectionAttribute(\"widget-type-around\");\n });\n });\n }\n }, {\n key: \"_handleArrowKeyPress\",\n value: function _handleArrowKeyPress(t, e) {\n var n = this.editor,\n i = n.model,\n o = i.document.selection,\n r = i.schema,\n s = n.editing.view,\n a = vo(e.keyCode, n.locale.contentLanguageDirection),\n c = s.document.selection.getSelectedElement();\n var l;\n Ku(c, n.editing.mapper.toModelElement(c), r) ? l = this._handleArrowKeyPressOnSelectedWidget(a) : o.isCollapsed && (l = this._handleArrowKeyPressWhenSelectionNextToAWidget(a)), l && (e.preventDefault(), t.stop());\n }\n }, {\n key: \"_handleArrowKeyPressOnSelectedWidget\",\n value: function _handleArrowKeyPressOnSelectedWidget(t) {\n var e = this.editor.model,\n n = Qu(e.document.selection);\n return e.change(function (e) {\n if (!n) return e.setSelectionAttribute(\"widget-type-around\", t ? \"after\" : \"before\"), !0;\n if (!(n === (t ? \"after\" : \"before\"))) return e.removeSelectionAttribute(\"widget-type-around\"), !0;\n return !1;\n });\n }\n }, {\n key: \"_handleArrowKeyPressWhenSelectionNextToAWidget\",\n value: function _handleArrowKeyPressWhenSelectionNextToAWidget(t) {\n var e = this.editor,\n n = e.model,\n i = n.schema,\n o = e.plugins.get(\"Widget\"),\n r = o._getObjectElementNextToSelection(t);\n\n return !!Ku(e.editing.mapper.toViewElement(r), r, i) && (n.change(function (e) {\n o._setSelectionOverElement(r), e.setSelectionAttribute(\"widget-type-around\", t ? \"before\" : \"after\");\n }), !0);\n }\n }, {\n key: \"_enableInsertingParagraphsOnButtonClick\",\n value: function _enableInsertingParagraphsOnButtonClick() {\n var _this185 = this;\n\n var t = this.editor,\n e = t.editing.view;\n\n this._listenToIfEnabled(e.document, \"mousedown\", function (n, i) {\n var o = i.domTarget.closest(\".ck-widget__type-around__button\");\n if (!o) return;\n\n var r = function (t) {\n return t.classList.contains(\"ck-widget__type-around__button_before\") ? \"before\" : \"after\";\n }(o),\n s = function (t, e) {\n var n = t.closest(\".ck-widget\");\n return e.mapDomToView(n);\n }(o, e.domConverter),\n a = t.editing.mapper.toModelElement(s);\n\n _this185._insertParagraph(a, r), i.preventDefault(), n.stop();\n });\n }\n }, {\n key: \"_enableInsertingParagraphsOnEnterKeypress\",\n value: function _enableInsertingParagraphsOnEnterKeypress() {\n var _this186 = this;\n\n var t = this.editor,\n e = t.editing.view;\n\n this._listenToIfEnabled(e.document, \"enter\", function (n, i) {\n var o = e.document.selection.getSelectedElement(),\n r = t.editing.mapper.toModelElement(o),\n s = t.model.schema;\n var a;\n _this186._insertParagraphAccordingToFakeCaretPosition() ? a = !0 : Ku(o, r, s) && (_this186._insertParagraph(r, i.isSoft ? \"before\" : \"after\"), a = !0), a && (i.preventDefault(), n.stop());\n });\n }\n }, {\n key: \"_enableInsertingParagraphsOnTypingKeystroke\",\n value: function _enableInsertingParagraphsOnTypingKeystroke() {\n var _this187 = this;\n\n var t = this.editor.editing.view,\n e = [go.enter, go[\"delete\"], go.backspace];\n\n this._listenToIfEnabled(t.document, \"keydown\", function (t, n) {\n e.includes(n.keyCode) || Dd(n) || _this187._insertParagraphAccordingToFakeCaretPosition();\n }, {\n priority: un.get(\"high\") + 1\n });\n }\n }, {\n key: \"_enableDeleteIntegration\",\n value: function _enableDeleteIntegration() {\n var t = this.editor,\n e = t.editing.view,\n n = t.model,\n i = n.schema;\n\n this._listenToIfEnabled(e.document, \"delete\", function (e, o) {\n var r = Qu(n.document.selection);\n if (!r) return;\n var s = o.direction,\n a = n.document.selection.getSelectedElement(),\n c = \"forward\" == s;\n if (\"before\" === r === c) t.execute(\"delete\", {\n selection: n.createSelection(a, \"on\")\n });else {\n var _e235 = i.getNearestSelectionRange(n.createPositionAt(a, r), s);\n\n if (_e235) if (_e235.isCollapsed) {\n var _o94 = n.createSelection(_e235.start);\n\n if (n.modifySelection(_o94, {\n direction: s\n }), _o94.focus.isEqual(_e235.start)) {\n var _t259 = function (t, e) {\n var n = e;\n\n var _iterator337 = _createForOfIteratorHelper(e.getAncestors({\n parentFirst: !0\n })),\n _step337;\n\n try {\n for (_iterator337.s(); !(_step337 = _iterator337.n()).done;) {\n var _i175 = _step337.value;\n if (_i175.childCount > 1 || t.isLimit(_i175)) break;\n n = _i175;\n }\n } catch (err) {\n _iterator337.e(err);\n } finally {\n _iterator337.f();\n }\n\n return n;\n }(i, _e235.start.parent);\n\n n.deleteContent(n.createSelection(_t259, \"on\"), {\n doNotAutoparagraph: !0\n });\n } else n.change(function (n) {\n n.setSelection(_e235), t.execute(c ? \"forwardDelete\" : \"delete\");\n });\n } else n.change(function (n) {\n n.setSelection(_e235), t.execute(c ? \"forwardDelete\" : \"delete\");\n });\n }\n o.preventDefault(), e.stop();\n }, {\n priority: un.get(\"high\") + 1\n });\n }\n }, {\n key: \"_enableInsertContentIntegration\",\n value: function _enableInsertContentIntegration() {\n var t = this.editor,\n e = this.editor.model,\n n = e.document.selection;\n\n this._listenToIfEnabled(t.model, \"insertContent\", function (t, _ref133) {\n var _ref134 = _slicedToArray(_ref133, 2),\n i = _ref134[0],\n o = _ref134[1];\n\n if (o && !o.is(\"documentSelection\")) return;\n var r = Qu(n);\n return r ? (t.stop(), e.change(function (t) {\n var o = n.getSelectedElement(),\n s = e.createPositionAt(o, r),\n a = t.createSelection(s),\n c = e.insertContent(i, a);\n return t.setSelection(a), c;\n })) : void 0;\n }, {\n priority: \"high\"\n });\n }\n }]);\n\n return pf;\n }(cd);\n\n n(52);\n\n function bf(t) {\n var e = t.model;\n return function (n, i) {\n var o = i.keyCode == go.arrowup,\n r = i.keyCode == go.arrowdown,\n s = i.shiftKey,\n a = e.document.selection;\n if (!o && !r) return;\n var c = r;\n if (s && function (t, e) {\n return !t.isCollapsed && t.isBackward == e;\n }(a, c)) return;\n\n var l = function (t, e, n) {\n var i = t.model;\n\n if (n) {\n var _t260 = e.isCollapsed ? e.focus : e.getLastPosition(),\n _n220 = wf(i, _t260, \"forward\");\n\n if (!_n220) return null;\n\n var _o95 = i.createRange(_t260, _n220),\n _r45 = kf(i.schema, _o95, \"backward\");\n\n return _r45 && _t260.isBefore(_r45) ? i.createRange(_t260, _r45) : null;\n }\n\n {\n var _t261 = e.isCollapsed ? e.focus : e.getFirstPosition(),\n _n221 = wf(i, _t261, \"backward\");\n\n if (!_n221) return null;\n\n var _o96 = i.createRange(_n221, _t261),\n _r46 = kf(i.schema, _o96, \"forward\");\n\n return _r46 && _t261.isAfter(_r46) ? i.createRange(_r46, _t261) : null;\n }\n }(t, a, c);\n\n l && !l.isCollapsed && function (t, e, n) {\n var i = t.model,\n o = t.view.domConverter;\n\n if (n) {\n var _t262 = i.createSelection(e.start);\n\n i.modifySelection(_t262), _t262.focus.isAtEnd || e.start.isEqual(_t262.focus) || (e = i.createRange(_t262.focus, e.end));\n }\n\n var r = t.mapper.toViewRange(e),\n s = o.viewRangeToDom(r),\n a = is.getDomRangeRects(s);\n var c;\n\n var _iterator338 = _createForOfIteratorHelper(a),\n _step338;\n\n try {\n for (_iterator338.s(); !(_step338 = _iterator338.n()).done;) {\n var _t263 = _step338.value;\n\n if (void 0 !== c) {\n if (Math.round(_t263.top) >= c) return !1;\n c = Math.max(c, Math.round(_t263.bottom));\n } else c = Math.round(_t263.bottom);\n }\n } catch (err) {\n _iterator338.e(err);\n } finally {\n _iterator338.f();\n }\n\n return !0;\n }(t, l, c) && (e.change(function (t) {\n var n = c ? l.end : l.start;\n\n if (s) {\n var _i176 = e.createSelection(a.anchor);\n\n _i176.setFocus(n), t.setSelection(_i176);\n } else t.setSelection(n);\n }), n.stop(), i.preventDefault(), i.stopPropagation());\n };\n }\n\n function wf(t, e, n) {\n var i = t.schema,\n o = t.createRangeIn(e.root),\n r = \"forward\" == n ? \"elementStart\" : \"elementEnd\";\n\n var _iterator339 = _createForOfIteratorHelper(o.getWalker({\n startPosition: e,\n direction: n\n })),\n _step339;\n\n try {\n for (_iterator339.s(); !(_step339 = _iterator339.n()).done;) {\n var _ref136 = _step339.value;\n var _t264 = _ref136.previousPosition;\n var _s32 = _ref136.item;\n var _a18 = _ref136.type;\n if (i.isLimit(_s32) && !i.isInline(_s32)) return _t264;\n if (_a18 == r && i.isBlock(_s32)) return null;\n }\n } catch (err) {\n _iterator339.e(err);\n } finally {\n _iterator339.f();\n }\n\n return null;\n }\n\n function kf(t, e, n) {\n var i = \"backward\" == n ? e.end : e.start;\n if (t.checkChild(i, \"$text\")) return i;\n\n var _iterator340 = _createForOfIteratorHelper(e.getWalker({\n direction: n\n })),\n _step340;\n\n try {\n for (_iterator340.s(); !(_step340 = _iterator340.n()).done;) {\n var _ref138 = _step340.value;\n var _i177 = _ref138.nextPosition;\n if (t.checkChild(_i177, \"$text\")) return _i177;\n }\n } catch (err) {\n _iterator340.e(err);\n } finally {\n _iterator340.f();\n }\n }\n\n var _f = /*#__PURE__*/function (_cd29) {\n _inherits(_f, _cd29);\n\n var _super115 = _createSuper(_f);\n\n function _f() {\n _classCallCheck(this, _f);\n\n return _super115.apply(this, arguments);\n }\n\n _createClass(_f, [{\n key: \"init\",\n value: function init() {\n var _this188 = this;\n\n var t = this.editor.editing.view,\n e = t.document;\n this._previouslySelected = new Set(), this.editor.editing.downcastDispatcher.on(\"selection\", function (t, e, n) {\n _this188._clearPreviouslySelectedWidgets(n.writer);\n\n var i = n.writer,\n o = i.document.selection,\n r = o.getSelectedElement();\n var s = null;\n\n var _iterator341 = _createForOfIteratorHelper(o.getRanges()),\n _step341;\n\n try {\n for (_iterator341.s(); !(_step341 = _iterator341.n()).done;) {\n var _t265 = _step341.value;\n\n var _iterator342 = _createForOfIteratorHelper(_t265),\n _step342;\n\n try {\n for (_iterator342.s(); !(_step342 = _iterator342.n()).done;) {\n var _e236 = _step342.value;\n var _t266 = _e236.item;\n Ju(_t266) && !vf(_t266, s) && (i.addClass(\"ck-widget_selected\", _t266), _this188._previouslySelected.add(_t266), s = _t266, _t266 == r && i.setSelection(o.getRanges(), {\n fake: !0,\n label: th(r)\n }));\n }\n } catch (err) {\n _iterator342.e(err);\n } finally {\n _iterator342.f();\n }\n }\n } catch (err) {\n _iterator341.e(err);\n } finally {\n _iterator341.f();\n }\n }, {\n priority: \"low\"\n }), t.addObserver(mh), this.listenTo(e, \"mousedown\", function () {\n return _this188._onMousedown.apply(_this188, arguments);\n }), this.listenTo(e, \"keydown\", function () {\n _this188._handleSelectionChangeOnArrowKeyPress.apply(_this188, arguments);\n }, {\n priority: \"high\"\n }), this.listenTo(e, \"keydown\", function () {\n _this188._preventDefaultOnArrowKeyPress.apply(_this188, arguments);\n }, {\n priority: un.get(\"high\") - 20\n }), this.listenTo(e, \"keydown\", bf(this.editor.editing)), this.listenTo(e, \"delete\", function (t, e) {\n _this188._handleDelete(\"forward\" == e.direction) && (e.preventDefault(), t.stop());\n }, {\n priority: \"high\"\n });\n }\n }, {\n key: \"_onMousedown\",\n value: function _onMousedown(t, e) {\n var n = this.editor,\n i = n.editing.view,\n o = i.document;\n var r = e.target;\n\n if (function (t) {\n for (; t;) {\n if (t.is(\"editableElement\") && !t.is(\"rootElement\")) return !0;\n if (Ju(t)) return !1;\n t = t.parent;\n }\n\n return !1;\n }(r)) {\n if ((ho.isSafari || ho.isGecko) && e.domEvent.detail >= 3) {\n var _t267 = n.editing.mapper,\n _i178 = r.is(\"attributeElement\") ? r.findAncestor(function (t) {\n return !t.is(\"attributeElement\");\n }) : r,\n _o97 = _t267.toModelElement(_i178);\n\n e.preventDefault(), this.editor.model.change(function (t) {\n t.setSelection(_o97, \"in\");\n });\n }\n\n return;\n }\n\n if (!Ju(r) && (r = r.findAncestor(Ju), !r)) return;\n e.preventDefault(), o.isFocused || i.focus();\n var s = n.editing.mapper.toModelElement(r);\n\n this._setSelectionOverElement(s);\n }\n }, {\n key: \"_handleSelectionChangeOnArrowKeyPress\",\n value: function _handleSelectionChangeOnArrowKeyPress(t, e) {\n var n = e.keyCode;\n if (!ko(n)) return;\n var i = this.editor.model,\n o = i.schema,\n r = i.document.selection,\n s = r.getSelectedElement(),\n a = vo(n, this.editor.locale.contentLanguageDirection);\n\n if (s && o.isObject(s)) {\n var _n222 = a ? r.getLastPosition() : r.getFirstPosition(),\n _s33 = o.getNearestSelectionRange(_n222, a ? \"forward\" : \"backward\");\n\n return void (_s33 && (i.change(function (t) {\n t.setSelection(_s33);\n }), e.preventDefault(), t.stop()));\n }\n\n if (!r.isCollapsed) return;\n\n var c = this._getObjectElementNextToSelection(a);\n\n c && o.isObject(c) && (this._setSelectionOverElement(c), e.preventDefault(), t.stop());\n }\n }, {\n key: \"_preventDefaultOnArrowKeyPress\",\n value: function _preventDefaultOnArrowKeyPress(t, e) {\n if (!ko(e.keyCode)) return;\n var n = this.editor.model,\n i = n.schema,\n o = n.document.selection.getSelectedElement();\n o && i.isObject(o) && (e.preventDefault(), t.stop());\n }\n }, {\n key: \"_handleDelete\",\n value: function _handleDelete(t) {\n var _this189 = this;\n\n if (this.editor.isReadOnly) return;\n var e = this.editor.model.document.selection;\n if (!e.isCollapsed) return;\n\n var n = this._getObjectElementNextToSelection(t);\n\n return n ? (this.editor.model.change(function (t) {\n var i = e.anchor.parent;\n\n for (; i.isEmpty;) {\n var _e237 = i;\n i = _e237.parent, t.remove(_e237);\n }\n\n _this189._setSelectionOverElement(n);\n }), !0) : void 0;\n }\n }, {\n key: \"_setSelectionOverElement\",\n value: function _setSelectionOverElement(t) {\n this.editor.model.change(function (e) {\n e.setSelection(e.createRangeOn(t));\n });\n }\n }, {\n key: \"_getObjectElementNextToSelection\",\n value: function _getObjectElementNextToSelection(t) {\n var e = this.editor.model,\n n = e.schema,\n i = e.document.selection,\n o = e.createSelection(i);\n e.modifySelection(o, {\n direction: t ? \"forward\" : \"backward\"\n });\n var r = t ? o.focus.nodeBefore : o.focus.nodeAfter;\n return r && n.isObject(r) ? r : null;\n }\n }, {\n key: \"_clearPreviouslySelectedWidgets\",\n value: function _clearPreviouslySelectedWidgets(t) {\n var _iterator343 = _createForOfIteratorHelper(this._previouslySelected),\n _step343;\n\n try {\n for (_iterator343.s(); !(_step343 = _iterator343.n()).done;) {\n var _e238 = _step343.value;\n t.removeClass(\"ck-widget_selected\", _e238);\n }\n } catch (err) {\n _iterator343.e(err);\n } finally {\n _iterator343.f();\n }\n\n this._previouslySelected.clear();\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"Widget\";\n }\n }, {\n key: \"requires\",\n get: function get() {\n return [pf];\n }\n }]);\n\n return _f;\n }(cd);\n\n function vf(t, e) {\n return !!e && Array.from(t.getAncestors()).includes(e);\n }\n\n var yf = /*#__PURE__*/function (_gd13) {\n _inherits(yf, _gd13);\n\n var _super116 = _createSuper(yf);\n\n function yf() {\n _classCallCheck(this, yf);\n\n return _super116.apply(this, arguments);\n }\n\n _createClass(yf, [{\n key: \"refresh\",\n value: function refresh() {\n var t = this.editor.model.document.selection.getSelectedElement();\n this.isEnabled = sh(t), sh(t) && t.hasAttribute(\"alt\") ? this.value = t.getAttribute(\"alt\") : this.value = !1;\n }\n }, {\n key: \"execute\",\n value: function execute(t) {\n var e = this.editor.model,\n n = e.document.selection.getSelectedElement();\n e.change(function (e) {\n e.setAttribute(\"alt\", t.newValue, n);\n });\n }\n }]);\n\n return yf;\n }(gd);\n\n var xf = /*#__PURE__*/function (_cd30) {\n _inherits(xf, _cd30);\n\n var _super117 = _createSuper(xf);\n\n function xf() {\n _classCallCheck(this, xf);\n\n return _super117.apply(this, arguments);\n }\n\n _createClass(xf, [{\n key: \"init\",\n value: function init() {\n this.editor.commands.add(\"imageTextAlternative\", new yf(this.editor));\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"ImageTextAlternativeEditing\";\n }\n }]);\n\n return xf;\n }(cd);\n\n n(54);\n\n var Af = /*#__PURE__*/function (_yl17) {\n _inherits(Af, _yl17);\n\n var _super118 = _createSuper(Af);\n\n function Af(t, e) {\n var _this190;\n\n _classCallCheck(this, Af);\n\n _this190 = _super118.call(this, t);\n var n = \"ck-labeled-field-view-\" + dn(),\n i = \"ck-labeled-field-view-status-\" + dn();\n _this190.fieldView = e(_assertThisInitialized(_this190), n, i), _this190.set(\"label\"), _this190.set(\"isEnabled\", !0), _this190.set(\"errorText\", null), _this190.set(\"infoText\", null), _this190.set(\"class\"), _this190.labelView = _this190._createLabelView(n), _this190.statusView = _this190._createStatusView(i), _this190.bind(\"_statusText\").to(_assertThisInitialized(_this190), \"errorText\", _assertThisInitialized(_this190), \"infoText\", function (t, e) {\n return t || e;\n });\n var o = _this190.bindTemplate;\n\n _this190.setTemplate({\n tag: \"div\",\n attributes: {\n \"class\": [\"ck\", \"ck-labeled-field-view\", o.to(\"class\"), o[\"if\"](\"isEnabled\", \"ck-disabled\", function (t) {\n return !t;\n })]\n },\n children: [_this190.labelView, _this190.fieldView, _this190.statusView]\n });\n\n return _this190;\n }\n\n _createClass(Af, [{\n key: \"_createLabelView\",\n value: function _createLabelView(t) {\n var e = new Tl(this.locale);\n return e[\"for\"] = t, e.bind(\"text\").to(this, \"label\"), e;\n }\n }, {\n key: \"_createStatusView\",\n value: function _createStatusView(t) {\n var e = new yl(this.locale),\n n = this.bindTemplate;\n return e.setTemplate({\n tag: \"div\",\n attributes: {\n \"class\": [\"ck\", \"ck-labeled-field-view__status\", n[\"if\"](\"errorText\", \"ck-labeled-field-view__status_error\"), n[\"if\"](\"_statusText\", \"ck-hidden\", function (t) {\n return !t;\n })],\n id: t,\n role: n[\"if\"](\"errorText\", \"alert\")\n },\n children: [{\n text: n.to(\"_statusText\")\n }]\n }), e;\n }\n }, {\n key: \"focus\",\n value: function focus() {\n this.fieldView.focus();\n }\n }]);\n\n return Af;\n }(yl);\n\n n(56);\n\n var Cf = /*#__PURE__*/function (_yl18) {\n _inherits(Cf, _yl18);\n\n var _super119 = _createSuper(Cf);\n\n function Cf(t) {\n var _this191;\n\n _classCallCheck(this, Cf);\n\n _this191 = _super119.call(this, t), _this191.set(\"value\"), _this191.set(\"id\"), _this191.set(\"placeholder\"), _this191.set(\"isReadOnly\", !1), _this191.set(\"hasError\", !1), _this191.set(\"ariaDescribedById\");\n var e = _this191.bindTemplate;\n\n _this191.setTemplate({\n tag: \"input\",\n attributes: {\n type: \"text\",\n \"class\": [\"ck\", \"ck-input\", \"ck-input-text\", e[\"if\"](\"hasError\", \"ck-error\")],\n id: e.to(\"id\"),\n placeholder: e.to(\"placeholder\"),\n readonly: e.to(\"isReadOnly\"),\n \"aria-invalid\": e[\"if\"](\"hasError\", !0),\n \"aria-describedby\": e.to(\"ariaDescribedById\")\n },\n on: {\n input: e.to(\"input\")\n }\n });\n\n return _this191;\n }\n\n _createClass(Cf, [{\n key: \"render\",\n value: function render() {\n var _this192 = this;\n\n _get(_getPrototypeOf(Cf.prototype), \"render\", this).call(this);\n\n var t = function t(_t268) {\n _this192.element.value = _t268 || 0 === _t268 ? _t268 : \"\";\n };\n\n t(this.value), this.on(\"change:value\", function (e, n, i) {\n t(i);\n });\n }\n }, {\n key: \"select\",\n value: function select() {\n this.element.select();\n }\n }, {\n key: \"focus\",\n value: function focus() {\n this.element.focus();\n }\n }]);\n\n return Cf;\n }(yl);\n\n function Tf(t, e, n) {\n var i = new Cf(t.locale);\n return i.set({\n id: e,\n ariaDescribedById: n\n }), i.bind(\"isReadOnly\").to(t, \"isEnabled\", function (t) {\n return !t;\n }), i.bind(\"hasError\").to(t, \"errorText\", function (t) {\n return !!t;\n }), i.on(\"input\", function () {\n t.errorText = null;\n }), i;\n }\n\n function Pf(_ref139) {\n var t = _ref139.view;\n t.listenTo(t.element, \"submit\", function (e, n) {\n n.preventDefault(), t.fire(\"submit\");\n }, {\n useCapture: !0\n });\n }\n\n var Sf = '',\n Ef = '';\n n(58), n(7);\n\n var Mf = /*#__PURE__*/function (_yl19) {\n _inherits(Mf, _yl19);\n\n var _super120 = _createSuper(Mf);\n\n function Mf(t) {\n var _this193;\n\n _classCallCheck(this, Mf);\n\n _this193 = _super120.call(this, t);\n var e = _this193.locale.t;\n _this193.focusTracker = new Yc(), _this193.keystrokes = new jc(), _this193.labeledInput = _this193._createLabeledInputView(), _this193.saveButtonView = _this193._createButton(e(\"Save\"), Sf, \"ck-button-save\"), _this193.saveButtonView.type = \"submit\", _this193.cancelButtonView = _this193._createButton(e(\"Cancel\"), Ef, \"ck-button-cancel\", \"cancel\"), _this193._focusables = new nl(), _this193._focusCycler = new Ol({\n focusables: _this193._focusables,\n focusTracker: _this193.focusTracker,\n keystrokeHandler: _this193.keystrokes,\n actions: {\n focusPrevious: \"shift + tab\",\n focusNext: \"tab\"\n }\n }), _this193.setTemplate({\n tag: \"form\",\n attributes: {\n \"class\": [\"ck\", \"ck-text-alternative-form\", \"ck-responsive-form\"],\n tabindex: \"-1\"\n },\n children: [_this193.labeledInput, _this193.saveButtonView, _this193.cancelButtonView]\n });\n return _this193;\n }\n\n _createClass(Mf, [{\n key: \"render\",\n value: function render() {\n var _this194 = this;\n\n _get(_getPrototypeOf(Mf.prototype), \"render\", this).call(this), this.keystrokes.listenTo(this.element), Pf({\n view: this\n }), [this.labeledInput, this.saveButtonView, this.cancelButtonView].forEach(function (t) {\n _this194._focusables.add(t), _this194.focusTracker.add(t.element);\n });\n }\n }, {\n key: \"_createButton\",\n value: function _createButton(t, e, n, i) {\n var o = new $l(this.locale);\n return o.set({\n label: t,\n icon: e,\n tooltip: !0\n }), o.extendTemplate({\n attributes: {\n \"class\": n\n }\n }), i && o.delegate(\"execute\").to(this, i), o;\n }\n }, {\n key: \"_createLabeledInputView\",\n value: function _createLabeledInputView() {\n var t = this.locale.t,\n e = new Af(this.locale, Tf);\n return e.label = t(\"Text alternative\"), e.fieldView.placeholder = t(\"Text alternative\"), e;\n }\n }]);\n\n return Mf;\n }(yl);\n\n n(61), n(63);\n var If = Ml(\"px\");\n\n var Nf = /*#__PURE__*/function (_cd31) {\n _inherits(Nf, _cd31);\n\n var _super121 = _createSuper(Nf);\n\n _createClass(Nf, null, [{\n key: \"pluginName\",\n get: function get() {\n return \"ContextualBalloon\";\n }\n }]);\n\n function Nf(t) {\n var _this195;\n\n _classCallCheck(this, Nf);\n\n _this195 = _super121.call(this, t), _this195.positionLimiter = function () {\n var t = _this195.editor.editing.view,\n e = t.document.selection.editableElement;\n return e ? t.domConverter.mapViewToDom(e.root) : null;\n }, _this195.set(\"visibleView\", null), _this195.view = new qu(t.locale), t.ui.view.body.add(_this195.view), t.ui.focusTracker.add(_this195.view.element), _this195._viewToStack = new Map(), _this195._idToStack = new Map(), _this195.set(\"_numberOfStacks\", 0), _this195.set(\"_singleViewMode\", !1), _this195._rotatorView = _this195._createRotatorView(), _this195._fakePanelsView = _this195._createFakePanelsView();\n return _this195;\n }\n\n _createClass(Nf, [{\n key: \"hasView\",\n value: function hasView(t) {\n return Array.from(this._viewToStack.keys()).includes(t);\n }\n }, {\n key: \"add\",\n value: function add(t) {\n if (this.hasView(t.view)) throw new hn.a(\"contextualballoon-add-view-exist\", [this, t]);\n var e = t.stackId || \"main\";\n if (!this._idToStack.has(e)) return this._idToStack.set(e, new Map([[t.view, t]])), this._viewToStack.set(t.view, this._idToStack.get(e)), this._numberOfStacks = this._idToStack.size, void (this._visibleStack && !t.singleViewMode || this.showStack(e));\n\n var n = this._idToStack.get(e);\n\n t.singleViewMode && this.showStack(e), n.set(t.view, t), this._viewToStack.set(t.view, n), n === this._visibleStack && this._showView(t);\n }\n }, {\n key: \"remove\",\n value: function remove(t) {\n if (!this.hasView(t)) throw new hn.a(\"contextualballoon-remove-view-not-exist\", [this, t]);\n\n var e = this._viewToStack.get(t);\n\n this._singleViewMode && this.visibleView === t && (this._singleViewMode = !1), this.visibleView === t && (1 === e.size ? this._idToStack.size > 1 ? this._showNextStack() : (this.view.hide(), this.visibleView = null, this._rotatorView.hideView()) : this._showView(Array.from(e.values())[e.size - 2])), 1 === e.size ? (this._idToStack[\"delete\"](this._getStackId(e)), this._numberOfStacks = this._idToStack.size) : e[\"delete\"](t), this._viewToStack[\"delete\"](t);\n }\n }, {\n key: \"updatePosition\",\n value: function updatePosition(t) {\n t && (this._visibleStack.get(this.visibleView).position = t), this.view.pin(this._getBalloonPosition()), this._fakePanelsView.updatePosition();\n }\n }, {\n key: \"showStack\",\n value: function showStack(t) {\n this.visibleStack = t;\n\n var e = this._idToStack.get(t);\n\n if (!e) throw new hn.a(\"contextualballoon-showstack-stack-not-exist\", this);\n this._visibleStack !== e && this._showView(Array.from(e.values()).pop());\n }\n }, {\n key: \"_getStackId\",\n value: function _getStackId(t) {\n return Array.from(this._idToStack.entries()).find(function (e) {\n return e[1] === t;\n })[0];\n }\n }, {\n key: \"_showNextStack\",\n value: function _showNextStack() {\n var t = Array.from(this._idToStack.values());\n var e = t.indexOf(this._visibleStack) + 1;\n t[e] || (e = 0), this.showStack(this._getStackId(t[e]));\n }\n }, {\n key: \"_showPrevStack\",\n value: function _showPrevStack() {\n var t = Array.from(this._idToStack.values());\n var e = t.indexOf(this._visibleStack) - 1;\n t[e] || (e = t.length - 1), this.showStack(this._getStackId(t[e]));\n }\n }, {\n key: \"_createRotatorView\",\n value: function _createRotatorView() {\n var _this196 = this;\n\n var t = new Of(this.editor.locale),\n e = this.editor.locale.t;\n return this.view.content.add(t), t.bind(\"isNavigationVisible\").to(this, \"_numberOfStacks\", this, \"_singleViewMode\", function (t, e) {\n return !e && t > 1;\n }), t.on(\"change:isNavigationVisible\", function () {\n return _this196.updatePosition();\n }, {\n priority: \"low\"\n }), t.bind(\"counter\").to(this, \"visibleView\", this, \"_numberOfStacks\", function (t, n) {\n if (n < 2) return \"\";\n var i = Array.from(_this196._idToStack.values()).indexOf(_this196._visibleStack) + 1;\n return e(\"%0 of %1\", [i, n]);\n }), t.buttonNextView.on(\"execute\", function () {\n t.focusTracker.isFocused && _this196.editor.editing.view.focus(), _this196._showNextStack();\n }), t.buttonPrevView.on(\"execute\", function () {\n t.focusTracker.isFocused && _this196.editor.editing.view.focus(), _this196._showPrevStack();\n }), t;\n }\n }, {\n key: \"_createFakePanelsView\",\n value: function _createFakePanelsView() {\n var t = new Rf(this.editor.locale, this.view);\n return t.bind(\"numberOfPanels\").to(this, \"_numberOfStacks\", this, \"_singleViewMode\", function (t, e) {\n return !e && t >= 2 ? Math.min(t - 1, 2) : 0;\n }), t.listenTo(this.view, \"change:top\", function () {\n return t.updatePosition();\n }), t.listenTo(this.view, \"change:left\", function () {\n return t.updatePosition();\n }), this.editor.ui.view.body.add(t), t;\n }\n }, {\n key: \"_showView\",\n value: function _showView(_ref140) {\n var t = _ref140.view,\n _ref140$balloonClassN = _ref140.balloonClassName,\n e = _ref140$balloonClassN === void 0 ? \"\" : _ref140$balloonClassN,\n _ref140$withArrow = _ref140.withArrow,\n n = _ref140$withArrow === void 0 ? !0 : _ref140$withArrow,\n _ref140$singleViewMod = _ref140.singleViewMode,\n i = _ref140$singleViewMod === void 0 ? !1 : _ref140$singleViewMod;\n this.view[\"class\"] = e, this.view.withArrow = n, this._rotatorView.showView(t), this.visibleView = t, this.view.pin(this._getBalloonPosition()), this._fakePanelsView.updatePosition(), i && (this._singleViewMode = !0);\n }\n }, {\n key: \"_getBalloonPosition\",\n value: function _getBalloonPosition() {\n var t = Array.from(this._visibleStack.values()).pop().position;\n return t && !t.limiter && (t = Object.assign({}, t, {\n limiter: this.positionLimiter\n })), t;\n }\n }, {\n key: \"_visibleStack\",\n get: function get() {\n return this._viewToStack.get(this.visibleView);\n }\n }]);\n\n return Nf;\n }(cd);\n\n var Of = /*#__PURE__*/function (_yl20) {\n _inherits(Of, _yl20);\n\n var _super122 = _createSuper(Of);\n\n function Of(t) {\n var _this197;\n\n _classCallCheck(this, Of);\n\n _this197 = _super122.call(this, t);\n var e = t.t,\n n = _this197.bindTemplate;\n _this197.set(\"isNavigationVisible\", !0), _this197.focusTracker = new Yc(), _this197.buttonPrevView = _this197._createButtonView(e(\"Previous\"), ''), _this197.buttonNextView = _this197._createButtonView(e(\"Next\"), ''), _this197.content = _this197.createCollection(), _this197.setTemplate({\n tag: \"div\",\n attributes: {\n \"class\": [\"ck\", \"ck-balloon-rotator\"],\n \"z-index\": \"-1\"\n },\n children: [{\n tag: \"div\",\n attributes: {\n \"class\": [\"ck-balloon-rotator__navigation\", n.to(\"isNavigationVisible\", function (t) {\n return t ? \"\" : \"ck-hidden\";\n })]\n },\n children: [_this197.buttonPrevView, {\n tag: \"span\",\n attributes: {\n \"class\": [\"ck-balloon-rotator__counter\"]\n },\n children: [{\n text: n.to(\"counter\")\n }]\n }, _this197.buttonNextView]\n }, {\n tag: \"div\",\n attributes: {\n \"class\": \"ck-balloon-rotator__content\"\n },\n children: _this197.content\n }]\n });\n return _this197;\n }\n\n _createClass(Of, [{\n key: \"render\",\n value: function render() {\n _get(_getPrototypeOf(Of.prototype), \"render\", this).call(this), this.focusTracker.add(this.element);\n }\n }, {\n key: \"showView\",\n value: function showView(t) {\n this.hideView(), this.content.add(t);\n }\n }, {\n key: \"hideView\",\n value: function hideView() {\n this.content.clear();\n }\n }, {\n key: \"_createButtonView\",\n value: function _createButtonView(t, e) {\n var n = new $l(this.locale);\n return n.set({\n label: t,\n icon: e,\n tooltip: !0\n }), n;\n }\n }]);\n\n return Of;\n }(yl);\n\n var Rf = /*#__PURE__*/function (_yl21) {\n _inherits(Rf, _yl21);\n\n var _super123 = _createSuper(Rf);\n\n function Rf(t, e) {\n var _this198;\n\n _classCallCheck(this, Rf);\n\n _this198 = _super123.call(this, t);\n var n = _this198.bindTemplate;\n _this198.set(\"top\", 0), _this198.set(\"left\", 0), _this198.set(\"height\", 0), _this198.set(\"width\", 0), _this198.set(\"numberOfPanels\", 0), _this198.content = _this198.createCollection(), _this198._balloonPanelView = e, _this198.setTemplate({\n tag: \"div\",\n attributes: {\n \"class\": [\"ck-fake-panel\", n.to(\"numberOfPanels\", function (t) {\n return t ? \"\" : \"ck-hidden\";\n })],\n style: {\n top: n.to(\"top\", If),\n left: n.to(\"left\", If),\n width: n.to(\"width\", If),\n height: n.to(\"height\", If)\n }\n },\n children: _this198.content\n }), _this198.on(\"change:numberOfPanels\", function (t, e, n, i) {\n n > i ? _this198._addPanels(n - i) : _this198._removePanels(i - n), _this198.updatePosition();\n });\n return _this198;\n }\n\n _createClass(Rf, [{\n key: \"_addPanels\",\n value: function _addPanels(t) {\n for (; t--;) {\n var _t269 = new yl();\n\n _t269.setTemplate({\n tag: \"div\"\n }), this.content.add(_t269), this.registerChild(_t269);\n }\n }\n }, {\n key: \"_removePanels\",\n value: function _removePanels(t) {\n for (; t--;) {\n var _t270 = this.content.last;\n this.content.remove(_t270), this.deregisterChild(_t270), _t270.destroy();\n }\n }\n }, {\n key: \"updatePosition\",\n value: function updatePosition() {\n if (this.numberOfPanels) {\n var _this$_balloonPanelVi = this._balloonPanelView,\n _t271 = _this$_balloonPanelVi.top,\n _e239 = _this$_balloonPanelVi.left,\n _is = new is(this._balloonPanelView.element),\n _n223 = _is.width,\n _i179 = _is.height;\n\n Object.assign(this, {\n top: _t271,\n left: _e239,\n width: _n223,\n height: _i179\n });\n }\n }\n }]);\n\n return Rf;\n }(yl);\n\n function Df(t) {\n var e = t.editing.view,\n n = qu.defaultPositions;\n return {\n target: e.domConverter.viewToDom(e.document.selection.getSelectedElement()),\n positions: [n.northArrowSouth, n.northArrowSouthWest, n.northArrowSouthEast, n.southArrowNorth, n.southArrowNorthWest, n.southArrowNorthEast]\n };\n }\n\n var Lf = /*#__PURE__*/function (_cd32) {\n _inherits(Lf, _cd32);\n\n var _super124 = _createSuper(Lf);\n\n function Lf() {\n _classCallCheck(this, Lf);\n\n return _super124.apply(this, arguments);\n }\n\n _createClass(Lf, [{\n key: \"init\",\n value: function init() {\n this._createButton(), this._createForm();\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n _get(_getPrototypeOf(Lf.prototype), \"destroy\", this).call(this), this._form.destroy();\n }\n }, {\n key: \"_createButton\",\n value: function _createButton() {\n var _this199 = this;\n\n var t = this.editor,\n e = t.t;\n t.ui.componentFactory.add(\"imageTextAlternative\", function (n) {\n var i = t.commands.get(\"imageTextAlternative\"),\n o = new $l(n);\n return o.set({\n label: e(\"Change image text alternative\"),\n icon: '',\n tooltip: !0\n }), o.bind(\"isEnabled\").to(i, \"isEnabled\"), _this199.listenTo(o, \"execute\", function () {\n _this199._showForm();\n }), o;\n });\n }\n }, {\n key: \"_createForm\",\n value: function _createForm() {\n var _this200 = this;\n\n var t = this.editor,\n e = t.editing.view.document;\n this._balloon = this.editor.plugins.get(\"ContextualBalloon\"), this._form = new Mf(t.locale), this._form.render(), this.listenTo(this._form, \"submit\", function () {\n t.execute(\"imageTextAlternative\", {\n newValue: _this200._form.labeledInput.fieldView.element.value\n }), _this200._hideForm(!0);\n }), this.listenTo(this._form, \"cancel\", function () {\n _this200._hideForm(!0);\n }), this._form.keystrokes.set(\"Esc\", function (t, e) {\n _this200._hideForm(!0), e();\n }), this.listenTo(t.ui, \"update\", function () {\n rh(e.selection) ? _this200._isVisible && function (t) {\n var e = t.plugins.get(\"ContextualBalloon\");\n\n if (rh(t.editing.view.document.selection)) {\n var _n224 = Df(t);\n\n e.updatePosition(_n224);\n }\n }(t) : _this200._hideForm(!0);\n }), Xl({\n emitter: this._form,\n activator: function activator() {\n return _this200._isVisible;\n },\n contextElements: [this._balloon.view.element],\n callback: function callback() {\n return _this200._hideForm();\n }\n });\n }\n }, {\n key: \"_showForm\",\n value: function _showForm() {\n if (this._isVisible) return;\n var t = this.editor,\n e = t.commands.get(\"imageTextAlternative\"),\n n = this._form.labeledInput;\n this._isInBalloon || this._balloon.add({\n view: this._form,\n position: Df(t)\n }), n.fieldView.value = n.fieldView.element.value = e.value || \"\", this._form.labeledInput.fieldView.select();\n }\n }, {\n key: \"_hideForm\",\n value: function _hideForm(t) {\n this._isInBalloon && (this._form.focusTracker.isFocused && this._form.saveButtonView.focus(), this._balloon.remove(this._form), t && this.editor.editing.view.focus());\n }\n }, {\n key: \"_isVisible\",\n get: function get() {\n return this._balloon.visibleView === this._form;\n }\n }, {\n key: \"_isInBalloon\",\n get: function get() {\n return this._balloon.hasView(this._form);\n }\n }], [{\n key: \"requires\",\n get: function get() {\n return [Nf];\n }\n }, {\n key: \"pluginName\",\n get: function get() {\n return \"ImageTextAlternativeUI\";\n }\n }]);\n\n return Lf;\n }(cd);\n\n var Vf = /*#__PURE__*/function (_cd33) {\n _inherits(Vf, _cd33);\n\n var _super125 = _createSuper(Vf);\n\n function Vf() {\n _classCallCheck(this, Vf);\n\n return _super125.apply(this, arguments);\n }\n\n _createClass(Vf, null, [{\n key: \"requires\",\n get: function get() {\n return [xf, Lf];\n }\n }, {\n key: \"pluginName\",\n get: function get() {\n return \"ImageTextAlternative\";\n }\n }]);\n\n return Vf;\n }(cd);\n\n n(65);\n\n var jf = /*#__PURE__*/function (_cd34) {\n _inherits(jf, _cd34);\n\n var _super126 = _createSuper(jf);\n\n function jf() {\n _classCallCheck(this, jf);\n\n return _super126.apply(this, arguments);\n }\n\n _createClass(jf, null, [{\n key: \"requires\",\n get: function get() {\n return [hh, _f, Vf];\n }\n }, {\n key: \"pluginName\",\n get: function get() {\n return \"Image\";\n }\n }]);\n\n return jf;\n }(cd);\n\n var zf = /*#__PURE__*/function (_yl22) {\n _inherits(zf, _yl22);\n\n var _super127 = _createSuper(zf);\n\n function zf(t) {\n var _this201;\n\n _classCallCheck(this, zf);\n\n _this201 = _super127.call(this, t), _this201.buttonView = new $l(t), _this201._fileInputView = new Bf(t), _this201._fileInputView.bind(\"acceptedType\").to(_assertThisInitialized(_this201)), _this201._fileInputView.bind(\"allowMultipleFiles\").to(_assertThisInitialized(_this201)), _this201._fileInputView.delegate(\"done\").to(_assertThisInitialized(_this201)), _this201.setTemplate({\n tag: \"span\",\n attributes: {\n \"class\": \"ck-file-dialog-button\"\n },\n children: [_this201.buttonView, _this201._fileInputView]\n }), _this201.buttonView.on(\"execute\", function () {\n _this201._fileInputView.open();\n });\n return _this201;\n }\n\n _createClass(zf, [{\n key: \"focus\",\n value: function focus() {\n this.buttonView.focus();\n }\n }]);\n\n return zf;\n }(yl);\n\n var Bf = /*#__PURE__*/function (_yl23) {\n _inherits(Bf, _yl23);\n\n var _super128 = _createSuper(Bf);\n\n function Bf(t) {\n var _this202;\n\n _classCallCheck(this, Bf);\n\n _this202 = _super128.call(this, t), _this202.set(\"acceptedType\"), _this202.set(\"allowMultipleFiles\", !1);\n var e = _this202.bindTemplate;\n\n _this202.setTemplate({\n tag: \"input\",\n attributes: {\n \"class\": [\"ck-hidden\"],\n type: \"file\",\n tabindex: \"-1\",\n accept: e.to(\"acceptedType\"),\n multiple: e.to(\"allowMultipleFiles\")\n },\n on: {\n change: e.to(function () {\n _this202.element && _this202.element.files && _this202.element.files.length && _this202.fire(\"done\", _this202.element.files), _this202.element.value = \"\";\n })\n }\n });\n\n return _this202;\n }\n\n _createClass(Bf, [{\n key: \"open\",\n value: function open() {\n this.element.click();\n }\n }]);\n\n return Bf;\n }(yl);\n\n function Ff(t) {\n var e = t.map(function (t) {\n return t.replace(\"+\", \"\\\\+\");\n });\n return new RegExp(\"^image\\\\/(\".concat(e.join(\"|\"), \")$\"));\n }\n\n var Uf = /*#__PURE__*/function (_cd35) {\n _inherits(Uf, _cd35);\n\n var _super129 = _createSuper(Uf);\n\n function Uf() {\n _classCallCheck(this, Uf);\n\n return _super129.apply(this, arguments);\n }\n\n _createClass(Uf, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = t.t;\n t.ui.componentFactory.add(\"imageUpload\", function (n) {\n var i = new zf(n),\n o = t.commands.get(\"imageUpload\"),\n r = t.config.get(\"image.upload.types\"),\n s = Ff(r);\n return i.set({\n acceptedType: r.map(function (t) {\n return \"image/\" + t;\n }).join(\",\"),\n allowMultipleFiles: !0\n }), i.buttonView.set({\n label: e(\"Insert image\"),\n icon: '',\n tooltip: !0\n }), i.buttonView.bind(\"isEnabled\").to(o), i.on(\"done\", function (e, n) {\n var i = Array.from(n).filter(function (t) {\n return s.test(t.type);\n });\n i.length && t.execute(\"imageUpload\", {\n file: i\n });\n }), i;\n });\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"ImageUploadUI\";\n }\n }]);\n\n return Uf;\n }(cd);\n\n n(67), n(69), n(71);\n\n var Hf = /*#__PURE__*/function (_cd36) {\n _inherits(Hf, _cd36);\n\n var _super130 = _createSuper(Hf);\n\n function Hf(t) {\n var _this203;\n\n _classCallCheck(this, Hf);\n\n _this203 = _super130.call(this, t), _this203.placeholder = \"data:image/svg+xml;utf8,\" + encodeURIComponent('');\n return _this203;\n }\n\n _createClass(Hf, [{\n key: \"init\",\n value: function init() {\n var _this204 = this;\n\n this.editor.editing.downcastDispatcher.on(\"attribute:uploadStatus:image\", function () {\n return _this204.uploadStatusChange.apply(_this204, arguments);\n });\n }\n }, {\n key: \"uploadStatusChange\",\n value: function uploadStatusChange(t, e, n) {\n var i = this.editor,\n o = e.item,\n r = o.getAttribute(\"uploadId\");\n if (!n.consumable.consume(e.item, t.name)) return;\n var s = i.plugins.get(pu),\n a = r ? e.attributeNewValue : null,\n c = this.placeholder,\n l = i.editing.mapper.toViewElement(o),\n d = n.writer;\n if (\"reading\" == a) return Wf(l, d), void qf(c, l, d);\n\n if (\"uploading\" == a) {\n var _t272 = s.loaders.get(r);\n\n return Wf(l, d), void (_t272 ? ($f(l, d), function (t, e, n, i) {\n var o = function (t) {\n var e = t.createUIElement(\"div\", {\n \"class\": \"ck-progress-bar\"\n });\n return t.setCustomProperty(\"progressBar\", !0, e), e;\n }(e);\n\n e.insert(e.createPositionAt(t, \"end\"), o), n.on(\"change:uploadedPercent\", function (t, e, n) {\n i.change(function (t) {\n t.setStyle(\"width\", n + \"%\", o);\n });\n });\n }(l, d, _t272, i.editing.view), function (t, e, n) {\n if (n.data) {\n var _i180 = lh(t);\n\n e.setAttribute(\"src\", n.data, _i180);\n }\n }(l, d, _t272)) : qf(c, l, d));\n }\n\n \"complete\" == a && s.loaders.get(r) && function (t, e, n) {\n var i = e.createUIElement(\"div\", {\n \"class\": \"ck-image-upload-complete-icon\"\n });\n e.insert(e.createPositionAt(t, \"end\"), i), setTimeout(function () {\n n.change(function (t) {\n return t.remove(t.createRangeOn(i));\n });\n }, 3e3);\n }(l, d, i.editing.view), function (t, e) {\n Gf(t, e, \"progressBar\");\n }(l, d), $f(l, d), function (t, e) {\n e.removeClass(\"ck-appear\", t);\n }(l, d);\n }\n }]);\n\n return Hf;\n }(cd);\n\n function Wf(t, e) {\n t.hasClass(\"ck-appear\") || e.addClass(\"ck-appear\", t);\n }\n\n function qf(t, e, n) {\n e.hasClass(\"ck-image-upload-placeholder\") || n.addClass(\"ck-image-upload-placeholder\", e);\n var i = lh(e);\n i.getAttribute(\"src\") !== t && n.setAttribute(\"src\", t, i), Yf(e, \"placeholder\") || n.insert(n.createPositionAfter(i), function (t) {\n var e = t.createUIElement(\"div\", {\n \"class\": \"ck-upload-placeholder-loader\"\n });\n return t.setCustomProperty(\"placeholder\", !0, e), e;\n }(n));\n }\n\n function $f(t, e) {\n t.hasClass(\"ck-image-upload-placeholder\") && e.removeClass(\"ck-image-upload-placeholder\", t), Gf(t, e, \"placeholder\");\n }\n\n function Yf(t, e) {\n var _iterator344 = _createForOfIteratorHelper(t.getChildren()),\n _step344;\n\n try {\n for (_iterator344.s(); !(_step344 = _iterator344.n()).done;) {\n var _n225 = _step344.value;\n if (_n225.getCustomProperty(e)) return _n225;\n }\n } catch (err) {\n _iterator344.e(err);\n } finally {\n _iterator344.f();\n }\n }\n\n function Gf(t, e, n) {\n var i = Yf(t, n);\n i && e.remove(e.createRangeOn(i));\n }\n\n var Kf = /*#__PURE__*/function () {\n function Kf(t) {\n _classCallCheck(this, Kf);\n\n this.document = t;\n }\n\n _createClass(Kf, [{\n key: \"createDocumentFragment\",\n value: function createDocumentFragment(t) {\n return new So(this.document, t);\n }\n }, {\n key: \"createElement\",\n value: function createElement(t, e, n) {\n return new Oi(this.document, t, e, n);\n }\n }, {\n key: \"createText\",\n value: function createText(t) {\n return new Rn(this.document, t);\n }\n }, {\n key: \"clone\",\n value: function clone(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n return t._clone(e);\n }\n }, {\n key: \"appendChild\",\n value: function appendChild(t, e) {\n return e._appendChild(t);\n }\n }, {\n key: \"insertChild\",\n value: function insertChild(t, e, n) {\n return n._insertChild(t, e);\n }\n }, {\n key: \"removeChildren\",\n value: function removeChildren(t, e, n) {\n return n._removeChildren(t, e);\n }\n }, {\n key: \"remove\",\n value: function remove(t) {\n var e = t.parent;\n return e ? this.removeChildren(e.getChildIndex(t), 1, e) : [];\n }\n }, {\n key: \"replace\",\n value: function replace(t, e) {\n var n = t.parent;\n\n if (n) {\n var _i181 = n.getChildIndex(t);\n\n return this.removeChildren(_i181, 1, n), this.insertChild(_i181, e, n), !0;\n }\n\n return !1;\n }\n }, {\n key: \"unwrapElement\",\n value: function unwrapElement(t) {\n var e = t.parent;\n\n if (e) {\n var _n226 = e.getChildIndex(t);\n\n this.remove(t), this.insertChild(_n226, t.getChildren(), e);\n }\n }\n }, {\n key: \"rename\",\n value: function rename(t, e) {\n var n = new Oi(this.document, t, e.getAttributes(), e.getChildren());\n return this.replace(e, n) ? n : null;\n }\n }, {\n key: \"setAttribute\",\n value: function setAttribute(t, e, n) {\n n._setAttribute(t, e);\n }\n }, {\n key: \"removeAttribute\",\n value: function removeAttribute(t, e) {\n e._removeAttribute(t);\n }\n }, {\n key: \"addClass\",\n value: function addClass(t, e) {\n e._addClass(t);\n }\n }, {\n key: \"removeClass\",\n value: function removeClass(t, e) {\n e._removeClass(t);\n }\n }, {\n key: \"setStyle\",\n value: function setStyle(t, e, n) {\n y(t) && void 0 === n && (n = e), n._setStyle(t, e);\n }\n }, {\n key: \"removeStyle\",\n value: function removeStyle(t, e) {\n e._removeStyle(t);\n }\n }, {\n key: \"setCustomProperty\",\n value: function setCustomProperty(t, e, n) {\n n._setCustomProperty(t, e);\n }\n }, {\n key: \"removeCustomProperty\",\n value: function removeCustomProperty(t, e) {\n return e._removeCustomProperty(t);\n }\n }, {\n key: \"createPositionAt\",\n value: function createPositionAt(t, e) {\n return Zi._createAt(t, e);\n }\n }, {\n key: \"createPositionAfter\",\n value: function createPositionAfter(t) {\n return Zi._createAfter(t);\n }\n }, {\n key: \"createPositionBefore\",\n value: function createPositionBefore(t) {\n return Zi._createBefore(t);\n }\n }, {\n key: \"createRange\",\n value: function createRange(t, e) {\n return new Xi(t, e);\n }\n }, {\n key: \"createRangeOn\",\n value: function createRangeOn(t) {\n return Xi._createOn(t);\n }\n }, {\n key: \"createRangeIn\",\n value: function createRangeIn(t) {\n return Xi._createIn(t);\n }\n }, {\n key: \"createSelection\",\n value: function createSelection(t, e, n) {\n return new no(t, e, n);\n }\n }]);\n\n return Kf;\n }();\n\n var Qf = /*#__PURE__*/function (_gd14) {\n _inherits(Qf, _gd14);\n\n var _super131 = _createSuper(Qf);\n\n function Qf() {\n _classCallCheck(this, Qf);\n\n return _super131.apply(this, arguments);\n }\n\n _createClass(Qf, [{\n key: \"refresh\",\n value: function refresh() {\n var t = this.editor.model.document.selection.getSelectedElement(),\n e = t && \"image\" === t.name || !1;\n this.isEnabled = ch(this.editor.model) || e;\n }\n }, {\n key: \"execute\",\n value: function execute(t) {\n var e = this.editor,\n n = e.model,\n i = e.plugins.get(pu);\n n.change(function (e) {\n var o = Array.isArray(t.file) ? t.file : [t.file];\n\n var _iterator345 = _createForOfIteratorHelper(o),\n _step345;\n\n try {\n for (_iterator345.s(); !(_step345 = _iterator345.n()).done;) {\n var _t273 = _step345.value;\n Jf(e, n, i, _t273);\n }\n } catch (err) {\n _iterator345.e(err);\n } finally {\n _iterator345.f();\n }\n });\n }\n }]);\n\n return Qf;\n }(gd);\n\n function Jf(t, e, n, i) {\n var o = n.createLoader(i);\n o && ah(t, e, {\n uploadId: o.id\n });\n }\n\n var Zf = /*#__PURE__*/function (_cd37) {\n _inherits(Zf, _cd37);\n\n var _super132 = _createSuper(Zf);\n\n _createClass(Zf, null, [{\n key: \"requires\",\n get: function get() {\n return [pu, ef, md];\n }\n }, {\n key: \"pluginName\",\n get: function get() {\n return \"ImageUploadEditing\";\n }\n }]);\n\n function Zf(t) {\n var _this205;\n\n _classCallCheck(this, Zf);\n\n _this205 = _super132.call(this, t), t.config.define(\"image\", {\n upload: {\n types: [\"jpeg\", \"png\", \"gif\", \"bmp\", \"webp\", \"tiff\"]\n }\n });\n return _this205;\n }\n\n _createClass(Zf, [{\n key: \"init\",\n value: function init() {\n var _this206 = this;\n\n var t = this.editor,\n e = t.model.document,\n n = t.model.schema,\n i = t.conversion,\n o = t.plugins.get(pu),\n r = Ff(t.config.get(\"image.upload.types\"));\n n.extend(\"image\", {\n allowAttributes: [\"uploadId\", \"uploadStatus\"]\n }), t.commands.add(\"imageUpload\", new Qf(t)), i[\"for\"](\"upcast\").attributeToAttribute({\n view: {\n name: \"img\",\n key: \"uploadId\"\n },\n model: \"uploadId\"\n }), this.listenTo(t.editing.view.document, \"clipboardInput\", function (e, n) {\n if (i = n.dataTransfer, Array.from(i.types).includes(\"text/html\") && \"\" !== i.getData(\"text/html\")) return;\n var i;\n var o = Array.from(n.dataTransfer.files).filter(function (t) {\n return !!t && r.test(t.type);\n }),\n s = n.targetRanges.map(function (e) {\n return t.editing.mapper.toModelRange(e);\n });\n t.model.change(function (n) {\n n.setSelection(s), o.length && (e.stop(), t.model.enqueueChange(\"default\", function () {\n t.execute(\"imageUpload\", {\n file: o\n });\n }));\n });\n }), this.listenTo(t.plugins.get(md), \"inputTransformation\", function (e, n) {\n var i = Array.from(t.editing.view.createRangeIn(n.content)).filter(function (t) {\n return !(!(e = t.item).is(\"element\", \"img\") || !e.getAttribute(\"src\")) && (e.getAttribute(\"src\").match(/^data:image\\/\\w+;base64,/g) || e.getAttribute(\"src\").match(/^blob:/g)) && !t.item.getAttribute(\"uploadProcessed\");\n var e;\n }).map(function (t) {\n return {\n promise: (e = t.item, new Promise(function (t, n) {\n var i = e.getAttribute(\"src\");\n fetch(i).then(function (t) {\n return t.blob();\n }).then(function (e) {\n var n = function (t, e) {\n return t.type ? t.type : e.match(/data:(image\\/\\w+);base64/) ? e.match(/data:(image\\/\\w+);base64/)[1].toLowerCase() : \"image/jpeg\";\n }(e, i),\n o = n.replace(\"image/\", \"\"),\n r = new File([e], \"image.\" + o, {\n type: n\n });\n\n t(r);\n })[\"catch\"](n);\n })),\n imageElement: t.item\n };\n var e;\n });\n if (!i.length) return;\n var r = new Kf(t.editing.view.document);\n\n var _iterator346 = _createForOfIteratorHelper(i),\n _step346;\n\n try {\n for (_iterator346.s(); !(_step346 = _iterator346.n()).done;) {\n var _t274 = _step346.value;\n r.setAttribute(\"uploadProcessed\", !0, _t274.imageElement);\n\n var _e240 = o.createLoader(_t274.promise);\n\n _e240 && (r.setAttribute(\"src\", \"\", _t274.imageElement), r.setAttribute(\"uploadId\", _e240.id, _t274.imageElement));\n }\n } catch (err) {\n _iterator346.e(err);\n } finally {\n _iterator346.f();\n }\n }), t.editing.view.document.on(\"dragover\", function (t, e) {\n e.preventDefault();\n }), e.on(\"change\", function () {\n var n = e.differ.getChanges({\n includeChangesInGraveyard: !0\n });\n\n var _iterator347 = _createForOfIteratorHelper(n),\n _step347;\n\n try {\n for (_iterator347.s(); !(_step347 = _iterator347.n()).done;) {\n var _e241 = _step347.value;\n\n if (\"insert\" == _e241.type && \"$text\" != _e241.name) {\n var _n227 = _e241.position.nodeAfter,\n _i182 = \"$graveyard\" == _e241.position.root.rootName;\n\n var _iterator348 = _createForOfIteratorHelper(Xf(t, _n227)),\n _step348;\n\n try {\n for (_iterator348.s(); !(_step348 = _iterator348.n()).done;) {\n var _e242 = _step348.value;\n\n var _t275 = _e242.getAttribute(\"uploadId\");\n\n if (!_t275) continue;\n\n var _n228 = o.loaders.get(_t275);\n\n _n228 && (_i182 ? _n228.abort() : \"idle\" == _n228.status && _this206._readAndUpload(_n228, _e242));\n }\n } catch (err) {\n _iterator348.e(err);\n } finally {\n _iterator348.f();\n }\n }\n }\n } catch (err) {\n _iterator347.e(err);\n } finally {\n _iterator347.f();\n }\n });\n }\n }, {\n key: \"_readAndUpload\",\n value: function _readAndUpload(t, e) {\n var _this207 = this;\n\n var n = this.editor,\n i = n.model,\n o = n.locale.t,\n r = n.plugins.get(pu),\n s = n.plugins.get(ef);\n return i.enqueueChange(\"transparent\", function (t) {\n t.setAttribute(\"uploadStatus\", \"reading\", e);\n }), t.read().then(function () {\n var o = t.upload();\n\n if (ho.isSafari) {\n var _t276 = lh(n.editing.mapper.toViewElement(e));\n\n n.editing.view.once(\"render\", function () {\n if (!_t276.parent) return;\n var e = n.editing.view.domConverter.mapViewToDom(_t276.parent);\n if (!e) return;\n var i = e.style.display;\n e.style.display = \"none\", e._ckHack = e.offsetHeight, e.style.display = i;\n });\n }\n\n return i.enqueueChange(\"transparent\", function (t) {\n t.setAttribute(\"uploadStatus\", \"uploading\", e);\n }), o;\n }).then(function (t) {\n i.enqueueChange(\"transparent\", function (n) {\n n.setAttributes({\n uploadStatus: \"complete\",\n src: t[\"default\"]\n }, e), _this207._parseAndSetSrcsetAttributeOnImage(t, e, n);\n }), a();\n })[\"catch\"](function (n) {\n if (\"error\" !== t.status && \"aborted\" !== t.status) throw n;\n \"error\" == t.status && n && s.showWarning(n, {\n title: o(\"Upload failed\"),\n namespace: \"upload\"\n }), a(), i.enqueueChange(\"transparent\", function (t) {\n t.remove(e);\n });\n });\n\n function a() {\n i.enqueueChange(\"transparent\", function (t) {\n t.removeAttribute(\"uploadId\", e), t.removeAttribute(\"uploadStatus\", e);\n }), r.destroyLoader(t);\n }\n }\n }, {\n key: \"_parseAndSetSrcsetAttributeOnImage\",\n value: function _parseAndSetSrcsetAttributeOnImage(t, e, n) {\n var i = 0;\n var o = Object.keys(t).filter(function (t) {\n var e = parseInt(t, 10);\n if (!isNaN(e)) return i = Math.max(i, e), !0;\n }).map(function (e) {\n return \"\".concat(t[e], \" \").concat(e, \"w\");\n }).join(\", \");\n \"\" != o && n.setAttribute(\"srcset\", {\n data: o,\n width: i\n }, e);\n }\n }]);\n\n return Zf;\n }(cd);\n\n function Xf(t, e) {\n return Array.from(t.model.createRangeOn(e)).filter(function (t) {\n return t.item.is(\"element\", \"image\");\n }).map(function (t) {\n return t.item;\n });\n }\n\n var tm = /*#__PURE__*/function (_cd38) {\n _inherits(tm, _cd38);\n\n var _super133 = _createSuper(tm);\n\n function tm() {\n _classCallCheck(this, tm);\n\n return _super133.apply(this, arguments);\n }\n\n _createClass(tm, null, [{\n key: \"pluginName\",\n get: function get() {\n return \"ImageUpload\";\n }\n }, {\n key: \"requires\",\n get: function get() {\n return [Zf, Uf, Hf];\n }\n }]);\n\n return tm;\n }(cd);\n\n var em = /*#__PURE__*/function (_gd15) {\n _inherits(em, _gd15);\n\n var _super134 = _createSuper(em);\n\n function em() {\n _classCallCheck(this, em);\n\n return _super134.apply(this, arguments);\n }\n\n _createClass(em, [{\n key: \"refresh\",\n value: function refresh() {\n var t = this.editor.model,\n e = vu(t.document.selection.getSelectedBlocks());\n this.value = !!e && e.is(\"element\", \"paragraph\"), this.isEnabled = !!e && nm(e, t.schema);\n }\n }, {\n key: \"execute\",\n value: function execute() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var e = this.editor.model,\n n = e.document;\n e.change(function (i) {\n var o = (t.selection || n.selection).getSelectedBlocks();\n\n var _iterator349 = _createForOfIteratorHelper(o),\n _step349;\n\n try {\n for (_iterator349.s(); !(_step349 = _iterator349.n()).done;) {\n var _t277 = _step349.value;\n !_t277.is(\"element\", \"paragraph\") && nm(_t277, e.schema) && i.rename(_t277, \"paragraph\");\n }\n } catch (err) {\n _iterator349.e(err);\n } finally {\n _iterator349.f();\n }\n });\n }\n }]);\n\n return em;\n }(gd);\n\n function nm(t, e) {\n return e.checkChild(t.parent, \"paragraph\") && !e.isObject(t);\n }\n\n var im = /*#__PURE__*/function (_gd16) {\n _inherits(im, _gd16);\n\n var _super135 = _createSuper(im);\n\n function im() {\n _classCallCheck(this, im);\n\n return _super135.apply(this, arguments);\n }\n\n _createClass(im, [{\n key: \"execute\",\n value: function execute(t) {\n var e = this.editor.model;\n var n = t.position;\n e.change(function (t) {\n var i = t.createElement(\"paragraph\");\n\n if (!e.schema.checkChild(n.parent, i)) {\n var _o98 = e.schema.findAllowedParent(n, i);\n\n if (!_o98) return;\n n = t.split(n, _o98).position;\n }\n\n e.insertContent(i, n), t.setSelection(i, \"in\");\n });\n }\n }]);\n\n return im;\n }(gd);\n\n var om = /*#__PURE__*/function (_cd39) {\n _inherits(om, _cd39);\n\n var _super136 = _createSuper(om);\n\n function om() {\n _classCallCheck(this, om);\n\n return _super136.apply(this, arguments);\n }\n\n _createClass(om, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = t.model;\n t.commands.add(\"paragraph\", new em(t)), t.commands.add(\"insertParagraph\", new im(t)), e.schema.register(\"paragraph\", {\n inheritAllFrom: \"$block\"\n }), t.conversion.elementToElement({\n model: \"paragraph\",\n view: \"p\"\n }), t.conversion[\"for\"](\"upcast\").elementToElement({\n model: function model(t, _ref141) {\n var e = _ref141.writer;\n return om.paragraphLikeElements.has(t.name) ? t.isEmpty ? null : e.createElement(\"paragraph\") : null;\n },\n view: /.+/,\n converterPriority: \"low\"\n });\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"Paragraph\";\n }\n }]);\n\n return om;\n }(cd);\n\n om.paragraphLikeElements = new Set([\"blockquote\", \"dd\", \"div\", \"dt\", \"h1\", \"h2\", \"h3\", \"h4\", \"h5\", \"h6\", \"li\", \"p\", \"td\", \"th\"]);\n\n var rm = /*#__PURE__*/function (_gd17) {\n _inherits(rm, _gd17);\n\n var _super137 = _createSuper(rm);\n\n function rm(t, e) {\n var _this208;\n\n _classCallCheck(this, rm);\n\n _this208 = _super137.call(this, t), _this208.modelElements = e;\n return _this208;\n }\n\n _createClass(rm, [{\n key: \"refresh\",\n value: function refresh() {\n var _this209 = this;\n\n var t = vu(this.editor.model.document.selection.getSelectedBlocks());\n this.value = !!t && this.modelElements.includes(t.name) && t.name, this.isEnabled = !!t && this.modelElements.some(function (e) {\n return sm(t, e, _this209.editor.model.schema);\n });\n }\n }, {\n key: \"execute\",\n value: function execute(t) {\n var e = this.editor.model,\n n = e.document,\n i = t.value;\n e.change(function (t) {\n var o = Array.from(n.selection.getSelectedBlocks()).filter(function (t) {\n return sm(t, i, e.schema);\n });\n\n var _iterator350 = _createForOfIteratorHelper(o),\n _step350;\n\n try {\n for (_iterator350.s(); !(_step350 = _iterator350.n()).done;) {\n var _e243 = _step350.value;\n _e243.is(\"element\", i) || t.rename(_e243, i);\n }\n } catch (err) {\n _iterator350.e(err);\n } finally {\n _iterator350.f();\n }\n });\n }\n }]);\n\n return rm;\n }(gd);\n\n function sm(t, e, n) {\n return n.checkChild(t.parent, e) && !n.isObject(t);\n }\n\n var am = /*#__PURE__*/function (_cd40) {\n _inherits(am, _cd40);\n\n var _super138 = _createSuper(am);\n\n _createClass(am, null, [{\n key: \"pluginName\",\n get: function get() {\n return \"HeadingEditing\";\n }\n }]);\n\n function am(t) {\n var _this210;\n\n _classCallCheck(this, am);\n\n _this210 = _super138.call(this, t), t.config.define(\"heading\", {\n options: [{\n model: \"paragraph\",\n title: \"Paragraph\",\n \"class\": \"ck-heading_paragraph\"\n }, {\n model: \"heading1\",\n view: \"h2\",\n title: \"Heading 1\",\n \"class\": \"ck-heading_heading1\"\n }, {\n model: \"heading2\",\n view: \"h3\",\n title: \"Heading 2\",\n \"class\": \"ck-heading_heading2\"\n }, {\n model: \"heading3\",\n view: \"h4\",\n title: \"Heading 3\",\n \"class\": \"ck-heading_heading3\"\n }]\n });\n return _this210;\n }\n\n _createClass(am, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = t.config.get(\"heading.options\"),\n n = [];\n\n var _iterator351 = _createForOfIteratorHelper(e),\n _step351;\n\n try {\n for (_iterator351.s(); !(_step351 = _iterator351.n()).done;) {\n var _i183 = _step351.value;\n \"paragraph\" !== _i183.model && (t.model.schema.register(_i183.model, {\n inheritAllFrom: \"$block\"\n }), t.conversion.elementToElement(_i183), n.push(_i183.model));\n }\n } catch (err) {\n _iterator351.e(err);\n } finally {\n _iterator351.f();\n }\n\n this._addDefaultH1Conversion(t), t.commands.add(\"heading\", new rm(t, n));\n }\n }, {\n key: \"afterInit\",\n value: function afterInit() {\n var t = this.editor,\n e = t.commands.get(\"enter\"),\n n = t.config.get(\"heading.options\");\n e && this.listenTo(e, \"afterExecute\", function (e, i) {\n var o = t.model.document.selection.getFirstPosition().parent;\n n.some(function (t) {\n return o.is(\"element\", t.model);\n }) && !o.is(\"element\", \"paragraph\") && 0 === o.childCount && i.writer.rename(o, \"paragraph\");\n });\n }\n }, {\n key: \"_addDefaultH1Conversion\",\n value: function _addDefaultH1Conversion(t) {\n t.conversion[\"for\"](\"upcast\").elementToElement({\n model: \"heading1\",\n view: \"h1\",\n converterPriority: un.get(\"low\") + 1\n });\n }\n }], [{\n key: \"requires\",\n get: function get() {\n return [om];\n }\n }]);\n\n return am;\n }(cd);\n\n var cm = function cm(t, e) {\n _classCallCheck(this, cm);\n\n e && Vi(this, e), t && this.set(t);\n };\n\n xn(cm, Ui);\n n(12);\n\n var lm = /*#__PURE__*/function (_cd41) {\n _inherits(lm, _cd41);\n\n var _super139 = _createSuper(lm);\n\n function lm() {\n _classCallCheck(this, lm);\n\n return _super139.apply(this, arguments);\n }\n\n _createClass(lm, [{\n key: \"init\",\n value: function init() {\n var _this211 = this;\n\n var t = this.editor,\n e = t.t,\n n = function (t) {\n var e = t.t,\n n = {\n Paragraph: e(\"Paragraph\"),\n \"Heading 1\": e(\"Heading 1\"),\n \"Heading 2\": e(\"Heading 2\"),\n \"Heading 3\": e(\"Heading 3\"),\n \"Heading 4\": e(\"Heading 4\"),\n \"Heading 5\": e(\"Heading 5\"),\n \"Heading 6\": e(\"Heading 6\")\n };\n return t.config.get(\"heading.options\").map(function (t) {\n var e = n[t.title];\n return e && e != t.title && (t.title = e), t;\n });\n }(t),\n i = e(\"Choose heading\"),\n o = e(\"Heading\");\n\n t.ui.componentFactory.add(\"heading\", function (e) {\n var r = {},\n s = new An(),\n a = t.commands.get(\"heading\"),\n c = t.commands.get(\"paragraph\"),\n l = [a];\n\n var _iterator352 = _createForOfIteratorHelper(n),\n _step352;\n\n try {\n var _loop7 = function _loop7() {\n var t = _step352.value;\n var e = {\n type: \"button\",\n model: new cm({\n label: t.title,\n \"class\": t[\"class\"],\n withText: !0\n })\n };\n \"paragraph\" === t.model ? (e.model.bind(\"isOn\").to(c, \"value\"), e.model.set(\"commandName\", \"paragraph\"), l.push(c)) : (e.model.bind(\"isOn\").to(a, \"value\", function (e) {\n return e === t.model;\n }), e.model.set({\n commandName: \"heading\",\n commandValue: t.model\n })), s.add(e), r[t.model] = t.title;\n };\n\n for (_iterator352.s(); !(_step352 = _iterator352.n()).done;) {\n _loop7();\n }\n } catch (err) {\n _iterator352.e(err);\n } finally {\n _iterator352.f();\n }\n\n var d = td(e);\n return ed(d, s), d.buttonView.set({\n isOn: !1,\n withText: !0,\n tooltip: o\n }), d.extendTemplate({\n attributes: {\n \"class\": [\"ck-heading-dropdown\"]\n }\n }), d.bind(\"isEnabled\").toMany(l, \"isEnabled\", function () {\n for (var _len18 = arguments.length, t = new Array(_len18), _key18 = 0; _key18 < _len18; _key18++) {\n t[_key18] = arguments[_key18];\n }\n\n return t.some(function (t) {\n return t;\n });\n }), d.buttonView.bind(\"label\").to(a, \"value\", c, \"value\", function (t, e) {\n var n = t || e && \"paragraph\";\n return r[n] ? r[n] : i;\n }), _this211.listenTo(d, \"execute\", function (e) {\n t.execute(e.source.commandName, e.source.commandValue ? {\n value: e.source.commandValue\n } : void 0), t.editing.view.focus();\n }), d;\n });\n }\n }]);\n\n return lm;\n }(cd);\n\n function dm(t) {\n var _iterator353 = _createForOfIteratorHelper(t.getChildren()),\n _step353;\n\n try {\n for (_iterator353.s(); !(_step353 = _iterator353.n()).done;) {\n var _e244 = _step353.value;\n if (_e244 && _e244.is(\"element\", \"caption\")) return _e244;\n }\n } catch (err) {\n _iterator353.e(err);\n } finally {\n _iterator353.f();\n }\n\n return null;\n }\n\n function um(t) {\n var e = t.parent;\n return \"figcaption\" == t.name && e && \"figure\" == e.name && e.hasClass(\"image\") ? {\n name: !0\n } : null;\n }\n\n var hm = /*#__PURE__*/function (_cd42) {\n _inherits(hm, _cd42);\n\n var _super140 = _createSuper(hm);\n\n function hm() {\n _classCallCheck(this, hm);\n\n return _super140.apply(this, arguments);\n }\n\n _createClass(hm, [{\n key: \"init\",\n value: function init() {\n var _this212 = this;\n\n var t = this.editor,\n e = t.editing.view,\n n = t.model.schema,\n i = t.data,\n o = t.editing,\n r = t.t;\n n.register(\"caption\", {\n allowIn: \"image\",\n allowContentOf: \"$block\",\n isLimit: !0\n }), t.model.document.registerPostFixer(function (t) {\n return _this212._insertMissingModelCaptionElement(t);\n }), t.conversion[\"for\"](\"upcast\").elementToElement({\n view: um,\n model: \"caption\"\n });\n i.downcastDispatcher.on(\"insert:caption\", fm(function (t) {\n return t.createContainerElement(\"figcaption\");\n }, !1));\n\n var s = function (t, e) {\n return function (n) {\n var i = n.createEditableElement(\"figcaption\");\n return n.setCustomProperty(\"imageCaption\", !0, i), Qc({\n view: t,\n element: i,\n text: e\n }), eh(i, n);\n };\n }(e, r(\"Enter image caption\"));\n\n o.downcastDispatcher.on(\"insert:caption\", fm(s)), o.downcastDispatcher.on(\"insert\", this._fixCaptionVisibility(function (t) {\n return t.item;\n }), {\n priority: \"high\"\n }), o.downcastDispatcher.on(\"remove\", this._fixCaptionVisibility(function (t) {\n return t.position.parent;\n }), {\n priority: \"high\"\n }), e.document.registerPostFixer(function (t) {\n return _this212._updateCaptionVisibility(t);\n });\n }\n }, {\n key: \"_updateCaptionVisibility\",\n value: function _updateCaptionVisibility(t) {\n var e = this.editor.editing.mapper,\n n = this._lastSelectedCaption;\n var i;\n var o = this.editor.model.document.selection,\n r = o.getSelectedElement();\n\n if (r && r.is(\"element\", \"image\")) {\n var _t278 = dm(r);\n\n i = e.toViewElement(_t278);\n }\n\n var s = mm(o.getFirstPosition().parent);\n if (s && (i = e.toViewElement(s)), i) return n ? (n === i || (gm(n, t), this._lastSelectedCaption = i), pm(i, t)) : (this._lastSelectedCaption = i, pm(i, t));\n\n if (n) {\n var _e245 = gm(n, t);\n\n return this._lastSelectedCaption = null, _e245;\n }\n\n return !1;\n }\n }, {\n key: \"_fixCaptionVisibility\",\n value: function _fixCaptionVisibility(t) {\n var _this213 = this;\n\n return function (e, n, i) {\n var o = mm(t(n)),\n r = _this213.editor.editing.mapper,\n s = i.writer;\n\n if (o) {\n var _t279 = r.toViewElement(o);\n\n _t279 && (o.childCount ? s.removeClass(\"ck-hidden\", _t279) : s.addClass(\"ck-hidden\", _t279));\n }\n };\n }\n }, {\n key: \"_insertMissingModelCaptionElement\",\n value: function _insertMissingModelCaptionElement(t) {\n var e = this.editor.model,\n n = e.document.differ.getChanges(),\n i = [];\n\n var _iterator354 = _createForOfIteratorHelper(n),\n _step354;\n\n try {\n for (_iterator354.s(); !(_step354 = _iterator354.n()).done;) {\n var _t280 = _step354.value;\n\n if (\"insert\" == _t280.type && \"$text\" != _t280.name) {\n var _n229 = _t280.position.nodeAfter;\n\n if (_n229.is(\"element\", \"image\") && !dm(_n229) && i.push(_n229), !_n229.is(\"element\", \"image\") && _n229.childCount) {\n var _iterator355 = _createForOfIteratorHelper(e.createRangeIn(_n229).getItems()),\n _step355;\n\n try {\n for (_iterator355.s(); !(_step355 = _iterator355.n()).done;) {\n var _t281 = _step355.value;\n _t281.is(\"element\", \"image\") && !dm(_t281) && i.push(_t281);\n }\n } catch (err) {\n _iterator355.e(err);\n } finally {\n _iterator355.f();\n }\n }\n }\n }\n } catch (err) {\n _iterator354.e(err);\n } finally {\n _iterator354.f();\n }\n\n for (var _i185 = 0, _i184 = i; _i185 < _i184.length; _i185++) {\n var _e246 = _i184[_i185];\n t.appendElement(\"caption\", _e246);\n }\n\n return !!i.length;\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"ImageCaptionEditing\";\n }\n }]);\n\n return hm;\n }(cd);\n\n function fm(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;\n return function (n, i, o) {\n var r = i.item;\n\n if ((r.childCount || e) && sh(r.parent)) {\n if (!o.consumable.consume(i.item, \"insert\")) return;\n\n var _e247 = o.mapper.toViewElement(i.range.start.parent),\n _n230 = t(o.writer),\n _s34 = o.writer;\n\n r.childCount || _s34.addClass(\"ck-hidden\", _n230), function (t, e, n, i) {\n var o = i.writer.createPositionAt(n, \"end\");\n i.writer.insert(o, t), i.mapper.bindElements(e, t);\n }(_n230, i.item, _e247, o);\n }\n };\n }\n\n function mm(t) {\n var e = t.getAncestors({\n includeSelf: !0\n }).find(function (t) {\n return \"caption\" == t.name;\n });\n return e && e.parent && \"image\" == e.parent.name ? e : null;\n }\n\n function gm(t, e) {\n return !t.childCount && !t.hasClass(\"ck-hidden\") && (e.addClass(\"ck-hidden\", t), !0);\n }\n\n function pm(t, e) {\n return !!t.hasClass(\"ck-hidden\") && (e.removeClass(\"ck-hidden\", t), !0);\n }\n\n n(74);\n\n var bm = /*#__PURE__*/function (_gd18) {\n _inherits(bm, _gd18);\n\n var _super141 = _createSuper(bm);\n\n function bm(t, e) {\n var _this214;\n\n _classCallCheck(this, bm);\n\n _this214 = _super141.call(this, t), _this214.defaultStyle = !1, _this214.styles = e.reduce(function (t, e) {\n return t[e.name] = e, e.isDefault && (_this214.defaultStyle = e.name), t;\n }, {});\n return _this214;\n }\n\n _createClass(bm, [{\n key: \"refresh\",\n value: function refresh() {\n var t = this.editor.model.document.selection.getSelectedElement();\n if (this.isEnabled = sh(t), t) {\n if (t.hasAttribute(\"imageStyle\")) {\n var _e248 = t.getAttribute(\"imageStyle\");\n\n this.value = !!this.styles[_e248] && _e248;\n } else this.value = this.defaultStyle;\n } else this.value = !1;\n }\n }, {\n key: \"execute\",\n value: function execute(t) {\n var _this215 = this;\n\n var e = t.value,\n n = this.editor.model,\n i = n.document.selection.getSelectedElement();\n n.change(function (t) {\n _this215.styles[e].isDefault ? t.removeAttribute(\"imageStyle\", i) : t.setAttribute(\"imageStyle\", e, i);\n });\n }\n }]);\n\n return bm;\n }(gd);\n\n function wm(t, e) {\n var _iterator356 = _createForOfIteratorHelper(e),\n _step356;\n\n try {\n for (_iterator356.s(); !(_step356 = _iterator356.n()).done;) {\n var _n231 = _step356.value;\n if (_n231.name === t) return _n231;\n }\n } catch (err) {\n _iterator356.e(err);\n } finally {\n _iterator356.f();\n }\n }\n\n var km = '',\n _m = '',\n vm = '',\n ym = '';\n var xm = {\n full: {\n name: \"full\",\n title: \"Full size image\",\n icon: km,\n isDefault: !0\n },\n side: {\n name: \"side\",\n title: \"Side image\",\n icon: ym,\n className: \"image-style-side\"\n },\n alignLeft: {\n name: \"alignLeft\",\n title: \"Left aligned image\",\n icon: _m,\n className: \"image-style-align-left\"\n },\n alignCenter: {\n name: \"alignCenter\",\n title: \"Centered image\",\n icon: vm,\n className: \"image-style-align-center\"\n },\n alignRight: {\n name: \"alignRight\",\n title: \"Right aligned image\",\n icon: ym,\n className: \"image-style-align-right\"\n }\n },\n Am = {\n full: km,\n left: _m,\n right: ym,\n center: vm\n };\n\n function Cm() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return t.map(Tm);\n }\n\n function Tm(t) {\n if (\"string\" == typeof t) {\n var _e249 = t;\n xm[_e249] ? t = Object.assign({}, xm[_e249]) : (Object(hn.c)(\"image-style-not-found\", {\n name: _e249\n }), t = {\n name: _e249\n });\n } else if (xm[t.name]) {\n var _e250 = xm[t.name],\n _n232 = Object.assign({}, t);\n\n for (var _i186 in _e250) {\n Object.prototype.hasOwnProperty.call(t, _i186) || (_n232[_i186] = _e250[_i186]);\n }\n\n t = _n232;\n }\n\n return \"string\" == typeof t.icon && Am[t.icon] && (t.icon = Am[t.icon]), t;\n }\n\n var Pm = /*#__PURE__*/function (_cd43) {\n _inherits(Pm, _cd43);\n\n var _super142 = _createSuper(Pm);\n\n function Pm() {\n _classCallCheck(this, Pm);\n\n return _super142.apply(this, arguments);\n }\n\n _createClass(Pm, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = t.model.schema,\n n = t.data,\n i = t.editing;\n t.config.define(\"image.styles\", [\"full\", \"side\"]);\n var o = Cm(t.config.get(\"image.styles\"));\n e.extend(\"image\", {\n allowAttributes: \"imageStyle\"\n });\n\n var r = function (t) {\n return function (e, n, i) {\n if (!i.consumable.consume(n.item, e.name)) return;\n var o = wm(n.attributeNewValue, t),\n r = wm(n.attributeOldValue, t),\n s = i.mapper.toViewElement(n.item),\n a = i.writer;\n r && a.removeClass(r.className, s), o && a.addClass(o.className, s);\n };\n }(o);\n\n i.downcastDispatcher.on(\"attribute:imageStyle:image\", r), n.downcastDispatcher.on(\"attribute:imageStyle:image\", r), n.upcastDispatcher.on(\"element:figure\", function (t) {\n var e = t.filter(function (t) {\n return !t.isDefault;\n });\n return function (t, n, i) {\n if (!n.modelRange) return;\n var o = n.viewItem,\n r = vu(n.modelRange.getItems());\n\n if (i.schema.checkAttribute(r, \"imageStyle\")) {\n var _iterator357 = _createForOfIteratorHelper(e),\n _step357;\n\n try {\n for (_iterator357.s(); !(_step357 = _iterator357.n()).done;) {\n var _t282 = _step357.value;\n i.consumable.consume(o, {\n classes: _t282.className\n }) && i.writer.setAttribute(\"imageStyle\", _t282.name, r);\n }\n } catch (err) {\n _iterator357.e(err);\n } finally {\n _iterator357.f();\n }\n }\n };\n }(o), {\n priority: \"low\"\n }), t.commands.add(\"imageStyle\", new bm(t, o));\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"ImageStyleEditing\";\n }\n }]);\n\n return Pm;\n }(cd);\n\n n(76);\n\n var Sm = /*#__PURE__*/function (_cd44) {\n _inherits(Sm, _cd44);\n\n var _super143 = _createSuper(Sm);\n\n function Sm() {\n _classCallCheck(this, Sm);\n\n return _super143.apply(this, arguments);\n }\n\n _createClass(Sm, [{\n key: \"init\",\n value: function init() {\n var t = function (t, e) {\n var _iterator358 = _createForOfIteratorHelper(t),\n _step358;\n\n try {\n for (_iterator358.s(); !(_step358 = _iterator358.n()).done;) {\n var _n233 = _step358.value;\n e[_n233.title] && (_n233.title = e[_n233.title]);\n }\n } catch (err) {\n _iterator358.e(err);\n } finally {\n _iterator358.f();\n }\n\n return t;\n }(Cm(this.editor.config.get(\"image.styles\")), this.localizedDefaultStylesTitles);\n\n var _iterator359 = _createForOfIteratorHelper(t),\n _step359;\n\n try {\n for (_iterator359.s(); !(_step359 = _iterator359.n()).done;) {\n var _e251 = _step359.value;\n\n this._createButton(_e251);\n }\n } catch (err) {\n _iterator359.e(err);\n } finally {\n _iterator359.f();\n }\n }\n }, {\n key: \"_createButton\",\n value: function _createButton(t) {\n var _this216 = this;\n\n var e = this.editor,\n n = \"imageStyle:\" + t.name;\n e.ui.componentFactory.add(n, function (n) {\n var i = e.commands.get(\"imageStyle\"),\n o = new $l(n);\n return o.set({\n label: t.title,\n icon: t.icon,\n tooltip: !0,\n isToggleable: !0\n }), o.bind(\"isEnabled\").to(i, \"isEnabled\"), o.bind(\"isOn\").to(i, \"value\", function (e) {\n return e === t.name;\n }), _this216.listenTo(o, \"execute\", function () {\n e.execute(\"imageStyle\", {\n value: t.name\n }), e.editing.view.focus();\n }), o;\n });\n }\n }, {\n key: \"localizedDefaultStylesTitles\",\n get: function get() {\n var t = this.editor.t;\n return {\n \"Full size image\": t(\"Full size image\"),\n \"Side image\": t(\"Side image\"),\n \"Left aligned image\": t(\"Left aligned image\"),\n \"Centered image\": t(\"Centered image\"),\n \"Right aligned image\": t(\"Right aligned image\")\n };\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"ImageStyleUI\";\n }\n }]);\n\n return Sm;\n }(cd);\n\n var Em = /*#__PURE__*/function (_cd45) {\n _inherits(Em, _cd45);\n\n var _super144 = _createSuper(Em);\n\n function Em() {\n _classCallCheck(this, Em);\n\n return _super144.apply(this, arguments);\n }\n\n _createClass(Em, [{\n key: \"init\",\n value: function init() {\n var _this217 = this;\n\n var t = this.editor;\n\n if (t.plugins.has(\"BalloonToolbar\")) {\n var _e252 = t.plugins.get(\"BalloonToolbar\");\n\n this.listenTo(_e252, \"show\", function (e) {\n (function (t) {\n var e = t.getSelectedElement();\n return !(!e || !Ju(e));\n })(t.editing.view.document.selection) && e.stop();\n }, {\n priority: \"high\"\n });\n }\n\n this._toolbarDefinitions = new Map(), this._balloon = this.editor.plugins.get(\"ContextualBalloon\"), this.on(\"change:isEnabled\", function () {\n _this217._updateToolbarsVisibility();\n }), this.listenTo(t.ui, \"update\", function () {\n _this217._updateToolbarsVisibility();\n }), this.listenTo(t.ui.focusTracker, \"change:isFocused\", function () {\n _this217._updateToolbarsVisibility();\n }, {\n priority: \"low\"\n });\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n _get(_getPrototypeOf(Em.prototype), \"destroy\", this).call(this);\n\n var _iterator360 = _createForOfIteratorHelper(this._toolbarDefinitions.values()),\n _step360;\n\n try {\n for (_iterator360.s(); !(_step360 = _iterator360.n()).done;) {\n var _t283 = _step360.value;\n\n _t283.view.destroy();\n }\n } catch (err) {\n _iterator360.e(err);\n } finally {\n _iterator360.f();\n }\n }\n }, {\n key: \"register\",\n value: function register(t, _ref142) {\n var e = _ref142.ariaLabel,\n n = _ref142.items,\n i = _ref142.getRelatedElement,\n _ref142$balloonClassN = _ref142.balloonClassName,\n o = _ref142$balloonClassN === void 0 ? \"ck-toolbar-container\" : _ref142$balloonClassN;\n if (!n.length) return void Object(hn.c)(\"widget-toolbar-no-items\", {\n toolbarId: t\n });\n var r = this.editor,\n s = r.t,\n a = new nd(r.locale);\n if (a.ariaLabel = e || s(\"Widget toolbar\"), this._toolbarDefinitions.has(t)) throw new hn.a(\"widget-toolbar-duplicated\", this, {\n toolbarId: t\n });\n a.fillFromConfig(n, r.ui.componentFactory), this._toolbarDefinitions.set(t, {\n view: a,\n getRelatedElement: i,\n balloonClassName: o\n });\n }\n }, {\n key: \"_updateToolbarsVisibility\",\n value: function _updateToolbarsVisibility() {\n var t = 0,\n e = null,\n n = null;\n\n var _iterator361 = _createForOfIteratorHelper(this._toolbarDefinitions.values()),\n _step361;\n\n try {\n for (_iterator361.s(); !(_step361 = _iterator361.n()).done;) {\n var _i187 = _step361.value;\n\n var _o99 = _i187.getRelatedElement(this.editor.editing.view.document.selection);\n\n if (this.isEnabled && _o99) {\n if (this.editor.ui.focusTracker.isFocused) {\n var _r47 = _o99.getAncestors().length;\n\n _r47 > t && (t = _r47, e = _o99, n = _i187);\n } else this._isToolbarVisible(_i187) && this._hideToolbar(_i187);\n } else this._isToolbarInBalloon(_i187) && this._hideToolbar(_i187);\n }\n } catch (err) {\n _iterator361.e(err);\n } finally {\n _iterator361.f();\n }\n\n n && this._showToolbar(n, e);\n }\n }, {\n key: \"_hideToolbar\",\n value: function _hideToolbar(t) {\n this._balloon.remove(t.view), this.stopListening(this._balloon, \"change:visibleView\");\n }\n }, {\n key: \"_showToolbar\",\n value: function _showToolbar(t, e) {\n var _this218 = this;\n\n this._isToolbarVisible(t) ? Mm(this.editor, e) : this._isToolbarInBalloon(t) || (this._balloon.add({\n view: t.view,\n position: Im(this.editor, e),\n balloonClassName: t.balloonClassName\n }), this.listenTo(this._balloon, \"change:visibleView\", function () {\n var _iterator362 = _createForOfIteratorHelper(_this218._toolbarDefinitions.values()),\n _step362;\n\n try {\n for (_iterator362.s(); !(_step362 = _iterator362.n()).done;) {\n var _t284 = _step362.value;\n\n if (_this218._isToolbarVisible(_t284)) {\n var _e253 = _t284.getRelatedElement(_this218.editor.editing.view.document.selection);\n\n Mm(_this218.editor, _e253);\n }\n }\n } catch (err) {\n _iterator362.e(err);\n } finally {\n _iterator362.f();\n }\n }));\n }\n }, {\n key: \"_isToolbarVisible\",\n value: function _isToolbarVisible(t) {\n return this._balloon.visibleView === t.view;\n }\n }, {\n key: \"_isToolbarInBalloon\",\n value: function _isToolbarInBalloon(t) {\n return this._balloon.hasView(t.view);\n }\n }], [{\n key: \"requires\",\n get: function get() {\n return [Nf];\n }\n }, {\n key: \"pluginName\",\n get: function get() {\n return \"WidgetToolbarRepository\";\n }\n }]);\n\n return Em;\n }(cd);\n\n function Mm(t, e) {\n var n = t.plugins.get(\"ContextualBalloon\"),\n i = Im(t, e);\n n.updatePosition(i);\n }\n\n function Im(t, e) {\n var n = t.editing.view,\n i = qu.defaultPositions;\n return {\n target: n.domConverter.mapViewToDom(e),\n positions: [i.northArrowSouth, i.northArrowSouthWest, i.northArrowSouthEast, i.southArrowNorth, i.southArrowNorthWest, i.southArrowNorthEast, ih]\n };\n }\n\n var Nm = /*#__PURE__*/function (_gd19) {\n _inherits(Nm, _gd19);\n\n var _super145 = _createSuper(Nm);\n\n function Nm(t) {\n var _this219;\n\n _classCallCheck(this, Nm);\n\n _this219 = _super145.call(this, t), _this219._childCommands = [];\n return _this219;\n }\n\n _createClass(Nm, [{\n key: \"refresh\",\n value: function refresh() {}\n }, {\n key: \"execute\",\n value: function execute() {\n for (var _len19 = arguments.length, t = new Array(_len19), _key19 = 0; _key19 < _len19; _key19++) {\n t[_key19] = arguments[_key19];\n }\n\n return this._getFirstEnabledCommand().execute(t);\n }\n }, {\n key: \"registerChildCommand\",\n value: function registerChildCommand(t) {\n var _this220 = this;\n\n this._childCommands.push(t), t.on(\"change:isEnabled\", function () {\n return _this220._checkEnabled();\n }), this._checkEnabled();\n }\n }, {\n key: \"_checkEnabled\",\n value: function _checkEnabled() {\n this.isEnabled = !!this._getFirstEnabledCommand();\n }\n }, {\n key: \"_getFirstEnabledCommand\",\n value: function _getFirstEnabledCommand() {\n return this._childCommands.find(function (t) {\n return t.isEnabled;\n });\n }\n }]);\n\n return Nm;\n }(gd);\n\n var Om = /*#__PURE__*/function (_cd46) {\n _inherits(Om, _cd46);\n\n var _super146 = _createSuper(Om);\n\n function Om() {\n _classCallCheck(this, Om);\n\n return _super146.apply(this, arguments);\n }\n\n _createClass(Om, [{\n key: \"init\",\n value: function init() {\n var t = this.editor;\n t.commands.add(\"indent\", new Nm(t)), t.commands.add(\"outdent\", new Nm(t));\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"IndentEditing\";\n }\n }]);\n\n return Om;\n }(cd);\n\n var Rm = '',\n Dm = '';\n\n var Lm = /*#__PURE__*/function (_cd47) {\n _inherits(Lm, _cd47);\n\n var _super147 = _createSuper(Lm);\n\n function Lm() {\n _classCallCheck(this, Lm);\n\n return _super147.apply(this, arguments);\n }\n\n _createClass(Lm, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = t.locale,\n n = t.t,\n i = \"ltr\" == e.uiLanguageDirection ? Rm : Dm,\n o = \"ltr\" == e.uiLanguageDirection ? Dm : Rm;\n this._defineButton(\"indent\", n(\"Increase indent\"), i), this._defineButton(\"outdent\", n(\"Decrease indent\"), o);\n }\n }, {\n key: \"_defineButton\",\n value: function _defineButton(t, e, n) {\n var _this221 = this;\n\n var i = this.editor;\n i.ui.componentFactory.add(t, function (o) {\n var r = i.commands.get(t),\n s = new $l(o);\n return s.set({\n label: e,\n icon: n,\n tooltip: !0\n }), s.bind(\"isOn\", \"isEnabled\").to(r, \"value\", \"isEnabled\"), _this221.listenTo(s, \"execute\", function () {\n i.execute(t), i.editing.view.focus();\n }), s;\n });\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"IndentUI\";\n }\n }]);\n\n return Lm;\n }(cd);\n\n var Vm = /*#__PURE__*/function (_Vr7) {\n _inherits(Vm, _Vr7);\n\n var _super148 = _createSuper(Vm);\n\n function Vm(t) {\n var _this222;\n\n _classCallCheck(this, Vm);\n\n _this222 = _super148.call(this, t), _this222.domEventType = \"click\";\n return _this222;\n }\n\n _createClass(Vm, [{\n key: \"onDomEvent\",\n value: function onDomEvent(t) {\n this.fire(t.type, t);\n }\n }]);\n\n return Vm;\n }(Vr);\n\n n(78);\n\n var jm = /*#__PURE__*/function (_yl24) {\n _inherits(jm, _yl24);\n\n var _super149 = _createSuper(jm);\n\n function jm(t, e, n) {\n var _this223;\n\n _classCallCheck(this, jm);\n\n _this223 = _super149.call(this, t);\n var i = t.t;\n _this223.focusTracker = new Yc(), _this223.keystrokes = new jc(), _this223.urlInputView = _this223._createUrlInput(n), _this223.saveButtonView = _this223._createButton(i(\"Save\"), Sf, \"ck-button-save\"), _this223.saveButtonView.type = \"submit\", _this223.cancelButtonView = _this223._createButton(i(\"Cancel\"), Ef, \"ck-button-cancel\", \"cancel\"), _this223._manualDecoratorSwitches = _this223._createManualDecoratorSwitches(e), _this223.children = _this223._createFormChildren(e.manualDecorators), _this223._focusables = new nl(), _this223._focusCycler = new Ol({\n focusables: _this223._focusables,\n focusTracker: _this223.focusTracker,\n keystrokeHandler: _this223.keystrokes,\n actions: {\n focusPrevious: \"shift + tab\",\n focusNext: \"tab\"\n }\n });\n var o = [\"ck\", \"ck-link-form\", \"ck-responsive-form\"];\n e.manualDecorators.length && o.push(\"ck-link-form_layout-vertical\", \"ck-vertical-form\"), _this223.setTemplate({\n tag: \"form\",\n attributes: {\n \"class\": o,\n tabindex: \"-1\"\n },\n children: _this223.children\n });\n return _this223;\n }\n\n _createClass(jm, [{\n key: \"getDecoratorSwitchesState\",\n value: function getDecoratorSwitchesState() {\n return Array.from(this._manualDecoratorSwitches).reduce(function (t, e) {\n return t[e.name] = e.isOn, t;\n }, {});\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this224 = this;\n\n _get(_getPrototypeOf(jm.prototype), \"render\", this).call(this), Pf({\n view: this\n });\n [this.urlInputView].concat(_toConsumableArray(this._manualDecoratorSwitches), [this.saveButtonView, this.cancelButtonView]).forEach(function (t) {\n _this224._focusables.add(t), _this224.focusTracker.add(t.element);\n }), this.keystrokes.listenTo(this.element);\n }\n }, {\n key: \"focus\",\n value: function focus() {\n this._focusCycler.focusFirst();\n }\n }, {\n key: \"_createUrlInput\",\n value: function _createUrlInput() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"https://\";\n var e = this.locale.t,\n n = new Af(this.locale, Tf);\n return n.label = e(\"Link URL\"), n.fieldView.placeholder = t + \"example.com\", n;\n }\n }, {\n key: \"_createButton\",\n value: function _createButton(t, e, n, i) {\n var o = new $l(this.locale);\n return o.set({\n label: t,\n icon: e,\n tooltip: !0\n }), o.extendTemplate({\n attributes: {\n \"class\": n\n }\n }), i && o.delegate(\"execute\").to(this, i), o;\n }\n }, {\n key: \"_createManualDecoratorSwitches\",\n value: function _createManualDecoratorSwitches(t) {\n var _this225 = this;\n\n var e = this.createCollection();\n\n var _iterator363 = _createForOfIteratorHelper(t.manualDecorators),\n _step363;\n\n try {\n var _loop8 = function _loop8() {\n var n = _step363.value;\n var i = new Zl(_this225.locale);\n i.set({\n name: n.id,\n label: n.label,\n withText: !0\n }), i.bind(\"isOn\").toMany([n, t], \"value\", function (t, e) {\n return void 0 === e && void 0 === t ? n.defaultValue : t;\n }), i.on(\"execute\", function () {\n n.set(\"value\", !i.isOn);\n }), e.add(i);\n };\n\n for (_iterator363.s(); !(_step363 = _iterator363.n()).done;) {\n _loop8();\n }\n } catch (err) {\n _iterator363.e(err);\n } finally {\n _iterator363.f();\n }\n\n return e;\n }\n }, {\n key: \"_createFormChildren\",\n value: function _createFormChildren(t) {\n var e = this.createCollection();\n\n if (e.add(this.urlInputView), t.length) {\n var _t285 = new yl();\n\n _t285.setTemplate({\n tag: \"ul\",\n children: this._manualDecoratorSwitches.map(function (t) {\n return {\n tag: \"li\",\n children: [t],\n attributes: {\n \"class\": [\"ck\", \"ck-list__item\"]\n }\n };\n }),\n attributes: {\n \"class\": [\"ck\", \"ck-reset\", \"ck-list\"]\n }\n }), e.add(_t285);\n }\n\n return e.add(this.saveButtonView), e.add(this.cancelButtonView), e;\n }\n }]);\n\n return jm;\n }(yl);\n\n n(80);\n\n var zm = /*#__PURE__*/function (_yl25) {\n _inherits(zm, _yl25);\n\n var _super150 = _createSuper(zm);\n\n function zm(t) {\n var _this226;\n\n _classCallCheck(this, zm);\n\n _this226 = _super150.call(this, t);\n var e = t.t;\n _this226.focusTracker = new Yc(), _this226.keystrokes = new jc(), _this226.previewButtonView = _this226._createPreviewButton(), _this226.unlinkButtonView = _this226._createButton(e(\"Unlink\"), '', \"unlink\"), _this226.editButtonView = _this226._createButton(e(\"Edit link\"), '', \"edit\"), _this226.set(\"href\"), _this226._focusables = new nl(), _this226._focusCycler = new Ol({\n focusables: _this226._focusables,\n focusTracker: _this226.focusTracker,\n keystrokeHandler: _this226.keystrokes,\n actions: {\n focusPrevious: \"shift + tab\",\n focusNext: \"tab\"\n }\n }), _this226.setTemplate({\n tag: \"div\",\n attributes: {\n \"class\": [\"ck\", \"ck-link-actions\", \"ck-responsive-form\"],\n tabindex: \"-1\"\n },\n children: [_this226.previewButtonView, _this226.editButtonView, _this226.unlinkButtonView]\n });\n return _this226;\n }\n\n _createClass(zm, [{\n key: \"render\",\n value: function render() {\n var _this227 = this;\n\n _get(_getPrototypeOf(zm.prototype), \"render\", this).call(this);\n\n [this.previewButtonView, this.editButtonView, this.unlinkButtonView].forEach(function (t) {\n _this227._focusables.add(t), _this227.focusTracker.add(t.element);\n }), this.keystrokes.listenTo(this.element);\n }\n }, {\n key: \"focus\",\n value: function focus() {\n this._focusCycler.focusFirst();\n }\n }, {\n key: \"_createButton\",\n value: function _createButton(t, e, n) {\n var i = new $l(this.locale);\n return i.set({\n label: t,\n icon: e,\n tooltip: !0\n }), i.delegate(\"execute\").to(this, n), i;\n }\n }, {\n key: \"_createPreviewButton\",\n value: function _createPreviewButton() {\n var t = new $l(this.locale),\n e = this.bindTemplate,\n n = this.t;\n return t.set({\n withText: !0,\n tooltip: n(\"Open link in new tab\")\n }), t.extendTemplate({\n attributes: {\n \"class\": [\"ck\", \"ck-link-actions__preview\"],\n href: e.to(\"href\", function (t) {\n return t && qh(t);\n }),\n target: \"_blank\",\n rel: \"noopener noreferrer\"\n }\n }), t.bind(\"label\").to(this, \"href\", function (t) {\n return t || n(\"This link has no URL\");\n }), t.bind(\"isEnabled\").to(this, \"href\", function (t) {\n return !!t;\n }), t.template.tag = \"a\", t.template.eventListeners = {}, t;\n }\n }]);\n\n return zm;\n }(yl);\n\n var Bm = /*#__PURE__*/function (_cd48) {\n _inherits(Bm, _cd48);\n\n var _super151 = _createSuper(Bm);\n\n function Bm() {\n _classCallCheck(this, Bm);\n\n return _super151.apply(this, arguments);\n }\n\n _createClass(Bm, [{\n key: \"init\",\n value: function init() {\n var t = this.editor;\n t.editing.view.addObserver(Vm), this.actionsView = this._createActionsView(), this.formView = this._createFormView(), this._balloon = t.plugins.get(Nf), this._createToolbarLinkButton(), this._enableUserBalloonInteractions(), t.conversion[\"for\"](\"editingDowncast\").markerToHighlight({\n model: \"link-ui\",\n view: {\n classes: [\"ck-fake-link-selection\"]\n }\n }), t.conversion[\"for\"](\"editingDowncast\").markerToElement({\n model: \"link-ui\",\n view: {\n name: \"span\",\n classes: [\"ck-fake-link-selection\", \"ck-fake-link-selection_collapsed\"]\n }\n });\n }\n }, {\n key: \"destroy\",\n value: function destroy() {\n _get(_getPrototypeOf(Bm.prototype), \"destroy\", this).call(this), this.formView.destroy();\n }\n }, {\n key: \"_createActionsView\",\n value: function _createActionsView() {\n var _this228 = this;\n\n var t = this.editor,\n e = new zm(t.locale),\n n = t.commands.get(\"link\"),\n i = t.commands.get(\"unlink\");\n return e.bind(\"href\").to(n, \"value\"), e.editButtonView.bind(\"isEnabled\").to(n), e.unlinkButtonView.bind(\"isEnabled\").to(i), this.listenTo(e, \"edit\", function () {\n _this228._addFormView();\n }), this.listenTo(e, \"unlink\", function () {\n t.execute(\"unlink\"), _this228._hideUI();\n }), e.keystrokes.set(\"Esc\", function (t, e) {\n _this228._hideUI(), e();\n }), e.keystrokes.set(\"Ctrl+K\", function (t, e) {\n _this228._addFormView(), e();\n }), e;\n }\n }, {\n key: \"_createFormView\",\n value: function _createFormView() {\n var _this229 = this;\n\n var t = this.editor,\n e = t.commands.get(\"link\"),\n n = t.config.get(\"link.defaultProtocol\"),\n i = new jm(t.locale, e, n);\n return i.urlInputView.fieldView.bind(\"value\").to(e, \"value\"), i.urlInputView.bind(\"isReadOnly\").to(e, \"isEnabled\", function (t) {\n return !t;\n }), i.saveButtonView.bind(\"isEnabled\").to(e), this.listenTo(i, \"submit\", function () {\n var e = i.urlInputView.fieldView.element.value,\n o = Yh(e, n);\n t.execute(\"link\", o, i.getDecoratorSwitchesState()), _this229._closeFormView();\n }), this.listenTo(i, \"cancel\", function () {\n _this229._closeFormView();\n }), i.keystrokes.set(\"Esc\", function (t, e) {\n _this229._closeFormView(), e();\n }), i;\n }\n }, {\n key: \"_createToolbarLinkButton\",\n value: function _createToolbarLinkButton() {\n var _this230 = this;\n\n var t = this.editor,\n e = t.commands.get(\"link\"),\n n = t.t;\n t.keystrokes.set(\"Ctrl+K\", function (t, n) {\n n(), e.isEnabled && _this230._showUI(!0);\n }), t.ui.componentFactory.add(\"link\", function (t) {\n var i = new $l(t);\n return i.isEnabled = !0, i.label = n(\"Link\"), i.icon = '', i.keystroke = \"Ctrl+K\", i.tooltip = !0, i.isToggleable = !0, i.bind(\"isEnabled\").to(e, \"isEnabled\"), i.bind(\"isOn\").to(e, \"value\", function (t) {\n return !!t;\n }), _this230.listenTo(i, \"execute\", function () {\n return _this230._showUI(!0);\n }), i;\n });\n }\n }, {\n key: \"_enableUserBalloonInteractions\",\n value: function _enableUserBalloonInteractions() {\n var _this231 = this;\n\n var t = this.editor.editing.view.document;\n this.listenTo(t, \"click\", function () {\n _this231._getSelectedLinkElement() && _this231._showUI();\n }), this.editor.keystrokes.set(\"Tab\", function (t, e) {\n _this231._areActionsVisible && !_this231.actionsView.focusTracker.isFocused && (_this231.actionsView.focus(), e());\n }, {\n priority: \"high\"\n }), this.editor.keystrokes.set(\"Esc\", function (t, e) {\n _this231._isUIVisible && (_this231._hideUI(), e());\n }), Xl({\n emitter: this.formView,\n activator: function activator() {\n return _this231._isUIInPanel;\n },\n contextElements: [this._balloon.view.element],\n callback: function callback() {\n return _this231._hideUI();\n }\n });\n }\n }, {\n key: \"_addActionsView\",\n value: function _addActionsView() {\n this._areActionsInPanel || this._balloon.add({\n view: this.actionsView,\n position: this._getBalloonPositionData()\n });\n }\n }, {\n key: \"_addFormView\",\n value: function _addFormView() {\n if (this._isFormInPanel) return;\n var t = this.editor.commands.get(\"link\");\n this._balloon.add({\n view: this.formView,\n position: this._getBalloonPositionData()\n }), this._balloon.visibleView === this.formView && this.formView.urlInputView.fieldView.select(), this.formView.urlInputView.fieldView.element.value = t.value || \"\";\n }\n }, {\n key: \"_closeFormView\",\n value: function _closeFormView() {\n var t = this.editor.commands.get(\"link\");\n t.restoreManualDecoratorStates(), void 0 !== t.value ? this._removeFormView() : this._hideUI();\n }\n }, {\n key: \"_removeFormView\",\n value: function _removeFormView() {\n this._isFormInPanel && (this.formView.saveButtonView.focus(), this._balloon.remove(this.formView), this.editor.editing.view.focus(), this._hideFakeVisualSelection());\n }\n }, {\n key: \"_showUI\",\n value: function _showUI() {\n var t = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : !1;\n this._getSelectedLinkElement() ? (this._areActionsVisible ? this._addFormView() : this._addActionsView(), t && this._balloon.showStack(\"main\")) : (this._showFakeVisualSelection(), this._addActionsView(), t && this._balloon.showStack(\"main\"), this._addFormView()), this._startUpdatingUI();\n }\n }, {\n key: \"_hideUI\",\n value: function _hideUI() {\n if (!this._isUIInPanel) return;\n var t = this.editor;\n this.stopListening(t.ui, \"update\"), this.stopListening(this._balloon, \"change:visibleView\"), t.editing.view.focus(), this._removeFormView(), this._balloon.remove(this.actionsView), this._hideFakeVisualSelection();\n }\n }, {\n key: \"_startUpdatingUI\",\n value: function _startUpdatingUI() {\n var _this232 = this;\n\n var t = this.editor,\n e = t.editing.view.document;\n\n var n = this._getSelectedLinkElement(),\n i = r();\n\n var o = function o() {\n var t = _this232._getSelectedLinkElement(),\n e = r();\n\n n && !t || !n && e !== i ? _this232._hideUI() : _this232._isUIVisible && _this232._balloon.updatePosition(_this232._getBalloonPositionData()), n = t, i = e;\n };\n\n function r() {\n return e.selection.focus.getAncestors().reverse().find(function (t) {\n return t.is(\"element\");\n });\n }\n\n this.listenTo(t.ui, \"update\", o), this.listenTo(this._balloon, \"change:visibleView\", o);\n }\n }, {\n key: \"_getBalloonPositionData\",\n value: function _getBalloonPositionData() {\n var t = this.editor.editing.view,\n e = this.editor.model,\n n = t.document;\n var i = null;\n\n if (e.markers.has(\"link-ui\")) {\n var _e254 = Array.from(this.editor.editing.mapper.markerNameToElements(\"link-ui\")),\n _n234 = t.createRange(t.createPositionBefore(_e254[0]), t.createPositionAfter(_e254[_e254.length - 1]));\n\n i = t.domConverter.viewRangeToDom(_n234);\n } else {\n var _e255 = this._getSelectedLinkElement(),\n _o100 = n.selection.getFirstRange();\n\n i = _e255 ? t.domConverter.mapViewToDom(_e255) : t.domConverter.viewRangeToDom(_o100);\n }\n\n return {\n target: i\n };\n }\n }, {\n key: \"_getSelectedLinkElement\",\n value: function _getSelectedLinkElement() {\n var t = this.editor.editing.view,\n e = t.document.selection;\n if (e.isCollapsed) return Fm(e.getFirstPosition());\n {\n var _n235 = e.getFirstRange().getTrimmed(),\n _i188 = Fm(_n235.start),\n _o101 = Fm(_n235.end);\n\n return _i188 && _i188 == _o101 && t.createRangeIn(_i188).getTrimmed().isEqual(_n235) ? _i188 : null;\n }\n }\n }, {\n key: \"_showFakeVisualSelection\",\n value: function _showFakeVisualSelection() {\n var t = this.editor.model;\n t.change(function (e) {\n var n = t.document.selection.getFirstRange();\n if (t.markers.has(\"link-ui\")) e.updateMarker(\"link-ui\", {\n range: n\n });else if (n.start.isAtEnd) {\n var _i189 = function t(e, n, i) {\n var o = [e.start.path[0] + 1, 0],\n r = i.createPositionFromPath(e.start.root, o, \"toNext\"),\n s = i.createRange(r, e.end);\n if (s.start.path[0] > e.end.path[0]) return i.createRange(n);\n if (r.isAtStart && r.isAtEnd) return t(s, n, i);\n return s;\n }(n, t.document.selection.focus, e);\n\n e.addMarker(\"link-ui\", {\n usingOperation: !1,\n affectsData: !1,\n range: _i189\n });\n } else e.addMarker(\"link-ui\", {\n usingOperation: !1,\n affectsData: !1,\n range: n\n });\n });\n }\n }, {\n key: \"_hideFakeVisualSelection\",\n value: function _hideFakeVisualSelection() {\n var t = this.editor.model;\n t.markers.has(\"link-ui\") && t.change(function (t) {\n t.removeMarker(\"link-ui\");\n });\n }\n }, {\n key: \"_isFormInPanel\",\n get: function get() {\n return this._balloon.hasView(this.formView);\n }\n }, {\n key: \"_areActionsInPanel\",\n get: function get() {\n return this._balloon.hasView(this.actionsView);\n }\n }, {\n key: \"_areActionsVisible\",\n get: function get() {\n return this._balloon.visibleView === this.actionsView;\n }\n }, {\n key: \"_isUIInPanel\",\n get: function get() {\n return this._isFormInPanel || this._areActionsInPanel;\n }\n }, {\n key: \"_isUIVisible\",\n get: function get() {\n return this._balloon.visibleView == this.formView || this._areActionsVisible;\n }\n }], [{\n key: \"requires\",\n get: function get() {\n return [Nf];\n }\n }, {\n key: \"pluginName\",\n get: function get() {\n return \"LinkUI\";\n }\n }]);\n\n return Bm;\n }(cd);\n\n function Fm(t) {\n return t.getAncestors().find(function (t) {\n return (e = t).is(\"attributeElement\") && !!e.getCustomProperty(\"link\");\n var e;\n });\n }\n\n function Um(t, e) {\n var n = t.start;\n return {\n text: Array.from(t.getItems()).reduce(function (t, i) {\n return i.is(\"$text\") || i.is(\"$textProxy\") ? t + i.data : (n = e.createPositionAfter(i), \"\");\n }, \"\"),\n range: e.createRange(n, t.end)\n };\n }\n\n var Hm = /*#__PURE__*/function () {\n function Hm(t, e) {\n var _this233 = this;\n\n _classCallCheck(this, Hm);\n\n this.model = t, this.testCallback = e, this.hasMatch = !1, this.set(\"isEnabled\", !0), this.on(\"change:isEnabled\", function () {\n _this233.isEnabled ? _this233._startListening() : (_this233.stopListening(t.document.selection), _this233.stopListening(t.document));\n }), this._startListening();\n }\n\n _createClass(Hm, [{\n key: \"_startListening\",\n value: function _startListening() {\n var _this234 = this;\n\n var t = this.model.document;\n this.listenTo(t.selection, \"change:range\", function (e, _ref143) {\n var n = _ref143.directChange;\n n && (t.selection.isCollapsed ? _this234._evaluateTextBeforeSelection(\"selection\") : _this234.hasMatch && (_this234.fire(\"unmatched\"), _this234.hasMatch = !1));\n }), this.listenTo(t, \"change:data\", function (t, e) {\n \"transparent\" != e.type && _this234._evaluateTextBeforeSelection(\"data\", {\n batch: e\n });\n });\n }\n }, {\n key: \"_evaluateTextBeforeSelection\",\n value: function _evaluateTextBeforeSelection(t) {\n var e = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var n = this.model,\n i = n.document.selection,\n o = n.createRange(n.createPositionAt(i.focus.parent, 0), i.focus),\n _Um = Um(o, n),\n r = _Um.text,\n s = _Um.range,\n a = this.testCallback(r);\n\n if (!a && this.hasMatch && this.fire(\"unmatched\"), this.hasMatch = !!a, a) {\n var _n236 = Object.assign(e, {\n text: r,\n range: s\n });\n\n \"object\" == _typeof(a) && Object.assign(_n236, a), this.fire(\"matched:\" + t, _n236);\n }\n }\n }]);\n\n return Hm;\n }();\n\n xn(Hm, Ui);\n var Wm = new RegExp(\"(^|\\\\s)(((?:(?:(?:https?|ftp):)?\\\\/\\\\/)(?:\\\\S+(?::\\\\S*)?@)?(?:(?![-_])(?:[-\\\\w\\\\u00a1-\\\\uffff]{0,63}[^-_]\\\\.)+(?:[a-z\\\\u00a1-\\\\uffff]{2,}))(?::\\\\d{2,5})?(?:[/?#]\\\\S*)?)|((www.|(\\\\S+@))((?![-_])(?:[-\\\\w\\\\u00a1-\\\\uffff]{0,63}[^-_]\\\\.))+(?:[a-z\\\\u00a1-\\\\uffff]{2,})))$\", \"i\");\n\n var qm = /*#__PURE__*/function (_cd49) {\n _inherits(qm, _cd49);\n\n var _super152 = _createSuper(qm);\n\n function qm() {\n _classCallCheck(this, qm);\n\n return _super152.apply(this, arguments);\n }\n\n _createClass(qm, [{\n key: \"init\",\n value: function init() {\n var _this235 = this;\n\n var t = this.editor.model.document.selection;\n t.on(\"change:range\", function () {\n _this235.isEnabled = !t.anchor.parent.is(\"element\", \"codeBlock\");\n }), this._enableTypingHandling();\n }\n }, {\n key: \"afterInit\",\n value: function afterInit() {\n this._enableEnterHandling(), this._enableShiftEnterHandling();\n }\n }, {\n key: \"_enableTypingHandling\",\n value: function _enableTypingHandling() {\n var _this236 = this;\n\n var t = this.editor,\n e = new Hm(t.model, function (t) {\n if (!function (t) {\n return t.length > 4 && \" \" === t[t.length - 1] && \" \" !== t[t.length - 2];\n }(t)) return;\n var e = $m(t.substr(0, t.length - 1));\n return e ? {\n url: e\n } : void 0;\n }),\n n = t.plugins.get(\"Input\");\n e.on(\"matched:data\", function (e, i) {\n var o = i.batch,\n r = i.range,\n s = i.url;\n if (!n.isInput(o)) return;\n var a = r.end.getShiftedBy(-1),\n c = a.getShiftedBy(-s.length),\n l = t.model.createRange(c, a);\n\n _this236._applyAutoLink(s, l);\n }), e.bind(\"isEnabled\").to(this);\n }\n }, {\n key: \"_enableEnterHandling\",\n value: function _enableEnterHandling() {\n var _this237 = this;\n\n var t = this.editor,\n e = t.model,\n n = t.commands.get(\"enter\");\n n && n.on(\"execute\", function () {\n var t = e.document.selection.getFirstPosition();\n if (!t.parent.previousSibling) return;\n var n = e.createRangeIn(t.parent.previousSibling);\n\n _this237._checkAndApplyAutoLinkOnRange(n);\n });\n }\n }, {\n key: \"_enableShiftEnterHandling\",\n value: function _enableShiftEnterHandling() {\n var _this238 = this;\n\n var t = this.editor,\n e = t.model,\n n = t.commands.get(\"shiftEnter\");\n n && n.on(\"execute\", function () {\n var t = e.document.selection.getFirstPosition(),\n n = e.createRange(e.createPositionAt(t.parent, 0), t.getShiftedBy(-1));\n\n _this238._checkAndApplyAutoLinkOnRange(n);\n });\n }\n }, {\n key: \"_checkAndApplyAutoLinkOnRange\",\n value: function _checkAndApplyAutoLinkOnRange(t) {\n var e = this.editor.model,\n _Um2 = Um(t, e),\n n = _Um2.text,\n i = _Um2.range,\n o = $m(n);\n\n if (o) {\n var _t286 = e.createRange(i.end.getShiftedBy(-o.length), i.end);\n\n this._applyAutoLink(o, _t286);\n }\n }\n }, {\n key: \"_applyAutoLink\",\n value: function _applyAutoLink(t, e) {\n var _this239 = this;\n\n var n = this.editor.model;\n this.isEnabled && function (t, e) {\n return e.schema.checkAttributeInSelection(e.createSelection(t), \"linkHref\");\n }(e, n) && n.enqueueChange(function (n) {\n var i = _this239.editor.config.get(\"link.defaultProtocol\"),\n o = Yh(t, i);\n\n n.setAttribute(\"linkHref\", o, e);\n });\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"AutoLink\";\n }\n }]);\n\n return qm;\n }(cd);\n\n function $m(t) {\n var e = Wm.exec(t);\n return e ? e[2] : null;\n }\n\n var Ym = /*#__PURE__*/function (_gd20) {\n _inherits(Ym, _gd20);\n\n var _super153 = _createSuper(Ym);\n\n function Ym(t, e) {\n var _this240;\n\n _classCallCheck(this, Ym);\n\n _this240 = _super153.call(this, t), _this240.type = e;\n return _this240;\n }\n\n _createClass(Ym, [{\n key: \"refresh\",\n value: function refresh() {\n this.value = this._getValue(), this.isEnabled = this._checkEnabled();\n }\n }, {\n key: \"execute\",\n value: function execute() {\n var _this241 = this;\n\n var t = this.editor.model,\n e = t.document,\n n = Array.from(e.selection.getSelectedBlocks()).filter(function (e) {\n return Km(e, t.schema);\n }),\n i = !0 === this.value;\n t.change(function (t) {\n if (i) {\n var _e256 = n[n.length - 1].nextSibling,\n _i190 = Number.POSITIVE_INFINITY,\n _o102 = [];\n\n for (; _e256 && \"listItem\" == _e256.name && 0 !== _e256.getAttribute(\"listIndent\");) {\n var _t287 = _e256.getAttribute(\"listIndent\");\n\n _t287 < _i190 && (_i190 = _t287);\n\n var _n237 = _t287 - _i190;\n\n _o102.push({\n element: _e256,\n listIndent: _n237\n }), _e256 = _e256.nextSibling;\n }\n\n _o102 = _o102.reverse();\n\n var _iterator364 = _createForOfIteratorHelper(_o102),\n _step364;\n\n try {\n for (_iterator364.s(); !(_step364 = _iterator364.n()).done;) {\n var _e257 = _step364.value;\n t.setAttribute(\"listIndent\", _e257.listIndent, _e257.element);\n }\n } catch (err) {\n _iterator364.e(err);\n } finally {\n _iterator364.f();\n }\n }\n\n if (!i) {\n var _t288 = Number.POSITIVE_INFINITY;\n\n var _iterator365 = _createForOfIteratorHelper(n),\n _step365;\n\n try {\n for (_iterator365.s(); !(_step365 = _iterator365.n()).done;) {\n var _e258 = _step365.value;\n _e258.is(\"element\", \"listItem\") && _e258.getAttribute(\"listIndent\") < _t288 && (_t288 = _e258.getAttribute(\"listIndent\"));\n }\n } catch (err) {\n _iterator365.e(err);\n } finally {\n _iterator365.f();\n }\n\n _t288 = 0 === _t288 ? 1 : _t288, Gm(n, !0, _t288), Gm(n, !1, _t288);\n }\n\n var _iterator366 = _createForOfIteratorHelper(n.reverse()),\n _step366;\n\n try {\n for (_iterator366.s(); !(_step366 = _iterator366.n()).done;) {\n var _e259 = _step366.value;\n i && \"listItem\" == _e259.name ? t.rename(_e259, \"paragraph\") : i || \"listItem\" == _e259.name ? i || \"listItem\" != _e259.name || _e259.getAttribute(\"listType\") == _this241.type || t.setAttribute(\"listType\", _this241.type, _e259) : (t.setAttributes({\n listType: _this241.type,\n listIndent: 0\n }, _e259), t.rename(_e259, \"listItem\"));\n }\n } catch (err) {\n _iterator366.e(err);\n } finally {\n _iterator366.f();\n }\n\n _this241.fire(\"_executeCleanup\", n);\n });\n }\n }, {\n key: \"_getValue\",\n value: function _getValue() {\n var t = vu(this.editor.model.document.selection.getSelectedBlocks());\n return !!t && t.is(\"element\", \"listItem\") && t.getAttribute(\"listType\") == this.type;\n }\n }, {\n key: \"_checkEnabled\",\n value: function _checkEnabled() {\n if (this.value) return !0;\n var t = this.editor.model.document.selection,\n e = this.editor.model.schema,\n n = vu(t.getSelectedBlocks());\n return !!n && Km(n, e);\n }\n }]);\n\n return Ym;\n }(gd);\n\n function Gm(t, e, n) {\n var i = e ? t[0] : t[t.length - 1];\n\n if (i.is(\"element\", \"listItem\")) {\n var _o103 = i[e ? \"previousSibling\" : \"nextSibling\"],\n _r48 = i.getAttribute(\"listIndent\");\n\n for (; _o103 && _o103.is(\"element\", \"listItem\") && _o103.getAttribute(\"listIndent\") >= n;) {\n _r48 > _o103.getAttribute(\"listIndent\") && (_r48 = _o103.getAttribute(\"listIndent\")), _o103.getAttribute(\"listIndent\") == _r48 && t[e ? \"unshift\" : \"push\"](_o103), _o103 = _o103[e ? \"previousSibling\" : \"nextSibling\"];\n }\n }\n }\n\n function Km(t, e) {\n return e.checkChild(t.parent, \"listItem\") && !e.isObject(t);\n }\n\n var Qm = /*#__PURE__*/function (_gd21) {\n _inherits(Qm, _gd21);\n\n var _super154 = _createSuper(Qm);\n\n function Qm(t, e) {\n var _this242;\n\n _classCallCheck(this, Qm);\n\n _this242 = _super154.call(this, t), _this242._indentBy = \"forward\" == e ? 1 : -1;\n return _this242;\n }\n\n _createClass(Qm, [{\n key: \"refresh\",\n value: function refresh() {\n this.isEnabled = this._checkEnabled();\n }\n }, {\n key: \"execute\",\n value: function execute() {\n var _this243 = this;\n\n var t = this.editor.model,\n e = t.document;\n var n = Array.from(e.selection.getSelectedBlocks());\n t.change(function (t) {\n var e = n[n.length - 1];\n var i = e.nextSibling;\n\n for (; i && \"listItem\" == i.name && i.getAttribute(\"listIndent\") > e.getAttribute(\"listIndent\");) {\n n.push(i), i = i.nextSibling;\n }\n\n _this243._indentBy < 0 && (n = n.reverse());\n\n var _iterator367 = _createForOfIteratorHelper(n),\n _step367;\n\n try {\n for (_iterator367.s(); !(_step367 = _iterator367.n()).done;) {\n var _e260 = _step367.value;\n\n var _n238 = _e260.getAttribute(\"listIndent\") + _this243._indentBy;\n\n _n238 < 0 ? t.rename(_e260, \"paragraph\") : t.setAttribute(\"listIndent\", _n238, _e260);\n }\n } catch (err) {\n _iterator367.e(err);\n } finally {\n _iterator367.f();\n }\n\n _this243.fire(\"_executeCleanup\", n);\n });\n }\n }, {\n key: \"_checkEnabled\",\n value: function _checkEnabled() {\n var t = vu(this.editor.model.document.selection.getSelectedBlocks());\n if (!t || !t.is(\"element\", \"listItem\")) return !1;\n\n if (this._indentBy > 0) {\n var _e261 = t.getAttribute(\"listIndent\"),\n _n239 = t.getAttribute(\"listType\");\n\n var _i191 = t.previousSibling;\n\n for (; _i191 && _i191.is(\"element\", \"listItem\") && _i191.getAttribute(\"listIndent\") >= _e261;) {\n if (_i191.getAttribute(\"listIndent\") == _e261) return _i191.getAttribute(\"listType\") == _n239;\n _i191 = _i191.previousSibling;\n }\n\n return !1;\n }\n\n return !0;\n }\n }]);\n\n return Qm;\n }(gd);\n\n function Jm(t, e) {\n var n = e.mapper,\n i = e.writer,\n o = \"numbered\" == t.getAttribute(\"listType\") ? \"ol\" : \"ul\",\n r = function (t) {\n var e = t.createContainerElement(\"li\");\n return e.getFillerOffset = ig, e;\n }(i),\n s = i.createContainerElement(o, null);\n\n return i.insert(i.createPositionAt(s, 0), r), n.bindElements(t, r), r;\n }\n\n function Zm(t, e, n, i) {\n var o = e.parent,\n r = n.mapper,\n s = n.writer;\n var a = r.toViewPosition(i.createPositionBefore(t));\n var c = eg(t.previousSibling, {\n sameIndent: !0,\n smallerIndent: !0,\n listIndent: t.getAttribute(\"listIndent\")\n }),\n l = t.previousSibling;\n\n if (c && c.getAttribute(\"listIndent\") == t.getAttribute(\"listIndent\")) {\n var _t289 = r.toViewElement(c);\n\n a = s.breakContainer(s.createPositionAfter(_t289));\n } else if (l && \"listItem\" == l.name) {\n a = r.toViewPosition(i.createPositionAt(l, \"end\"));\n\n var _t290 = r.findMappedViewAncestor(a),\n _e262 = function (t) {\n var _iterator368 = _createForOfIteratorHelper(t.getChildren()),\n _step368;\n\n try {\n for (_iterator368.s(); !(_step368 = _iterator368.n()).done;) {\n var _e263 = _step368.value;\n if (\"ul\" == _e263.name || \"ol\" == _e263.name) return _e263;\n }\n } catch (err) {\n _iterator368.e(err);\n } finally {\n _iterator368.f();\n }\n\n return null;\n }(_t290);\n\n a = _e262 ? s.createPositionBefore(_e262) : s.createPositionAt(_t290, \"end\");\n } else a = r.toViewPosition(i.createPositionBefore(t));\n\n if (a = tg(a), s.insert(a, o), l && \"listItem\" == l.name) {\n var _t291 = r.toViewElement(l),\n _n240 = s.createRange(s.createPositionAt(_t291, 0), a).getWalker({\n ignoreElementEnd: !0\n });\n\n var _iterator369 = _createForOfIteratorHelper(_n240),\n _step369;\n\n try {\n for (_iterator369.s(); !(_step369 = _iterator369.n()).done;) {\n var _t292 = _step369.value;\n\n if (_t292.item.is(\"element\", \"li\")) {\n var _i192 = s.breakContainer(s.createPositionBefore(_t292.item)),\n _o104 = _t292.item.parent,\n _r49 = s.createPositionAt(e, \"end\");\n\n Xm(s, _r49.nodeBefore, _r49.nodeAfter), s.move(s.createRangeOn(_o104), _r49), _n240.position = _i192;\n }\n }\n } catch (err) {\n _iterator369.e(err);\n } finally {\n _iterator369.f();\n }\n } else {\n var _n241 = o.nextSibling;\n\n if (_n241 && (_n241.is(\"element\", \"ul\") || _n241.is(\"element\", \"ol\"))) {\n var _i193 = null;\n\n var _iterator370 = _createForOfIteratorHelper(_n241.getChildren()),\n _step370;\n\n try {\n for (_iterator370.s(); !(_step370 = _iterator370.n()).done;) {\n var _e264 = _step370.value;\n\n var _n242 = r.toModelElement(_e264);\n\n if (!(_n242 && _n242.getAttribute(\"listIndent\") > t.getAttribute(\"listIndent\"))) break;\n _i193 = _e264;\n }\n } catch (err) {\n _iterator370.e(err);\n } finally {\n _iterator370.f();\n }\n\n _i193 && (s.breakContainer(s.createPositionAfter(_i193)), s.move(s.createRangeOn(_i193.parent), s.createPositionAt(e, \"end\")));\n }\n }\n\n Xm(s, o, o.nextSibling), Xm(s, o.previousSibling, o);\n }\n\n function Xm(t, e, n) {\n return !e || !n || \"ul\" != e.name && \"ol\" != e.name || e.name != n.name || e.getAttribute(\"class\") !== n.getAttribute(\"class\") ? null : t.mergeContainers(t.createPositionAfter(e));\n }\n\n function tg(t) {\n return t.getLastMatchingPosition(function (t) {\n return t.item.is(\"uiElement\");\n });\n }\n\n function eg(t, e) {\n var n = !!e.sameIndent,\n i = !!e.smallerIndent,\n o = e.listIndent;\n var r = t;\n\n for (; r && \"listItem\" == r.name;) {\n var _t293 = r.getAttribute(\"listIndent\");\n\n if (n && o == _t293 || i && o > _t293) return r;\n r = \"forward\" === e.direction ? r.nextSibling : r.previousSibling;\n }\n\n return null;\n }\n\n function ng(t, e, n, i) {\n t.ui.componentFactory.add(e, function (o) {\n var r = t.commands.get(e),\n s = new $l(o);\n return s.set({\n label: n,\n icon: i,\n tooltip: !0,\n isToggleable: !0\n }), s.bind(\"isOn\", \"isEnabled\").to(r, \"value\", \"isEnabled\"), s.on(\"execute\", function () {\n t.execute(e), t.editing.view.focus();\n }), s;\n });\n }\n\n function ig() {\n var t = !this.isEmpty && (\"ul\" == this.getChild(0).name || \"ol\" == this.getChild(0).name);\n return this.isEmpty || t ? 0 : Li.call(this);\n }\n\n function og(t) {\n return function (e, n, i) {\n var o = i.consumable;\n if (!o.test(n.item, \"insert\") || !o.test(n.item, \"attribute:listType\") || !o.test(n.item, \"attribute:listIndent\")) return;\n o.consume(n.item, \"insert\"), o.consume(n.item, \"attribute:listType\"), o.consume(n.item, \"attribute:listIndent\");\n var r = n.item;\n Zm(r, Jm(r, i), i, t);\n };\n }\n\n function rg(t, e, n) {\n if (!n.consumable.consume(e.item, \"attribute:listType\")) return;\n var i = n.mapper.toViewElement(e.item),\n o = n.writer;\n o.breakContainer(o.createPositionBefore(i)), o.breakContainer(o.createPositionAfter(i));\n var r = i.parent,\n s = \"numbered\" == e.attributeNewValue ? \"ol\" : \"ul\";\n o.rename(s, r);\n }\n\n function sg(t, e, n) {\n var i = n.mapper.toViewElement(e.item).parent,\n o = n.writer;\n Xm(o, i, i.nextSibling), Xm(o, i.previousSibling, i);\n\n var _iterator371 = _createForOfIteratorHelper(e.item.getChildren()),\n _step371;\n\n try {\n for (_iterator371.s(); !(_step371 = _iterator371.n()).done;) {\n var _t294 = _step371.value;\n n.consumable.consume(_t294, \"insert\");\n }\n } catch (err) {\n _iterator371.e(err);\n } finally {\n _iterator371.f();\n }\n }\n\n function ag(t, e, n) {\n if (\"listItem\" != e.item.name) {\n var _t295 = n.mapper.toViewPosition(e.range.start);\n\n var _i194 = n.writer,\n _o105 = [];\n\n for (; (\"ul\" == _t295.parent.name || \"ol\" == _t295.parent.name) && (_t295 = _i194.breakContainer(_t295), \"li\" == _t295.parent.name);) {\n var _e265 = _t295,\n _n243 = _i194.createPositionAt(_t295.parent, \"end\");\n\n if (!_e265.isEqual(_n243)) {\n var _t296 = _i194.remove(_i194.createRange(_e265, _n243));\n\n _o105.push(_t296);\n }\n\n _t295 = _i194.createPositionAfter(_t295.parent);\n }\n\n if (_o105.length > 0) {\n for (var _e266 = 0; _e266 < _o105.length; _e266++) {\n var _n244 = _t295.nodeBefore;\n\n if (_t295 = _i194.insert(_t295, _o105[_e266]).end, _e266 > 0) {\n var _e267 = Xm(_i194, _n244, _n244.nextSibling);\n\n _e267 && _e267.parent == _n244 && _t295.offset--;\n }\n }\n\n Xm(_i194, _t295.nodeBefore, _t295.nodeAfter);\n }\n }\n }\n\n function cg(t, e, n) {\n var i = n.mapper.toViewPosition(e.position),\n o = i.nodeBefore,\n r = i.nodeAfter;\n Xm(n.writer, o, r);\n }\n\n function lg(t, e, n) {\n if (n.consumable.consume(e.viewItem, {\n name: !0\n })) {\n var _t297 = n.writer,\n _i195 = _t297.createElement(\"listItem\"),\n _o106 = function (t) {\n var e = 0,\n n = t.parent;\n\n for (; n;) {\n if (n.is(\"element\", \"li\")) e++;else {\n var _t298 = n.previousSibling;\n _t298 && _t298.is(\"element\", \"li\") && e++;\n }\n n = n.parent;\n }\n\n return e;\n }(e.viewItem);\n\n _t297.setAttribute(\"listIndent\", _o106, _i195);\n\n var _r50 = e.viewItem.parent && \"ol\" == e.viewItem.parent.name ? \"numbered\" : \"bulleted\";\n\n if (_t297.setAttribute(\"listType\", _r50, _i195), !n.safeInsert(_i195, e.modelCursor)) return;\n\n var _s35 = function (t, e, n) {\n var i = n.writer,\n o = n.schema;\n var r = i.createPositionAfter(t);\n\n var _iterator372 = _createForOfIteratorHelper(e),\n _step372;\n\n try {\n for (_iterator372.s(); !(_step372 = _iterator372.n()).done;) {\n var _s36 = _step372.value;\n if (\"ul\" == _s36.name || \"ol\" == _s36.name) r = n.convertItem(_s36, r).modelCursor;else {\n var _e268 = n.convertItem(_s36, i.createPositionAt(t, \"end\")),\n _a19 = _e268.modelRange.start.nodeAfter;\n\n _a19 && _a19.is(\"element\") && !o.checkChild(t, _a19.name) && (t = _e268.modelCursor.parent.is(\"element\", \"listItem\") ? _e268.modelCursor.parent : mg(_e268.modelCursor), r = i.createPositionAfter(t));\n }\n }\n } catch (err) {\n _iterator372.e(err);\n } finally {\n _iterator372.f();\n }\n\n return r;\n }(_i195, e.viewItem.getChildren(), n);\n\n e.modelRange = _t297.createRange(e.modelCursor, _s35), n.updateConversionResult(_i195, e);\n }\n }\n\n function dg(t, e, n) {\n if (n.consumable.test(e.viewItem, {\n name: !0\n })) {\n var _t299 = Array.from(e.viewItem.getChildren());\n\n for (var _i196 = 0, _t300 = _t299; _i196 < _t300.length; _i196++) {\n var _e269 = _t300[_i196];\n !(_e269.is(\"element\", \"li\") || pg(_e269)) && _e269._remove();\n }\n }\n }\n\n function ug(t, e, n) {\n if (n.consumable.test(e.viewItem, {\n name: !0\n })) {\n if (0 === e.viewItem.childCount) return;\n\n var _t301 = _toConsumableArray(e.viewItem.getChildren());\n\n var _n245 = !1,\n _i197 = !0;\n\n var _iterator373 = _createForOfIteratorHelper(_t301),\n _step373;\n\n try {\n for (_iterator373.s(); !(_step373 = _iterator373.n()).done;) {\n var _e270 = _step373.value;\n _n245 && !pg(_e270) && _e270._remove(), _e270.is(\"$text\") ? (_i197 && (_e270._data = _e270.data.replace(/^\\s+/, \"\")), _e270.nextSibling && !pg(_e270.nextSibling) || (_e270._data = _e270.data.replace(/\\s+$/, \"\"))) : pg(_e270) && (_n245 = !0), _i197 = !1;\n }\n } catch (err) {\n _iterator373.e(err);\n } finally {\n _iterator373.f();\n }\n }\n }\n\n function hg(t) {\n return function (e, n) {\n if (n.isPhantom) return;\n var i = n.modelPosition.nodeBefore;\n\n if (i && i.is(\"element\", \"listItem\")) {\n var _e271 = n.mapper.toViewElement(i),\n _o107 = _e271.getAncestors().find(pg),\n _r51 = t.createPositionAt(_e271, 0).getWalker();\n\n var _iterator374 = _createForOfIteratorHelper(_r51),\n _step374;\n\n try {\n for (_iterator374.s(); !(_step374 = _iterator374.n()).done;) {\n var _t302 = _step374.value;\n\n if (\"elementStart\" == _t302.type && _t302.item.is(\"element\", \"li\")) {\n n.viewPosition = _t302.previousPosition;\n break;\n }\n\n if (\"elementEnd\" == _t302.type && _t302.item == _o107) {\n n.viewPosition = _t302.nextPosition;\n break;\n }\n }\n } catch (err) {\n _iterator374.e(err);\n } finally {\n _iterator374.f();\n }\n }\n };\n }\n\n function fg(t, _ref144) {\n var _ref145 = _slicedToArray(_ref144, 2),\n e = _ref145[0],\n n = _ref145[1];\n\n var i,\n o = e.is(\"documentFragment\") ? e.getChild(0) : e;\n\n if (i = n ? this.createSelection(n) : this.document.selection, o && o.is(\"element\", \"listItem\")) {\n var _t303 = i.getFirstPosition();\n\n var _e272 = null;\n\n if (_t303.parent.is(\"element\", \"listItem\") ? _e272 = _t303.parent : _t303.nodeBefore && _t303.nodeBefore.is(\"element\", \"listItem\") && (_e272 = _t303.nodeBefore), _e272) {\n var _t304 = _e272.getAttribute(\"listIndent\");\n\n if (_t304 > 0) for (; o && o.is(\"element\", \"listItem\");) {\n o._setAttribute(\"listIndent\", o.getAttribute(\"listIndent\") + _t304), o = o.nextSibling;\n }\n }\n }\n }\n\n function mg(t) {\n var e = new ys({\n startPosition: t\n });\n var n;\n\n do {\n n = e.next();\n } while (!n.value.item.is(\"element\", \"listItem\"));\n\n return n.value.item;\n }\n\n function gg(t, e, n, i, o, r) {\n var s = eg(e.nodeBefore, {\n sameIndent: !0,\n smallerIndent: !0,\n listIndent: t,\n foo: \"b\"\n }),\n a = o.mapper,\n c = o.writer,\n l = s ? s.getAttribute(\"listIndent\") : null;\n var d;\n if (s) {\n if (l == t) {\n var _t305 = a.toViewElement(s).parent;\n d = c.createPositionAfter(_t305);\n } else {\n var _t306 = r.createPositionAt(s, \"end\");\n\n d = a.toViewPosition(_t306);\n }\n } else d = n;\n d = tg(d);\n\n for (var _i198 = 0, _arr2 = _toConsumableArray(i.getChildren()); _i198 < _arr2.length; _i198++) {\n var _t307 = _arr2[_i198];\n pg(_t307) && (d = c.move(c.createRangeOn(_t307), d).end, Xm(c, _t307, _t307.nextSibling), Xm(c, _t307.previousSibling, _t307));\n }\n }\n\n function pg(t) {\n return t.is(\"element\", \"ol\") || t.is(\"element\", \"ul\");\n }\n\n var bg = /*#__PURE__*/function (_cd50) {\n _inherits(bg, _cd50);\n\n var _super155 = _createSuper(bg);\n\n function bg() {\n _classCallCheck(this, bg);\n\n return _super155.apply(this, arguments);\n }\n\n _createClass(bg, [{\n key: \"init\",\n value: function init() {\n var _this244 = this;\n\n var t = this.editor;\n t.model.schema.register(\"listItem\", {\n inheritAllFrom: \"$block\",\n allowAttributes: [\"listType\", \"listIndent\"]\n });\n var e = t.data,\n n = t.editing;\n var i;\n t.model.document.registerPostFixer(function (e) {\n return function (t, e) {\n var n = t.document.differ.getChanges(),\n i = new Map();\n var o = !1;\n\n var _iterator375 = _createForOfIteratorHelper(n),\n _step375;\n\n try {\n for (_iterator375.s(); !(_step375 = _iterator375.n()).done;) {\n var _i200 = _step375.value;\n if (\"insert\" == _i200.type && \"listItem\" == _i200.name) r(_i200.position);else if (\"insert\" == _i200.type && \"listItem\" != _i200.name) {\n if (\"$text\" != _i200.name) {\n var _n246 = _i200.position.nodeAfter;\n _n246.hasAttribute(\"listIndent\") && (e.removeAttribute(\"listIndent\", _n246), o = !0), _n246.hasAttribute(\"listType\") && (e.removeAttribute(\"listType\", _n246), o = !0), _n246.hasAttribute(\"listStyle\") && (e.removeAttribute(\"listStyle\", _n246), o = !0);\n\n var _iterator377 = _createForOfIteratorHelper(Array.from(t.createRangeIn(_n246)).filter(function (t) {\n return t.item.is(\"element\", \"listItem\");\n })),\n _step377;\n\n try {\n for (_iterator377.s(); !(_step377 = _iterator377.n()).done;) {\n var _e275 = _step377.value;\n r(_e275.previousPosition);\n }\n } catch (err) {\n _iterator377.e(err);\n } finally {\n _iterator377.f();\n }\n }\n\n r(_i200.position.getShiftedBy(_i200.length));\n } else \"remove\" == _i200.type && \"listItem\" == _i200.name ? r(_i200.position) : (\"attribute\" == _i200.type && \"listIndent\" == _i200.attributeKey || \"attribute\" == _i200.type && \"listType\" == _i200.attributeKey) && r(_i200.range.start);\n }\n } catch (err) {\n _iterator375.e(err);\n } finally {\n _iterator375.f();\n }\n\n var _iterator376 = _createForOfIteratorHelper(i.values()),\n _step376;\n\n try {\n for (_iterator376.s(); !(_step376 = _iterator376.n()).done;) {\n var _t309 = _step376.value;\n s(_t309), a(_t309);\n }\n } catch (err) {\n _iterator376.e(err);\n } finally {\n _iterator376.f();\n }\n\n return o;\n\n function r(t) {\n var e = t.nodeBefore;\n\n if (e && e.is(\"element\", \"listItem\")) {\n var _t308 = e;\n if (i.has(_t308)) return;\n\n for (var _e273 = _t308.previousSibling; _e273 && _e273.is(\"element\", \"listItem\"); _e273 = _t308.previousSibling) {\n if (_t308 = _e273, i.has(_t308)) return;\n }\n\n i.set(e, _t308);\n } else {\n var _e274 = t.nodeAfter;\n _e274 && _e274.is(\"element\", \"listItem\") && i.set(_e274, _e274);\n }\n }\n\n function s(t) {\n var n = 0,\n i = null;\n\n for (; t && t.is(\"element\", \"listItem\");) {\n var _r52 = t.getAttribute(\"listIndent\");\n\n if (_r52 > n) {\n var _s37 = void 0;\n\n null === i ? (i = _r52 - n, _s37 = n) : (i > _r52 && (i = _r52), _s37 = _r52 - i), e.setAttribute(\"listIndent\", _s37, t), o = !0;\n } else i = null, n = t.getAttribute(\"listIndent\") + 1;\n\n t = t.nextSibling;\n }\n }\n\n function a(t) {\n var n = [],\n i = null;\n\n for (; t && t.is(\"element\", \"listItem\");) {\n var _r53 = t.getAttribute(\"listIndent\");\n\n if (i && i.getAttribute(\"listIndent\") > _r53 && (n = n.slice(0, _r53 + 1)), 0 != _r53) if (n[_r53]) {\n var _i199 = n[_r53];\n t.getAttribute(\"listType\") != _i199 && (e.setAttribute(\"listType\", _i199, t), o = !0);\n } else n[_r53] = t.getAttribute(\"listType\");\n i = t, t = t.nextSibling;\n }\n }\n }(t.model, e);\n }), n.mapper.registerViewToModelLength(\"li\", wg), e.mapper.registerViewToModelLength(\"li\", wg), n.mapper.on(\"modelToViewPosition\", hg(n.view)), n.mapper.on(\"viewToModelPosition\", (i = t.model, function (t, e) {\n var n = e.viewPosition,\n o = n.parent,\n r = e.mapper;\n\n if (\"ul\" == o.name || \"ol\" == o.name) {\n if (n.isAtEnd) {\n var _t310 = r.toModelElement(n.nodeBefore),\n _o108 = r.getModelLength(n.nodeBefore);\n\n e.modelPosition = i.createPositionBefore(_t310).getShiftedBy(_o108);\n } else {\n var _t311 = r.toModelElement(n.nodeAfter);\n\n e.modelPosition = i.createPositionBefore(_t311);\n }\n\n t.stop();\n } else if (\"li\" == o.name && n.nodeBefore && (\"ul\" == n.nodeBefore.name || \"ol\" == n.nodeBefore.name)) {\n var _s38 = r.toModelElement(o);\n\n var _a20 = 1,\n _c12 = n.nodeBefore;\n\n for (; _c12 && pg(_c12);) {\n _a20 += r.getModelLength(_c12), _c12 = _c12.previousSibling;\n }\n\n e.modelPosition = i.createPositionBefore(_s38).getShiftedBy(_a20), t.stop();\n }\n })), e.mapper.on(\"modelToViewPosition\", hg(n.view)), t.conversion[\"for\"](\"editingDowncast\").add(function (e) {\n e.on(\"insert\", ag, {\n priority: \"high\"\n }), e.on(\"insert:listItem\", og(t.model)), e.on(\"attribute:listType:listItem\", rg, {\n priority: \"high\"\n }), e.on(\"attribute:listType:listItem\", sg, {\n priority: \"low\"\n }), e.on(\"attribute:listIndent:listItem\", function (t) {\n return function (e, n, i) {\n if (!i.consumable.consume(n.item, \"attribute:listIndent\")) return;\n var o = i.mapper.toViewElement(n.item),\n r = i.writer;\n r.breakContainer(r.createPositionBefore(o)), r.breakContainer(r.createPositionAfter(o));\n var s = o.parent,\n a = s.previousSibling,\n c = r.createRangeOn(s);\n r.remove(c), a && a.nextSibling && Xm(r, a, a.nextSibling), gg(n.attributeOldValue + 1, n.range.start, c.start, o, i, t), Zm(n.item, o, i, t);\n\n var _iterator378 = _createForOfIteratorHelper(n.item.getChildren()),\n _step378;\n\n try {\n for (_iterator378.s(); !(_step378 = _iterator378.n()).done;) {\n var _t312 = _step378.value;\n i.consumable.consume(_t312, \"insert\");\n }\n } catch (err) {\n _iterator378.e(err);\n } finally {\n _iterator378.f();\n }\n };\n }(t.model)), e.on(\"remove:listItem\", function (t) {\n return function (e, n, i) {\n var o = i.mapper.toViewPosition(n.position).getLastMatchingPosition(function (t) {\n return !t.item.is(\"element\", \"li\");\n }).nodeAfter,\n r = i.writer;\n r.breakContainer(r.createPositionBefore(o)), r.breakContainer(r.createPositionAfter(o));\n var s = o.parent,\n a = s.previousSibling,\n c = r.createRangeOn(s),\n l = r.remove(c);\n a && a.nextSibling && Xm(r, a, a.nextSibling);\n gg(i.mapper.toModelElement(o).getAttribute(\"listIndent\") + 1, n.position, c.start, o, i, t);\n\n var _iterator379 = _createForOfIteratorHelper(r.createRangeIn(l).getItems()),\n _step379;\n\n try {\n for (_iterator379.s(); !(_step379 = _iterator379.n()).done;) {\n var _t313 = _step379.value;\n i.mapper.unbindViewElement(_t313);\n }\n } catch (err) {\n _iterator379.e(err);\n } finally {\n _iterator379.f();\n }\n\n e.stop();\n };\n }(t.model)), e.on(\"remove\", cg, {\n priority: \"low\"\n });\n }), t.conversion[\"for\"](\"dataDowncast\").add(function (e) {\n e.on(\"insert\", ag, {\n priority: \"high\"\n }), e.on(\"insert:listItem\", og(t.model));\n }), t.conversion[\"for\"](\"upcast\").add(function (t) {\n t.on(\"element:ul\", dg, {\n priority: \"high\"\n }), t.on(\"element:ol\", dg, {\n priority: \"high\"\n }), t.on(\"element:li\", ug, {\n priority: \"high\"\n }), t.on(\"element:li\", lg);\n }), t.model.on(\"insertContent\", fg, {\n priority: \"high\"\n }), t.commands.add(\"numberedList\", new Ym(t, \"numbered\")), t.commands.add(\"bulletedList\", new Ym(t, \"bulleted\")), t.commands.add(\"indentList\", new Qm(t, \"forward\")), t.commands.add(\"outdentList\", new Qm(t, \"backward\"));\n var o = n.view.document;\n this.listenTo(o, \"enter\", function (t, e) {\n var n = _this244.editor.model.document,\n i = n.selection.getLastPosition().parent;\n n.selection.isCollapsed && \"listItem\" == i.name && i.isEmpty && (_this244.editor.execute(\"outdentList\"), e.preventDefault(), t.stop());\n }), this.listenTo(o, \"delete\", function (t, e) {\n if (\"backward\" !== e.direction) return;\n var n = _this244.editor.model.document.selection;\n if (!n.isCollapsed) return;\n var i = n.getFirstPosition();\n if (!i.isAtStart) return;\n var o = i.parent;\n if (\"listItem\" !== o.name) return;\n o.previousSibling && \"listItem\" === o.previousSibling.name || (_this244.editor.execute(\"outdentList\"), e.preventDefault(), t.stop());\n }, {\n priority: \"high\"\n });\n\n var r = function r(t) {\n return function (e, n) {\n _this244.editor.commands.get(t).isEnabled && (_this244.editor.execute(t), n());\n };\n };\n\n t.keystrokes.set(\"Tab\", r(\"indentList\")), t.keystrokes.set(\"Shift+Tab\", r(\"outdentList\"));\n }\n }, {\n key: \"afterInit\",\n value: function afterInit() {\n var t = this.editor.commands,\n e = t.get(\"indent\"),\n n = t.get(\"outdent\");\n e && e.registerChildCommand(t.get(\"indentList\")), n && n.registerChildCommand(t.get(\"outdentList\"));\n }\n }], [{\n key: \"pluginName\",\n get: function get() {\n return \"ListEditing\";\n }\n }, {\n key: \"requires\",\n get: function get() {\n return [om];\n }\n }]);\n\n return bg;\n }(cd);\n\n function wg(t) {\n var e = 1;\n\n var _iterator380 = _createForOfIteratorHelper(t.getChildren()),\n _step380;\n\n try {\n for (_iterator380.s(); !(_step380 = _iterator380.n()).done;) {\n var _n247 = _step380.value;\n\n if (\"ul\" == _n247.name || \"ol\" == _n247.name) {\n var _iterator381 = _createForOfIteratorHelper(_n247.getChildren()),\n _step381;\n\n try {\n for (_iterator381.s(); !(_step381 = _iterator381.n()).done;) {\n var _t314 = _step381.value;\n e += wg(_t314);\n }\n } catch (err) {\n _iterator381.e(err);\n } finally {\n _iterator381.f();\n }\n }\n }\n } catch (err) {\n _iterator380.e(err);\n } finally {\n _iterator380.f();\n }\n\n return e;\n }\n\n var kg = /*#__PURE__*/function (_cd51) {\n _inherits(kg, _cd51);\n\n var _super156 = _createSuper(kg);\n\n function kg() {\n _classCallCheck(this, kg);\n\n return _super156.apply(this, arguments);\n }\n\n _createClass(kg, [{\n key: \"init\",\n value: function init() {\n var t = this.editor.t;\n ng(this.editor, \"numberedList\", t(\"Numbered List\"), ''), ng(this.editor, \"bulletedList\", t(\"Bulleted List\"), '');\n }\n }]);\n\n return kg;\n }(cd);\n\n function _g(t, e) {\n return function (t) {\n t.on(\"attribute:url:media\", n);\n };\n\n function n(n, i, o) {\n if (!o.consumable.consume(i.item, n.name)) return;\n\n var r = i.attributeNewValue,\n s = o.writer,\n a = o.mapper.toViewElement(i.item),\n c = _toConsumableArray(a.getChildren()).find(function (t) {\n return t.getCustomProperty(\"media-content\");\n });\n\n s.remove(c);\n var l = t.getMediaViewElement(s, r, e);\n s.insert(s.createPositionAt(a, 0), l);\n }\n }\n\n function vg(t, e, n, i) {\n var o = t.createContainerElement(\"figure\", {\n \"class\": \"media\"\n });\n return t.insert(t.createPositionAt(o, 0), e.getMediaViewElement(t, n, i)), o;\n }\n\n function yg(t) {\n var e = t.getSelectedElement();\n return e && e.is(\"element\", \"media\") ? e : null;\n }\n\n function xg(t, e, n) {\n t.change(function (i) {\n var o = i.createElement(\"media\", {\n url: e\n });\n t.insertContent(o, n), i.setSelection(o, \"on\");\n });\n }\n\n var Ag = /*#__PURE__*/function (_gd22) {\n _inherits(Ag, _gd22);\n\n var _super157 = _createSuper(Ag);\n\n function Ag() {\n _classCallCheck(this, Ag);\n\n return _super157.apply(this, arguments);\n }\n\n _createClass(Ag, [{\n key: \"refresh\",\n value: function refresh() {\n var t = this.editor.model,\n e = t.document.selection,\n n = t.schema,\n i = nh(e, t),\n o = yg(e);\n var r = i.parent;\n r.isEmpty && !t.schema.isLimit(r) && (r = r.parent), this.value = o ? o.getAttribute(\"url\") : null, this.isEnabled = n.checkChild(r, \"media\");\n }\n }, {\n key: \"execute\",\n value: function execute(t) {\n var e = this.editor.model,\n n = e.document.selection,\n i = yg(n);\n if (i) e.change(function (e) {\n e.setAttribute(\"url\", t, i);\n });else {\n var _i201 = nh(n, e);\n\n xg(e, t, _i201);\n }\n }\n }]);\n\n return Ag;\n }(gd);\n\n var Cg = /*#__PURE__*/function () {\n function Cg(t, e) {\n _classCallCheck(this, Cg);\n\n var n = e.providers,\n i = e.extraProviders || [],\n o = new Set(e.removeProviders),\n r = n.concat(i).filter(function (t) {\n var e = t.name;\n return e ? !o.has(e) : (Object(hn.c)(\"media-embed-no-provider-name\", {\n provider: t\n }), !1);\n });\n this.locale = t, this.providerDefinitions = r;\n }\n\n _createClass(Cg, [{\n key: \"hasMedia\",\n value: function hasMedia(t) {\n return !!this._getMedia(t);\n }\n }, {\n key: \"getMediaViewElement\",\n value: function getMediaViewElement(t, e, n) {\n return this._getMedia(e).getViewElement(t, n);\n }\n }, {\n key: \"_getMedia\",\n value: function _getMedia(t) {\n if (!t) return new Tg(this.locale);\n t = t.trim();\n\n var _iterator382 = _createForOfIteratorHelper(this.providerDefinitions),\n _step382;\n\n try {\n for (_iterator382.s(); !(_step382 = _iterator382.n()).done;) {\n var _e276 = _step382.value;\n var _n248 = _e276.html;\n var _i202 = _e276.url;\n Array.isArray(_i202) || (_i202 = [_i202]);\n\n var _iterator383 = _createForOfIteratorHelper(_i202),\n _step383;\n\n try {\n for (_iterator383.s(); !(_step383 = _iterator383.n()).done;) {\n var _e277 = _step383.value;\n\n var _i203 = this._getUrlMatches(t, _e277);\n\n if (_i203) return new Tg(this.locale, t, _i203, _n248);\n }\n } catch (err) {\n _iterator383.e(err);\n } finally {\n _iterator383.f();\n }\n }\n } catch (err) {\n _iterator382.e(err);\n } finally {\n _iterator382.f();\n }\n\n return null;\n }\n }, {\n key: \"_getUrlMatches\",\n value: function _getUrlMatches(t, e) {\n var n = t.match(e);\n if (n) return n;\n var i = t.replace(/^https?:\\/\\//, \"\");\n return n = i.match(e), n || (i = i.replace(/^www\\./, \"\"), n = i.match(e), n || null);\n }\n }]);\n\n return Cg;\n }();\n\n var Tg = /*#__PURE__*/function () {\n function Tg(t, e, n, i) {\n _classCallCheck(this, Tg);\n\n this.url = this._getValidUrl(e), this._t = t.t, this._match = n, this._previewRenderer = i;\n }\n\n _createClass(Tg, [{\n key: \"getViewElement\",\n value: function getViewElement(t, e) {\n var n = {};\n var i;\n\n if (e.renderForEditingView || e.renderMediaPreview && this.url && this._previewRenderer) {\n this.url && (n[\"data-oembed-url\"] = this.url), e.renderForEditingView && (n[\"class\"] = \"ck-media__wrapper\");\n\n var _o109 = this._getPreviewHtml(e);\n\n i = t.createRawElement(\"div\", n, function (t) {\n t.innerHTML = _o109;\n });\n } else this.url && (n.url = this.url), i = t.createEmptyElement(\"oembed\", n);\n\n return t.setCustomProperty(\"media-content\", !0, i), i;\n }\n }, {\n key: \"_getPreviewHtml\",\n value: function _getPreviewHtml(t) {\n return this._previewRenderer ? this._previewRenderer(this._match) : this.url && t.renderForEditingView ? this._getPlaceholderHtml() : \"\";\n }\n }, {\n key: \"_getPlaceholderHtml\",\n value: function _getPlaceholderHtml() {\n var t = new ql(),\n e = new Wl();\n t.text = this._t(\"Open media in new tab\"), e.content = '', e.viewBox = \"0 0 64 42\";\n return new il({\n tag: \"div\",\n attributes: {\n \"class\": \"ck ck-reset_all ck-media__placeholder\"\n },\n children: [{\n tag: \"div\",\n attributes: {\n \"class\": \"ck-media__placeholder__icon\"\n },\n children: [e]\n }, {\n tag: \"a\",\n attributes: {\n \"class\": \"ck-media__placeholder__url\",\n target: \"_blank\",\n rel: \"noopener noreferrer\",\n href: this.url\n },\n children: [{\n tag: \"span\",\n attributes: {\n \"class\": \"ck-media__placeholder__url__text\"\n },\n children: [this.url]\n }, t]\n }]\n }).render().outerHTML;\n }\n }, {\n key: \"_getValidUrl\",\n value: function _getValidUrl(t) {\n return t ? t.match(/^https?/) ? t : \"https://\" + t : null;\n }\n }]);\n\n return Tg;\n }();\n\n n(82);\n\n var Pg = /*#__PURE__*/function (_cd52) {\n _inherits(Pg, _cd52);\n\n var _super158 = _createSuper(Pg);\n\n _createClass(Pg, null, [{\n key: \"pluginName\",\n get: function get() {\n return \"MediaEmbedEditing\";\n }\n }]);\n\n function Pg(t) {\n var _this245;\n\n _classCallCheck(this, Pg);\n\n _this245 = _super158.call(this, t), t.config.define(\"mediaEmbed\", {\n providers: [{\n name: \"dailymotion\",\n url: /^dailymotion\\.com\\/video\\/(\\w+)/,\n html: function html(t) {\n return \"\");\n }\n }, {\n name: \"spotify\",\n url: [/^open\\.spotify\\.com\\/(artist\\/\\w+)/, /^open\\.spotify\\.com\\/(album\\/\\w+)/, /^open\\.spotify\\.com\\/(track\\/\\w+)/],\n html: function html(t) {\n return \"\");\n }\n }, {\n name: \"youtube\",\n url: [/^(?:m\\.)?youtube\\.com\\/watch\\?v=([\\w-]+)/, /^(?:m\\.)?youtube\\.com\\/v\\/([\\w-]+)/, /^youtube\\.com\\/embed\\/([\\w-]+)/, /^youtu\\.be\\/([\\w-]+)/],\n html: function html(t) {\n return \"\");\n }\n }, {\n name: \"vimeo\",\n url: [/^vimeo\\.com\\/(\\d+)/, /^vimeo\\.com\\/[^/]+\\/[^/]+\\/video\\/(\\d+)/, /^vimeo\\.com\\/album\\/[^/]+\\/video\\/(\\d+)/, /^vimeo\\.com\\/channels\\/[^/]+\\/(\\d+)/, /^vimeo\\.com\\/groups\\/[^/]+\\/videos\\/(\\d+)/, /^vimeo\\.com\\/ondemand\\/[^/]+\\/(\\d+)/, /^player\\.vimeo\\.com\\/video\\/(\\d+)/],\n html: function html(t) {\n return \"\");\n }\n }, {\n name: \"instagram\",\n url: /^instagram\\.com\\/p\\/(\\w+)/\n }, {\n name: \"twitter\",\n url: /^twitter\\.com/\n }, {\n name: \"googleMaps\",\n url: /^google\\.com\\/maps/\n }, {\n name: \"flickr\",\n url: /^flickr\\.com/\n }, {\n name: \"facebook\",\n url: /^facebook\\.com/\n }]\n }), _this245.registry = new Cg(t.locale, t.config.get(\"mediaEmbed\"));\n return _this245;\n }\n\n _createClass(Pg, [{\n key: \"init\",\n value: function init() {\n var t = this.editor,\n e = t.model.schema,\n n = t.t,\n i = t.conversion,\n o = t.config.get(\"mediaEmbed.previewsInData\"),\n r = this.registry;\n t.commands.add(\"mediaEmbed\", new Ag(t)), e.register(\"media\", {\n isObject: !0,\n isBlock: !0,\n allowWhere: \"$block\",\n allowAttributes: [\"url\"]\n }), i[\"for\"](\"dataDowncast\").elementToElement({\n model: \"media\",\n view: function view(t, _ref146) {\n var e = _ref146.writer;\n var n = t.getAttribute(\"url\");\n return vg(e, r, n, {\n renderMediaPreview: n && o\n });\n }\n }), i[\"for\"](\"dataDowncast\").add(_g(r, {\n renderMediaPreview: o\n })), i[\"for\"](\"editingDowncast\").elementToElement({\n model: \"media\",\n view: function view(t, _ref147) {\n var e = _ref147.writer;\n var i = t.getAttribute(\"url\");\n return function (t, e, n) {\n return e.setCustomProperty(\"media\", !0, t), Zu(t, e, {\n label: n\n });\n }(vg(e, r, i, {\n renderForEditingView: !0\n }), e, n(\"media widget\"));\n }\n }), i[\"for\"](\"editingDowncast\").add(_g(r, {\n renderForEditingView: !0\n })), i[\"for\"](\"upcast\").elementToElement({\n view: {\n name: \"oembed\",\n attributes: {\n url: !0\n }\n },\n model: function model(t, _ref148) {\n var e = _ref148.writer;\n var n = t.getAttribute(\"url\");\n if (r.hasMedia(n)) return e.createElement(\"media\", {\n url: n\n });\n }\n }).elementToElement({\n view: {\n name: \"div\",\n attributes: {\n \"data-oembed-url\": !0\n }\n },\n model: function model(t, _ref149) {\n var e = _ref149.writer;\n var n = t.getAttribute(\"data-oembed-url\");\n if (r.hasMedia(n)) return e.createElement(\"media\", {\n url: n\n });\n }\n });\n }\n }]);\n\n return Pg;\n }(cd);\n\n var Sg = /^(?:http(s)?:\\/\\/)?[\\w.-]+(?:\\.[\\w.-]+)+[\\w\\-._~:/?#[\\]@!$&'()*+,;=%]+$/;\n\n var Eg = /*#__PURE__*/function (_cd53) {\n _inherits(Eg, _cd53);\n\n var _super159 = _createSuper(Eg);\n\n _createClass(Eg, null, [{\n key: \"requires\",\n get: function get() {\n return [md, hu];\n }\n }, {\n key: \"pluginName\",\n get: function get() {\n return \"AutoMediaEmbed\";\n }\n }]);\n\n function Eg(t) {\n var _this246;\n\n _classCallCheck(this, Eg);\n\n _this246 = _super159.call(this, t), _this246._timeoutId = null, _this246._positionToInsert = null;\n return _this246;\n }\n\n _createClass(Eg, [{\n key: \"init\",\n value: function init() {\n var _this247 = this;\n\n var t = this.editor,\n e = t.model.document;\n this.listenTo(t.plugins.get(md), \"inputTransformation\", function () {\n var t = e.selection.getFirstRange(),\n n = _c.fromPosition(t.start);\n\n n.stickiness = \"toPrevious\";\n\n var i = _c.fromPosition(t.end);\n\n i.stickiness = \"toNext\", e.once(\"change:data\", function () {\n _this247._embedMediaBetweenPositions(n, i), n.detach(), i.detach();\n }, {\n priority: \"high\"\n });\n }), t.commands.get(\"undo\").on(\"execute\", function () {\n _this247._timeoutId && (or.window.clearTimeout(_this247._timeoutId), _this247._positionToInsert.detach(), _this247._timeoutId = null, _this247._positionToInsert = null);\n }, {\n priority: \"high\"\n });\n }\n }, {\n key: \"_embedMediaBetweenPositions\",\n value: function _embedMediaBetweenPositions(t, e) {\n var _this248 = this;\n\n var n = this.editor,\n i = n.plugins.get(Pg).registry,\n o = new Fs(t, e),\n r = o.getWalker({\n ignoreElementEnd: !0\n });\n var s = \"\";\n\n var _iterator384 = _createForOfIteratorHelper(r),\n _step384;\n\n try {\n for (_iterator384.s(); !(_step384 = _iterator384.n()).done;) {\n var _t315 = _step384.value;\n _t315.item.is(\"$textProxy\") && (s += _t315.item.data);\n }\n } catch (err) {\n _iterator384.e(err);\n } finally {\n _iterator384.f();\n }\n\n if (s = s.trim(), !s.match(Sg)) return void o.detach();\n if (!i.hasMedia(s)) return void o.detach();\n n.commands.get(\"mediaEmbed\").isEnabled ? (this._positionToInsert = _c.fromPosition(t), this._timeoutId = or.window.setTimeout(function () {\n n.model.change(function (t) {\n var e;\n _this248._timeoutId = null, t.remove(o), o.detach(), \"$graveyard\" !== _this248._positionToInsert.root.rootName && (e = _this248._positionToInsert), xg(n.model, s, e), _this248._positionToInsert.detach(), _this248._positionToInsert = null;\n });\n }, 100)) : o.detach();\n }\n }]);\n\n return Eg;\n }(cd);\n\n n(84);\n\n var Mg = /*#__PURE__*/function (_yl26) {\n _inherits(Mg, _yl26);\n\n var _super160 = _createSuper(Mg);\n\n function Mg(t, e) {\n var _this249;\n\n _classCallCheck(this, Mg);\n\n _this249 = _super160.call(this, e);\n var n = e.t;\n _this249.focusTracker = new Yc(), _this249.keystrokes = new jc(), _this249.set(\"mediaURLInputValue\", \"\"), _this249.urlInputView = _this249._createUrlInput(), _this249.saveButtonView = _this249._createButton(n(\"Save\"), Sf, \"ck-button-save\"), _this249.saveButtonView.type = \"submit\", _this249.saveButtonView.bind(\"isEnabled\").to(_assertThisInitialized(_this249), \"mediaURLInputValue\", function (t) {\n return !!t;\n }), _this249.cancelButtonView = _this249._createButton(n(\"Cancel\"), Ef, \"ck-button-cancel\", \"cancel\"), _this249._focusables = new nl(), _this249._focusCycler = new Ol({\n focusables: _this249._focusables,\n focusTracker: _this249.focusTracker,\n keystrokeHandler: _this249.keystrokes,\n actions: {\n focusPrevious: \"shift + tab\",\n focusNext: \"tab\"\n }\n }), _this249._validators = t, _this249.setTemplate({\n tag: \"form\",\n attributes: {\n \"class\": [\"ck\", \"ck-media-form\", \"ck-responsive-form\"],\n tabindex: \"-1\"\n },\n children: [_this249.urlInputView, _this249.saveButtonView, _this249.cancelButtonView]\n });\n return _this249;\n }\n\n _createClass(Mg, [{\n key: \"render\",\n value: function render() {\n var _this250 = this;\n\n _get(_getPrototypeOf(Mg.prototype), \"render\", this).call(this), Pf({\n view: this\n });\n [this.urlInputView, this.saveButtonView, this.cancelButtonView].forEach(function (t) {\n _this250._focusables.add(t), _this250.focusTracker.add(t.element);\n }), this.keystrokes.listenTo(this.element);\n\n var t = function t(_t316) {\n return _t316.stopPropagation();\n };\n\n this.keystrokes.set(\"arrowright\", t), this.keystrokes.set(\"arrowleft\", t), this.keystrokes.set(\"arrowup\", t), this.keystrokes.set(\"arrowdown\", t), this.listenTo(this.urlInputView.element, \"selectstart\", function (t, e) {\n e.stopPropagation();\n }, {\n priority: \"high\"\n });\n }\n }, {\n key: \"focus\",\n value: function focus() {\n this._focusCycler.focusFirst();\n }\n }, {\n key: \"isValid\",\n value: function isValid() {\n this.resetFormStatus();\n\n var _iterator385 = _createForOfIteratorHelper(this._validators),\n _step385;\n\n try {\n for (_iterator385.s(); !(_step385 = _iterator385.n()).done;) {\n var _t317 = _step385.value;\n\n var _e278 = _t317(this);\n\n if (_e278) return this.urlInputView.errorText = _e278, !1;\n }\n } catch (err) {\n _iterator385.e(err);\n } finally {\n _iterator385.f();\n }\n\n return !0;\n }\n }, {\n key: \"resetFormStatus\",\n value: function resetFormStatus() {\n this.urlInputView.errorText = null, this.urlInputView.infoText = this._urlInputViewInfoDefault;\n }\n }, {\n key: \"_createUrlInput\",\n value: function _createUrlInput() {\n var _this251 = this;\n\n var t = this.locale.t,\n e = new Af(this.locale, Tf),\n n = e.fieldView;\n return this._urlInputViewInfoDefault = t(\"Paste the media URL in the input.\"), this._urlInputViewInfoTip = t(\"Tip: Paste the URL into the content to embed faster.\"), e.label = t(\"Media URL\"), e.infoText = this._urlInputViewInfoDefault, n.placeholder = \"https://example.com\", n.on(\"input\", function () {\n e.infoText = n.element.value ? _this251._urlInputViewInfoTip : _this251._urlInputViewInfoDefault, _this251.mediaURLInputValue = n.element.value.trim();\n }), e;\n }\n }, {\n key: \"_createButton\",\n value: function _createButton(t, e, n, i) {\n var o = new $l(this.locale);\n return o.set({\n label: t,\n icon: e,\n tooltip: !0\n }), o.extendTemplate({\n attributes: {\n \"class\": n\n }\n }), i && o.delegate(\"execute\").to(this, i), o;\n }\n }, {\n key: \"url\",\n get: function get() {\n return this.urlInputView.fieldView.element.value.trim();\n },\n set: function set(t) {\n this.urlInputView.fieldView.element.value = t.trim();\n }\n }]);\n\n return Mg;\n }(yl);\n\n var Ig = /*#__PURE__*/function (_cd54) {\n _inherits(Ig, _cd54);\n\n var _super161 = _createSuper(Ig);\n\n function Ig() {\n _classCallCheck(this, Ig);\n\n return _super161.apply(this, arguments);\n }\n\n _createClass(Ig, [{\n key: \"init\",\n value: function init() {\n var _this252 = this;\n\n var t = this.editor,\n e = t.commands.get(\"mediaEmbed\"),\n n = t.plugins.get(Pg).registry;\n t.ui.componentFactory.add(\"mediaEmbed\", function (i) {\n var o = td(i),\n r = new Mg(function (t, e) {\n return [function (e) {\n if (!e.url.length) return t(\"The URL must not be empty.\");\n }, function (n) {\n if (!e.hasMedia(n.url)) return t(\"This media URL is not supported.\");\n }];\n }(t.t, n), t.locale);\n return _this252._setUpDropdown(o, r, e, t), _this252._setUpForm(o, r, e), o;\n });\n }\n }, {\n key: \"_setUpDropdown\",\n value: function _setUpDropdown(t, e, n) {\n var i = this.editor,\n o = i.t,\n r = t.buttonView;\n\n function s() {\n i.editing.view.focus(), t.isOpen = !1;\n }\n\n t.bind(\"isEnabled\").to(n), t.panelView.children.add(e), r.set({\n label: o(\"Insert media\"),\n icon: '',\n tooltip: !0\n }), r.on(\"open\", function () {\n e.url = n.value || \"\", e.urlInputView.fieldView.select(), e.focus();\n }, {\n priority: \"low\"\n }), t.on(\"submit\", function () {\n e.isValid() && (i.execute(\"mediaEmbed\", e.url), s());\n }), t.on(\"change:isOpen\", function () {\n return e.resetFormStatus();\n }), t.on(\"cancel\", function () {\n return s();\n });\n }\n }, {\n key: \"_setUpForm\",\n value: function _setUpForm(t, e, n) {\n e.delegate(\"submit\", \"cancel\").to(t), e.urlInputView.bind(\"value\").to(n, \"value\"), e.urlInputView.bind(\"isReadOnly\").to(n, \"isEnabled\", function (t) {\n return !t;\n });\n }\n }], [{\n key: \"requires\",\n get: function get() {\n return [Pg];\n }\n }, {\n key: \"pluginName\",\n get: function get() {\n return \"MediaEmbedUI\";\n }\n }]);\n\n return Ig;\n }(cd);\n\n n(86);\n\n function Ng(t, e) {\n if (!t.childCount) return;\n\n var n = new Kf(t.document),\n i = function (t, e) {\n var n = e.createRangeIn(t),\n i = new Vn({\n name: /^p|h\\d+$/,\n styles: {\n \"mso-list\": /.*/\n }\n }),\n o = [];\n\n var _iterator386 = _createForOfIteratorHelper(n),\n _step386;\n\n try {\n for (_iterator386.s(); !(_step386 = _iterator386.n()).done;) {\n var _t318 = _step386.value;\n\n if (\"elementStart\" === _t318.type && i.match(_t318.item)) {\n var _e279 = Rg(_t318.item);\n\n o.push({\n element: _t318.item,\n id: _e279.id,\n order: _e279.order,\n indent: _e279.indent\n });\n }\n }\n } catch (err) {\n _iterator386.e(err);\n } finally {\n _iterator386.f();\n }\n\n return o;\n }(t, n);\n\n if (!i.length) return;\n var o = null,\n r = 1;\n i.forEach(function (t, s) {\n var a = function (t, e) {\n if (!t) return !0;\n if (t.id !== e.id) return !0;\n var n = e.element.previousSibling;\n if (!n) return !0;\n return i = n, !(i.is(\"element\", \"ol\") || i.is(\"element\", \"ul\"));\n var i;\n }(i[s - 1], t),\n c = a ? null : i[s - 1],\n l = (u = t, (d = c) ? u.indent - d.indent : u.indent - 1);\n\n var d, u;\n\n if (a && (o = null, r = 1), !o || 0 !== l) {\n var _i204 = function (t, e) {\n var n = new RegExp(\"@list l\".concat(t.id, \":level\").concat(t.indent, \"\\\\s*({[^}]*)\"), \"gi\"),\n i = /mso-level-number-format:([^;]*);/gi,\n o = n.exec(e);\n var r = \"decimal\";\n\n if (o && o[1]) {\n var _t319 = i.exec(o[1]);\n\n _t319 && _t319[1] && (r = _t319[1].trim());\n }\n\n return {\n type: \"bullet\" !== r && \"image\" !== r ? \"ol\" : \"ul\",\n style: r\n };\n }(t, e);\n\n if (o) {\n if (t.indent > r) {\n var _t320 = o.getChild(o.childCount - 1),\n _e280 = _t320.getChild(_t320.childCount - 1);\n\n o = Og(_i204, _e280, n), r += 1;\n } else if (t.indent < r) {\n var _e281 = r - t.indent;\n\n o = function (t, e) {\n var n = t.getAncestors({\n parentFirst: !0\n });\n var i = null,\n o = 0;\n\n var _iterator387 = _createForOfIteratorHelper(n),\n _step387;\n\n try {\n for (_iterator387.s(); !(_step387 = _iterator387.n()).done;) {\n var _t321 = _step387.value;\n\n if (\"ul\" !== _t321.name && \"ol\" !== _t321.name || o++, o === e) {\n i = _t321;\n break;\n }\n }\n } catch (err) {\n _iterator387.e(err);\n } finally {\n _iterator387.f();\n }\n\n return i;\n }(o, _e281), r = parseInt(t.indent);\n }\n } else o = Og(_i204, t.element, n);\n\n t.indent <= r && (o.is(\"element\", _i204.type) || (o = n.rename(_i204.type, o)));\n }\n\n var h = function (t, e) {\n return function (t, e) {\n var n = new Vn({\n name: \"span\",\n styles: {\n \"mso-list\": \"Ignore\"\n }\n }),\n i = e.createRangeIn(t);\n\n var _iterator388 = _createForOfIteratorHelper(i),\n _step388;\n\n try {\n for (_iterator388.s(); !(_step388 = _iterator388.n()).done;) {\n var _t322 = _step388.value;\n \"elementStart\" === _t322.type && n.match(_t322.item) && e.remove(_t322.item);\n }\n } catch (err) {\n _iterator388.e(err);\n } finally {\n _iterator388.f();\n }\n }(t, e), e.rename(\"li\", t);\n }(t.element, n);\n\n n.appendChild(h, o);\n });\n }\n\n function Og(t, e, n) {\n var i = e.parent,\n o = n.createElement(t.type),\n r = i.getChildIndex(e) + 1;\n return n.insertChild(r, o, i), o;\n }\n\n function Rg(t) {\n var e = {},\n n = t.getStyle(\"mso-list\");\n\n if (n) {\n var _t323 = n.match(/(^|\\s+)l(\\d+)/i),\n _i205 = n.match(/\\s*lfo(\\d+)/i),\n _o110 = n.match(/\\s*level(\\d+)/i);\n\n _t323 && _i205 && _o110 && (e.id = _t323[2], e.order = _i205[1], e.indent = _o110[1]);\n }\n\n return e;\n }\n\n var Dg = /id=(\"|')docs-internal-guid-[-0-9a-f]+(\"|')/i;\n\n var Lg = /*#__PURE__*/function () {\n function Lg(t) {\n _classCallCheck(this, Lg);\n\n this.document = t;\n }\n\n _createClass(Lg, [{\n key: \"isActive\",\n value: function isActive(t) {\n return Dg.test(t);\n }\n }, {\n key: \"execute\",\n value: function execute(t) {\n var e = new Kf(this.document);\n !function (t, e) {\n var _iterator389 = _createForOfIteratorHelper(t.getChildren()),\n _step389;\n\n try {\n for (_iterator389.s(); !(_step389 = _iterator389.n()).done;) {\n var _n249 = _step389.value;\n\n if (_n249.is(\"element\", \"b\") && \"normal\" === _n249.getStyle(\"font-weight\")) {\n var _i206 = t.getChildIndex(_n249);\n\n e.remove(_n249), e.insertChild(_i206, _n249.getChildren(), t);\n }\n }\n } catch (err) {\n _iterator389.e(err);\n } finally {\n _iterator389.f();\n }\n }(t.content, e), function (t, e) {\n var _iterator390 = _createForOfIteratorHelper(e.createRangeIn(t)),\n _step390;\n\n try {\n for (_iterator390.s(); !(_step390 = _iterator390.n()).done;) {\n var _n250 = _step390.value;\n var _t324 = _n250.item;\n\n if (_t324.is(\"element\", \"li\")) {\n var _n251 = _t324.getChild(0);\n\n _n251 && _n251.is(\"element\", \"p\") && e.unwrapElement(_n251);\n }\n }\n } catch (err) {\n _iterator390.e(err);\n } finally {\n _iterator390.f();\n }\n }(t.content, e);\n }\n }]);\n\n return Lg;\n }();\n\n function Vg(t) {\n return t.replace(/(\\s+)<\\/span>/g, function (t, e) {\n return 1 === e.length ? \" \" : Array(e.length + 1).join(\" \").substr(0, e.length);\n });\n }\n\n function jg(t, e) {\n var n = new DOMParser(),\n i = function (t) {\n return Vg(Vg(t)).replace(/([\\s]*?)[\\r\\n]+(\\s*<\\/span>)/g, \"$1$2\").replace(/<\\/span>/g, \"\").replace(/ <\\//g, \" \").replace(/