attributes.\n\t\t\t\t// Note that a lower-level, event-based API is used here.\n\t\t\t\teditor.conversion.for( 'downcast' ).add( dispatcher => {\n\t\t\t\t\t\tdispatcher.on( 'attribute', ( evt, data, conversionApi ) => {\n\t\t\t\t\t\t\t\t// Convert
attributes only.\n\t\t\t\t\t\t\t\tif ( data.item.name != 'div' ) {\n\t\t\t\t\t\t\t\t\t\treturn;\n\t\t\t\t\t\t\t\t}\n\n\t\t\t\t\t\t\t\tconst viewWriter = conversionApi.writer;\n\t\t\t\t\t\t\t\tconst viewDiv = conversionApi.mapper.toViewElement( data.item );\n\n\t\t\t\t\t\t\t\t// In the model-to-view conversion we convert changes.\n\t\t\t\t\t\t\t\t// An attribute can be added or removed or changed.\n\t\t\t\t\t\t\t\t// The below code handles all 3 cases.\n\t\t\t\t\t\t\t\tif ( data.attributeNewValue ) {\n\t\t\t\t\t\t\t\t\t\tviewWriter.setAttribute( data.attributeKey, data.attributeNewValue, viewDiv );\n\t\t\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\t\t\t\tviewWriter.removeAttribute( data.attributeKey, viewDiv );\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t} );\n\t\t\t\t} );\n\t\t}\n\n\n\n\n\tfunction ConvertAnchorAttributes( editor ) {\n\n\n\n\t\t\t// Allow
elements in the model to have all attributes.\n\t\t\teditor.model.schema.addAttributeCheck( context => {\n\t\t\t\t\tif ( context.endsWith( 'a' ) ) {\n\t\t\t\t\t\t\treturn true;\n\t\t\t\t\t}\n\t\t\t} );\n\n\t\t\n\t}\n\nexport default class extends Controller {\n\n\tstatic targets = [\"editor\"]\n\n connect(){\n\n var watchdog = new CKSource.EditorWatchdog();\n\t\t\twindow.watchdog = watchdog;\n\n\t\t\twatchdog.setCreator( ( element, config ) => {\n\t\t\t\treturn CKSource.Editor\n\t\t\t\t\t.create( element, config )\n\t\t\t\t\t.then( editor => {\n\t\t\t\t\t\twindow.editor = editor;\n\n\n\n\t\t\t\t\t\treturn editor;\n\t\t\t\t\t} )\n\t\t\t} );\n\n\t\t\twatchdog.setDestructor( editor => {\n\t\t\t\treturn editor.destroy();\n\t\t\t} );\n\t\t\t\n\t\t\twatchdog.on( 'error', handleError );\n\t\t\t\n\n if (document.querySelector(\".ck-editor\") == null) {\n\n \t\twatchdog\n\t\t\t\t.create( this.element, {\n\t\t\t\n extraPlugins: [ CustomUploadAdapterPlugin, ConvertDivAttributes ],\n customUpload: {\n directUploadUrl: this.element.dataset.directUploadUrl,\n blobUrlTemplate: this.element.dataset.blobUrlTemplate\n\t\t\t\t\t\t},\n\n\t\t\t\ttoolbar: {\n\t\t\t\t\titems: [\n\t\t\t\t\t\t'heading',\n\t\t\t\t\t\t'|',\n\t\t\t\t\t\t'bold',\n\t\t\t\t\t\t'italic',\n\t\t\t\t\t\t'underline',\n\t\t\t\t\t\t'strikethrough',\n\t\t\t\t\t\t'alignment',\n\t\t\t\t\t\t'fontSize',\n\t\t\t\t\t\t'fontFamily',\n\t\t\t\t\t\t'fontColor',\n\t\t\t\t\t\t'fontBackgroundColor',\n\t\t\t\t\t\t'bulletedList',\n\t\t\t\t\t\t'numberedList',\n\t\t\t\t\t\t'removeFormat',\n\t\t\t\t\t\t'horizontalLine',\n\t\t\t\t\t\t'|',\n\t\t\t\t\t\t'outdent',\n\t\t\t\t\t\t'indent',\n\t\t\t\t\t\t'|',\n\t\t\t\t\t\t'link',\n\t\t\t\t\t\t'imageUpload',\n\t\t\t\t\t\t'blockQuote',\n\t\t\t\t\t\t'insertTable',\n\t\t\t\t\t\t'findAndReplace',\n\t\t\t\t\t\t'|',\n\t\t\t\t\t\t'undo',\n\t\t\t\t\t\t'redo',\n\t\t\t\t\t\t'imageInsert',\n\t\t\t\t\t\t'todoList',\n\t\t\t\t\t\t'highlight',\n\t\t\t\t\t\t'specialCharacters',\n\t\t\t\t\t\t'htmlEmbed',\n\t\t\t\t\t\t'sourceEditing',\n\t\t\t\t\t\t'textPartLanguage'\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\tlanguage: 'it',\n link: {\n addTargetToExternalLinks: true, \n \n },\n\t\t\t\timage: {\n\t\t\t\t\ttoolbar: [\n\t\t\t\t\t\t'imageStyle:inline',\n\t\t\t\t\t\t'imageStyle:block',\n\t\t\t\t\t\t'imageStyle:side',\n\t\t\t\t\t\t'linkImage',\n\t\t\t\t\t\t'toggleImageCaption',\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\t\ttable: {\n\t\t\t\t\tcontentToolbar: [\n\t\t\t\t\t\t'tableColumn',\n\t\t\t\t\t\t'tableRow',\n\t\t\t\t\t\t'mergeTableCells',\n\t\t\t\t\t\t'tableCellProperties',\n\t\t\t\t\t\t'tableProperties'\n\t\t\t\t\t]\n\t\t\t\t},\n\t\t\n\t\t\t\t\tlicenseKey: '',\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t} )\n\t\t\t\t.catch( handleError );\n\n }\n\t\t\t\n\t\n\t\t\t\n\t\t\tfunction handleError( error ) {\n\t\t\t\tconsole.error( 'Oops, something went wrong!' );\n\t\t\t\tconsole.warn( 'Build id: ls5tuf113001-x3u550otkmj9' );\n\t\t\t\tconsole.error( error );\n\t\t\t}\n }\n\n\t openUploadModal() {\n\t\t document.querySelectorAll(\"#upload_modal\").classList.remove(\"hidden\")\n\t }\n}","export function getMetaValue(name) {\n const element = findElement(document.head, `meta[name=\"${name}\"]`);\n if (element) {\n return element.getAttribute(\"content\");\n }\n}\n\nexport function findElement(root, selector) {\n if (typeof root == \"string\") {\n selector = root;\n root = document;\n }\n return root.querySelector(selector);\n}\n\nexport function toArray(value) {\n if (Array.isArray(value)) {\n return value;\n } else if (Array.from) {\n return Array.from(value);\n } else {\n return [].slice.call(value);\n }\n}\n\nexport function removeElement(el) {\n if (el && el.parentNode) {\n el.parentNode.removeChild(el);\n }\n}\n\nexport function insertAfter(el, referenceNode) {\n return referenceNode.parentNode.insertBefore(el, referenceNode.nextSibling);\n}","import Dropzone from \"dropzone\";\nimport { Controller } from \"stimulus\";\nimport { DirectUpload } from \"@rails/activestorage\";\nimport {\n getMetaValue,\n toArray,\n findElement,\n removeElement,\n insertAfter\n} from \"helpers\";\nimport Sortable from 'sortablejs'\n\nexport default class extends Controller {\n static targets = [\"input\", \"editorGalleryBlock\"];\n\n connect() {\n\n const dropzoneModal = document.querySelector(\".dropzone-modal\")\n if (dropzoneModal) {\n dropzoneModal.addEventListener(\"click\", (e) => {\n if (!e.target.closest(\"article\")) e.target.classList.add(\"hidden\")\n })\n }\n\n this.dropZone = createDropZone(this);\n this.dropZone.options.dictDefaultMessage = \"Rilascia qui per caricare\";\n this.dropZone.options.dictFileTooBig = \"File troppo grande ({{filesize}}MiB). La dimensione massima è di {{maxFilesize}}MiB.\";\n this.dropZone.options.dictInvalidFileType = \"Il tipo di file non è consentito.\";\n this.dropZone.options.dictResponseError = \"Il server ha risposto con il codice errore {{statusCode}}.\";\n this.dropZone.options.dictCancelUpload = \"Annulla\";\n this.dropZone.options.dictCancelUploadConfirmation = \"Sei sicuro di voler annullare questo caricamento?\";\n this.dropZone.options.dictRemoveFile = \"Rimuovi\";\n this.dropZone.options.dictMaxFilesExceeded = \"Non puoi caricare altri file\";\n this.hideFileInput();\n this.bindEvents();\n Dropzone.autoDiscover = false; // necessary quirk for Dropzone error in console\n this.blobUrl = this.inputTarget.dataset.blobUrl\n \n this.sortableUploads = Sortable.create(\n document.querySelector('.dropzone.dropzone-default'), \n { draggable: \".dz-preview\",\n onUpdate: function(event) {\n \n const editorGalleryBlock = document.querySelector(\"#editor_gallery_block .gallery-block\")\n editorGalleryBlock.innerHTML = \"\"\n\n document.querySelectorAll(\".dz-image-preview\").forEach(el => {\n\n const image = document.createElement(\"img\")\n image.id = el.dataset.signedId\n image.src = el.dataset.blobUrl\n editorGalleryBlock.appendChild(image)\n \n })\n \n\n }\n },\n )\n\n }\n\n // Private\n hideFileInput() {\n this.inputTarget.disabled = true;\n this.inputTarget.style.display = \"none\";\n }\n\n bindEvents() {\n this.dropZone.on(\"addedfile\", file => {\n setTimeout(() => {\n file.accepted && createDirectUploadController(this, file).start();\n }, 500);\n });\n\n this.dropZone.on(\"removedfile\", file => {\n \n const imagesInEditor = Array.from(document.querySelectorAll(\".gallery-block img\"))\n var presentInEditor = false;\n\n if (imagesInEditor.length > 0) {\n presentInEditor = !!imagesInEditor.find(img => img.src == file.controller.galleryImage.src)\n console.log(\"present?\", presentInEditor)\n }\n \n file.controller && !presentInEditor && removeElement(file.controller.hiddenInput);\n\n file.controller.galleryImage.remove()\n if (document.querySelectorAll(\".dz-image\").length == 0) {\n document.querySelector(\"#insert_gallery\").classList.add(\"invisible\")\n }\n });\n\n this.dropZone.on(\"canceled\", file => {\n file.controller && file.controller.xhr.abort();\n });\n\n document.querySelector(\"#insert_gallery\").addEventListener('click', () => {\n const editor = window.editor\n const content = document.querySelector(\"#editor_gallery_block .gallery-block-container\").outerHTML\n const viewFragment = editor.data.processor.toView( content );\n const modelFragment = editor.data.toModel( viewFragment );\n editor.model.insertContent( modelFragment, editor.model.document.selection );\n document.querySelector(\".dropzone-modal\").classList.add(\"hidden\")\n this.dropZone.removeAllFiles()\n })\n }\n\n get headers() {\n return { \"X-CSRF-Token\": getMetaValue(\"csrf-token\") };\n }\n\n get url() {\n return this.inputTarget.getAttribute(\"data-direct-upload-url\");\n }\n\n get maxFiles() {\n return this.data.get(\"maxFiles\") || 1;\n }\n\n get maxFileSize() {\n return this.data.get(\"maxFileSize\") || 256;\n }\n\n get acceptedFiles() {\n return this.data.get(\"acceptedFiles\");\n }\n\n get addRemoveLinks() {\n return this.data.get(\"addRemoveLinks\") || true;\n }\n}\n\nclass DirectUploadController {\n constructor(source, file) {\n this.directUpload = createDirectUpload(file, source.url, this);\n this.source = source;\n this.file = file;\n }\n\n start() {\n this.file.controller = this;\n this.hiddenInput = this.createHiddenInput();\n this.directUpload.create((error, attributes) => {\n if (error) {\n removeElement(this.hiddenInput);\n this.emitDropzoneError(error);\n } else {\n this.hiddenInput.value = attributes.signed_id;\n console.log(this.hiddenInput)\n this.emitDropzoneSuccess(attributes.signed_id, attributes.filename);\n }\n });\n }\n\n createHiddenInput() {\n const input = document.createElement(\"input\");\n input.type = \"hidden\";\n input.name = this.source.inputTarget.name;\n document.querySelector(\"#article_form_container > form\").appendChild(input)\n // insertAfter(input, document.querySelector(\"#new_article\"));\n return input;\n }\n\n directUploadWillStoreFileWithXHR(xhr) {\n this.bindProgressEvent(xhr);\n this.emitDropzoneUploading();\n }\n\n bindProgressEvent(xhr) {\n this.xhr = xhr;\n this.xhr.upload.addEventListener(\"progress\", event =>\n this.uploadRequestDidProgress(event)\n );\n }\n\n uploadRequestDidProgress(event) {\n const element = this.source.element;\n const progress = (event.loaded / event.total) * 100;\n findElement(\n this.file.previewTemplate,\n \".dz-upload\"\n ).style.width = `${progress}%`;\n }\n\n emitDropzoneUploading() {\n this.file.status = Dropzone.UPLOADING;\n this.source.dropZone.emit(\"processing\", this.file);\n }\n\n emitDropzoneError(error) {\n this.file.status = Dropzone.ERROR;\n this.source.dropZone.emit(\"error\", this.file, error);\n this.source.dropZone.emit(\"complete\", this.file);\n }\n\n emitDropzoneSuccess(signedId, filename) {\n this.file.status = Dropzone.SUCCESS;\n\n\n\n this.source.dropZone.emit(\"success\", this.file);\n this.source.dropZone.emit(\"complete\", this.file);\n\n const editorGalleryBlock = document.querySelector(\"#editor_gallery_block .gallery-block\")\n const uploadedImage = document.createElement(\"img\")\n var blobUrl = createBlobUrl(this.source.blobUrl, signedId, filename)\n uploadedImage.id = `img_${signedId}`\n uploadedImage.src = blobUrl\n editorGalleryBlock.appendChild(uploadedImage)\n this.galleryImage = uploadedImage\n\n\n var preview = this.file.previewElement\n preview.setAttribute(\"data-blob-url\", blobUrl)\n preview.setAttribute(\"data-signed-id\", signedId)\n this.file.previewElement = preview\n\n document.querySelector(\"#insert_gallery\").classList.remove(\"invisible\")\n\n }\n}\n\nfunction createDirectUploadController(source, file) {\n return new DirectUploadController(source, file);\n}\n\nfunction createDirectUpload(file, url, controller) {\n return new DirectUpload(file, url, controller);\n}\n\nfunction createDropZone(controller) {\n return new Dropzone(controller.element, {\n url: controller.url,\n headers: controller.headers,\n maxFiles: controller.maxFiles,\n maxFilesize: controller.maxFileSize,\n acceptedFiles: controller.acceptedFiles,\n addRemoveLinks: controller.addRemoveLinks,\n autoQueue: false\n });\n}\n\nfunction createBlobUrl(blobUrl, signedId, filename) {\n return blobUrl\n .replace(\":signed_id\", signedId)\n .replace(\":filename\", encodeURIComponent(filename))\n}","/*!\n * lightgallery | 2.8.2 | November 28th 2024\n * http://www.lightgalleryjs.com/\n * Copyright (c) 2020 Sachin Neravath;\n * @license GPLv3\n */\n\n/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\nvar _assign = function __assign() {\n _assign = Object.assign || function __assign(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\n }\n }\n\n return t;\n };\n\n return _assign.apply(this, arguments);\n};\n\nfunction __spreadArrays() {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) {\n s += arguments[i].length;\n }\n\n for (var r = Array(s), k = 0, i = 0; i < il; i++) {\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++) {\n r[k] = a[j];\n }\n }\n\n return r;\n}\n/**\r\n * List of lightGallery events\r\n * All events should be documented here\r\n * Below interfaces are used to build the website documentations\r\n * */\n\n\nvar lGEvents = {\n afterAppendSlide: 'lgAfterAppendSlide',\n init: 'lgInit',\n hasVideo: 'lgHasVideo',\n containerResize: 'lgContainerResize',\n updateSlides: 'lgUpdateSlides',\n afterAppendSubHtml: 'lgAfterAppendSubHtml',\n beforeOpen: 'lgBeforeOpen',\n afterOpen: 'lgAfterOpen',\n slideItemLoad: 'lgSlideItemLoad',\n beforeSlide: 'lgBeforeSlide',\n afterSlide: 'lgAfterSlide',\n posterClick: 'lgPosterClick',\n dragStart: 'lgDragStart',\n dragMove: 'lgDragMove',\n dragEnd: 'lgDragEnd',\n beforeNextSlide: 'lgBeforeNextSlide',\n beforePrevSlide: 'lgBeforePrevSlide',\n beforeClose: 'lgBeforeClose',\n afterClose: 'lgAfterClose',\n rotateLeft: 'lgRotateLeft',\n rotateRight: 'lgRotateRight',\n flipHorizontal: 'lgFlipHorizontal',\n flipVertical: 'lgFlipVertical',\n autoplay: 'lgAutoplay',\n autoplayStart: 'lgAutoplayStart',\n autoplayStop: 'lgAutoplayStop'\n};\nvar lightGalleryCoreSettings = {\n mode: 'lg-slide',\n easing: 'ease',\n speed: 400,\n licenseKey: '0000-0000-000-0000',\n height: '100%',\n width: '100%',\n addClass: '',\n startClass: 'lg-start-zoom',\n backdropDuration: 300,\n container: '',\n startAnimationDuration: 400,\n zoomFromOrigin: true,\n hideBarsDelay: 0,\n showBarsAfter: 10000,\n slideDelay: 0,\n supportLegacyBrowser: true,\n allowMediaOverlap: false,\n videoMaxSize: '1280-720',\n loadYouTubePoster: true,\n defaultCaptionHeight: 0,\n ariaLabelledby: '',\n ariaDescribedby: '',\n resetScrollPosition: true,\n hideScrollbar: false,\n closable: true,\n swipeToClose: true,\n closeOnTap: true,\n showCloseIcon: true,\n showMaximizeIcon: false,\n loop: true,\n escKey: true,\n keyPress: true,\n trapFocus: true,\n controls: true,\n slideEndAnimation: true,\n hideControlOnEnd: false,\n mousewheel: false,\n getCaptionFromTitleOrAlt: true,\n appendSubHtmlTo: '.lg-sub-html',\n subHtmlSelectorRelative: false,\n preload: 2,\n numberOfSlideItemsInDom: 10,\n selector: '',\n selectWithin: '',\n nextHtml: '',\n prevHtml: '',\n index: 0,\n iframeWidth: '100%',\n iframeHeight: '100%',\n iframeMaxWidth: '100%',\n iframeMaxHeight: '100%',\n download: true,\n counter: true,\n appendCounterTo: '.lg-toolbar',\n swipeThreshold: 50,\n enableSwipe: true,\n enableDrag: true,\n dynamic: false,\n dynamicEl: [],\n extraProps: [],\n exThumbImage: '',\n isMobile: undefined,\n mobileSettings: {\n controls: false,\n showCloseIcon: false,\n download: false\n },\n plugins: [],\n strings: {\n closeGallery: 'Close gallery',\n toggleMaximize: 'Toggle maximize',\n previousSlide: 'Previous slide',\n nextSlide: 'Next slide',\n download: 'Download',\n playVideo: 'Play video',\n mediaLoadingFailed: 'Oops... Failed to load content...'\n }\n};\n\nfunction initLgPolyfills() {\n (function () {\n if (typeof window.CustomEvent === 'function') return false;\n\n function CustomEvent(event, params) {\n params = params || {\n bubbles: false,\n cancelable: false,\n detail: null\n };\n var evt = document.createEvent('CustomEvent');\n evt.initCustomEvent(event, params.bubbles, params.cancelable, params.detail);\n return evt;\n }\n\n window.CustomEvent = CustomEvent;\n })();\n\n (function () {\n if (!Element.prototype.matches) {\n Element.prototype.matches = Element.prototype.msMatchesSelector || Element.prototype.webkitMatchesSelector;\n }\n })();\n}\n\nvar lgQuery =\n/** @class */\nfunction () {\n function lgQuery(selector) {\n this.cssVenderPrefixes = ['TransitionDuration', 'TransitionTimingFunction', 'Transform', 'Transition'];\n this.selector = this._getSelector(selector);\n this.firstElement = this._getFirstEl();\n return this;\n }\n\n lgQuery.generateUUID = function () {\n return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function (c) {\n var r = Math.random() * 16 | 0,\n v = c == 'x' ? r : r & 0x3 | 0x8;\n return v.toString(16);\n });\n };\n\n lgQuery.prototype._getSelector = function (selector, context) {\n if (context === void 0) {\n context = document;\n }\n\n if (typeof selector !== 'string') {\n return selector;\n }\n\n context = context || document;\n var fl = selector.substring(0, 1);\n\n if (fl === '#') {\n return context.querySelector(selector);\n } else {\n return context.querySelectorAll(selector);\n }\n };\n\n lgQuery.prototype._each = function (func) {\n if (!this.selector) {\n return this;\n }\n\n if (this.selector.length !== undefined) {\n [].forEach.call(this.selector, func);\n } else {\n func(this.selector, 0);\n }\n\n return this;\n };\n\n lgQuery.prototype._setCssVendorPrefix = function (el, cssProperty, value) {\n // prettier-ignore\n var property = cssProperty.replace(/-([a-z])/gi, function (s, group1) {\n return group1.toUpperCase();\n });\n\n if (this.cssVenderPrefixes.indexOf(property) !== -1) {\n el.style[property.charAt(0).toLowerCase() + property.slice(1)] = value;\n el.style['webkit' + property] = value;\n el.style['moz' + property] = value;\n el.style['ms' + property] = value;\n el.style['o' + property] = value;\n } else {\n el.style[property] = value;\n }\n };\n\n lgQuery.prototype._getFirstEl = function () {\n if (this.selector && this.selector.length !== undefined) {\n return this.selector[0];\n } else {\n return this.selector;\n }\n };\n\n lgQuery.prototype.isEventMatched = function (event, eventName) {\n var eventNamespace = eventName.split('.');\n return event.split('.').filter(function (e) {\n return e;\n }).every(function (e) {\n return eventNamespace.indexOf(e) !== -1;\n });\n };\n\n lgQuery.prototype.attr = function (attr, value) {\n if (value === undefined) {\n if (!this.firstElement) {\n return '';\n }\n\n return this.firstElement.getAttribute(attr);\n }\n\n this._each(function (el) {\n el.setAttribute(attr, value);\n });\n\n return this;\n };\n\n lgQuery.prototype.find = function (selector) {\n return $LG(this._getSelector(selector, this.selector));\n };\n\n lgQuery.prototype.first = function () {\n if (this.selector && this.selector.length !== undefined) {\n return $LG(this.selector[0]);\n } else {\n return $LG(this.selector);\n }\n };\n\n lgQuery.prototype.eq = function (index) {\n return $LG(this.selector[index]);\n };\n\n lgQuery.prototype.parent = function () {\n return $LG(this.selector.parentElement);\n };\n\n lgQuery.prototype.get = function () {\n return this._getFirstEl();\n };\n\n lgQuery.prototype.removeAttr = function (attributes) {\n var attrs = attributes.split(' ');\n\n this._each(function (el) {\n attrs.forEach(function (attr) {\n return el.removeAttribute(attr);\n });\n });\n\n return this;\n };\n\n lgQuery.prototype.wrap = function (className) {\n if (!this.firstElement) {\n return this;\n }\n\n var wrapper = document.createElement('div');\n wrapper.className = className;\n this.firstElement.parentNode.insertBefore(wrapper, this.firstElement);\n this.firstElement.parentNode.removeChild(this.firstElement);\n wrapper.appendChild(this.firstElement);\n return this;\n };\n\n lgQuery.prototype.addClass = function (classNames) {\n if (classNames === void 0) {\n classNames = '';\n }\n\n this._each(function (el) {\n // IE doesn't support multiple arguments\n classNames.split(' ').forEach(function (className) {\n if (className) {\n el.classList.add(className);\n }\n });\n });\n\n return this;\n };\n\n lgQuery.prototype.removeClass = function (classNames) {\n this._each(function (el) {\n // IE doesn't support multiple arguments\n classNames.split(' ').forEach(function (className) {\n if (className) {\n el.classList.remove(className);\n }\n });\n });\n\n return this;\n };\n\n lgQuery.prototype.hasClass = function (className) {\n if (!this.firstElement) {\n return false;\n }\n\n return this.firstElement.classList.contains(className);\n };\n\n lgQuery.prototype.hasAttribute = function (attribute) {\n if (!this.firstElement) {\n return false;\n }\n\n return this.firstElement.hasAttribute(attribute);\n };\n\n lgQuery.prototype.toggleClass = function (className) {\n if (!this.firstElement) {\n return this;\n }\n\n if (this.hasClass(className)) {\n this.removeClass(className);\n } else {\n this.addClass(className);\n }\n\n return this;\n };\n\n lgQuery.prototype.css = function (property, value) {\n var _this = this;\n\n this._each(function (el) {\n _this._setCssVendorPrefix(el, property, value);\n });\n\n return this;\n }; // Need to pass separate namespaces for separate elements\n\n\n lgQuery.prototype.on = function (events, listener) {\n var _this = this;\n\n if (!this.selector) {\n return this;\n }\n\n events.split(' ').forEach(function (event) {\n if (!Array.isArray(lgQuery.eventListeners[event])) {\n lgQuery.eventListeners[event] = [];\n }\n\n lgQuery.eventListeners[event].push(listener);\n\n _this.selector.addEventListener(event.split('.')[0], listener);\n });\n return this;\n }; // @todo - test this\n\n\n lgQuery.prototype.once = function (event, listener) {\n var _this = this;\n\n this.on(event, function () {\n _this.off(event);\n\n listener(event);\n });\n return this;\n };\n\n lgQuery.prototype.off = function (event) {\n var _this = this;\n\n if (!this.selector) {\n return this;\n }\n\n Object.keys(lgQuery.eventListeners).forEach(function (eventName) {\n if (_this.isEventMatched(event, eventName)) {\n lgQuery.eventListeners[eventName].forEach(function (listener) {\n _this.selector.removeEventListener(eventName.split('.')[0], listener);\n });\n lgQuery.eventListeners[eventName] = [];\n }\n });\n return this;\n };\n\n lgQuery.prototype.trigger = function (event, detail) {\n if (!this.firstElement) {\n return this;\n }\n\n var customEvent = new CustomEvent(event.split('.')[0], {\n detail: detail || null\n });\n this.firstElement.dispatchEvent(customEvent);\n return this;\n }; // Does not support IE\n\n\n lgQuery.prototype.load = function (url) {\n var _this = this;\n\n fetch(url).then(function (res) {\n return res.text();\n }).then(function (html) {\n _this.selector.innerHTML = html;\n });\n return this;\n };\n\n lgQuery.prototype.html = function (html) {\n if (html === undefined) {\n if (!this.firstElement) {\n return '';\n }\n\n return this.firstElement.innerHTML;\n }\n\n this._each(function (el) {\n el.innerHTML = html;\n });\n\n return this;\n };\n\n lgQuery.prototype.append = function (html) {\n this._each(function (el) {\n if (typeof html === 'string') {\n el.insertAdjacentHTML('beforeend', html);\n } else {\n el.appendChild(html);\n }\n });\n\n return this;\n };\n\n lgQuery.prototype.prepend = function (html) {\n this._each(function (el) {\n if (typeof html === 'string') {\n el.insertAdjacentHTML('afterbegin', html);\n } else if (html instanceof HTMLElement) {\n el.insertBefore(html.cloneNode(true), el.firstChild);\n }\n });\n\n return this;\n };\n\n lgQuery.prototype.remove = function () {\n this._each(function (el) {\n el.parentNode.removeChild(el);\n });\n\n return this;\n };\n\n lgQuery.prototype.empty = function () {\n this._each(function (el) {\n el.innerHTML = '';\n });\n\n return this;\n };\n\n lgQuery.prototype.scrollTop = function (scrollTop) {\n if (scrollTop !== undefined) {\n document.body.scrollTop = scrollTop;\n document.documentElement.scrollTop = scrollTop;\n return this;\n } else {\n return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;\n }\n };\n\n lgQuery.prototype.scrollLeft = function (scrollLeft) {\n if (scrollLeft !== undefined) {\n document.body.scrollLeft = scrollLeft;\n document.documentElement.scrollLeft = scrollLeft;\n return this;\n } else {\n return window.pageXOffset || document.documentElement.scrollLeft || document.body.scrollLeft || 0;\n }\n };\n\n lgQuery.prototype.offset = function () {\n if (!this.firstElement) {\n return {\n left: 0,\n top: 0\n };\n }\n\n var rect = this.firstElement.getBoundingClientRect();\n var bodyMarginLeft = $LG('body').style().marginLeft; // Minus body margin - https://stackoverflow.com/questions/30711548/is-getboundingclientrect-left-returning-a-wrong-value\n\n return {\n left: rect.left - parseFloat(bodyMarginLeft) + this.scrollLeft(),\n top: rect.top + this.scrollTop()\n };\n };\n\n lgQuery.prototype.style = function () {\n if (!this.firstElement) {\n return {};\n }\n\n return this.firstElement.currentStyle || window.getComputedStyle(this.firstElement);\n }; // Width without padding and border even if box-sizing is used.\n\n\n lgQuery.prototype.width = function () {\n var style = this.style();\n return this.firstElement.clientWidth - parseFloat(style.paddingLeft) - parseFloat(style.paddingRight);\n }; // Height without padding and border even if box-sizing is used.\n\n\n lgQuery.prototype.height = function () {\n var style = this.style();\n return this.firstElement.clientHeight - parseFloat(style.paddingTop) - parseFloat(style.paddingBottom);\n };\n\n lgQuery.eventListeners = {};\n return lgQuery;\n}();\n\nfunction $LG(selector) {\n initLgPolyfills();\n return new lgQuery(selector);\n}\n\nvar defaultDynamicOptions = ['src', 'sources', 'subHtml', 'subHtmlUrl', 'html', 'video', 'poster', 'slideName', 'responsive', 'srcset', 'sizes', 'iframe', 'downloadUrl', 'download', 'width', 'facebookShareUrl', 'tweetText', 'iframeTitle', 'twitterShareUrl', 'pinterestShareUrl', 'pinterestText', 'fbHtml', 'disqusIdentifier', 'disqusUrl']; // Convert html data-attribute to camalcase\n\nfunction convertToData(attr) {\n // FInd a way for lgsize\n if (attr === 'href') {\n return 'src';\n }\n\n attr = attr.replace('data-', '');\n attr = attr.charAt(0).toLowerCase() + attr.slice(1);\n attr = attr.replace(/-([a-z])/g, function (g) {\n return g[1].toUpperCase();\n });\n return attr;\n}\n\nvar utils = {\n /**\r\n * Fetches HTML content from a given URL and inserts it into a specified element.\r\n *\r\n * @param url - The URL to fetch the HTML content from.\r\n * @param element - The DOM element (jQuery object) to insert the HTML content into.\r\n * @param insertMethod - The method to insert the HTML ('append' or 'replace').\r\n */\n fetchCaptionFromUrl: function fetchCaptionFromUrl(url, element, insertMethod) {\n // Fetch content from the URL\n fetch(url).then(function (response) {\n return response.text();\n }).then(function (htmlContent) {\n if (insertMethod === 'append') {\n var contentDiv = \"\" + htmlContent + \"
\";\n element.append(contentDiv);\n } else {\n element.html(htmlContent);\n }\n });\n },\n\n /**\r\n * get possible width and height from the lgSize attribute. Used for ZoomFromOrigin option\r\n */\n getSize: function getSize(el, container, spacing, defaultLgSize) {\n if (spacing === void 0) {\n spacing = 0;\n }\n\n var LGel = $LG(el);\n var lgSize = LGel.attr('data-lg-size') || defaultLgSize;\n\n if (!lgSize) {\n return;\n }\n\n var isResponsiveSizes = lgSize.split(','); // if at-least two viewport sizes are available\n\n if (isResponsiveSizes[1]) {\n var wWidth = window.innerWidth;\n\n for (var i = 0; i < isResponsiveSizes.length; i++) {\n var size_1 = isResponsiveSizes[i];\n var responsiveWidth = parseInt(size_1.split('-')[2], 10);\n\n if (responsiveWidth > wWidth) {\n lgSize = size_1;\n break;\n } // take last item as last option\n\n\n if (i === isResponsiveSizes.length - 1) {\n lgSize = size_1;\n }\n }\n }\n\n var size = lgSize.split('-');\n var width = parseInt(size[0], 10);\n var height = parseInt(size[1], 10);\n var cWidth = container.width();\n var cHeight = container.height() - spacing;\n var maxWidth = Math.min(cWidth, width);\n var maxHeight = Math.min(cHeight, height);\n var ratio = Math.min(maxWidth / width, maxHeight / height);\n return {\n width: width * ratio,\n height: height * ratio\n };\n },\n\n /**\r\n * @desc Get transform value based on the imageSize. Used for ZoomFromOrigin option\r\n * @param {jQuery Element}\r\n * @returns {String} Transform CSS string\r\n */\n getTransform: function getTransform(el, container, top, bottom, imageSize) {\n if (!imageSize) {\n return;\n }\n\n var LGel = $LG(el).find('img').first();\n\n if (!LGel.get()) {\n return;\n }\n\n var containerRect = container.get().getBoundingClientRect();\n var wWidth = containerRect.width; // using innerWidth to include mobile safari bottom bar\n\n var wHeight = container.height() - (top + bottom);\n var elWidth = LGel.width();\n var elHeight = LGel.height();\n var elStyle = LGel.style();\n var x = (wWidth - elWidth) / 2 - LGel.offset().left + (parseFloat(elStyle.paddingLeft) || 0) + (parseFloat(elStyle.borderLeft) || 0) + $LG(window).scrollLeft() + containerRect.left;\n var y = (wHeight - elHeight) / 2 - LGel.offset().top + (parseFloat(elStyle.paddingTop) || 0) + (parseFloat(elStyle.borderTop) || 0) + $LG(window).scrollTop() + top;\n var scX = elWidth / imageSize.width;\n var scY = elHeight / imageSize.height;\n var transform = 'translate3d(' + (x *= -1) + 'px, ' + (y *= -1) + 'px, 0) scale3d(' + scX + ', ' + scY + ', 1)';\n return transform;\n },\n getIframeMarkup: function getIframeMarkup(iframeWidth, iframeHeight, iframeMaxWidth, iframeMaxHeight, src, iframeTitle) {\n var title = iframeTitle ? 'title=\"' + iframeTitle + '\"' : '';\n return \"\\n \\n
\";\n },\n getImgMarkup: function getImgMarkup(index, src, altAttr, srcset, sizes, sources) {\n var srcsetAttr = srcset ? \"srcset=\\\"\" + srcset + \"\\\"\" : '';\n var sizesAttr = sizes ? \"sizes=\\\"\" + sizes + \"\\\"\" : '';\n var imgMarkup = \" \";\n var sourceTag = '';\n\n if (sources) {\n var sourceObj = typeof sources === 'string' ? JSON.parse(sources) : sources;\n sourceTag = sourceObj.map(function (source) {\n var attrs = '';\n Object.keys(source).forEach(function (key) {\n // Do not remove the first space as it is required to separate the attributes\n attrs += \" \" + key + \"=\\\"\" + source[key] + \"\\\"\";\n });\n return \" \";\n });\n }\n\n return \"\" + sourceTag + imgMarkup;\n },\n // Get src from responsive src\n getResponsiveSrc: function getResponsiveSrc(srcItms) {\n var rsWidth = [];\n var rsSrc = [];\n var src = '';\n\n for (var i = 0; i < srcItms.length; i++) {\n var _src = srcItms[i].split(' '); // Manage empty space\n\n\n if (_src[0] === '') {\n _src.splice(0, 1);\n }\n\n rsSrc.push(_src[0]);\n rsWidth.push(_src[1]);\n }\n\n var wWidth = window.innerWidth;\n\n for (var j = 0; j < rsWidth.length; j++) {\n if (parseInt(rsWidth[j], 10) > wWidth) {\n src = rsSrc[j];\n break;\n }\n }\n\n return src;\n },\n isImageLoaded: function isImageLoaded(img) {\n if (!img) return false; // During the onload event, IE correctly identifies any images that\n // weren’t downloaded as not complete. Others should too. Gecko-based\n // browsers act like NS4 in that they report this incorrectly.\n\n if (!img.complete) {\n return false;\n } // However, they do have two very useful properties: naturalWidth and\n // naturalHeight. These give the true size of the image. If it failed\n // to load, either of these should be zero.\n\n\n if (img.naturalWidth === 0) {\n return false;\n } // No other way of checking: assume it’s ok.\n\n\n return true;\n },\n getVideoPosterMarkup: function getVideoPosterMarkup(_poster, dummyImg, videoContStyle, playVideoString, _isVideo) {\n var videoClass = '';\n\n if (_isVideo && _isVideo.youtube) {\n videoClass = 'lg-has-youtube';\n } else if (_isVideo && _isVideo.vimeo) {\n videoClass = 'lg-has-vimeo';\n } else {\n videoClass = 'lg-has-html5';\n }\n\n var _dummy = dummyImg;\n\n if (typeof dummyImg !== 'string') {\n _dummy = dummyImg.outerHTML;\n }\n\n return \"\\n
\\n \" + _dummy + \"\\n
\\n
\";\n },\n getFocusableElements: function getFocusableElements(container) {\n var elements = container.querySelectorAll('a[href]:not([disabled]), button:not([disabled]), textarea:not([disabled]), input[type=\"text\"]:not([disabled]), input[type=\"radio\"]:not([disabled]), input[type=\"checkbox\"]:not([disabled]), select:not([disabled])');\n var visibleElements = [].filter.call(elements, function (element) {\n var style = window.getComputedStyle(element);\n return style.display !== 'none' && style.visibility !== 'hidden';\n });\n return visibleElements;\n },\n\n /**\r\n * @desc Create dynamic elements array from gallery items when dynamic option is false\r\n * It helps to avoid frequent DOM interaction\r\n * and avoid multiple checks for dynamic elments\r\n *\r\n * @returns {Array} dynamicEl\r\n */\n getDynamicOptions: function getDynamicOptions(items, extraProps, getCaptionFromTitleOrAlt, exThumbImage) {\n var dynamicElements = [];\n\n var availableDynamicOptions = __spreadArrays(defaultDynamicOptions, extraProps);\n\n [].forEach.call(items, function (item) {\n var dynamicEl = {};\n\n for (var i = 0; i < item.attributes.length; i++) {\n var attr = item.attributes[i];\n\n if (attr.specified) {\n var dynamicAttr = convertToData(attr.name);\n var label = '';\n\n if (availableDynamicOptions.indexOf(dynamicAttr) > -1) {\n label = dynamicAttr;\n }\n\n if (label) {\n dynamicEl[label] = attr.value;\n }\n }\n }\n\n var currentItem = $LG(item);\n var alt = currentItem.find('img').first().attr('alt');\n var title = currentItem.attr('title');\n var thumb = exThumbImage ? currentItem.attr(exThumbImage) : currentItem.find('img').first().attr('src');\n dynamicEl.thumb = thumb;\n\n if (getCaptionFromTitleOrAlt && !dynamicEl.subHtml) {\n dynamicEl.subHtml = title || alt || '';\n }\n\n dynamicEl.alt = alt || title || '';\n dynamicElements.push(dynamicEl);\n });\n console.log(dynamicElements, 'dynamicElements');\n return dynamicElements;\n },\n isMobile: function isMobile() {\n return /iPhone|iPad|iPod|Android/i.test(navigator.userAgent);\n },\n\n /**\r\n * @desc Check the given src is video\r\n * @param {String} src\r\n * @return {Object} video type\r\n * Ex:{ youtube : [\"//www.youtube.com/watch?v=c0asJgSyxcY\", \"c0asJgSyxcY\"] }\r\n *\r\n * @todo - this information can be moved to dynamicEl to avoid frequent calls\r\n */\n isVideo: function isVideo(src, isHTML5VIdeo, index) {\n if (!src) {\n if (isHTML5VIdeo) {\n return {\n html5: true\n };\n } else {\n console.error('lightGallery :- data-src is not provided on slide item ' + (index + 1) + '. Please make sure the selector property is properly configured. More info - https://www.lightgalleryjs.com/demos/html-markup/');\n return;\n }\n }\n\n var youtube = src.match(/\\/\\/(?:www\\.)?youtu(?:\\.be|be\\.com|be-nocookie\\.com)\\/(?:watch\\?v=|embed\\/)?([a-z0-9\\-\\_\\%]+)([\\&|?][\\S]*)*/i);\n var vimeo = src.match(/\\/\\/(?:www\\.)?(?:player\\.)?vimeo.com\\/(?:video\\/)?([0-9a-z\\-_]+)(.*)?/i);\n var wistia = src.match(/https?:\\/\\/(.+)?(wistia\\.com|wi\\.st)\\/(medias|embed)\\/([0-9a-z\\-_]+)(.*)/);\n\n if (youtube) {\n return {\n youtube: youtube\n };\n } else if (vimeo) {\n return {\n vimeo: vimeo\n };\n } else if (wistia) {\n return {\n wistia: wistia\n };\n }\n }\n}; // @ref - https://stackoverflow.com/questions/3971841/how-to-resize-images-proportionally-keeping-the-aspect-ratio\n// @ref - https://2ality.com/2017/04/setting-up-multi-platform-packages.html\n// Unique id for each gallery\n\nvar lgId = 0;\n\nvar LightGallery =\n/** @class */\nfunction () {\n function LightGallery(element, options) {\n this.lgOpened = false;\n this.index = 0; // lightGallery modules\n\n this.plugins = []; // false when lightGallery load first slide content;\n\n this.lGalleryOn = false; // True when a slide animation is in progress\n\n this.lgBusy = false;\n this.currentItemsInDom = []; // Scroll top value before lightGallery is opened\n\n this.prevScrollTop = 0;\n this.bodyPaddingRight = 0;\n this.isDummyImageRemoved = false;\n this.dragOrSwipeEnabled = false;\n this.mediaContainerPosition = {\n top: 0,\n bottom: 0\n };\n\n if (!element) {\n return this;\n }\n\n lgId++;\n this.lgId = lgId;\n this.el = element;\n this.LGel = $LG(element);\n this.generateSettings(options);\n this.buildModules(); // When using dynamic mode, ensure dynamicEl is an array\n\n if (this.settings.dynamic && this.settings.dynamicEl !== undefined && !Array.isArray(this.settings.dynamicEl)) {\n throw 'When using dynamic mode, you must also define dynamicEl as an Array.';\n }\n\n this.galleryItems = this.getItems();\n this.normalizeSettings(); // Gallery items\n\n this.init();\n this.validateLicense();\n return this;\n }\n\n LightGallery.prototype.generateSettings = function (options) {\n // lightGallery settings\n this.settings = _assign(_assign({}, lightGalleryCoreSettings), options);\n\n if (this.settings.isMobile && typeof this.settings.isMobile === 'function' ? this.settings.isMobile() : utils.isMobile()) {\n var mobileSettings = _assign(_assign({}, this.settings.mobileSettings), this.settings.mobileSettings);\n\n this.settings = _assign(_assign({}, this.settings), mobileSettings);\n }\n };\n\n LightGallery.prototype.normalizeSettings = function () {\n if (this.settings.slideEndAnimation) {\n this.settings.hideControlOnEnd = false;\n }\n\n if (!this.settings.closable) {\n this.settings.swipeToClose = false;\n } // And reset it on close to get the correct value next time\n\n\n this.zoomFromOrigin = this.settings.zoomFromOrigin; // At the moment, Zoom from image doesn't support dynamic options\n // @todo add zoomFromOrigin support for dynamic images\n\n if (this.settings.dynamic) {\n this.zoomFromOrigin = false;\n }\n\n if (this.settings.container) {\n var container = this.settings.container;\n\n if (typeof container === 'function') {\n this.settings.container = container();\n } else if (typeof container === 'string') {\n var el = document.querySelector(container);\n this.settings.container = el !== null && el !== void 0 ? el : document.body;\n }\n } else {\n this.settings.container = document.body;\n } // settings.preload should not be grater than $item.length\n\n\n this.settings.preload = Math.min(this.settings.preload, this.galleryItems.length);\n };\n\n LightGallery.prototype.init = function () {\n var _this = this;\n\n this.addSlideVideoInfo(this.galleryItems);\n this.buildStructure();\n this.LGel.trigger(lGEvents.init, {\n instance: this\n });\n\n if (this.settings.keyPress) {\n this.keyPress();\n }\n\n setTimeout(function () {\n _this.enableDrag();\n\n _this.enableSwipe();\n\n _this.triggerPosterClick();\n }, 50);\n this.arrow();\n\n if (this.settings.mousewheel) {\n this.mousewheel();\n }\n\n if (!this.settings.dynamic) {\n this.openGalleryOnItemClick();\n }\n };\n\n LightGallery.prototype.openGalleryOnItemClick = function () {\n var _this = this;\n\n var _loop_1 = function _loop_1(index) {\n var element = this_1.items[index];\n var $element = $LG(element); // Using different namespace for click because click event should not unbind if selector is same object('this')\n // @todo manage all event listners - should have namespace that represent element\n\n var uuid = lgQuery.generateUUID();\n $element.attr('data-lg-id', uuid).on(\"click.lgcustom-item-\" + uuid, function (e) {\n e.preventDefault();\n var currentItemIndex = _this.settings.index || index;\n\n _this.openGallery(currentItemIndex, element);\n });\n };\n\n var this_1 = this; // Using for loop instead of using bubbling as the items can be any html element.\n\n for (var index = 0; index < this.items.length; index++) {\n _loop_1(index);\n }\n };\n /**\r\n * Module constructor\r\n * Modules are build incrementally.\r\n * Gallery should be opened only once all the modules are initialized.\r\n * use moduleBuildTimeout to make sure this\r\n */\n\n\n LightGallery.prototype.buildModules = function () {\n var _this = this;\n\n this.settings.plugins.forEach(function (plugin) {\n _this.plugins.push(new plugin(_this, $LG));\n });\n };\n\n LightGallery.prototype.validateLicense = function () {\n if (!this.settings.licenseKey) {\n console.error('Please provide a valid license key');\n } else if (this.settings.licenseKey === '0000-0000-000-0000') {\n console.warn(\"lightGallery: \" + this.settings.licenseKey + \" license key is not valid for production use\");\n }\n };\n\n LightGallery.prototype.getSlideItem = function (index) {\n return $LG(this.getSlideItemId(index));\n };\n\n LightGallery.prototype.getSlideItemId = function (index) {\n return \"#lg-item-\" + this.lgId + \"-\" + index;\n };\n\n LightGallery.prototype.getIdName = function (id) {\n return id + \"-\" + this.lgId;\n };\n\n LightGallery.prototype.getElementById = function (id) {\n return $LG(\"#\" + this.getIdName(id));\n };\n\n LightGallery.prototype.manageSingleSlideClassName = function () {\n if (this.galleryItems.length < 2) {\n this.outer.addClass('lg-single-item');\n } else {\n this.outer.removeClass('lg-single-item');\n }\n };\n\n LightGallery.prototype.buildStructure = function () {\n var _this = this;\n\n var container = this.$container && this.$container.get();\n\n if (container) {\n return;\n }\n\n var controls = '';\n var subHtmlCont = ''; // Create controls\n\n if (this.settings.controls) {\n controls = \" \" + this.settings.prevHtml + \" \\n \" + this.settings.nextHtml + \" \";\n }\n\n if (this.settings.appendSubHtmlTo !== '.lg-item') {\n subHtmlCont = '
';\n }\n\n var addClasses = '';\n\n if (this.settings.allowMediaOverlap) {\n // Do not remove space before last single quote\n addClasses += 'lg-media-overlap ';\n }\n\n var ariaLabelledby = this.settings.ariaLabelledby ? 'aria-labelledby=\"' + this.settings.ariaLabelledby + '\"' : '';\n var ariaDescribedby = this.settings.ariaDescribedby ? 'aria-describedby=\"' + this.settings.ariaDescribedby + '\"' : '';\n var containerClassName = \"lg-container \" + this.settings.addClass + \" \" + (document.body !== this.settings.container ? 'lg-inline' : '');\n var closeIcon = this.settings.closable && this.settings.showCloseIcon ? \" \" : '';\n var maximizeIcon = this.settings.showMaximizeIcon ? \" \" : '';\n var template = \"\\n \\n
\\n\\n
\\n\\n
\\n
\\n
\\n \" + controls + \"\\n
\\n
\\n \" + maximizeIcon + \"\\n \" + closeIcon + \"\\n
\\n \" + (this.settings.appendSubHtmlTo === '.lg-outer' ? subHtmlCont : '') + \"\\n
\\n \" + (this.settings.appendSubHtmlTo === '.lg-sub-html' ? subHtmlCont : '') + \"\\n
\\n
\\n
\\n \";\n $LG(this.settings.container).append(template);\n\n if (document.body !== this.settings.container) {\n $LG(this.settings.container).css('position', 'relative');\n }\n\n this.outer = this.getElementById('lg-outer');\n this.$lgComponents = this.getElementById('lg-components');\n this.$backdrop = this.getElementById('lg-backdrop');\n this.$container = this.getElementById('lg-container');\n this.$inner = this.getElementById('lg-inner');\n this.$content = this.getElementById('lg-content');\n this.$toolbar = this.getElementById('lg-toolbar');\n this.$backdrop.css('transition-duration', this.settings.backdropDuration + 'ms');\n var outerClassNames = this.settings.mode + \" \";\n this.manageSingleSlideClassName();\n\n if (this.settings.enableDrag) {\n outerClassNames += 'lg-grab ';\n }\n\n this.outer.addClass(outerClassNames);\n this.$inner.css('transition-timing-function', this.settings.easing);\n this.$inner.css('transition-duration', this.settings.speed + 'ms');\n\n if (this.settings.download) {\n this.$toolbar.append(\" \");\n }\n\n this.counter();\n $LG(window).on(\"resize.lg.global\" + this.lgId + \" orientationchange.lg.global\" + this.lgId, function () {\n _this.refreshOnResize();\n });\n this.hideBars();\n this.manageCloseGallery();\n this.toggleMaximize();\n this.initModules();\n };\n\n LightGallery.prototype.refreshOnResize = function () {\n if (this.lgOpened) {\n var currentGalleryItem = this.galleryItems[this.index];\n var __slideVideoInfo = currentGalleryItem.__slideVideoInfo;\n this.mediaContainerPosition = this.getMediaContainerPosition();\n var _a = this.mediaContainerPosition,\n top_1 = _a.top,\n bottom = _a.bottom;\n this.currentImageSize = utils.getSize(this.items[this.index], this.outer, top_1 + bottom, __slideVideoInfo && this.settings.videoMaxSize);\n\n if (__slideVideoInfo) {\n this.resizeVideoSlide(this.index, this.currentImageSize);\n }\n\n if (this.zoomFromOrigin && !this.isDummyImageRemoved) {\n var imgStyle = this.getDummyImgStyles(this.currentImageSize);\n this.outer.find('.lg-current .lg-dummy-img').first().attr('style', imgStyle);\n }\n\n this.LGel.trigger(lGEvents.containerResize);\n }\n };\n\n LightGallery.prototype.resizeVideoSlide = function (index, imageSize) {\n var lgVideoStyle = this.getVideoContStyle(imageSize);\n var currentSlide = this.getSlideItem(index);\n currentSlide.find('.lg-video-cont').attr('style', lgVideoStyle);\n };\n /**\r\n * Update slides dynamically.\r\n * Add, edit or delete slides dynamically when lightGallery is opened.\r\n * Modify the current gallery items and pass it via updateSlides method\r\n * @note\r\n * - Do not mutate existing lightGallery items directly.\r\n * - Always pass new list of gallery items\r\n * - You need to take care of thumbnails outside the gallery if any\r\n * - user this method only if you want to update slides when the gallery is opened. Otherwise, use `refresh()` method.\r\n * @param items Gallery items\r\n * @param index After the update operation, which slide gallery should navigate to\r\n * @category lGPublicMethods\r\n * @example\r\n * const plugin = lightGallery();\r\n *\r\n * // Adding slides dynamically\r\n * let galleryItems = [\r\n * // Access existing lightGallery items\r\n * // galleryItems are automatically generated internally from the gallery HTML markup\r\n * // or directly from galleryItems when dynamic gallery is used\r\n * ...plugin.galleryItems,\r\n * ...[\r\n * {\r\n * src: 'img/img-1.png',\r\n * thumb: 'img/thumb1.png',\r\n * },\r\n * ],\r\n * ];\r\n * plugin.updateSlides(\r\n * galleryItems,\r\n * plugin.index,\r\n * );\r\n *\r\n *\r\n * // Remove slides dynamically\r\n * galleryItems = JSON.parse(\r\n * JSON.stringify(updateSlideInstance.galleryItems),\r\n * );\r\n * galleryItems.shift();\r\n * updateSlideInstance.updateSlides(galleryItems, 1);\r\n * @see
Demo \r\n */\n\n\n LightGallery.prototype.updateSlides = function (items, index) {\n if (this.index > items.length - 1) {\n this.index = items.length - 1;\n }\n\n if (items.length === 1) {\n this.index = 0;\n }\n\n if (!items.length) {\n this.closeGallery();\n return;\n }\n\n var currentSrc = this.galleryItems[index].src;\n this.galleryItems = items;\n this.updateControls();\n this.$inner.empty();\n this.currentItemsInDom = [];\n var _index = 0; // Find the current index based on source value of the slide\n\n this.galleryItems.some(function (galleryItem, itemIndex) {\n if (galleryItem.src === currentSrc) {\n _index = itemIndex;\n return true;\n }\n\n return false;\n });\n this.currentItemsInDom = this.organizeSlideItems(_index, -1);\n this.loadContent(_index, true);\n this.getSlideItem(_index).addClass('lg-current');\n this.index = _index;\n this.updateCurrentCounter(_index);\n this.LGel.trigger(lGEvents.updateSlides);\n }; // Get gallery items based on multiple conditions\n\n\n LightGallery.prototype.getItems = function () {\n // Gallery items\n this.items = [];\n\n if (!this.settings.dynamic) {\n if (this.settings.selector === 'this') {\n this.items.push(this.el);\n } else if (this.settings.selector) {\n if (typeof this.settings.selector === 'string') {\n if (this.settings.selectWithin) {\n var selectWithin = $LG(this.settings.selectWithin);\n this.items = selectWithin.find(this.settings.selector).get();\n } else {\n this.items = this.el.querySelectorAll(this.settings.selector);\n }\n } else {\n this.items = this.settings.selector;\n }\n } else {\n this.items = this.el.children;\n }\n\n return utils.getDynamicOptions(this.items, this.settings.extraProps, this.settings.getCaptionFromTitleOrAlt, this.settings.exThumbImage);\n } else {\n return this.settings.dynamicEl || [];\n }\n };\n\n LightGallery.prototype.shouldHideScrollbar = function () {\n return this.settings.hideScrollbar && document.body === this.settings.container;\n };\n\n LightGallery.prototype.hideScrollbar = function () {\n if (!this.shouldHideScrollbar()) {\n return;\n }\n\n this.bodyPaddingRight = parseFloat($LG('body').style().paddingRight);\n var bodyRect = document.documentElement.getBoundingClientRect();\n var scrollbarWidth = window.innerWidth - bodyRect.width;\n $LG(document.body).css('padding-right', scrollbarWidth + this.bodyPaddingRight + 'px');\n $LG(document.body).addClass('lg-overlay-open');\n };\n\n LightGallery.prototype.resetScrollBar = function () {\n if (!this.shouldHideScrollbar()) {\n return;\n }\n\n $LG(document.body).css('padding-right', this.bodyPaddingRight + 'px');\n $LG(document.body).removeClass('lg-overlay-open');\n };\n /**\r\n * Open lightGallery.\r\n * Open gallery with specific slide by passing index of the slide as parameter.\r\n * @category lGPublicMethods\r\n * @param {Number} index - index of the slide\r\n * @param {HTMLElement} element - Which image lightGallery should zoom from\r\n *\r\n * @example\r\n * const $dynamicGallery = document.getElementById('dynamic-gallery-demo');\r\n * const dynamicGallery = lightGallery($dynamicGallery, {\r\n * dynamic: true,\r\n * dynamicEl: [\r\n * {\r\n * src: 'img/1.jpg',\r\n * thumb: 'img/thumb-1.jpg',\r\n * subHtml: '
Image 1 title Image 1 descriptions.
',\r\n * },\r\n * ...\r\n * ],\r\n * });\r\n * $dynamicGallery.addEventListener('click', function () {\r\n * // Starts with third item.(Optional).\r\n * // This is useful if you want use dynamic mode with\r\n * // custom thumbnails (thumbnails outside gallery),\r\n * dynamicGallery.openGallery(2);\r\n * });\r\n *\r\n */\n\n\n LightGallery.prototype.openGallery = function (index, element) {\n var _this = this;\n\n if (index === void 0) {\n index = this.settings.index;\n } // prevent accidental double execution\n\n\n if (this.lgOpened) return;\n this.lgOpened = true;\n this.outer.removeClass('lg-hide-items');\n this.hideScrollbar(); // Add display block, but still has opacity 0\n\n this.$container.addClass('lg-show');\n var itemsToBeInsertedToDom = this.getItemsToBeInsertedToDom(index, index);\n this.currentItemsInDom = itemsToBeInsertedToDom;\n var items = '';\n itemsToBeInsertedToDom.forEach(function (item) {\n items = items + (\"
\");\n });\n this.$inner.append(items);\n this.addHtml(index);\n var transform = '';\n this.mediaContainerPosition = this.getMediaContainerPosition();\n var _a = this.mediaContainerPosition,\n top = _a.top,\n bottom = _a.bottom;\n\n if (!this.settings.allowMediaOverlap) {\n this.setMediaContainerPosition(top, bottom);\n }\n\n var __slideVideoInfo = this.galleryItems[index].__slideVideoInfo;\n\n if (this.zoomFromOrigin && element) {\n this.currentImageSize = utils.getSize(element, this.outer, top + bottom, __slideVideoInfo && this.settings.videoMaxSize);\n transform = utils.getTransform(element, this.outer, top, bottom, this.currentImageSize);\n }\n\n if (!this.zoomFromOrigin || !transform) {\n this.outer.addClass(this.settings.startClass);\n this.getSlideItem(index).removeClass('lg-complete');\n }\n\n var timeout = this.settings.zoomFromOrigin ? 100 : this.settings.backdropDuration;\n setTimeout(function () {\n _this.outer.addClass('lg-components-open');\n }, timeout);\n this.index = index;\n this.LGel.trigger(lGEvents.beforeOpen); // add class lg-current to remove initial transition\n\n this.getSlideItem(index).addClass('lg-current');\n this.lGalleryOn = false; // Store the current scroll top value to scroll back after closing the gallery..\n\n this.prevScrollTop = $LG(window).scrollTop();\n setTimeout(function () {\n // Need to check both zoomFromOrigin and transform values as we need to set set the\n // default opening animation if user missed to add the lg-size attribute\n if (_this.zoomFromOrigin && transform) {\n var currentSlide_1 = _this.getSlideItem(index);\n\n currentSlide_1.css('transform', transform);\n setTimeout(function () {\n currentSlide_1.addClass('lg-start-progress lg-start-end-progress').css('transition-duration', _this.settings.startAnimationDuration + 'ms');\n\n _this.outer.addClass('lg-zoom-from-image');\n });\n setTimeout(function () {\n currentSlide_1.css('transform', 'translate3d(0, 0, 0)');\n }, 100);\n }\n\n setTimeout(function () {\n _this.$backdrop.addClass('in');\n\n _this.$container.addClass('lg-show-in');\n }, 10);\n setTimeout(function () {\n if (_this.settings.trapFocus && document.body === _this.settings.container) {\n _this.trapFocus();\n }\n }, _this.settings.backdropDuration + 50); // lg-visible class resets gallery opacity to 1\n\n if (!_this.zoomFromOrigin || !transform) {\n setTimeout(function () {\n _this.outer.addClass('lg-visible');\n }, _this.settings.backdropDuration);\n } // initiate slide function\n\n\n _this.slide(index, false, false, false);\n\n _this.LGel.trigger(lGEvents.afterOpen);\n });\n\n if (document.body === this.settings.container) {\n $LG('html').addClass('lg-on');\n }\n };\n /**\r\n * Note - Changing the position of the media on every slide transition creates a flickering effect.\r\n * Therefore, The height of the caption is calculated dynamically, only once based on the first slide caption.\r\n * if you have dynamic captions for each media,\r\n * you can provide an appropriate height for the captions via allowMediaOverlap option\r\n */\n\n\n LightGallery.prototype.getMediaContainerPosition = function () {\n if (this.settings.allowMediaOverlap) {\n return {\n top: 0,\n bottom: 0\n };\n }\n\n var top = this.$toolbar.get().clientHeight || 0;\n var subHtml = this.outer.find('.lg-components .lg-sub-html').get();\n var captionHeight = this.settings.defaultCaptionHeight || subHtml && subHtml.clientHeight || 0;\n var thumbContainer = this.outer.find('.lg-thumb-outer').get();\n var thumbHeight = thumbContainer ? thumbContainer.clientHeight : 0;\n var bottom = thumbHeight + captionHeight;\n return {\n top: top,\n bottom: bottom\n };\n };\n\n LightGallery.prototype.setMediaContainerPosition = function (top, bottom) {\n if (top === void 0) {\n top = 0;\n }\n\n if (bottom === void 0) {\n bottom = 0;\n }\n\n this.$content.css('top', top + 'px').css('bottom', bottom + 'px');\n };\n\n LightGallery.prototype.hideBars = function () {\n var _this = this; // Hide controllers if mouse doesn't move for some period\n\n\n setTimeout(function () {\n _this.outer.removeClass('lg-hide-items');\n\n if (_this.settings.hideBarsDelay > 0) {\n _this.outer.on('mousemove.lg click.lg touchstart.lg', function () {\n _this.outer.removeClass('lg-hide-items');\n\n clearTimeout(_this.hideBarTimeout); // Timeout will be cleared on each slide movement also\n\n _this.hideBarTimeout = setTimeout(function () {\n _this.outer.addClass('lg-hide-items');\n }, _this.settings.hideBarsDelay);\n });\n\n _this.outer.trigger('mousemove.lg');\n }\n }, this.settings.showBarsAfter);\n };\n\n LightGallery.prototype.initPictureFill = function ($img) {\n if (this.settings.supportLegacyBrowser) {\n try {\n picturefill({\n elements: [$img.get()]\n });\n } catch (e) {\n console.warn('lightGallery :- If you want srcset or picture tag to be supported for older browser please include picturefil javascript library in your document.');\n }\n }\n };\n /**\r\n * @desc Create image counter\r\n * Ex: 1/10\r\n */\n\n\n LightGallery.prototype.counter = function () {\n if (this.settings.counter) {\n var counterHtml = \"
\\n \" + (this.index + 1) + \" /\\n \" + this.galleryItems.length + \"
\";\n this.outer.find(this.settings.appendCounterTo).append(counterHtml);\n }\n };\n /**\r\n * @desc add sub-html into the slide\r\n * @param {Number} index - index of the slide\r\n */\n\n\n LightGallery.prototype.addHtml = function (index) {\n var subHtml;\n var subHtmlUrl;\n\n if (this.galleryItems[index].subHtmlUrl) {\n subHtmlUrl = this.galleryItems[index].subHtmlUrl;\n } else {\n subHtml = this.galleryItems[index].subHtml;\n }\n\n if (!subHtmlUrl) {\n if (subHtml) {\n // get first letter of sub-html\n // if first letter starts with . or # get the html form the jQuery object\n var fL = subHtml.substring(0, 1);\n\n if (fL === '.' || fL === '#') {\n if (this.settings.subHtmlSelectorRelative && !this.settings.dynamic) {\n subHtml = $LG(this.items).eq(index).find(subHtml).first().html();\n } else {\n subHtml = $LG(subHtml).first().html();\n }\n }\n } else {\n subHtml = '';\n }\n }\n\n if (this.settings.appendSubHtmlTo !== '.lg-item') {\n if (subHtmlUrl) {\n utils.fetchCaptionFromUrl(subHtmlUrl, this.outer.find('.lg-sub-html'), 'replace');\n } else {\n this.outer.find('.lg-sub-html').html(subHtml);\n }\n } else {\n var currentSlide = $LG(this.getSlideItemId(index));\n\n if (subHtmlUrl) {\n utils.fetchCaptionFromUrl(subHtmlUrl, currentSlide, 'append');\n } else {\n currentSlide.append(\"
\" + subHtml + \"
\");\n }\n } // Add lg-empty-html class if title doesn't exist\n\n\n if (typeof subHtml !== 'undefined' && subHtml !== null) {\n if (subHtml === '') {\n this.outer.find(this.settings.appendSubHtmlTo).addClass('lg-empty-html');\n } else {\n this.outer.find(this.settings.appendSubHtmlTo).removeClass('lg-empty-html');\n }\n }\n\n this.LGel.trigger(lGEvents.afterAppendSubHtml, {\n index: index\n });\n };\n /**\r\n * @desc Preload slides\r\n * @param {Number} index - index of the slide\r\n * @todo preload not working for the first slide, Also, should work for the first and last slide as well\r\n */\n\n\n LightGallery.prototype.preload = function (index) {\n for (var i = 1; i <= this.settings.preload; i++) {\n if (i >= this.galleryItems.length - index) {\n break;\n }\n\n this.loadContent(index + i, false);\n }\n\n for (var j = 1; j <= this.settings.preload; j++) {\n if (index - j < 0) {\n break;\n }\n\n this.loadContent(index - j, false);\n }\n };\n\n LightGallery.prototype.getDummyImgStyles = function (imageSize) {\n if (!imageSize) return '';\n return \"width:\" + imageSize.width + \"px;\\n margin-left: -\" + imageSize.width / 2 + \"px;\\n margin-top: -\" + imageSize.height / 2 + \"px;\\n height:\" + imageSize.height + \"px\";\n };\n\n LightGallery.prototype.getVideoContStyle = function (imageSize) {\n if (!imageSize) return '';\n return \"width:\" + imageSize.width + \"px;\\n height:\" + imageSize.height + \"px\";\n };\n\n LightGallery.prototype.getDummyImageContent = function ($currentSlide, index, alt) {\n var $currentItem;\n\n if (!this.settings.dynamic) {\n $currentItem = $LG(this.items).eq(index);\n }\n\n if ($currentItem) {\n var _dummyImgSrc = void 0;\n\n if (!this.settings.exThumbImage) {\n _dummyImgSrc = $currentItem.find('img').first().attr('src');\n } else {\n _dummyImgSrc = $currentItem.attr(this.settings.exThumbImage);\n }\n\n if (!_dummyImgSrc) return '';\n var imgStyle = this.getDummyImgStyles(this.currentImageSize);\n var dummyImgContentImg = document.createElement('img');\n dummyImgContentImg.alt = alt || '';\n dummyImgContentImg.src = _dummyImgSrc;\n dummyImgContentImg.className = \"lg-dummy-img\";\n dummyImgContentImg.style.cssText = imgStyle;\n $currentSlide.addClass('lg-first-slide');\n this.outer.addClass('lg-first-slide-loading');\n return dummyImgContentImg;\n }\n\n return '';\n };\n\n LightGallery.prototype.setImgMarkup = function (src, $currentSlide, index) {\n var currentGalleryItem = this.galleryItems[index];\n var alt = currentGalleryItem.alt,\n srcset = currentGalleryItem.srcset,\n sizes = currentGalleryItem.sizes,\n sources = currentGalleryItem.sources; // Use the thumbnail as dummy image which will be resized to actual image size and\n // displayed on top of actual image\n\n var imgContent = '';\n var altAttr = alt ? 'alt=\"' + alt + '\"' : '';\n\n if (this.isFirstSlideWithZoomAnimation()) {\n imgContent = this.getDummyImageContent($currentSlide, index, altAttr);\n } else {\n imgContent = utils.getImgMarkup(index, src, altAttr, srcset, sizes, sources);\n }\n\n var picture = document.createElement('picture');\n picture.className = 'lg-img-wrap';\n $LG(picture).append(imgContent);\n $currentSlide.prepend(picture);\n };\n\n LightGallery.prototype.onSlideObjectLoad = function ($slide, isHTML5VideoWithoutPoster, onLoad, onError) {\n var mediaObject = $slide.find('.lg-object').first();\n\n if (utils.isImageLoaded(mediaObject.get()) || isHTML5VideoWithoutPoster) {\n onLoad();\n } else {\n mediaObject.on('load.lg error.lg', function () {\n onLoad && onLoad();\n });\n mediaObject.on('error.lg', function () {\n onError && onError();\n });\n }\n };\n /**\r\n *\r\n * @param $el Current slide item\r\n * @param index\r\n * @param delay Delay is 0 except first time\r\n * @param speed Speed is same as delay, except it is 0 if gallery is opened via hash plugin\r\n * @param isFirstSlide\r\n */\n\n\n LightGallery.prototype.onLgObjectLoad = function (currentSlide, index, delay, speed, isFirstSlide, isHTML5VideoWithoutPoster) {\n var _this = this;\n\n this.onSlideObjectLoad(currentSlide, isHTML5VideoWithoutPoster, function () {\n _this.triggerSlideItemLoad(currentSlide, index, delay, speed, isFirstSlide);\n }, function () {\n currentSlide.addClass('lg-complete lg-complete_');\n currentSlide.html('
' + _this.settings.strings['mediaLoadingFailed'] + ' ');\n });\n };\n\n LightGallery.prototype.triggerSlideItemLoad = function ($currentSlide, index, delay, speed, isFirstSlide) {\n var _this = this;\n\n var currentGalleryItem = this.galleryItems[index]; // Adding delay for video slides without poster for better performance and user experience\n // Videos should start playing once once the gallery is completely loaded\n\n var _speed = isFirstSlide && this.getSlideType(currentGalleryItem) === 'video' && !currentGalleryItem.poster ? speed : 0;\n\n setTimeout(function () {\n $currentSlide.addClass('lg-complete lg-complete_');\n\n _this.LGel.trigger(lGEvents.slideItemLoad, {\n index: index,\n delay: delay || 0,\n isFirstSlide: isFirstSlide\n });\n }, _speed);\n };\n\n LightGallery.prototype.isFirstSlideWithZoomAnimation = function () {\n return !!(!this.lGalleryOn && this.zoomFromOrigin && this.currentImageSize);\n }; // Add video slideInfo\n\n\n LightGallery.prototype.addSlideVideoInfo = function (items) {\n var _this = this;\n\n items.forEach(function (element, index) {\n element.__slideVideoInfo = utils.isVideo(element.src, !!element.video, index);\n\n if (element.__slideVideoInfo && _this.settings.loadYouTubePoster && !element.poster && element.__slideVideoInfo.youtube) {\n element.poster = \"//img.youtube.com/vi/\" + element.__slideVideoInfo.youtube[1] + \"/maxresdefault.jpg\";\n }\n });\n };\n /**\r\n * Load slide content into slide.\r\n * This is used to load content into slides that is not visible too\r\n * @param {Number} index - index of the slide.\r\n * @param {Boolean} rec - if true call loadcontent() function again.\r\n */\n\n\n LightGallery.prototype.loadContent = function (index, rec) {\n var _this = this;\n\n var currentGalleryItem = this.galleryItems[index];\n var $currentSlide = $LG(this.getSlideItemId(index));\n var poster = currentGalleryItem.poster,\n srcset = currentGalleryItem.srcset,\n sizes = currentGalleryItem.sizes,\n sources = currentGalleryItem.sources;\n var src = currentGalleryItem.src;\n var video = currentGalleryItem.video;\n\n var _html5Video = video && typeof video === 'string' ? JSON.parse(video) : video;\n\n if (currentGalleryItem.responsive) {\n var srcDyItms = currentGalleryItem.responsive.split(',');\n src = utils.getResponsiveSrc(srcDyItms) || src;\n }\n\n var videoInfo = currentGalleryItem.__slideVideoInfo;\n var lgVideoStyle = '';\n var iframe = !!currentGalleryItem.iframe;\n var isFirstSlide = !this.lGalleryOn; // delay for adding complete class. it is 0 except first time.\n\n var delay = 0;\n\n if (isFirstSlide) {\n if (this.zoomFromOrigin && this.currentImageSize) {\n delay = this.settings.startAnimationDuration + 10;\n } else {\n delay = this.settings.backdropDuration + 10;\n }\n }\n\n if (!$currentSlide.hasClass('lg-loaded')) {\n if (videoInfo) {\n var _a = this.mediaContainerPosition,\n top_2 = _a.top,\n bottom = _a.bottom;\n var videoSize = utils.getSize(this.items[index], this.outer, top_2 + bottom, videoInfo && this.settings.videoMaxSize);\n lgVideoStyle = this.getVideoContStyle(videoSize);\n }\n\n if (iframe) {\n var markup = utils.getIframeMarkup(this.settings.iframeWidth, this.settings.iframeHeight, this.settings.iframeMaxWidth, this.settings.iframeMaxHeight, src, currentGalleryItem.iframeTitle);\n $currentSlide.prepend(markup);\n } else if (poster) {\n var dummyImg = '';\n var hasStartAnimation = isFirstSlide && this.zoomFromOrigin && this.currentImageSize;\n\n if (hasStartAnimation) {\n dummyImg = this.getDummyImageContent($currentSlide, index, '');\n }\n\n var markup = utils.getVideoPosterMarkup(poster, dummyImg || '', lgVideoStyle, this.settings.strings['playVideo'], videoInfo);\n $currentSlide.prepend(markup);\n } else if (videoInfo) {\n var markup = \"
\";\n $currentSlide.prepend(markup);\n } else {\n this.setImgMarkup(src, $currentSlide, index);\n\n if (srcset || sources) {\n var $img = $currentSlide.find('.lg-object');\n this.initPictureFill($img);\n }\n }\n\n if (poster || videoInfo) {\n this.LGel.trigger(lGEvents.hasVideo, {\n index: index,\n src: src,\n html5Video: _html5Video,\n hasPoster: !!poster\n });\n }\n\n this.LGel.trigger(lGEvents.afterAppendSlide, {\n index: index\n });\n\n if (this.lGalleryOn && this.settings.appendSubHtmlTo === '.lg-item') {\n this.addHtml(index);\n }\n } // For first time add some delay for displaying the start animation.\n\n\n var _speed = 0; // Do not change the delay value because it is required for zoom plugin.\n // If gallery opened from direct url (hash) speed value should be 0\n\n if (delay && !$LG(document.body).hasClass('lg-from-hash')) {\n _speed = delay;\n } // Only for first slide and zoomFromOrigin is enabled\n\n\n if (this.isFirstSlideWithZoomAnimation()) {\n setTimeout(function () {\n $currentSlide.removeClass('lg-start-end-progress lg-start-progress').removeAttr('style');\n }, this.settings.startAnimationDuration + 100);\n\n if (!$currentSlide.hasClass('lg-loaded')) {\n setTimeout(function () {\n if (_this.getSlideType(currentGalleryItem) === 'image') {\n var alt = currentGalleryItem.alt;\n var altAttr = alt ? 'alt=\"' + alt + '\"' : '';\n $currentSlide.find('.lg-img-wrap').append(utils.getImgMarkup(index, src, altAttr, srcset, sizes, currentGalleryItem.sources));\n\n if (srcset || sources) {\n var $img = $currentSlide.find('.lg-object');\n\n _this.initPictureFill($img);\n }\n }\n\n if (_this.getSlideType(currentGalleryItem) === 'image' || _this.getSlideType(currentGalleryItem) === 'video' && poster) {\n _this.onLgObjectLoad($currentSlide, index, delay, _speed, true, false); // load remaining slides once the slide is completely loaded\n\n\n _this.onSlideObjectLoad($currentSlide, !!(videoInfo && videoInfo.html5 && !poster), function () {\n _this.loadContentOnFirstSlideLoad(index, $currentSlide, _speed);\n }, function () {\n _this.loadContentOnFirstSlideLoad(index, $currentSlide, _speed);\n });\n }\n }, this.settings.startAnimationDuration + 100);\n }\n } // SLide content has been added to dom\n\n\n $currentSlide.addClass('lg-loaded');\n\n if (!this.isFirstSlideWithZoomAnimation() || this.getSlideType(currentGalleryItem) === 'video' && !poster) {\n this.onLgObjectLoad($currentSlide, index, delay, _speed, isFirstSlide, !!(videoInfo && videoInfo.html5 && !poster));\n } // When gallery is opened once content is loaded (second time) need to add lg-complete class for css styling\n\n\n if ((!this.zoomFromOrigin || !this.currentImageSize) && $currentSlide.hasClass('lg-complete_') && !this.lGalleryOn) {\n setTimeout(function () {\n $currentSlide.addClass('lg-complete');\n }, this.settings.backdropDuration);\n } // Content loaded\n // Need to set lGalleryOn before calling preload function\n\n\n this.lGalleryOn = true;\n\n if (rec === true) {\n if (!$currentSlide.hasClass('lg-complete_')) {\n $currentSlide.find('.lg-object').first().on('load.lg error.lg', function () {\n _this.preload(index);\n });\n } else {\n this.preload(index);\n }\n }\n };\n /**\r\n * @desc Remove dummy image content and load next slides\r\n * Called only for the first time if zoomFromOrigin animation is enabled\r\n * @param index\r\n * @param $currentSlide\r\n * @param speed\r\n */\n\n\n LightGallery.prototype.loadContentOnFirstSlideLoad = function (index, $currentSlide, speed) {\n var _this = this;\n\n setTimeout(function () {\n $currentSlide.find('.lg-dummy-img').remove();\n $currentSlide.removeClass('lg-first-slide');\n\n _this.outer.removeClass('lg-first-slide-loading');\n\n _this.isDummyImageRemoved = true;\n\n _this.preload(index);\n }, speed + 300);\n };\n\n LightGallery.prototype.getItemsToBeInsertedToDom = function (index, prevIndex, numberOfItems) {\n var _this = this;\n\n if (numberOfItems === void 0) {\n numberOfItems = 0;\n }\n\n var itemsToBeInsertedToDom = []; // Minimum 2 items should be there\n\n var possibleNumberOfItems = Math.max(numberOfItems, 3);\n possibleNumberOfItems = Math.min(possibleNumberOfItems, this.galleryItems.length);\n var prevIndexItem = \"lg-item-\" + this.lgId + \"-\" + prevIndex;\n\n if (this.galleryItems.length <= 3) {\n this.galleryItems.forEach(function (_element, index) {\n itemsToBeInsertedToDom.push(\"lg-item-\" + _this.lgId + \"-\" + index);\n });\n return itemsToBeInsertedToDom;\n }\n\n if (index < (this.galleryItems.length - 1) / 2) {\n for (var idx = index; idx > index - possibleNumberOfItems / 2 && idx >= 0; idx--) {\n itemsToBeInsertedToDom.push(\"lg-item-\" + this.lgId + \"-\" + idx);\n }\n\n var numberOfExistingItems = itemsToBeInsertedToDom.length;\n\n for (var idx = 0; idx < possibleNumberOfItems - numberOfExistingItems; idx++) {\n itemsToBeInsertedToDom.push(\"lg-item-\" + this.lgId + \"-\" + (index + idx + 1));\n }\n } else {\n for (var idx = index; idx <= this.galleryItems.length - 1 && idx < index + possibleNumberOfItems / 2; idx++) {\n itemsToBeInsertedToDom.push(\"lg-item-\" + this.lgId + \"-\" + idx);\n }\n\n var numberOfExistingItems = itemsToBeInsertedToDom.length;\n\n for (var idx = 0; idx < possibleNumberOfItems - numberOfExistingItems; idx++) {\n itemsToBeInsertedToDom.push(\"lg-item-\" + this.lgId + \"-\" + (index - idx - 1));\n }\n }\n\n if (this.settings.loop) {\n if (index === this.galleryItems.length - 1) {\n itemsToBeInsertedToDom.push(\"lg-item-\" + this.lgId + \"-\" + 0);\n } else if (index === 0) {\n itemsToBeInsertedToDom.push(\"lg-item-\" + this.lgId + \"-\" + (this.galleryItems.length - 1));\n }\n }\n\n if (itemsToBeInsertedToDom.indexOf(prevIndexItem) === -1) {\n itemsToBeInsertedToDom.push(\"lg-item-\" + this.lgId + \"-\" + prevIndex);\n }\n\n return itemsToBeInsertedToDom;\n };\n\n LightGallery.prototype.organizeSlideItems = function (index, prevIndex) {\n var _this = this;\n\n var itemsToBeInsertedToDom = this.getItemsToBeInsertedToDom(index, prevIndex, this.settings.numberOfSlideItemsInDom);\n itemsToBeInsertedToDom.forEach(function (item) {\n if (_this.currentItemsInDom.indexOf(item) === -1) {\n _this.$inner.append(\"
\");\n }\n });\n this.currentItemsInDom.forEach(function (item) {\n if (itemsToBeInsertedToDom.indexOf(item) === -1) {\n $LG(\"#\" + item).remove();\n }\n });\n return itemsToBeInsertedToDom;\n };\n /**\r\n * Get previous index of the slide\r\n */\n\n\n LightGallery.prototype.getPreviousSlideIndex = function () {\n var prevIndex = 0;\n\n try {\n var currentItemId = this.outer.find('.lg-current').first().attr('id');\n prevIndex = parseInt(currentItemId.split('-')[3]) || 0;\n } catch (error) {\n prevIndex = 0;\n }\n\n return prevIndex;\n };\n\n LightGallery.prototype.setDownloadValue = function (index) {\n if (this.settings.download) {\n var currentGalleryItem = this.galleryItems[index];\n var hideDownloadBtn = currentGalleryItem.downloadUrl === false || currentGalleryItem.downloadUrl === 'false';\n\n if (hideDownloadBtn) {\n this.outer.addClass('lg-hide-download');\n } else {\n var $download = this.getElementById('lg-download');\n this.outer.removeClass('lg-hide-download');\n $download.attr('href', currentGalleryItem.downloadUrl || currentGalleryItem.src);\n\n if (currentGalleryItem.download) {\n $download.attr('download', currentGalleryItem.download);\n }\n }\n }\n };\n\n LightGallery.prototype.makeSlideAnimation = function (direction, currentSlideItem, previousSlideItem) {\n var _this = this;\n\n if (this.lGalleryOn) {\n previousSlideItem.addClass('lg-slide-progress');\n }\n\n setTimeout(function () {\n // remove all transitions\n _this.outer.addClass('lg-no-trans');\n\n _this.outer.find('.lg-item').removeClass('lg-prev-slide lg-next-slide');\n\n if (direction === 'prev') {\n //prevslide\n currentSlideItem.addClass('lg-prev-slide');\n previousSlideItem.addClass('lg-next-slide');\n } else {\n // next slide\n currentSlideItem.addClass('lg-next-slide');\n previousSlideItem.addClass('lg-prev-slide');\n } // give 50 ms for browser to add/remove class\n\n\n setTimeout(function () {\n _this.outer.find('.lg-item').removeClass('lg-current');\n\n currentSlideItem.addClass('lg-current'); // reset all transitions\n\n _this.outer.removeClass('lg-no-trans');\n }, 50);\n }, this.lGalleryOn ? this.settings.slideDelay : 0);\n };\n /**\r\n * Goto a specific slide.\r\n * @param {Number} index - index of the slide\r\n * @param {Boolean} fromTouch - true if slide function called via touch event or mouse drag\r\n * @param {Boolean} fromThumb - true if slide function called via thumbnail click\r\n * @param {String} direction - Direction of the slide(next/prev)\r\n * @category lGPublicMethods\r\n * @example\r\n * const plugin = lightGallery();\r\n * // to go to 3rd slide\r\n * plugin.slide(2);\r\n *\r\n */\n\n\n LightGallery.prototype.slide = function (index, fromTouch, fromThumb, direction) {\n var _this = this;\n\n var prevIndex = this.getPreviousSlideIndex();\n this.currentItemsInDom = this.organizeSlideItems(index, prevIndex); // Prevent multiple call, Required for hsh plugin\n\n if (this.lGalleryOn && prevIndex === index) {\n return;\n }\n\n var numberOfGalleryItems = this.galleryItems.length;\n\n if (!this.lgBusy) {\n if (this.settings.counter) {\n this.updateCurrentCounter(index);\n }\n\n var currentSlideItem = this.getSlideItem(index);\n var previousSlideItem_1 = this.getSlideItem(prevIndex);\n var currentGalleryItem = this.galleryItems[index];\n var videoInfo = currentGalleryItem.__slideVideoInfo;\n this.outer.attr('data-lg-slide-type', this.getSlideType(currentGalleryItem));\n this.setDownloadValue(index);\n\n if (videoInfo) {\n var _a = this.mediaContainerPosition,\n top_3 = _a.top,\n bottom = _a.bottom;\n var videoSize = utils.getSize(this.items[index], this.outer, top_3 + bottom, videoInfo && this.settings.videoMaxSize);\n this.resizeVideoSlide(index, videoSize);\n }\n\n this.LGel.trigger(lGEvents.beforeSlide, {\n prevIndex: prevIndex,\n index: index,\n fromTouch: !!fromTouch,\n fromThumb: !!fromThumb\n });\n this.lgBusy = true;\n clearTimeout(this.hideBarTimeout);\n this.arrowDisable(index);\n\n if (!direction) {\n if (index < prevIndex) {\n direction = 'prev';\n } else if (index > prevIndex) {\n direction = 'next';\n }\n }\n\n if (!fromTouch) {\n this.makeSlideAnimation(direction, currentSlideItem, previousSlideItem_1);\n } else {\n this.outer.find('.lg-item').removeClass('lg-prev-slide lg-current lg-next-slide');\n var touchPrev = void 0;\n var touchNext = void 0;\n\n if (numberOfGalleryItems > 2) {\n touchPrev = index - 1;\n touchNext = index + 1;\n\n if (index === 0 && prevIndex === numberOfGalleryItems - 1) {\n // next slide\n touchNext = 0;\n touchPrev = numberOfGalleryItems - 1;\n } else if (index === numberOfGalleryItems - 1 && prevIndex === 0) {\n // prev slide\n touchNext = 0;\n touchPrev = numberOfGalleryItems - 1;\n }\n } else {\n touchPrev = 0;\n touchNext = 1;\n }\n\n if (direction === 'prev') {\n this.getSlideItem(touchNext).addClass('lg-next-slide');\n } else {\n this.getSlideItem(touchPrev).addClass('lg-prev-slide');\n }\n\n currentSlideItem.addClass('lg-current');\n } // Do not put load content in set timeout as it needs to load immediately when the gallery is opened\n\n\n if (!this.lGalleryOn) {\n this.loadContent(index, true);\n } else {\n setTimeout(function () {\n _this.loadContent(index, true); // Add title if this.settings.appendSubHtmlTo === lg-sub-html\n\n\n if (_this.settings.appendSubHtmlTo !== '.lg-item') {\n _this.addHtml(index);\n }\n }, this.settings.speed + 50 + (fromTouch ? 0 : this.settings.slideDelay));\n }\n\n setTimeout(function () {\n _this.lgBusy = false;\n previousSlideItem_1.removeClass('lg-slide-progress');\n\n _this.LGel.trigger(lGEvents.afterSlide, {\n prevIndex: prevIndex,\n index: index,\n fromTouch: fromTouch,\n fromThumb: fromThumb\n });\n }, (this.lGalleryOn ? this.settings.speed + 100 : 100) + (fromTouch ? 0 : this.settings.slideDelay));\n }\n\n this.index = index;\n };\n\n LightGallery.prototype.updateCurrentCounter = function (index) {\n this.getElementById('lg-counter-current').html(index + 1 + '');\n };\n\n LightGallery.prototype.updateCounterTotal = function () {\n this.getElementById('lg-counter-all').html(this.galleryItems.length + '');\n };\n\n LightGallery.prototype.getSlideType = function (item) {\n if (item.__slideVideoInfo) {\n return 'video';\n } else if (item.iframe) {\n return 'iframe';\n } else {\n return 'image';\n }\n };\n\n LightGallery.prototype.touchMove = function (startCoords, endCoords, e) {\n var distanceX = endCoords.pageX - startCoords.pageX;\n var distanceY = endCoords.pageY - startCoords.pageY;\n var allowSwipe = false;\n\n if (this.swipeDirection) {\n allowSwipe = true;\n } else {\n if (Math.abs(distanceX) > 15) {\n this.swipeDirection = 'horizontal';\n allowSwipe = true;\n } else if (Math.abs(distanceY) > 15) {\n this.swipeDirection = 'vertical';\n allowSwipe = true;\n }\n }\n\n if (!allowSwipe) {\n return;\n }\n\n var $currentSlide = this.getSlideItem(this.index);\n\n if (this.swipeDirection === 'horizontal') {\n e === null || e === void 0 ? void 0 : e.preventDefault(); // reset opacity and transition duration\n\n this.outer.addClass('lg-dragging'); // move current slide\n\n this.setTranslate($currentSlide, distanceX, 0); // move next and prev slide with current slide\n\n var width = $currentSlide.get().offsetWidth;\n var slideWidthAmount = width * 15 / 100;\n var gutter = slideWidthAmount - Math.abs(distanceX * 10 / 100);\n this.setTranslate(this.outer.find('.lg-prev-slide').first(), -width + distanceX - gutter, 0);\n this.setTranslate(this.outer.find('.lg-next-slide').first(), width + distanceX + gutter, 0);\n } else if (this.swipeDirection === 'vertical') {\n if (this.settings.swipeToClose) {\n e === null || e === void 0 ? void 0 : e.preventDefault();\n this.$container.addClass('lg-dragging-vertical');\n var opacity = 1 - Math.abs(distanceY) / window.innerHeight;\n this.$backdrop.css('opacity', opacity);\n var scale = 1 - Math.abs(distanceY) / (window.innerWidth * 2);\n this.setTranslate($currentSlide, 0, distanceY, scale, scale);\n\n if (Math.abs(distanceY) > 100) {\n this.outer.addClass('lg-hide-items').removeClass('lg-components-open');\n }\n }\n }\n };\n\n LightGallery.prototype.touchEnd = function (endCoords, startCoords, event) {\n var _this = this;\n\n var distance; // keep slide animation for any mode while dragg/swipe\n\n if (this.settings.mode !== 'lg-slide') {\n this.outer.addClass('lg-slide');\n } // set transition duration\n\n\n setTimeout(function () {\n _this.$container.removeClass('lg-dragging-vertical');\n\n _this.outer.removeClass('lg-dragging lg-hide-items').addClass('lg-components-open');\n\n var triggerClick = true;\n\n if (_this.swipeDirection === 'horizontal') {\n distance = endCoords.pageX - startCoords.pageX;\n var distanceAbs = Math.abs(endCoords.pageX - startCoords.pageX);\n\n if (distance < 0 && distanceAbs > _this.settings.swipeThreshold) {\n _this.goToNextSlide(true);\n\n triggerClick = false;\n } else if (distance > 0 && distanceAbs > _this.settings.swipeThreshold) {\n _this.goToPrevSlide(true);\n\n triggerClick = false;\n }\n } else if (_this.swipeDirection === 'vertical') {\n distance = Math.abs(endCoords.pageY - startCoords.pageY);\n\n if (_this.settings.closable && _this.settings.swipeToClose && distance > 100) {\n _this.closeGallery();\n\n return;\n } else {\n _this.$backdrop.css('opacity', 1);\n }\n }\n\n _this.outer.find('.lg-item').removeAttr('style');\n\n if (triggerClick && Math.abs(endCoords.pageX - startCoords.pageX) < 5) {\n // Trigger click if distance is less than 5 pix\n var target = $LG(event.target);\n\n if (_this.isPosterElement(target)) {\n _this.LGel.trigger(lGEvents.posterClick);\n }\n }\n\n _this.swipeDirection = undefined;\n }); // remove slide class once drag/swipe is completed if mode is not slide\n\n setTimeout(function () {\n if (!_this.outer.hasClass('lg-dragging') && _this.settings.mode !== 'lg-slide') {\n _this.outer.removeClass('lg-slide');\n }\n }, this.settings.speed + 100);\n };\n\n LightGallery.prototype.enableSwipe = function () {\n var _this = this;\n\n var startCoords = {};\n var endCoords = {};\n var isMoved = false;\n var isSwiping = false;\n\n if (this.settings.enableSwipe) {\n this.$inner.on('touchstart.lg', function (e) {\n _this.dragOrSwipeEnabled = true;\n\n var $item = _this.getSlideItem(_this.index);\n\n if (($LG(e.target).hasClass('lg-item') || $item.get().contains(e.target)) && !_this.outer.hasClass('lg-zoomed') && !_this.lgBusy && e.touches.length === 1) {\n isSwiping = true;\n _this.touchAction = 'swipe';\n\n _this.manageSwipeClass();\n\n startCoords = {\n pageX: e.touches[0].pageX,\n pageY: e.touches[0].pageY\n };\n }\n });\n this.$inner.on('touchmove.lg', function (e) {\n if (isSwiping && _this.touchAction === 'swipe' && e.touches.length === 1) {\n endCoords = {\n pageX: e.touches[0].pageX,\n pageY: e.touches[0].pageY\n };\n\n _this.touchMove(startCoords, endCoords, e);\n\n isMoved = true;\n }\n });\n this.$inner.on('touchend.lg', function (event) {\n if (_this.touchAction === 'swipe') {\n if (isMoved) {\n isMoved = false;\n\n _this.touchEnd(endCoords, startCoords, event);\n } else if (isSwiping) {\n var target = $LG(event.target);\n\n if (_this.isPosterElement(target)) {\n _this.LGel.trigger(lGEvents.posterClick);\n }\n }\n\n _this.touchAction = undefined;\n isSwiping = false;\n }\n });\n }\n };\n\n LightGallery.prototype.enableDrag = function () {\n var _this = this;\n\n var startCoords = {};\n var endCoords = {};\n var isDraging = false;\n var isMoved = false;\n\n if (this.settings.enableDrag) {\n this.outer.on('mousedown.lg', function (e) {\n _this.dragOrSwipeEnabled = true;\n\n var $item = _this.getSlideItem(_this.index);\n\n if ($LG(e.target).hasClass('lg-item') || $item.get().contains(e.target)) {\n if (!_this.outer.hasClass('lg-zoomed') && !_this.lgBusy) {\n e.preventDefault();\n\n if (!_this.lgBusy) {\n _this.manageSwipeClass();\n\n startCoords = {\n pageX: e.pageX,\n pageY: e.pageY\n };\n isDraging = true; // ** Fix for webkit cursor issue https://code.google.com/p/chromium/issues/detail?id=26723\n\n _this.outer.get().scrollLeft += 1;\n _this.outer.get().scrollLeft -= 1; // *\n\n _this.outer.removeClass('lg-grab').addClass('lg-grabbing');\n\n _this.LGel.trigger(lGEvents.dragStart);\n }\n }\n }\n });\n $LG(window).on(\"mousemove.lg.global\" + this.lgId, function (e) {\n if (isDraging && _this.lgOpened) {\n isMoved = true;\n endCoords = {\n pageX: e.pageX,\n pageY: e.pageY\n };\n\n _this.touchMove(startCoords, endCoords);\n\n _this.LGel.trigger(lGEvents.dragMove);\n }\n });\n $LG(window).on(\"mouseup.lg.global\" + this.lgId, function (event) {\n if (!_this.lgOpened) {\n return;\n }\n\n var target = $LG(event.target);\n\n if (isMoved) {\n isMoved = false;\n\n _this.touchEnd(endCoords, startCoords, event);\n\n _this.LGel.trigger(lGEvents.dragEnd);\n } else if (_this.isPosterElement(target)) {\n _this.LGel.trigger(lGEvents.posterClick);\n } // Prevent execution on click\n\n\n if (isDraging) {\n isDraging = false;\n\n _this.outer.removeClass('lg-grabbing').addClass('lg-grab');\n }\n });\n }\n };\n\n LightGallery.prototype.triggerPosterClick = function () {\n var _this = this;\n\n this.$inner.on('click.lg', function (event) {\n if (!_this.dragOrSwipeEnabled && _this.isPosterElement($LG(event.target))) {\n _this.LGel.trigger(lGEvents.posterClick);\n }\n });\n };\n\n LightGallery.prototype.manageSwipeClass = function () {\n var _touchNext = this.index + 1;\n\n var _touchPrev = this.index - 1;\n\n if (this.settings.loop && this.galleryItems.length > 2) {\n if (this.index === 0) {\n _touchPrev = this.galleryItems.length - 1;\n } else if (this.index === this.galleryItems.length - 1) {\n _touchNext = 0;\n }\n }\n\n this.outer.find('.lg-item').removeClass('lg-next-slide lg-prev-slide');\n\n if (_touchPrev > -1) {\n this.getSlideItem(_touchPrev).addClass('lg-prev-slide');\n }\n\n this.getSlideItem(_touchNext).addClass('lg-next-slide');\n };\n /**\r\n * Go to next slide\r\n * @param {Boolean} fromTouch - true if slide function called via touch event\r\n * @category lGPublicMethods\r\n * @example\r\n * const plugin = lightGallery();\r\n * plugin.goToNextSlide();\r\n * @see
Demo \r\n */\n\n\n LightGallery.prototype.goToNextSlide = function (fromTouch) {\n var _this = this;\n\n var _loop = this.settings.loop;\n\n if (fromTouch && this.galleryItems.length < 3) {\n _loop = false;\n }\n\n if (!this.lgBusy) {\n if (this.index + 1 < this.galleryItems.length) {\n this.index++;\n this.LGel.trigger(lGEvents.beforeNextSlide, {\n index: this.index\n });\n this.slide(this.index, !!fromTouch, false, 'next');\n } else {\n if (_loop) {\n this.index = 0;\n this.LGel.trigger(lGEvents.beforeNextSlide, {\n index: this.index\n });\n this.slide(this.index, !!fromTouch, false, 'next');\n } else if (this.settings.slideEndAnimation && !fromTouch) {\n this.outer.addClass('lg-right-end');\n setTimeout(function () {\n _this.outer.removeClass('lg-right-end');\n }, 400);\n }\n }\n }\n };\n /**\r\n * Go to previous slides\r\n * @param {Boolean} fromTouch - true if slide function called via touch event\r\n * @category lGPublicMethods\r\n * @example\r\n * const plugin = lightGallery({});\r\n * plugin.goToPrevSlide();\r\n * @see
Demo \r\n *\r\n */\n\n\n LightGallery.prototype.goToPrevSlide = function (fromTouch) {\n var _this = this;\n\n var _loop = this.settings.loop;\n\n if (fromTouch && this.galleryItems.length < 3) {\n _loop = false;\n }\n\n if (!this.lgBusy) {\n if (this.index > 0) {\n this.index--;\n this.LGel.trigger(lGEvents.beforePrevSlide, {\n index: this.index,\n fromTouch: fromTouch\n });\n this.slide(this.index, !!fromTouch, false, 'prev');\n } else {\n if (_loop) {\n this.index = this.galleryItems.length - 1;\n this.LGel.trigger(lGEvents.beforePrevSlide, {\n index: this.index,\n fromTouch: fromTouch\n });\n this.slide(this.index, !!fromTouch, false, 'prev');\n } else if (this.settings.slideEndAnimation && !fromTouch) {\n this.outer.addClass('lg-left-end');\n setTimeout(function () {\n _this.outer.removeClass('lg-left-end');\n }, 400);\n }\n }\n }\n };\n\n LightGallery.prototype.keyPress = function () {\n var _this = this;\n\n $LG(window).on(\"keydown.lg.global\" + this.lgId, function (e) {\n if (_this.lgOpened && _this.settings.escKey === true && e.keyCode === 27) {\n e.preventDefault();\n\n if (_this.settings.allowMediaOverlap && _this.outer.hasClass('lg-can-toggle') && _this.outer.hasClass('lg-components-open')) {\n _this.outer.removeClass('lg-components-open');\n } else {\n _this.closeGallery();\n }\n }\n\n if (_this.lgOpened && _this.galleryItems.length > 1) {\n if (e.keyCode === 37) {\n e.preventDefault();\n\n _this.goToPrevSlide();\n }\n\n if (e.keyCode === 39) {\n e.preventDefault();\n\n _this.goToNextSlide();\n }\n }\n });\n };\n\n LightGallery.prototype.arrow = function () {\n var _this = this;\n\n this.getElementById('lg-prev').on('click.lg', function () {\n _this.goToPrevSlide();\n });\n this.getElementById('lg-next').on('click.lg', function () {\n _this.goToNextSlide();\n });\n };\n\n LightGallery.prototype.arrowDisable = function (index) {\n // Disable arrows if settings.hideControlOnEnd is true\n if (!this.settings.loop && this.settings.hideControlOnEnd) {\n var $prev = this.getElementById('lg-prev');\n var $next = this.getElementById('lg-next');\n\n if (index + 1 === this.galleryItems.length) {\n $next.attr('disabled', 'disabled').addClass('disabled');\n } else {\n $next.removeAttr('disabled').removeClass('disabled');\n }\n\n if (index === 0) {\n $prev.attr('disabled', 'disabled').addClass('disabled');\n } else {\n $prev.removeAttr('disabled').removeClass('disabled');\n }\n }\n };\n\n LightGallery.prototype.setTranslate = function ($el, xValue, yValue, scaleX, scaleY) {\n if (scaleX === void 0) {\n scaleX = 1;\n }\n\n if (scaleY === void 0) {\n scaleY = 1;\n }\n\n $el.css('transform', 'translate3d(' + xValue + 'px, ' + yValue + 'px, 0px) scale3d(' + scaleX + ', ' + scaleY + ', 1)');\n };\n\n LightGallery.prototype.mousewheel = function () {\n var _this = this;\n\n var lastCall = 0;\n this.outer.on('wheel.lg', function (e) {\n if (!e.deltaY || _this.galleryItems.length < 2) {\n return;\n }\n\n e.preventDefault();\n var now = new Date().getTime();\n\n if (now - lastCall < 1000) {\n return;\n }\n\n lastCall = now;\n\n if (e.deltaY > 0) {\n _this.goToNextSlide();\n } else if (e.deltaY < 0) {\n _this.goToPrevSlide();\n }\n });\n };\n\n LightGallery.prototype.isSlideElement = function (target) {\n return target.hasClass('lg-outer') || target.hasClass('lg-item') || target.hasClass('lg-img-wrap') || target.hasClass('lg-img-rotate');\n };\n\n LightGallery.prototype.isPosterElement = function (target) {\n var playButton = this.getSlideItem(this.index).find('.lg-video-play-button').get();\n return target.hasClass('lg-video-poster') || target.hasClass('lg-video-play-button') || playButton && playButton.contains(target.get());\n };\n /**\r\n * Maximize minimize inline gallery.\r\n * @category lGPublicMethods\r\n */\n\n\n LightGallery.prototype.toggleMaximize = function () {\n var _this = this;\n\n this.getElementById('lg-maximize').on('click.lg', function () {\n _this.$container.toggleClass('lg-inline');\n\n _this.refreshOnResize();\n });\n };\n\n LightGallery.prototype.invalidateItems = function () {\n for (var index = 0; index < this.items.length; index++) {\n var element = this.items[index];\n var $element = $LG(element);\n $element.off(\"click.lgcustom-item-\" + $element.attr('data-lg-id'));\n }\n };\n\n LightGallery.prototype.trapFocus = function () {\n var _this = this;\n\n this.$container.get().focus({\n preventScroll: true\n });\n $LG(window).on(\"keydown.lg.global\" + this.lgId, function (e) {\n if (!_this.lgOpened) {\n return;\n }\n\n var isTabPressed = e.key === 'Tab' || e.keyCode === 9;\n\n if (!isTabPressed) {\n return;\n }\n\n var focusableEls = utils.getFocusableElements(_this.$container.get());\n var firstFocusableEl = focusableEls[0];\n var lastFocusableEl = focusableEls[focusableEls.length - 1];\n\n if (e.shiftKey) {\n if (document.activeElement === firstFocusableEl) {\n lastFocusableEl.focus();\n e.preventDefault();\n }\n } else {\n if (document.activeElement === lastFocusableEl) {\n firstFocusableEl.focus();\n e.preventDefault();\n }\n }\n });\n };\n\n LightGallery.prototype.manageCloseGallery = function () {\n var _this = this;\n\n if (!this.settings.closable) return;\n var mousedown = false;\n this.getElementById('lg-close').on('click.lg', function () {\n _this.closeGallery();\n });\n\n if (this.settings.closeOnTap) {\n // If you drag the slide and release outside gallery gets close on chrome\n // for preventing this check mousedown and mouseup happened on .lg-item or lg-outer\n this.outer.on('mousedown.lg', function (e) {\n var target = $LG(e.target);\n\n if (_this.isSlideElement(target)) {\n mousedown = true;\n } else {\n mousedown = false;\n }\n });\n this.outer.on('mousemove.lg', function () {\n mousedown = false;\n });\n this.outer.on('mouseup.lg', function (e) {\n var target = $LG(e.target);\n\n if (_this.isSlideElement(target) && mousedown) {\n if (!_this.outer.hasClass('lg-dragging')) {\n _this.closeGallery();\n }\n }\n });\n }\n };\n /**\r\n * Close lightGallery if it is opened.\r\n *\r\n * @description If closable is false in the settings, you need to pass true via closeGallery method to force close gallery\r\n * @return returns the estimated time to close gallery completely including the close animation duration\r\n * @category lGPublicMethods\r\n * @example\r\n * const plugin = lightGallery();\r\n * plugin.closeGallery();\r\n *\r\n */\n\n\n LightGallery.prototype.closeGallery = function (force) {\n var _this = this;\n\n if (!this.lgOpened || !this.settings.closable && !force) {\n return 0;\n }\n\n this.LGel.trigger(lGEvents.beforeClose);\n\n if (this.settings.resetScrollPosition && !this.settings.hideScrollbar) {\n $LG(window).scrollTop(this.prevScrollTop);\n }\n\n var currentItem = this.items[this.index];\n var transform;\n\n if (this.zoomFromOrigin && currentItem) {\n var _a = this.mediaContainerPosition,\n top_4 = _a.top,\n bottom = _a.bottom;\n var _b = this.galleryItems[this.index],\n __slideVideoInfo = _b.__slideVideoInfo,\n poster = _b.poster;\n var imageSize = utils.getSize(currentItem, this.outer, top_4 + bottom, __slideVideoInfo && poster && this.settings.videoMaxSize);\n transform = utils.getTransform(currentItem, this.outer, top_4, bottom, imageSize);\n }\n\n if (this.zoomFromOrigin && transform) {\n this.outer.addClass('lg-closing lg-zoom-from-image');\n this.getSlideItem(this.index).addClass('lg-start-end-progress').css('transition-duration', this.settings.startAnimationDuration + 'ms').css('transform', transform);\n } else {\n this.outer.addClass('lg-hide-items'); // lg-zoom-from-image is used for setting the opacity to 1 if zoomFromOrigin is true\n // If the closing item doesn't have the lg-size attribute, remove this class to avoid the closing css conflicts\n\n this.outer.removeClass('lg-zoom-from-image');\n } // Unbind all events added by lightGallery\n // @todo\n //this.$el.off('.lg.tm');\n\n\n this.destroyModules();\n this.lGalleryOn = false;\n this.isDummyImageRemoved = false;\n this.zoomFromOrigin = this.settings.zoomFromOrigin;\n clearTimeout(this.hideBarTimeout);\n this.hideBarTimeout = false;\n $LG('html').removeClass('lg-on');\n this.outer.removeClass('lg-visible lg-components-open'); // Resetting opacity to 0 isd required as vertical swipe to close function adds inline opacity.\n\n this.$backdrop.removeClass('in').css('opacity', 0);\n var removeTimeout = this.zoomFromOrigin && transform ? Math.max(this.settings.startAnimationDuration, this.settings.backdropDuration) : this.settings.backdropDuration;\n this.$container.removeClass('lg-show-in'); // Once the closign animation is completed and gallery is invisible\n\n setTimeout(function () {\n if (_this.zoomFromOrigin && transform) {\n _this.outer.removeClass('lg-zoom-from-image');\n }\n\n _this.$container.removeClass('lg-show'); // Reset scrollbar\n\n\n _this.resetScrollBar(); // Need to remove inline opacity as it is used in the stylesheet as well\n\n\n _this.$backdrop.removeAttr('style').css('transition-duration', _this.settings.backdropDuration + 'ms');\n\n _this.outer.removeClass(\"lg-closing \" + _this.settings.startClass);\n\n _this.getSlideItem(_this.index).removeClass('lg-start-end-progress');\n\n _this.$inner.empty();\n\n if (_this.lgOpened) {\n _this.LGel.trigger(lGEvents.afterClose, {\n instance: _this\n });\n }\n\n if (_this.$container.get()) {\n _this.$container.get().blur();\n }\n\n _this.lgOpened = false;\n }, removeTimeout + 100);\n return removeTimeout + 100;\n };\n\n LightGallery.prototype.initModules = function () {\n this.plugins.forEach(function (module) {\n try {\n module.init();\n } catch (err) {\n console.warn(\"lightGallery:- make sure lightGallery module is properly initiated\");\n }\n });\n };\n\n LightGallery.prototype.destroyModules = function (destroy) {\n this.plugins.forEach(function (module) {\n try {\n if (destroy) {\n module.destroy();\n } else {\n module.closeGallery && module.closeGallery();\n }\n } catch (err) {\n console.warn(\"lightGallery:- make sure lightGallery module is properly destroyed\");\n }\n });\n };\n /**\r\n * Refresh lightGallery with new set of children.\r\n *\r\n * @description This is useful to update the gallery when the child elements are changed without calling destroy method.\r\n *\r\n * If you are using dynamic mode, you can pass the modified array of dynamicEl as the first parameter to refresh the dynamic gallery\r\n * @see
Demo \r\n * @category lGPublicMethods\r\n * @example\r\n * const plugin = lightGallery();\r\n * // Delete or add children, then call\r\n * plugin.refresh();\r\n *\r\n */\n\n\n LightGallery.prototype.refresh = function (galleryItems) {\n if (!this.settings.dynamic) {\n this.invalidateItems();\n }\n\n if (galleryItems) {\n this.galleryItems = galleryItems;\n } else {\n this.galleryItems = this.getItems();\n }\n\n this.updateControls();\n this.openGalleryOnItemClick();\n this.LGel.trigger(lGEvents.updateSlides);\n };\n\n LightGallery.prototype.updateControls = function () {\n this.addSlideVideoInfo(this.galleryItems);\n this.updateCounterTotal();\n this.manageSingleSlideClassName();\n };\n\n LightGallery.prototype.destroyGallery = function () {\n this.destroyModules(true);\n\n if (!this.settings.dynamic) {\n this.invalidateItems();\n }\n\n $LG(window).off(\".lg.global\" + this.lgId);\n this.LGel.off('.lg');\n this.$container.remove();\n };\n /**\r\n * Destroy lightGallery.\r\n * Destroy lightGallery and its plugin instances completely\r\n *\r\n * @description This method also calls CloseGallery function internally. Returns the time takes to completely close and destroy the instance.\r\n * In case if you want to re-initialize lightGallery right after destroying it, initialize it only once the destroy process is completed.\r\n * You can use refresh method most of the times.\r\n * @category lGPublicMethods\r\n * @example\r\n * const plugin = lightGallery();\r\n * plugin.destroy();\r\n *\r\n */\n\n\n LightGallery.prototype.destroy = function () {\n var closeTimeout = this.closeGallery(true);\n\n if (closeTimeout) {\n setTimeout(this.destroyGallery.bind(this), closeTimeout);\n } else {\n this.destroyGallery();\n }\n\n return closeTimeout;\n };\n\n return LightGallery;\n}();\n\nfunction lightGallery(el, options) {\n return new LightGallery(el, options);\n}\n\nexport default lightGallery;","import { Controller } from \"stimulus\"\nimport lightGallery from \"lightgallery\"\n\nexport default class Lightbox extends Controller {\n \n static values = {\n options: Object,\n }\n\n connect() {\n this.lightGallery = lightGallery(this.element, {\n ...this.defaultOptions,\n ...this.optionsValue,\n })\n\n this.element.addEventListener(\"lgAfterClose\", () => {\n this.element.querySelector(\"img.border-4\").classList.remove(\"border-4\")\n });\n }\n\n disconnect() {\n this.lightGallery.destroy()\n }\n\n selectImage(e) {\n e.target.classList.add(\"border-4\", \"border-green-300\")\n console.log(\"Test\");\n }\n\n get defaultOptions() {\n return {\n download: false,\n }\n }\n}","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar t,\n e = require(\"stimulus\"),\n s = (t = require(\"lodash.debounce\")) && \"object\" == _typeof(t) && \"default\" in t ? t.default : t,\n n = function (t) {\n function e() {\n for (var e = [], s = arguments.length; s--;) {\n e[s] = arguments[s];\n }\n\n t.apply(this, e), this.extractTextValue = function (t) {\n return t.hasAttribute(\"data-autocomplete-label\") ? t.getAttribute(\"data-autocomplete-label\") : t.textContent.trim();\n };\n }\n\n return t && (e.__proto__ = t), (e.prototype = Object.create(t && t.prototype)).constructor = e, e.prototype.connect = function () {\n this.resultsTarget.hidden = !0, this.inputTarget.setAttribute(\"autocomplete\", \"off\"), this.inputTarget.setAttribute(\"spellcheck\", \"false\"), this.mouseDown = !1, this.onInputChange = s(this.onInputChange.bind(this), 300), this.onResultsClick = this.onResultsClick.bind(this), this.onResultsMouseDown = this.onResultsMouseDown.bind(this), this.onInputBlur = this.onInputBlur.bind(this), this.onKeydown = this.onKeydown.bind(this), this.inputTarget.addEventListener(\"keydown\", this.onKeydown), this.inputTarget.addEventListener(\"blur\", this.onInputBlur), this.inputTarget.addEventListener(\"input\", this.onInputChange), this.resultsTarget.addEventListener(\"mousedown\", this.onResultsMouseDown), this.resultsTarget.addEventListener(\"click\", this.onResultsClick), \"string\" == typeof this.inputTarget.getAttribute(\"autofocus\") && this.inputTarget.focus();\n }, e.prototype.disconnect = function () {\n this.hasInputTarget && (this.inputTarget.removeEventListener(\"keydown\", this.onKeydown), this.inputTarget.removeEventListener(\"focus\", this.onInputFocus), this.inputTarget.removeEventListener(\"blur\", this.onInputBlur), this.inputTarget.removeEventListener(\"input\", this.onInputChange)), this.hasResultsTarget && (this.resultsTarget.removeEventListener(\"mousedown\", this.onResultsMouseDown), this.resultsTarget.removeEventListener(\"click\", this.onResultsClick));\n }, e.prototype.sibling = function (t) {\n var e = Array.from(this.resultsTarget.querySelectorAll('[role=\"option\"]:not([aria-disabled])')),\n s = this.resultsTarget.querySelector('[aria-selected=\"true\"]'),\n n = e.indexOf(s),\n i = t ? e[n + 1] : e[n - 1];\n return i || (t ? e[0] : e[e.length - 1]);\n }, e.prototype.select = function (t) {\n for (var e = 0, s = this.resultsTarget.querySelectorAll('[aria-selected=\"true\"]'); e < s.length; e += 1) {\n var n = s[e];\n n.removeAttribute(\"aria-selected\"), n.classList.remove(\"active\");\n }\n\n t.setAttribute(\"aria-selected\", \"true\"), t.classList.add(\"active\"), this.inputTarget.setAttribute(\"aria-activedescendant\", t.id), this.scrollTo(this.resultsTarget, t);\n }, e.prototype.scrollTo = function (t, e) {\n var s = e.offsetTop - t.offsetTop,\n n = t.scrollTop,\n i = s + e.offsetHeight,\n r = n + t.offsetHeight;\n i > r ? t.scrollTop = n + i - r : s < n && (t.scrollTop = s);\n }, e.prototype.onKeydown = function (t) {\n switch (t.key) {\n case \"Escape\":\n this.resultsTarget.hidden || (this.hideAndRemoveOptions(), t.stopPropagation(), t.preventDefault());\n break;\n\n case \"ArrowDown\":\n var e = this.sibling(!0);\n e && this.select(e), t.preventDefault();\n break;\n\n case \"ArrowUp\":\n var s = this.sibling(!1);\n s && this.select(s), t.preventDefault();\n break;\n\n case \"Tab\":\n var n = this.resultsTarget.querySelector('[aria-selected=\"true\"]');\n n && this.commit(n);\n break;\n\n case \"Enter\":\n var i = this.resultsTarget.querySelector('[aria-selected=\"true\"]');\n i && !this.resultsTarget.hidden && (this.commit(i), this.hasSubmitOnEnterValue || t.preventDefault());\n }\n }, e.prototype.onInputBlur = function () {\n this.mouseDown || (this.resultsTarget.hidden = !0);\n }, e.prototype.commit = function (t) {\n if (\"true\" !== t.getAttribute(\"aria-disabled\")) {\n if (t instanceof HTMLAnchorElement) return t.click(), void (this.resultsTarget.hidden = !0);\n var e = this.extractTextValue(t),\n s = t.getAttribute(\"data-autocomplete-value\") || e;\n this.inputTarget.value = e, this.hasHiddenTarget ? (this.hiddenTarget.value = s, this.hiddenTarget.dispatchEvent(new Event(\"input\")), this.hiddenTarget.dispatchEvent(new Event(\"change\"))) : this.inputTarget.value = s, this.inputTarget.focus(), this.hideAndRemoveOptions(), this.element.dispatchEvent(new CustomEvent(\"autocomplete.change\", {\n bubbles: !0,\n detail: {\n value: s,\n textValue: e\n }\n }));\n }\n }, e.prototype.onResultsClick = function (t) {\n if (t.target instanceof Element) {\n var e = t.target.closest('[role=\"option\"]');\n e && this.commit(e);\n }\n }, e.prototype.onResultsMouseDown = function () {\n var t = this;\n this.mouseDown = !0, this.resultsTarget.addEventListener(\"mouseup\", function () {\n return t.mouseDown = !1;\n }, {\n once: !0\n });\n }, e.prototype.onInputChange = function () {\n this.element.removeAttribute(\"value\"), this.fetchResults();\n }, e.prototype.identifyOptions = function () {\n for (var t = 0, e = 0, s = this.resultsTarget.querySelectorAll('[role=\"option\"]:not([id])'); e < s.length; e += 1) {\n s[e].id = this.resultsTarget.id + \"-option-\" + t++;\n }\n }, e.prototype.hideAndRemoveOptions = function () {\n this.resultsTarget.hidden = !0, this.resultsTarget.innerHTML = null;\n }, e.prototype.fetchResults = function () {\n var t = this,\n e = this.inputTarget.value.trim();\n if (!e || e.length < this.minLengthValue) this.hideAndRemoveOptions();else if (this.hasUrlValue) {\n var s = new URL(this.urlValue, window.location.href),\n n = new URLSearchParams(s.search.slice(1));\n n.append(\"q\", e), s.search = n.toString(), this.element.dispatchEvent(new CustomEvent(\"loadstart\")), fetch(s.toString(), {\n headers: {\n \"X-Requested-With\": \"XMLHttpRequest\"\n }\n }).then(function (t) {\n return t.text();\n }).then(function (e) {\n t.resultsTarget.innerHTML = e, t.identifyOptions();\n var s = !!t.resultsTarget.querySelector('[role=\"option\"]');\n t.resultsTarget.hidden = !s, t.element.dispatchEvent(new CustomEvent(\"load\")), t.element.dispatchEvent(new CustomEvent(\"loadend\"));\n }).catch(function () {\n t.element.dispatchEvent(new CustomEvent(\"error\")), t.element.dispatchEvent(new CustomEvent(\"loadend\"));\n });\n }\n }, e.prototype.open = function () {\n this.resultsTarget.hidden && (this.resultsTarget.hidden = !1, this.element.setAttribute(\"aria-expanded\", \"true\"), this.element.dispatchEvent(new CustomEvent(\"toggle\", {\n detail: {\n input: this.input,\n results: this.results\n }\n })));\n }, e.prototype.close = function () {\n this.resultsTarget.hidden || (this.resultsTarget.hidden = !0, this.inputTarget.removeAttribute(\"aria-activedescendant\"), this.element.setAttribute(\"aria-expanded\", \"false\"), this.element.dispatchEvent(new CustomEvent(\"toggle\", {\n detail: {\n input: this.input,\n results: this.results\n }\n })));\n }, e;\n}(e.Controller);\n\nn.targets = [\"input\", \"hidden\", \"results\"], n.values = {\n submitOnEnter: Boolean,\n url: String,\n minLength: Number\n}, exports.Autocomplete = n;","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport { Controller as e } from \"stimulus\";\n\nvar t = /*#__PURE__*/function (_e) {\n _inherits(t, _e);\n\n var _super = _createSuper(t);\n\n function t() {\n _classCallCheck(this, t);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(t, [{\n key: \"initialize\",\n value: function initialize() {\n this.scroll = this.scroll.bind(this);\n }\n }, {\n key: \"connect\",\n value: function connect() {\n this.element.addEventListener(\"click\", this.scroll), this.offset = this.offsetValue || this.defaultOptions.offset || 10, this.behavior = this.behaviorValue || this.defaultOptions.behavior || \"smooth\";\n }\n }, {\n key: \"disconnect\",\n value: function disconnect() {\n this.element.removeEventListener(\"click\", this.scroll);\n }\n }, {\n key: \"scroll\",\n value: function scroll(e) {\n e.preventDefault();\n\n var _t = this.element.hash.replace(/^#/, \"\"),\n s = document.getElementById(_t);\n\n if (!s) return void console.warn(\"[stimulus-scroll-to] The element with the id: \\\"\".concat(_t, \"\\\" does not exist on the page.\"));\n var i = s.getBoundingClientRect().top + window.pageYOffset - this.offset;\n window.scrollTo({\n top: i,\n behavior: this.behavior\n });\n }\n }, {\n key: \"defaultOptions\",\n get: function get() {\n return {};\n }\n }]);\n\n return t;\n}(e);\n\nt.values = {\n offset: Number,\n behavior: String\n};\nexport default t;","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport { Controller as e } from \"stimulus\";\n\nvar t = /*#__PURE__*/function (_e) {\n _inherits(t, _e);\n\n var _super = _createSuper(t);\n\n function t() {\n _classCallCheck(this, t);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(t, [{\n key: \"initialize\",\n value: function initialize() {\n this.autogrow = this.autogrow.bind(this);\n }\n }, {\n key: \"connect\",\n value: function connect() {\n this.element.style.overflow = \"hidden\";\n var e = this.resizeDebounceDelayValue || 100;\n this.onResize = e > 0 ? function (e, t) {\n var _this = this;\n\n var i;\n return function () {\n for (var _len = arguments.length, s = new Array(_len), _key = 0; _key < _len; _key++) {\n s[_key] = arguments[_key];\n }\n\n var o = _this;\n clearTimeout(i), i = setTimeout(function () {\n return e.apply(o, s);\n }, t);\n };\n }(this.autogrow, e) : this.autogrow, this.autogrow(), this.element.addEventListener(\"input\", this.autogrow), window.addEventListener(\"resize\", this.onResize);\n }\n }, {\n key: \"disconnect\",\n value: function disconnect() {\n window.removeEventListener(\"resize\", this.onResize);\n }\n }, {\n key: \"autogrow\",\n value: function autogrow() {\n this.element.style.height = \"auto\", this.element.style.height = \"\".concat(this.element.scrollHeight, \"px\");\n }\n }]);\n\n return t;\n}(e);\n\nt.values = {\n resizeDebounceDelay: Number\n};\nexport default t;","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/*!\n * Chartkick.js\n * Create beautiful charts with one line of JavaScript\n * https://github.com/ankane/chartkick.js\n * v4.0.5\n * MIT License\n */\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : (global = typeof globalThis !== 'undefined' ? globalThis : global || self, global.Chartkick = factory());\n})(this, function () {\n 'use strict';\n\n function isArray(variable) {\n return Object.prototype.toString.call(variable) === \"[object Array]\";\n }\n\n function isFunction(variable) {\n return variable instanceof Function;\n }\n\n function isPlainObject(variable) {\n // protect against prototype pollution, defense 2\n return Object.prototype.toString.call(variable) === \"[object Object]\" && !isFunction(variable) && variable instanceof Object;\n } // https://github.com/madrobby/zepto/blob/master/src/zepto.js\n\n\n function extend(target, source) {\n var key;\n\n for (key in source) {\n // protect against prototype pollution, defense 1\n if (key === \"__proto__\") {\n continue;\n }\n\n if (isPlainObject(source[key]) || isArray(source[key])) {\n if (isPlainObject(source[key]) && !isPlainObject(target[key])) {\n target[key] = {};\n }\n\n if (isArray(source[key]) && !isArray(target[key])) {\n target[key] = [];\n }\n\n extend(target[key], source[key]);\n } else if (source[key] !== undefined) {\n target[key] = source[key];\n }\n }\n }\n\n function merge(obj1, obj2) {\n var target = {};\n extend(target, obj1);\n extend(target, obj2);\n return target;\n }\n\n var DATE_PATTERN = /^(\\d\\d\\d\\d)(-)?(\\d\\d)(-)?(\\d\\d)$/i;\n\n function negativeValues(series) {\n var i, j, data;\n\n for (i = 0; i < series.length; i++) {\n data = series[i].data;\n\n for (j = 0; j < data.length; j++) {\n if (data[j][1] < 0) {\n return true;\n }\n }\n }\n\n return false;\n }\n\n function toStr(n) {\n return \"\" + n;\n }\n\n function toFloat(n) {\n return parseFloat(n);\n }\n\n function toDate(n) {\n var matches, year, month, day;\n\n if (_typeof(n) !== \"object\") {\n if (typeof n === \"number\") {\n n = new Date(n * 1000); // ms\n } else {\n n = toStr(n);\n\n if (matches = n.match(DATE_PATTERN)) {\n year = parseInt(matches[1], 10);\n month = parseInt(matches[3], 10) - 1;\n day = parseInt(matches[5], 10);\n return new Date(year, month, day);\n } else {\n // try our best to get the str into iso8601\n // TODO be smarter about this\n var str = n.replace(/ /, \"T\").replace(\" \", \"\").replace(\"UTC\", \"Z\"); // Date.parse returns milliseconds if valid and NaN if invalid\n\n n = new Date(Date.parse(str) || n);\n }\n }\n }\n\n return n;\n }\n\n function toArr(n) {\n if (!isArray(n)) {\n var arr = [],\n i;\n\n for (i in n) {\n if (n.hasOwnProperty(i)) {\n arr.push([i, n[i]]);\n }\n }\n\n n = arr;\n }\n\n return n;\n }\n\n function jsOptionsFunc(defaultOptions, hideLegend, setTitle, setMin, setMax, setStacked, setXtitle, setYtitle) {\n return function (chart, opts, chartOptions) {\n var series = chart.data;\n var options = merge({}, defaultOptions);\n options = merge(options, chartOptions || {});\n\n if (chart.singleSeriesFormat || \"legend\" in opts) {\n hideLegend(options, opts.legend, chart.singleSeriesFormat);\n }\n\n if (opts.title) {\n setTitle(options, opts.title);\n } // min\n\n\n if (\"min\" in opts) {\n setMin(options, opts.min);\n } else if (!negativeValues(series)) {\n setMin(options, 0);\n } // max\n\n\n if (opts.max) {\n setMax(options, opts.max);\n }\n\n if (\"stacked\" in opts) {\n setStacked(options, opts.stacked);\n }\n\n if (opts.colors) {\n options.colors = opts.colors;\n }\n\n if (opts.xtitle) {\n setXtitle(options, opts.xtitle);\n }\n\n if (opts.ytitle) {\n setYtitle(options, opts.ytitle);\n } // merge library last\n\n\n options = merge(options, opts.library || {});\n return options;\n };\n }\n\n function sortByTime(a, b) {\n return a[0].getTime() - b[0].getTime();\n }\n\n function sortByNumberSeries(a, b) {\n return a[0] - b[0];\n }\n\n function sortByNumber(a, b) {\n return a - b;\n }\n\n function isMinute(d) {\n return d.getMilliseconds() === 0 && d.getSeconds() === 0;\n }\n\n function isHour(d) {\n return isMinute(d) && d.getMinutes() === 0;\n }\n\n function isDay(d) {\n return isHour(d) && d.getHours() === 0;\n }\n\n function isWeek(d, dayOfWeek) {\n return isDay(d) && d.getDay() === dayOfWeek;\n }\n\n function isMonth(d) {\n return isDay(d) && d.getDate() === 1;\n }\n\n function isYear(d) {\n return isMonth(d) && d.getMonth() === 0;\n }\n\n function isDate(obj) {\n return !isNaN(toDate(obj)) && toStr(obj).length >= 6;\n }\n\n function isNumber(obj) {\n return typeof obj === \"number\";\n }\n\n var byteSuffixes = [\"bytes\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\"];\n\n function formatValue(pre, value, options, axis) {\n pre = pre || \"\";\n\n if (options.prefix) {\n if (value < 0) {\n value = value * -1;\n pre += \"-\";\n }\n\n pre += options.prefix;\n }\n\n var suffix = options.suffix || \"\";\n var precision = options.precision;\n var round = options.round;\n\n if (options.byteScale) {\n var suffixIdx;\n var baseValue = axis ? options.byteScale : value;\n\n if (baseValue >= 1152921504606846976) {\n value /= 1152921504606846976;\n suffixIdx = 6;\n } else if (baseValue >= 1125899906842624) {\n value /= 1125899906842624;\n suffixIdx = 5;\n } else if (baseValue >= 1099511627776) {\n value /= 1099511627776;\n suffixIdx = 4;\n } else if (baseValue >= 1073741824) {\n value /= 1073741824;\n suffixIdx = 3;\n } else if (baseValue >= 1048576) {\n value /= 1048576;\n suffixIdx = 2;\n } else if (baseValue >= 1024) {\n value /= 1024;\n suffixIdx = 1;\n } else {\n suffixIdx = 0;\n } // TODO handle manual precision case\n\n\n if (precision === undefined && round === undefined) {\n if (value >= 1023.5) {\n if (suffixIdx < byteSuffixes.length - 1) {\n value = 1.0;\n suffixIdx += 1;\n }\n }\n\n precision = value >= 1000 ? 4 : 3;\n }\n\n suffix = \" \" + byteSuffixes[suffixIdx];\n }\n\n if (precision !== undefined && round !== undefined) {\n throw Error(\"Use either round or precision, not both\");\n }\n\n if (!axis) {\n if (precision !== undefined) {\n value = value.toPrecision(precision);\n\n if (!options.zeros) {\n value = parseFloat(value);\n }\n }\n\n if (round !== undefined) {\n if (round < 0) {\n var num = Math.pow(10, -1 * round);\n value = parseInt((1.0 * value / num).toFixed(0)) * num;\n } else {\n value = value.toFixed(round);\n\n if (!options.zeros) {\n value = parseFloat(value);\n }\n }\n }\n }\n\n if (options.thousands || options.decimal) {\n value = toStr(value);\n var parts = value.split(\".\");\n value = parts[0];\n\n if (options.thousands) {\n value = value.replace(/\\B(?=(\\d{3})+(?!\\d))/g, options.thousands);\n }\n\n if (parts.length > 1) {\n value += (options.decimal || \".\") + parts[1];\n }\n }\n\n return pre + value + suffix;\n }\n\n function seriesOption(chart, series, option) {\n if (option in series) {\n return series[option];\n } else if (option in chart.options) {\n return chart.options[option];\n }\n\n return null;\n }\n\n function allZeros(data) {\n var i, j, d;\n\n for (i = 0; i < data.length; i++) {\n d = data[i].data;\n\n for (j = 0; j < d.length; j++) {\n if (d[j][1] != 0) {\n return false;\n }\n }\n }\n\n return true;\n }\n\n var baseOptions = {\n maintainAspectRatio: false,\n animation: false,\n plugins: {\n legend: {},\n tooltip: {\n displayColors: false,\n callbacks: {}\n },\n title: {\n font: {\n size: 20\n },\n color: \"#333\"\n }\n },\n interaction: {}\n };\n var defaultOptions$2 = {\n scales: {\n y: {\n ticks: {\n maxTicksLimit: 4\n },\n title: {\n font: {\n size: 16\n },\n color: \"#333\"\n },\n grid: {}\n },\n x: {\n grid: {\n drawOnChartArea: false\n },\n title: {\n font: {\n size: 16\n },\n color: \"#333\"\n },\n time: {},\n ticks: {}\n }\n }\n }; // http://there4.io/2012/05/02/google-chart-color-list/\n\n var defaultColors = [\"#3366CC\", \"#DC3912\", \"#FF9900\", \"#109618\", \"#990099\", \"#3B3EAC\", \"#0099C6\", \"#DD4477\", \"#66AA00\", \"#B82E2E\", \"#316395\", \"#994499\", \"#22AA99\", \"#AAAA11\", \"#6633CC\", \"#E67300\", \"#8B0707\", \"#329262\", \"#5574A6\", \"#651067\"];\n\n var hideLegend$2 = function hideLegend$2(options, legend, hideLegend) {\n if (legend !== undefined) {\n options.plugins.legend.display = !!legend;\n\n if (legend && legend !== true) {\n options.plugins.legend.position = legend;\n }\n } else if (hideLegend) {\n options.plugins.legend.display = false;\n }\n };\n\n var setTitle$2 = function setTitle$2(options, title) {\n options.plugins.title.display = true;\n options.plugins.title.text = title;\n };\n\n var setMin$2 = function setMin$2(options, min) {\n if (min !== null) {\n options.scales.y.min = toFloat(min);\n }\n };\n\n var setMax$2 = function setMax$2(options, max) {\n options.scales.y.max = toFloat(max);\n };\n\n var setBarMin$1 = function setBarMin$1(options, min) {\n if (min !== null) {\n options.scales.x.min = toFloat(min);\n }\n };\n\n var setBarMax$1 = function setBarMax$1(options, max) {\n options.scales.x.max = toFloat(max);\n };\n\n var setStacked$2 = function setStacked$2(options, stacked) {\n options.scales.x.stacked = !!stacked;\n options.scales.y.stacked = !!stacked;\n };\n\n var setXtitle$2 = function setXtitle$2(options, title) {\n options.scales.x.title.display = true;\n options.scales.x.title.text = title;\n };\n\n var setYtitle$2 = function setYtitle$2(options, title) {\n options.scales.y.title.display = true;\n options.scales.y.title.text = title;\n }; // https://stackoverflow.com/questions/5623838/rgb-to-hex-and-hex-to-rgb\n\n\n var addOpacity = function addOpacity(hex, opacity) {\n var result = /^#?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(hex);\n return result ? \"rgba(\" + parseInt(result[1], 16) + \", \" + parseInt(result[2], 16) + \", \" + parseInt(result[3], 16) + \", \" + opacity + \")\" : hex;\n }; // check if not null or undefined\n // https://stackoverflow.com/a/27757708/1177228\n\n\n var notnull = function notnull(x) {\n return x != null;\n };\n\n var setLabelSize = function setLabelSize(chart, data, options) {\n var maxLabelSize = Math.ceil(chart.element.offsetWidth / 4.0 / data.labels.length);\n\n if (maxLabelSize > 25) {\n maxLabelSize = 25;\n } else if (maxLabelSize < 10) {\n maxLabelSize = 10;\n }\n\n if (!options.scales.x.ticks.callback) {\n options.scales.x.ticks.callback = function (value) {\n value = toStr(this.getLabelForValue(value));\n\n if (value.length > maxLabelSize) {\n return value.substring(0, maxLabelSize - 2) + \"...\";\n } else {\n return value;\n }\n };\n }\n };\n\n var setFormatOptions$1 = function setFormatOptions$1(chart, options, chartType) {\n var formatOptions = {\n prefix: chart.options.prefix,\n suffix: chart.options.suffix,\n thousands: chart.options.thousands,\n decimal: chart.options.decimal,\n precision: chart.options.precision,\n round: chart.options.round,\n zeros: chart.options.zeros\n };\n\n if (chart.options.bytes) {\n var series = chart.data;\n\n if (chartType === \"pie\") {\n series = [{\n data: series\n }];\n } // calculate max\n\n\n var max = 0;\n\n for (var i = 0; i < series.length; i++) {\n var s = series[i];\n\n for (var j = 0; j < s.data.length; j++) {\n if (s.data[j][1] > max) {\n max = s.data[j][1];\n }\n }\n } // calculate scale\n\n\n var scale = 1;\n\n while (max >= 1024) {\n scale *= 1024;\n max /= 1024;\n } // set step size\n\n\n formatOptions.byteScale = scale;\n }\n\n if (chartType !== \"pie\") {\n var axis = options.scales.y;\n\n if (chartType === \"bar\") {\n axis = options.scales.x;\n }\n\n if (formatOptions.byteScale) {\n if (!axis.ticks.stepSize) {\n axis.ticks.stepSize = formatOptions.byteScale / 2;\n }\n\n if (!axis.ticks.maxTicksLimit) {\n axis.ticks.maxTicksLimit = 4;\n }\n }\n\n if (!axis.ticks.callback) {\n axis.ticks.callback = function (value) {\n return formatValue(\"\", value, formatOptions, true);\n };\n }\n }\n\n if (!options.plugins.tooltip.callbacks.label) {\n if (chartType === \"scatter\") {\n options.plugins.tooltip.callbacks.label = function (context) {\n var label = context.dataset.label || '';\n\n if (label) {\n label += ': ';\n }\n\n return label + '(' + context.label + ', ' + context.formattedValue + ')';\n };\n } else if (chartType === \"bubble\") {\n options.plugins.tooltip.callbacks.label = function (context) {\n var label = context.dataset.label || '';\n\n if (label) {\n label += ': ';\n }\n\n var dataPoint = context.raw;\n return label + '(' + dataPoint.x + ', ' + dataPoint.y + ', ' + dataPoint.v + ')';\n };\n } else if (chartType === \"pie\") {\n // need to use separate label for pie charts\n options.plugins.tooltip.callbacks.label = function (context) {\n var dataLabel = context.label;\n var value = ': ';\n\n if (isArray(dataLabel)) {\n // show value on first line of multiline label\n // need to clone because we are changing the value\n dataLabel = dataLabel.slice();\n dataLabel[0] += value;\n } else {\n dataLabel += value;\n }\n\n return formatValue(dataLabel, context.parsed, formatOptions);\n };\n } else {\n var valueLabel = chartType === \"bar\" ? \"x\" : \"y\";\n\n options.plugins.tooltip.callbacks.label = function (context) {\n // don't show null values for stacked charts\n if (context.parsed[valueLabel] === null) {\n return;\n }\n\n var label = context.dataset.label || '';\n\n if (label) {\n label += ': ';\n }\n\n return formatValue(label, context.parsed[valueLabel], formatOptions);\n };\n }\n }\n };\n\n var jsOptions$2 = jsOptionsFunc(merge(baseOptions, defaultOptions$2), hideLegend$2, setTitle$2, setMin$2, setMax$2, setStacked$2, setXtitle$2, setYtitle$2);\n\n var createDataTable = function createDataTable(chart, options, chartType) {\n var datasets = [];\n var labels = [];\n var colors = chart.options.colors || defaultColors;\n var day = true;\n var week = true;\n var dayOfWeek;\n var month = true;\n var year = true;\n var hour = true;\n var minute = true;\n var series = chart.data;\n var max = 0;\n\n if (chartType === \"bubble\") {\n for (var i$1 = 0; i$1 < series.length; i$1++) {\n var s$1 = series[i$1];\n\n for (var j$1 = 0; j$1 < s$1.data.length; j$1++) {\n if (s$1.data[j$1][2] > max) {\n max = s$1.data[j$1][2];\n }\n }\n }\n }\n\n var i,\n j,\n s,\n d,\n key,\n rows = [],\n rows2 = [];\n\n if (chartType === \"bar\" || chartType === \"column\" || chart.xtype !== \"number\" && chart.xtype !== \"bubble\") {\n var sortedLabels = [];\n\n for (i = 0; i < series.length; i++) {\n s = series[i];\n\n for (j = 0; j < s.data.length; j++) {\n d = s.data[j];\n key = chart.xtype == \"datetime\" ? d[0].getTime() : d[0];\n\n if (!rows[key]) {\n rows[key] = new Array(series.length);\n }\n\n rows[key][i] = toFloat(d[1]);\n\n if (sortedLabels.indexOf(key) === -1) {\n sortedLabels.push(key);\n }\n }\n }\n\n if (chart.xtype === \"datetime\" || chart.xtype === \"number\") {\n sortedLabels.sort(sortByNumber);\n }\n\n for (j = 0; j < series.length; j++) {\n rows2.push([]);\n }\n\n var value;\n var k;\n\n for (k = 0; k < sortedLabels.length; k++) {\n i = sortedLabels[k];\n\n if (chart.xtype === \"datetime\") {\n value = new Date(toFloat(i)); // TODO make this efficient\n\n day = day && isDay(value);\n\n if (!dayOfWeek) {\n dayOfWeek = value.getDay();\n }\n\n week = week && isWeek(value, dayOfWeek);\n month = month && isMonth(value);\n year = year && isYear(value);\n hour = hour && isHour(value);\n minute = minute && isMinute(value);\n } else {\n value = i;\n }\n\n labels.push(value);\n\n for (j = 0; j < series.length; j++) {\n // Chart.js doesn't like undefined\n rows2[j].push(rows[i][j] === undefined ? null : rows[i][j]);\n }\n }\n } else {\n for (var i$2 = 0; i$2 < series.length; i$2++) {\n var s$2 = series[i$2];\n var d$1 = [];\n\n for (var j$2 = 0; j$2 < s$2.data.length; j$2++) {\n var point = {\n x: toFloat(s$2.data[j$2][0]),\n y: toFloat(s$2.data[j$2][1])\n };\n\n if (chartType === \"bubble\") {\n point.r = toFloat(s$2.data[j$2][2]) * 20 / max; // custom attribute, for tooltip\n\n point.v = s$2.data[j$2][2];\n }\n\n d$1.push(point);\n }\n\n rows2.push(d$1);\n }\n }\n\n var color;\n var backgroundColor;\n\n for (i = 0; i < series.length; i++) {\n s = series[i]; // use colors for each bar for single series format\n\n if (chart.options.colors && chart.singleSeriesFormat && (chartType === \"bar\" || chartType === \"column\") && !s.color && isArray(chart.options.colors) && !isArray(chart.options.colors[0])) {\n color = colors;\n backgroundColor = [];\n\n for (var j$3 = 0; j$3 < colors.length; j$3++) {\n backgroundColor[j$3] = addOpacity(color[j$3], 0.5);\n }\n } else {\n color = s.color || colors[i];\n backgroundColor = chartType !== \"line\" ? addOpacity(color, 0.5) : color;\n }\n\n var dataset = {\n label: s.name || \"\",\n data: rows2[i],\n fill: chartType === \"area\",\n borderColor: color,\n backgroundColor: backgroundColor,\n borderWidth: 2\n };\n var pointChart = chartType === \"line\" || chartType === \"area\" || chartType === \"scatter\" || chartType === \"bubble\";\n\n if (pointChart) {\n dataset.pointBackgroundColor = color;\n dataset.pointHoverBackgroundColor = color;\n dataset.pointHitRadius = 50;\n }\n\n if (chartType === \"bubble\") {\n dataset.pointBackgroundColor = backgroundColor;\n dataset.pointHoverBackgroundColor = backgroundColor;\n dataset.pointHoverBorderWidth = 2;\n }\n\n if (s.stack) {\n dataset.stack = s.stack;\n }\n\n var curve = seriesOption(chart, s, \"curve\");\n\n if (curve === false) {\n dataset.tension = 0;\n } else if (pointChart) {\n dataset.tension = 0.4;\n }\n\n var points = seriesOption(chart, s, \"points\");\n\n if (points === false) {\n dataset.pointRadius = 0;\n dataset.pointHoverRadius = 0;\n }\n\n dataset = merge(dataset, chart.options.dataset || {});\n dataset = merge(dataset, s.library || {});\n dataset = merge(dataset, s.dataset || {});\n datasets.push(dataset);\n }\n\n var xmin = chart.options.xmin;\n var xmax = chart.options.xmax;\n\n if (chart.xtype === \"datetime\") {\n if (notnull(xmin)) {\n options.scales.x.ticks.min = toDate(xmin).getTime();\n }\n\n if (notnull(xmax)) {\n options.scales.x.ticks.max = toDate(xmax).getTime();\n }\n } else if (chart.xtype === \"number\") {\n if (notnull(xmin)) {\n options.scales.x.ticks.min = xmin;\n }\n\n if (notnull(xmax)) {\n options.scales.x.ticks.max = xmax;\n }\n } // for empty datetime chart\n\n\n if (chart.xtype === \"datetime\" && labels.length === 0) {\n if (notnull(xmin)) {\n labels.push(toDate(xmin));\n }\n\n if (notnull(xmax)) {\n labels.push(toDate(xmax));\n }\n\n day = false;\n week = false;\n month = false;\n year = false;\n hour = false;\n minute = false;\n }\n\n if (chart.xtype === \"datetime\" && labels.length > 0) {\n var minTime = (notnull(xmin) ? toDate(xmin) : labels[0]).getTime();\n var maxTime = (notnull(xmax) ? toDate(xmax) : labels[0]).getTime();\n\n for (i = 1; i < labels.length; i++) {\n var value$1 = labels[i].getTime();\n\n if (value$1 < minTime) {\n minTime = value$1;\n }\n\n if (value$1 > maxTime) {\n maxTime = value$1;\n }\n }\n\n var timeDiff = (maxTime - minTime) / (86400 * 1000.0);\n\n if (!options.scales.x.time.unit) {\n var step;\n\n if (year || timeDiff > 365 * 10) {\n options.scales.x.time.unit = \"year\";\n step = 365;\n } else if (month || timeDiff > 30 * 10) {\n options.scales.x.time.unit = \"month\";\n step = 30;\n } else if (day || timeDiff > 10) {\n options.scales.x.time.unit = \"day\";\n step = 1;\n } else if (hour || timeDiff > 0.5) {\n options.scales.x.time.displayFormats = {\n hour: \"MMM d, h a\"\n };\n options.scales.x.time.unit = \"hour\";\n step = 1 / 24.0;\n } else if (minute) {\n options.scales.x.time.displayFormats = {\n minute: \"h:mm a\"\n };\n options.scales.x.time.unit = \"minute\";\n step = 1 / 24.0 / 60.0;\n }\n\n if (step && timeDiff > 0) {\n // width not available for hidden elements\n var width = chart.element.offsetWidth;\n\n if (width > 0) {\n var unitStepSize = Math.ceil(timeDiff / step / (width / 100.0));\n\n if (week && step === 1) {\n unitStepSize = Math.ceil(unitStepSize / 7.0) * 7;\n }\n\n options.scales.x.time.stepSize = unitStepSize;\n }\n }\n }\n\n if (!options.scales.x.time.tooltipFormat) {\n if (day) {\n options.scales.x.time.tooltipFormat = \"PP\";\n } else if (hour) {\n options.scales.x.time.tooltipFormat = \"MMM d, h a\";\n } else if (minute) {\n options.scales.x.time.tooltipFormat = \"h:mm a\";\n }\n }\n }\n\n var data = {\n labels: labels,\n datasets: datasets\n };\n return data;\n };\n\n var defaultExport$2 = function defaultExport(library) {\n this.name = \"chartjs\";\n this.library = library;\n };\n\n defaultExport$2.prototype.renderLineChart = function renderLineChart(chart, chartType) {\n var chartOptions = {}; // fix for https://github.com/chartjs/Chart.js/issues/2441\n\n if (!chart.options.max && allZeros(chart.data)) {\n chartOptions.max = 1;\n }\n\n var options = jsOptions$2(chart, merge(chartOptions, chart.options));\n setFormatOptions$1(chart, options, chartType);\n var data = createDataTable(chart, options, chartType || \"line\");\n\n if (chart.xtype === \"number\") {\n options.scales.x.type = options.scales.x.type || \"linear\";\n options.scales.x.position = options.scales.x.position || \"bottom\";\n } else {\n options.scales.x.type = chart.xtype === \"string\" ? \"category\" : \"time\";\n }\n\n this.drawChart(chart, \"line\", data, options);\n };\n\n defaultExport$2.prototype.renderPieChart = function renderPieChart(chart) {\n var options = merge({}, baseOptions);\n\n if (chart.options.donut) {\n options.cutout = \"50%\";\n }\n\n if (\"legend\" in chart.options) {\n hideLegend$2(options, chart.options.legend);\n }\n\n if (chart.options.title) {\n setTitle$2(options, chart.options.title);\n }\n\n options = merge(options, chart.options.library || {});\n setFormatOptions$1(chart, options, \"pie\");\n var labels = [];\n var values = [];\n\n for (var i = 0; i < chart.data.length; i++) {\n var point = chart.data[i];\n labels.push(point[0]);\n values.push(point[1]);\n }\n\n var dataset = {\n data: values,\n backgroundColor: chart.options.colors || defaultColors\n };\n dataset = merge(dataset, chart.options.dataset || {});\n var data = {\n labels: labels,\n datasets: [dataset]\n };\n this.drawChart(chart, \"pie\", data, options);\n };\n\n defaultExport$2.prototype.renderColumnChart = function renderColumnChart(chart, chartType) {\n var options;\n\n if (chartType === \"bar\") {\n var barOptions = merge(baseOptions, defaultOptions$2);\n barOptions.indexAxis = \"y\"; // ensure gridlines have proper orientation\n\n barOptions.scales.x.grid.drawOnChartArea = true;\n barOptions.scales.y.grid.drawOnChartArea = false;\n delete barOptions.scales.y.ticks.maxTicksLimit;\n options = jsOptionsFunc(barOptions, hideLegend$2, setTitle$2, setBarMin$1, setBarMax$1, setStacked$2, setXtitle$2, setYtitle$2)(chart, chart.options);\n } else {\n options = jsOptions$2(chart, chart.options);\n }\n\n setFormatOptions$1(chart, options, chartType);\n var data = createDataTable(chart, options, \"column\");\n\n if (chartType !== \"bar\") {\n setLabelSize(chart, data, options);\n }\n\n this.drawChart(chart, \"bar\", data, options);\n };\n\n defaultExport$2.prototype.renderAreaChart = function renderAreaChart(chart) {\n this.renderLineChart(chart, \"area\");\n };\n\n defaultExport$2.prototype.renderBarChart = function renderBarChart(chart) {\n this.renderColumnChart(chart, \"bar\");\n };\n\n defaultExport$2.prototype.renderScatterChart = function renderScatterChart(chart, chartType) {\n chartType = chartType || \"scatter\";\n var options = jsOptions$2(chart, chart.options);\n setFormatOptions$1(chart, options, chartType);\n\n if (!(\"showLine\" in options)) {\n options.showLine = false;\n }\n\n var data = createDataTable(chart, options, chartType);\n options.scales.x.type = options.scales.x.type || \"linear\";\n options.scales.x.position = options.scales.x.position || \"bottom\"; // prevent grouping hover and tooltips\n\n if (!(\"mode\" in options.interaction)) {\n options.interaction.mode = \"nearest\";\n }\n\n this.drawChart(chart, chartType, data, options);\n };\n\n defaultExport$2.prototype.renderBubbleChart = function renderBubbleChart(chart) {\n this.renderScatterChart(chart, \"bubble\");\n };\n\n defaultExport$2.prototype.destroy = function destroy(chart) {\n if (chart.chart) {\n chart.chart.destroy();\n }\n };\n\n defaultExport$2.prototype.drawChart = function drawChart(chart, type, data, options) {\n this.destroy(chart);\n\n if (chart.destroyed) {\n return;\n }\n\n var chartOptions = {\n type: type,\n data: data,\n options: options\n };\n\n if (chart.options.code) {\n window.console.log(\"new Chart(ctx, \" + JSON.stringify(chartOptions) + \");\");\n }\n\n chart.element.innerHTML = \"
\";\n var ctx = chart.element.getElementsByTagName(\"CANVAS\")[0];\n chart.chart = new this.library(ctx, chartOptions);\n };\n\n var defaultOptions$1 = {\n chart: {},\n xAxis: {\n title: {\n text: null\n },\n labels: {\n style: {\n fontSize: \"12px\"\n }\n }\n },\n yAxis: {\n title: {\n text: null\n },\n labels: {\n style: {\n fontSize: \"12px\"\n }\n }\n },\n title: {\n text: null\n },\n credits: {\n enabled: false\n },\n legend: {\n borderWidth: 0\n },\n tooltip: {\n style: {\n fontSize: \"12px\"\n }\n },\n plotOptions: {\n areaspline: {},\n area: {},\n series: {\n marker: {}\n }\n },\n time: {\n useUTC: false\n }\n };\n\n var hideLegend$1 = function hideLegend$1(options, legend, hideLegend) {\n if (legend !== undefined) {\n options.legend.enabled = !!legend;\n\n if (legend && legend !== true) {\n if (legend === \"top\" || legend === \"bottom\") {\n options.legend.verticalAlign = legend;\n } else {\n options.legend.layout = \"vertical\";\n options.legend.verticalAlign = \"middle\";\n options.legend.align = legend;\n }\n }\n } else if (hideLegend) {\n options.legend.enabled = false;\n }\n };\n\n var setTitle$1 = function setTitle$1(options, title) {\n options.title.text = title;\n };\n\n var setMin$1 = function setMin$1(options, min) {\n options.yAxis.min = min;\n };\n\n var setMax$1 = function setMax$1(options, max) {\n options.yAxis.max = max;\n };\n\n var setStacked$1 = function setStacked$1(options, stacked) {\n var stackedValue = stacked ? stacked === true ? \"normal\" : stacked : null;\n options.plotOptions.series.stacking = stackedValue;\n options.plotOptions.area.stacking = stackedValue;\n options.plotOptions.areaspline.stacking = stackedValue;\n };\n\n var setXtitle$1 = function setXtitle$1(options, title) {\n options.xAxis.title.text = title;\n };\n\n var setYtitle$1 = function setYtitle$1(options, title) {\n options.yAxis.title.text = title;\n };\n\n var jsOptions$1 = jsOptionsFunc(defaultOptions$1, hideLegend$1, setTitle$1, setMin$1, setMax$1, setStacked$1, setXtitle$1, setYtitle$1);\n\n var setFormatOptions = function setFormatOptions(chart, options, chartType) {\n var formatOptions = {\n prefix: chart.options.prefix,\n suffix: chart.options.suffix,\n thousands: chart.options.thousands,\n decimal: chart.options.decimal,\n precision: chart.options.precision,\n round: chart.options.round,\n zeros: chart.options.zeros\n };\n\n if (chartType !== \"pie\" && !options.yAxis.labels.formatter) {\n options.yAxis.labels.formatter = function () {\n return formatValue(\"\", this.value, formatOptions);\n };\n }\n\n if (!options.tooltip.pointFormatter && !options.tooltip.pointFormat) {\n options.tooltip.pointFormatter = function () {\n return '
\\u25CF \" + formatValue(this.series.name + ':
', this.y, formatOptions) + ' ';\n };\n }\n };\n\n var defaultExport$1 = function defaultExport(library) {\n this.name = \"highcharts\";\n this.library = library;\n };\n\n defaultExport$1.prototype.renderLineChart = function renderLineChart(chart, chartType) {\n chartType = chartType || \"spline\";\n var chartOptions = {};\n\n if (chartType === \"areaspline\") {\n chartOptions = {\n plotOptions: {\n areaspline: {\n stacking: \"normal\"\n },\n area: {\n stacking: \"normal\"\n },\n series: {\n marker: {\n enabled: false\n }\n }\n }\n };\n }\n\n if (chart.options.curve === false) {\n if (chartType === \"areaspline\") {\n chartType = \"area\";\n } else if (chartType === \"spline\") {\n chartType = \"line\";\n }\n }\n\n var options = jsOptions$1(chart, chart.options, chartOptions),\n data,\n i,\n j;\n\n if (chart.xtype === \"number\") {\n options.xAxis.type = options.xAxis.type || \"linear\";\n } else {\n options.xAxis.type = chart.xtype === \"string\" ? \"category\" : \"datetime\";\n }\n\n if (!options.chart.type) {\n options.chart.type = chartType;\n }\n\n setFormatOptions(chart, options, chartType);\n var series = chart.data;\n\n for (i = 0; i < series.length; i++) {\n series[i].name = series[i].name || \"Value\";\n data = series[i].data;\n\n if (chart.xtype === \"datetime\") {\n for (j = 0; j < data.length; j++) {\n data[j][0] = data[j][0].getTime();\n }\n }\n\n series[i].marker = {\n symbol: \"circle\"\n };\n\n if (chart.options.points === false) {\n series[i].marker.enabled = false;\n }\n }\n\n this.drawChart(chart, series, options);\n };\n\n defaultExport$1.prototype.renderScatterChart = function renderScatterChart(chart) {\n var options = jsOptions$1(chart, chart.options, {});\n options.chart.type = \"scatter\";\n this.drawChart(chart, chart.data, options);\n };\n\n defaultExport$1.prototype.renderPieChart = function renderPieChart(chart) {\n var chartOptions = merge(defaultOptions$1, {});\n\n if (chart.options.colors) {\n chartOptions.colors = chart.options.colors;\n }\n\n if (chart.options.donut) {\n chartOptions.plotOptions = {\n pie: {\n innerSize: \"50%\"\n }\n };\n }\n\n if (\"legend\" in chart.options) {\n hideLegend$1(chartOptions, chart.options.legend);\n }\n\n if (chart.options.title) {\n setTitle$1(chartOptions, chart.options.title);\n }\n\n var options = merge(chartOptions, chart.options.library || {});\n setFormatOptions(chart, options, \"pie\");\n var series = [{\n type: \"pie\",\n name: chart.options.label || \"Value\",\n data: chart.data\n }];\n this.drawChart(chart, series, options);\n };\n\n defaultExport$1.prototype.renderColumnChart = function renderColumnChart(chart, chartType) {\n chartType = chartType || \"column\";\n var series = chart.data;\n var options = jsOptions$1(chart, chart.options),\n i,\n j,\n s,\n d,\n rows = [],\n categories = [];\n options.chart.type = chartType;\n setFormatOptions(chart, options, chartType);\n\n for (i = 0; i < series.length; i++) {\n s = series[i];\n\n for (j = 0; j < s.data.length; j++) {\n d = s.data[j];\n\n if (!rows[d[0]]) {\n rows[d[0]] = new Array(series.length);\n categories.push(d[0]);\n }\n\n rows[d[0]][i] = d[1];\n }\n }\n\n if (chart.xtype === \"number\") {\n categories.sort(sortByNumber);\n }\n\n options.xAxis.categories = categories;\n var newSeries = [],\n d2;\n\n for (i = 0; i < series.length; i++) {\n d = [];\n\n for (j = 0; j < categories.length; j++) {\n d.push(rows[categories[j]][i] || 0);\n }\n\n d2 = {\n name: series[i].name || \"Value\",\n data: d\n };\n\n if (series[i].stack) {\n d2.stack = series[i].stack;\n }\n\n newSeries.push(d2);\n }\n\n this.drawChart(chart, newSeries, options);\n };\n\n defaultExport$1.prototype.renderBarChart = function renderBarChart(chart) {\n this.renderColumnChart(chart, \"bar\");\n };\n\n defaultExport$1.prototype.renderAreaChart = function renderAreaChart(chart) {\n this.renderLineChart(chart, \"areaspline\");\n };\n\n defaultExport$1.prototype.destroy = function destroy(chart) {\n if (chart.chart) {\n chart.chart.destroy();\n }\n };\n\n defaultExport$1.prototype.drawChart = function drawChart(chart, data, options) {\n this.destroy(chart);\n\n if (chart.destroyed) {\n return;\n }\n\n options.chart.renderTo = chart.element.id;\n options.series = data;\n\n if (chart.options.code) {\n window.console.log(\"new Highcharts.Chart(\" + JSON.stringify(options) + \");\");\n }\n\n chart.chart = new this.library.Chart(options);\n };\n\n var loaded = {};\n var callbacks = []; // Set chart options\n\n var defaultOptions = {\n chartArea: {},\n fontName: \"'Lucida Grande', 'Lucida Sans Unicode', Verdana, Arial, Helvetica, sans-serif\",\n pointSize: 6,\n legend: {\n textStyle: {\n fontSize: 12,\n color: \"#444\"\n },\n alignment: \"center\",\n position: \"right\"\n },\n curveType: \"function\",\n hAxis: {\n textStyle: {\n color: \"#666\",\n fontSize: 12\n },\n titleTextStyle: {},\n gridlines: {\n color: \"transparent\"\n },\n baselineColor: \"#ccc\",\n viewWindow: {}\n },\n vAxis: {\n textStyle: {\n color: \"#666\",\n fontSize: 12\n },\n titleTextStyle: {},\n baselineColor: \"#ccc\",\n viewWindow: {}\n },\n tooltip: {\n textStyle: {\n color: \"#666\",\n fontSize: 12\n }\n }\n };\n\n var hideLegend = function hideLegend(options, legend, _hideLegend) {\n if (legend !== undefined) {\n var position;\n\n if (!legend) {\n position = \"none\";\n } else if (legend === true) {\n position = \"right\";\n } else {\n position = legend;\n }\n\n options.legend.position = position;\n } else if (_hideLegend) {\n options.legend.position = \"none\";\n }\n };\n\n var setTitle = function setTitle(options, title) {\n options.title = title;\n options.titleTextStyle = {\n color: \"#333\",\n fontSize: \"20px\"\n };\n };\n\n var setMin = function setMin(options, min) {\n options.vAxis.viewWindow.min = min;\n };\n\n var setMax = function setMax(options, max) {\n options.vAxis.viewWindow.max = max;\n };\n\n var setBarMin = function setBarMin(options, min) {\n options.hAxis.viewWindow.min = min;\n };\n\n var setBarMax = function setBarMax(options, max) {\n options.hAxis.viewWindow.max = max;\n };\n\n var setStacked = function setStacked(options, stacked) {\n options.isStacked = stacked ? stacked : false;\n };\n\n var setXtitle = function setXtitle(options, title) {\n options.hAxis.title = title;\n options.hAxis.titleTextStyle.italic = false;\n };\n\n var setYtitle = function setYtitle(options, title) {\n options.vAxis.title = title;\n options.vAxis.titleTextStyle.italic = false;\n };\n\n var jsOptions = jsOptionsFunc(defaultOptions, hideLegend, setTitle, setMin, setMax, setStacked, setXtitle, setYtitle);\n\n var resize = function resize(callback) {\n if (window.attachEvent) {\n window.attachEvent(\"onresize\", callback);\n } else if (window.addEventListener) {\n window.addEventListener(\"resize\", callback, true);\n }\n\n callback();\n };\n\n var defaultExport = function defaultExport(library) {\n this.name = \"google\";\n this.library = library;\n };\n\n defaultExport.prototype.renderLineChart = function renderLineChart(chart) {\n var this$1 = this;\n this.waitForLoaded(chart, function () {\n var chartOptions = {};\n\n if (chart.options.curve === false) {\n chartOptions.curveType = \"none\";\n }\n\n if (chart.options.points === false) {\n chartOptions.pointSize = 0;\n }\n\n var options = jsOptions(chart, chart.options, chartOptions);\n var data = this$1.createDataTable(chart.data, chart.xtype);\n this$1.drawChart(chart, \"LineChart\", data, options);\n });\n };\n\n defaultExport.prototype.renderPieChart = function renderPieChart(chart) {\n var this$1 = this;\n this.waitForLoaded(chart, function () {\n var chartOptions = {\n chartArea: {\n top: \"10%\",\n height: \"80%\"\n },\n legend: {}\n };\n\n if (chart.options.colors) {\n chartOptions.colors = chart.options.colors;\n }\n\n if (chart.options.donut) {\n chartOptions.pieHole = 0.5;\n }\n\n if (\"legend\" in chart.options) {\n hideLegend(chartOptions, chart.options.legend);\n }\n\n if (chart.options.title) {\n setTitle(chartOptions, chart.options.title);\n }\n\n var options = merge(merge(defaultOptions, chartOptions), chart.options.library || {});\n var data = new this$1.library.visualization.DataTable();\n data.addColumn(\"string\", \"\");\n data.addColumn(\"number\", \"Value\");\n data.addRows(chart.data);\n this$1.drawChart(chart, \"PieChart\", data, options);\n });\n };\n\n defaultExport.prototype.renderColumnChart = function renderColumnChart(chart) {\n var this$1 = this;\n this.waitForLoaded(chart, function () {\n var options = jsOptions(chart, chart.options);\n var data = this$1.createDataTable(chart.data, chart.xtype);\n this$1.drawChart(chart, \"ColumnChart\", data, options);\n });\n };\n\n defaultExport.prototype.renderBarChart = function renderBarChart(chart) {\n var this$1 = this;\n this.waitForLoaded(chart, function () {\n var chartOptions = {\n hAxis: {\n gridlines: {\n color: \"#ccc\"\n }\n }\n };\n var options = jsOptionsFunc(defaultOptions, hideLegend, setTitle, setBarMin, setBarMax, setStacked, setXtitle, setYtitle)(chart, chart.options, chartOptions);\n var data = this$1.createDataTable(chart.data, chart.xtype);\n this$1.drawChart(chart, \"BarChart\", data, options);\n });\n };\n\n defaultExport.prototype.renderAreaChart = function renderAreaChart(chart) {\n var this$1 = this;\n this.waitForLoaded(chart, function () {\n var chartOptions = {\n isStacked: true,\n pointSize: 0,\n areaOpacity: 0.5\n };\n var options = jsOptions(chart, chart.options, chartOptions);\n var data = this$1.createDataTable(chart.data, chart.xtype);\n this$1.drawChart(chart, \"AreaChart\", data, options);\n });\n };\n\n defaultExport.prototype.renderGeoChart = function renderGeoChart(chart) {\n var this$1 = this;\n this.waitForLoaded(chart, \"geochart\", function () {\n var chartOptions = {\n legend: \"none\",\n colorAxis: {\n colors: chart.options.colors || [\"#f6c7b6\", \"#ce502d\"]\n }\n };\n var options = merge(merge(defaultOptions, chartOptions), chart.options.library || {});\n var data = new this$1.library.visualization.DataTable();\n data.addColumn(\"string\", \"\");\n data.addColumn(\"number\", chart.options.label || \"Value\");\n data.addRows(chart.data);\n this$1.drawChart(chart, \"GeoChart\", data, options);\n });\n };\n\n defaultExport.prototype.renderScatterChart = function renderScatterChart(chart) {\n var this$1 = this;\n this.waitForLoaded(chart, function () {\n var chartOptions = {};\n var options = jsOptions(chart, chart.options, chartOptions);\n var series = chart.data,\n rows2 = [],\n i,\n j,\n data,\n d;\n\n for (i = 0; i < series.length; i++) {\n series[i].name = series[i].name || \"Value\";\n d = series[i].data;\n\n for (j = 0; j < d.length; j++) {\n var row = new Array(series.length + 1);\n row[0] = d[j][0];\n row[i + 1] = d[j][1];\n rows2.push(row);\n }\n }\n\n data = new this$1.library.visualization.DataTable();\n data.addColumn(\"number\", \"\");\n\n for (i = 0; i < series.length; i++) {\n data.addColumn(\"number\", series[i].name);\n }\n\n data.addRows(rows2);\n this$1.drawChart(chart, \"ScatterChart\", data, options);\n });\n };\n\n defaultExport.prototype.renderTimeline = function renderTimeline(chart) {\n var this$1 = this;\n this.waitForLoaded(chart, \"timeline\", function () {\n var chartOptions = {\n legend: \"none\"\n };\n\n if (chart.options.colors) {\n chartOptions.colors = chart.options.colors;\n }\n\n var options = merge(merge(defaultOptions, chartOptions), chart.options.library || {});\n var data = new this$1.library.visualization.DataTable();\n data.addColumn({\n type: \"string\",\n id: \"Name\"\n });\n data.addColumn({\n type: \"date\",\n id: \"Start\"\n });\n data.addColumn({\n type: \"date\",\n id: \"End\"\n });\n data.addRows(chart.data);\n chart.element.style.lineHeight = \"normal\";\n this$1.drawChart(chart, \"Timeline\", data, options);\n });\n }; // TODO remove resize events\n\n\n defaultExport.prototype.destroy = function destroy(chart) {\n if (chart.chart) {\n chart.chart.clearChart();\n }\n };\n\n defaultExport.prototype.drawChart = function drawChart(chart, type, data, options) {\n this.destroy(chart);\n\n if (chart.destroyed) {\n return;\n }\n\n if (chart.options.code) {\n window.console.log(\"var data = new google.visualization.DataTable(\" + data.toJSON() + \");\\nvar chart = new google.visualization.\" + type + \"(element);\\nchart.draw(data, \" + JSON.stringify(options) + \");\");\n }\n\n chart.chart = new this.library.visualization[type](chart.element);\n resize(function () {\n chart.chart.draw(data, options);\n });\n };\n\n defaultExport.prototype.waitForLoaded = function waitForLoaded(chart, pack, callback) {\n var this$1 = this;\n\n if (!callback) {\n callback = pack;\n pack = \"corechart\";\n }\n\n callbacks.push({\n pack: pack,\n callback: callback\n });\n\n if (loaded[pack]) {\n this.runCallbacks();\n } else {\n loaded[pack] = true; // https://groups.google.com/forum/#!topic/google-visualization-api/fMKJcyA2yyI\n\n var loadOptions = {\n packages: [pack],\n callback: function callback() {\n this$1.runCallbacks();\n }\n };\n\n var config = chart.__config();\n\n if (config.language) {\n loadOptions.language = config.language;\n }\n\n if (pack === \"geochart\" && config.mapsApiKey) {\n loadOptions.mapsApiKey = config.mapsApiKey;\n }\n\n this.library.charts.load(\"current\", loadOptions);\n }\n };\n\n defaultExport.prototype.runCallbacks = function runCallbacks() {\n var cb, call;\n\n for (var i = 0; i < callbacks.length; i++) {\n cb = callbacks[i];\n call = this.library.visualization && (cb.pack === \"corechart\" && this.library.visualization.LineChart || cb.pack === \"timeline\" && this.library.visualization.Timeline || cb.pack === \"geochart\" && this.library.visualization.GeoChart);\n\n if (call) {\n cb.callback();\n callbacks.splice(i, 1);\n i--;\n }\n }\n }; // cant use object as key\n\n\n defaultExport.prototype.createDataTable = function createDataTable(series, columnType) {\n var i,\n j,\n s,\n d,\n key,\n rows = [],\n sortedLabels = [];\n\n for (i = 0; i < series.length; i++) {\n s = series[i];\n series[i].name = series[i].name || \"Value\";\n\n for (j = 0; j < s.data.length; j++) {\n d = s.data[j];\n key = columnType === \"datetime\" ? d[0].getTime() : d[0];\n\n if (!rows[key]) {\n rows[key] = new Array(series.length);\n sortedLabels.push(key);\n }\n\n rows[key][i] = toFloat(d[1]);\n }\n }\n\n var rows2 = [];\n var day = true;\n var value;\n\n for (j = 0; j < sortedLabels.length; j++) {\n i = sortedLabels[j];\n\n if (columnType === \"datetime\") {\n value = new Date(toFloat(i));\n day = day && isDay(value);\n } else if (columnType === \"number\") {\n value = toFloat(i);\n } else {\n value = i;\n }\n\n rows2.push([value].concat(rows[i]));\n }\n\n if (columnType === \"datetime\") {\n rows2.sort(sortByTime);\n } else if (columnType === \"number\") {\n rows2.sort(sortByNumberSeries);\n\n for (i = 0; i < rows2.length; i++) {\n rows2[i][0] = toStr(rows2[i][0]);\n }\n\n columnType = \"string\";\n } // create datatable\n\n\n var data = new this.library.visualization.DataTable();\n columnType = columnType === \"datetime\" && day ? \"date\" : columnType;\n data.addColumn(columnType, \"\");\n\n for (i = 0; i < series.length; i++) {\n data.addColumn(\"number\", series[i].name);\n }\n\n data.addRows(rows2);\n return data;\n };\n\n function formatSeriesData(data, keyType) {\n var r = [],\n j,\n keyFunc;\n\n if (keyType === \"number\") {\n keyFunc = toFloat;\n } else if (keyType === \"datetime\") {\n keyFunc = toDate;\n } else {\n keyFunc = toStr;\n }\n\n if (keyType === \"bubble\") {\n for (j = 0; j < data.length; j++) {\n r.push([toFloat(data[j][0]), toFloat(data[j][1]), toFloat(data[j][2])]);\n }\n } else {\n for (j = 0; j < data.length; j++) {\n r.push([keyFunc(data[j][0]), toFloat(data[j][1])]);\n }\n }\n\n if (keyType === \"datetime\") {\n r.sort(sortByTime);\n } else if (keyType === \"number\") {\n r.sort(sortByNumberSeries);\n }\n\n return r;\n }\n\n function detectXType(series, noDatetime, options) {\n if (dataEmpty(series)) {\n if ((options.xmin || options.xmax) && (!options.xmin || isDate(options.xmin)) && (!options.xmax || isDate(options.xmax))) {\n return \"datetime\";\n } else {\n return \"number\";\n }\n } else if (detectXTypeWithFunction(series, isNumber)) {\n return \"number\";\n } else if (!noDatetime && detectXTypeWithFunction(series, isDate)) {\n return \"datetime\";\n } else {\n return \"string\";\n }\n }\n\n function detectXTypeWithFunction(series, func) {\n var i, j, data;\n\n for (i = 0; i < series.length; i++) {\n data = toArr(series[i].data);\n\n for (j = 0; j < data.length; j++) {\n if (!func(data[j][0])) {\n return false;\n }\n }\n }\n\n return true;\n } // creates a shallow copy of each element of the array\n // elements are expected to be objects\n\n\n function copySeries(series) {\n var newSeries = [],\n i,\n j;\n\n for (i = 0; i < series.length; i++) {\n var copy = {};\n\n for (j in series[i]) {\n if (series[i].hasOwnProperty(j)) {\n copy[j] = series[i][j];\n }\n }\n\n newSeries.push(copy);\n }\n\n return newSeries;\n }\n\n function processSeries(chart, keyType, noDatetime) {\n var i;\n var opts = chart.options;\n var series = chart.rawData; // see if one series or multiple\n\n chart.singleSeriesFormat = !isArray(series) || _typeof(series[0]) !== \"object\" || isArray(series[0]);\n\n if (chart.singleSeriesFormat) {\n series = [{\n name: opts.label,\n data: series\n }];\n } // convert to array\n // must come before dataEmpty check\n\n\n series = copySeries(series);\n\n for (i = 0; i < series.length; i++) {\n series[i].data = toArr(series[i].data);\n }\n\n chart.xtype = keyType ? keyType : opts.discrete ? \"string\" : detectXType(series, noDatetime, opts); // right format\n\n for (i = 0; i < series.length; i++) {\n series[i].data = formatSeriesData(series[i].data, chart.xtype);\n }\n\n return series;\n }\n\n function processSimple(chart) {\n var perfectData = toArr(chart.rawData),\n i;\n\n for (i = 0; i < perfectData.length; i++) {\n perfectData[i] = [toStr(perfectData[i][0]), toFloat(perfectData[i][1])];\n }\n\n return perfectData;\n }\n\n function dataEmpty(data, chartType) {\n if (chartType === \"PieChart\" || chartType === \"GeoChart\" || chartType === \"Timeline\") {\n return data.length === 0;\n } else {\n for (var i = 0; i < data.length; i++) {\n if (data[i].data.length > 0) {\n return false;\n }\n }\n\n return true;\n }\n }\n\n function addDownloadButton(chart) {\n var element = chart.element;\n var link = document.createElement(\"a\");\n var download = chart.options.download;\n\n if (download === true) {\n download = {};\n } else if (typeof download === \"string\") {\n download = {\n filename: download\n };\n }\n\n link.download = download.filename || \"chart.png\"; // https://caniuse.com/download\n\n link.style.position = \"absolute\";\n link.style.top = \"20px\";\n link.style.right = \"20px\";\n link.style.zIndex = 1000;\n link.style.lineHeight = \"20px\";\n link.target = \"_blank\"; // for safari\n\n var image = document.createElement(\"img\");\n image.alt = \"Download\";\n image.style.border = \"none\"; // icon from font-awesome\n // http://fa2png.io/\n\n image.src = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAMAAAC6V+0/AAABCFBMVEUAAADMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMzMywEsqxAAAAV3RSTlMAAQIDBggJCgsMDQ4PERQaHB0eISIjJCouLzE0OTo/QUJHSUpLTU5PUllhYmltcHh5foWLjI+SlaCio6atr7S1t7m6vsHHyM7R2tze5Obo7fHz9ff5+/1hlxK2AAAA30lEQVQYGUXBhVYCQQBA0TdYWAt2d3d3YWAHyur7/z9xgD16Lw0DW+XKx+1GgX+FRzM3HWQWrHl5N/oapW5RPe0PkBu+UYeICvozTWZVK23Ao04B79oJrOsJDOoxkZoQPWgX29pHpCZEk7rEvQYiNSFq1UMqvlCjJkRBS1R8hb00Vb/TajtBL7nTHE1X1vyMQF732dQhyF2o6SAwrzP06iUQzvwsArlnzcOdrgBhJyHa1QOgO9U1GsKuvjUTjavliZYQ8nNPapG6sap/3nrIdJ6bOWzmX/fy0XVpfzZP3S8OJT3g9EEiJwAAAABJRU5ErkJggg==\";\n link.appendChild(image);\n element.style.position = \"relative\";\n chart.__downloadAttached = true; // mouseenter\n\n chart.__enterEvent = addEvent(element, \"mouseover\", function (e) {\n var related = e.relatedTarget; // check download option again to ensure it wasn't changed\n\n if ((!related || related !== this && !childOf(this, related)) && chart.options.download) {\n link.href = chart.toImage(download);\n element.appendChild(link);\n }\n }); // mouseleave\n\n chart.__leaveEvent = addEvent(element, \"mouseout\", function (e) {\n var related = e.relatedTarget;\n\n if (!related || related !== this && !childOf(this, related)) {\n if (link.parentNode) {\n link.parentNode.removeChild(link);\n }\n }\n });\n } // https://stackoverflow.com/questions/10149963/adding-event-listener-cross-browser\n\n\n function addEvent(elem, event, fn) {\n if (elem.addEventListener) {\n elem.addEventListener(event, fn, false);\n return fn;\n } else {\n var fn2 = function fn2() {\n // set the this pointer same as addEventListener when fn is called\n return fn.call(elem, window.event);\n };\n\n elem.attachEvent(\"on\" + event, fn2);\n return fn2;\n }\n }\n\n function removeEvent(elem, event, fn) {\n if (elem.removeEventListener) {\n elem.removeEventListener(event, fn, false);\n } else {\n elem.detachEvent(\"on\" + event, fn);\n }\n } // https://gist.github.com/shawnbot/4166283\n\n\n function childOf(p, c) {\n if (p === c) {\n return false;\n }\n\n while (c && c !== p) {\n c = c.parentNode;\n }\n\n return c === p;\n }\n\n var pendingRequests = [],\n runningRequests = 0,\n maxRequests = 4;\n\n function pushRequest(url, success, error) {\n pendingRequests.push([url, success, error]);\n runNext();\n }\n\n function runNext() {\n if (runningRequests < maxRequests) {\n var request = pendingRequests.shift();\n\n if (request) {\n runningRequests++;\n getJSON(request[0], request[1], request[2]);\n runNext();\n }\n }\n }\n\n function requestComplete() {\n runningRequests--;\n runNext();\n }\n\n function getJSON(url, success, error) {\n ajaxCall(url, success, function (jqXHR, textStatus, errorThrown) {\n var message = typeof errorThrown === \"string\" ? errorThrown : errorThrown.message;\n error(message);\n });\n }\n\n function ajaxCall(url, success, error) {\n var $ = window.jQuery || window.Zepto || window.$;\n\n if ($ && $.ajax) {\n $.ajax({\n dataType: \"json\",\n url: url,\n success: success,\n error: error,\n complete: requestComplete\n });\n } else {\n var xhr = new XMLHttpRequest();\n xhr.open(\"GET\", url, true);\n xhr.setRequestHeader(\"Content-Type\", \"application/json\");\n\n xhr.onload = function () {\n requestComplete();\n\n if (xhr.status === 200) {\n success(JSON.parse(xhr.responseText), xhr.statusText, xhr);\n } else {\n error(xhr, \"error\", xhr.statusText);\n }\n };\n\n xhr.send();\n }\n }\n\n var config = {};\n var adapters = []; // helpers\n\n function setText(element, text) {\n if (document.body.innerText) {\n element.innerText = text;\n } else {\n element.textContent = text;\n }\n } // TODO remove prefix for all messages\n\n\n function chartError(element, message, noPrefix) {\n if (!noPrefix) {\n message = \"Error Loading Chart: \" + message;\n }\n\n setText(element, message);\n element.style.color = \"#ff0000\";\n }\n\n function errorCatcher(chart) {\n try {\n chart.__render();\n } catch (err) {\n chartError(chart.element, err.message);\n throw err;\n }\n }\n\n function fetchDataSource(chart, dataSource, showLoading) {\n // only show loading message for urls and callbacks\n if (showLoading && chart.options.loading && (typeof dataSource === \"string\" || typeof dataSource === \"function\")) {\n setText(chart.element, chart.options.loading);\n }\n\n if (typeof dataSource === \"string\") {\n pushRequest(dataSource, function (data) {\n chart.rawData = data;\n errorCatcher(chart);\n }, function (message) {\n chartError(chart.element, message);\n });\n } else if (typeof dataSource === \"function\") {\n try {\n dataSource(function (data) {\n chart.rawData = data;\n errorCatcher(chart);\n }, function (message) {\n chartError(chart.element, message, true);\n });\n } catch (err) {\n chartError(chart.element, err, true);\n }\n } else {\n chart.rawData = dataSource;\n errorCatcher(chart);\n }\n }\n\n function getAdapterType(library) {\n if (library) {\n if (library.product === \"Highcharts\") {\n return defaultExport$1;\n } else if (library.charts) {\n return defaultExport;\n } else if (isFunction(library)) {\n return defaultExport$2;\n }\n }\n\n throw new Error(\"Unknown adapter\");\n }\n\n function addAdapter(library) {\n var adapterType = getAdapterType(library);\n var adapter = new adapterType(library);\n\n if (adapters.indexOf(adapter) === -1) {\n adapters.push(adapter);\n }\n }\n\n function loadAdapters() {\n if (\"Chart\" in window) {\n addAdapter(window.Chart);\n }\n\n if (\"Highcharts\" in window) {\n addAdapter(window.Highcharts);\n }\n\n if (window.google && window.google.charts) {\n addAdapter(window.google);\n }\n }\n\n function renderChart(chartType, chart) {\n if (dataEmpty(chart.data, chartType)) {\n var message = chart.options.empty || chart.options.messages && chart.options.messages.empty || \"No data\";\n setText(chart.element, message);\n } else {\n callAdapter(chartType, chart);\n\n if (chart.options.download && !chart.__downloadAttached && chart.adapter === \"chartjs\") {\n addDownloadButton(chart);\n }\n }\n } // TODO remove chartType if cross-browser way\n // to get the name of the chart class\n\n\n function callAdapter(chartType, chart) {\n var i, adapter, fnName, adapterName;\n fnName = \"render\" + chartType;\n adapterName = chart.options.adapter;\n loadAdapters();\n\n for (i = 0; i < adapters.length; i++) {\n adapter = adapters[i];\n\n if ((!adapterName || adapterName === adapter.name) && isFunction(adapter[fnName])) {\n chart.adapter = adapter.name;\n chart.__adapterObject = adapter;\n return adapter[fnName](chart);\n }\n }\n\n if (adapters.length > 0) {\n throw new Error(\"No charting library found for \" + chartType);\n } else {\n throw new Error(\"No charting libraries found - be sure to include one before your charts\");\n }\n } // define classes\n\n\n var Chart = function Chart(element, dataSource, options) {\n var elementId;\n\n if (typeof element === \"string\") {\n elementId = element;\n element = document.getElementById(element);\n\n if (!element) {\n throw new Error(\"No element with id \" + elementId);\n }\n }\n\n this.element = element;\n this.options = merge(Chartkick.options, options || {});\n this.dataSource = dataSource;\n Chartkick.charts[element.id] = this;\n fetchDataSource(this, dataSource, true);\n\n if (this.options.refresh) {\n this.startRefresh();\n }\n };\n\n Chart.prototype.getElement = function getElement() {\n return this.element;\n };\n\n Chart.prototype.getDataSource = function getDataSource() {\n return this.dataSource;\n };\n\n Chart.prototype.getData = function getData() {\n return this.data;\n };\n\n Chart.prototype.getOptions = function getOptions() {\n return this.options;\n };\n\n Chart.prototype.getChartObject = function getChartObject() {\n return this.chart;\n };\n\n Chart.prototype.getAdapter = function getAdapter() {\n return this.adapter;\n };\n\n Chart.prototype.updateData = function updateData(dataSource, options) {\n this.dataSource = dataSource;\n\n if (options) {\n this.__updateOptions(options);\n }\n\n fetchDataSource(this, dataSource, true);\n };\n\n Chart.prototype.setOptions = function setOptions(options) {\n this.__updateOptions(options);\n\n this.redraw();\n };\n\n Chart.prototype.redraw = function redraw() {\n fetchDataSource(this, this.rawData);\n };\n\n Chart.prototype.refreshData = function refreshData() {\n if (typeof this.dataSource === \"string\") {\n // prevent browser from caching\n var sep = this.dataSource.indexOf(\"?\") === -1 ? \"?\" : \"&\";\n var url = this.dataSource + sep + \"_=\" + new Date().getTime();\n fetchDataSource(this, url);\n } else if (typeof this.dataSource === \"function\") {\n fetchDataSource(this, this.dataSource);\n }\n };\n\n Chart.prototype.startRefresh = function startRefresh() {\n var this$1 = this;\n var refresh = this.options.refresh;\n\n if (refresh && typeof this.dataSource !== \"string\" && typeof this.dataSource !== \"function\") {\n throw new Error(\"Data source must be a URL or callback for refresh\");\n }\n\n if (!this.intervalId) {\n if (refresh) {\n this.intervalId = setInterval(function () {\n this$1.refreshData();\n }, refresh * 1000);\n } else {\n throw new Error(\"No refresh interval\");\n }\n }\n };\n\n Chart.prototype.stopRefresh = function stopRefresh() {\n if (this.intervalId) {\n clearInterval(this.intervalId);\n this.intervalId = null;\n }\n };\n\n Chart.prototype.toImage = function toImage(download) {\n if (this.adapter === \"chartjs\") {\n if (download && download.background && download.background !== \"transparent\") {\n // https://stackoverflow.com/questions/30464750/chartjs-line-chart-set-background-color\n var canvas = this.chart.canvas;\n var ctx = this.chart.ctx;\n var tmpCanvas = document.createElement(\"canvas\");\n var tmpCtx = tmpCanvas.getContext(\"2d\");\n tmpCanvas.width = ctx.canvas.width;\n tmpCanvas.height = ctx.canvas.height;\n tmpCtx.fillStyle = download.background;\n tmpCtx.fillRect(0, 0, tmpCanvas.width, tmpCanvas.height);\n tmpCtx.drawImage(canvas, 0, 0);\n return tmpCanvas.toDataURL(\"image/png\");\n } else {\n return this.chart.toBase64Image();\n }\n } else {\n throw new Error(\"Feature only available for Chart.js\");\n }\n };\n\n Chart.prototype.destroy = function destroy() {\n this.destroyed = true;\n this.stopRefresh();\n\n if (this.__adapterObject) {\n this.__adapterObject.destroy(this);\n }\n\n if (this.__enterEvent) {\n removeEvent(this.element, \"mouseover\", this.__enterEvent);\n }\n\n if (this.__leaveEvent) {\n removeEvent(this.element, \"mouseout\", this.__leaveEvent);\n }\n };\n\n Chart.prototype.__updateOptions = function __updateOptions(options) {\n var updateRefresh = options.refresh && options.refresh !== this.options.refresh;\n this.options = merge(Chartkick.options, options);\n\n if (updateRefresh) {\n this.stopRefresh();\n this.startRefresh();\n }\n };\n\n Chart.prototype.__render = function __render() {\n this.data = this.__processData();\n renderChart(this.__chartName(), this);\n };\n\n Chart.prototype.__config = function __config() {\n return config;\n };\n\n var LineChart = /*@__PURE__*/function (Chart) {\n function LineChart() {\n Chart.apply(this, arguments);\n }\n\n if (Chart) LineChart.__proto__ = Chart;\n LineChart.prototype = Object.create(Chart && Chart.prototype);\n LineChart.prototype.constructor = LineChart;\n\n LineChart.prototype.__processData = function __processData() {\n return processSeries(this);\n };\n\n LineChart.prototype.__chartName = function __chartName() {\n return \"LineChart\";\n };\n\n return LineChart;\n }(Chart);\n\n var PieChart = /*@__PURE__*/function (Chart) {\n function PieChart() {\n Chart.apply(this, arguments);\n }\n\n if (Chart) PieChart.__proto__ = Chart;\n PieChart.prototype = Object.create(Chart && Chart.prototype);\n PieChart.prototype.constructor = PieChart;\n\n PieChart.prototype.__processData = function __processData() {\n return processSimple(this);\n };\n\n PieChart.prototype.__chartName = function __chartName() {\n return \"PieChart\";\n };\n\n return PieChart;\n }(Chart);\n\n var ColumnChart = /*@__PURE__*/function (Chart) {\n function ColumnChart() {\n Chart.apply(this, arguments);\n }\n\n if (Chart) ColumnChart.__proto__ = Chart;\n ColumnChart.prototype = Object.create(Chart && Chart.prototype);\n ColumnChart.prototype.constructor = ColumnChart;\n\n ColumnChart.prototype.__processData = function __processData() {\n return processSeries(this, null, true);\n };\n\n ColumnChart.prototype.__chartName = function __chartName() {\n return \"ColumnChart\";\n };\n\n return ColumnChart;\n }(Chart);\n\n var BarChart = /*@__PURE__*/function (Chart) {\n function BarChart() {\n Chart.apply(this, arguments);\n }\n\n if (Chart) BarChart.__proto__ = Chart;\n BarChart.prototype = Object.create(Chart && Chart.prototype);\n BarChart.prototype.constructor = BarChart;\n\n BarChart.prototype.__processData = function __processData() {\n return processSeries(this, null, true);\n };\n\n BarChart.prototype.__chartName = function __chartName() {\n return \"BarChart\";\n };\n\n return BarChart;\n }(Chart);\n\n var AreaChart = /*@__PURE__*/function (Chart) {\n function AreaChart() {\n Chart.apply(this, arguments);\n }\n\n if (Chart) AreaChart.__proto__ = Chart;\n AreaChart.prototype = Object.create(Chart && Chart.prototype);\n AreaChart.prototype.constructor = AreaChart;\n\n AreaChart.prototype.__processData = function __processData() {\n return processSeries(this);\n };\n\n AreaChart.prototype.__chartName = function __chartName() {\n return \"AreaChart\";\n };\n\n return AreaChart;\n }(Chart);\n\n var GeoChart = /*@__PURE__*/function (Chart) {\n function GeoChart() {\n Chart.apply(this, arguments);\n }\n\n if (Chart) GeoChart.__proto__ = Chart;\n GeoChart.prototype = Object.create(Chart && Chart.prototype);\n GeoChart.prototype.constructor = GeoChart;\n\n GeoChart.prototype.__processData = function __processData() {\n return processSimple(this);\n };\n\n GeoChart.prototype.__chartName = function __chartName() {\n return \"GeoChart\";\n };\n\n return GeoChart;\n }(Chart);\n\n var ScatterChart = /*@__PURE__*/function (Chart) {\n function ScatterChart() {\n Chart.apply(this, arguments);\n }\n\n if (Chart) ScatterChart.__proto__ = Chart;\n ScatterChart.prototype = Object.create(Chart && Chart.prototype);\n ScatterChart.prototype.constructor = ScatterChart;\n\n ScatterChart.prototype.__processData = function __processData() {\n return processSeries(this, \"number\");\n };\n\n ScatterChart.prototype.__chartName = function __chartName() {\n return \"ScatterChart\";\n };\n\n return ScatterChart;\n }(Chart);\n\n var BubbleChart = /*@__PURE__*/function (Chart) {\n function BubbleChart() {\n Chart.apply(this, arguments);\n }\n\n if (Chart) BubbleChart.__proto__ = Chart;\n BubbleChart.prototype = Object.create(Chart && Chart.prototype);\n BubbleChart.prototype.constructor = BubbleChart;\n\n BubbleChart.prototype.__processData = function __processData() {\n return processSeries(this, \"bubble\");\n };\n\n BubbleChart.prototype.__chartName = function __chartName() {\n return \"BubbleChart\";\n };\n\n return BubbleChart;\n }(Chart);\n\n var Timeline = /*@__PURE__*/function (Chart) {\n function Timeline() {\n Chart.apply(this, arguments);\n }\n\n if (Chart) Timeline.__proto__ = Chart;\n Timeline.prototype = Object.create(Chart && Chart.prototype);\n Timeline.prototype.constructor = Timeline;\n\n Timeline.prototype.__processData = function __processData() {\n var i,\n data = this.rawData;\n\n for (i = 0; i < data.length; i++) {\n data[i][1] = toDate(data[i][1]);\n data[i][2] = toDate(data[i][2]);\n }\n\n return data;\n };\n\n Timeline.prototype.__chartName = function __chartName() {\n return \"Timeline\";\n };\n\n return Timeline;\n }(Chart);\n\n var Chartkick = {\n LineChart: LineChart,\n PieChart: PieChart,\n ColumnChart: ColumnChart,\n BarChart: BarChart,\n AreaChart: AreaChart,\n GeoChart: GeoChart,\n ScatterChart: ScatterChart,\n BubbleChart: BubbleChart,\n Timeline: Timeline,\n charts: {},\n configure: function configure(options) {\n for (var key in options) {\n if (options.hasOwnProperty(key)) {\n config[key] = options[key];\n }\n }\n },\n setDefaultOptions: function setDefaultOptions(opts) {\n Chartkick.options = opts;\n },\n eachChart: function eachChart(callback) {\n for (var chartId in Chartkick.charts) {\n if (Chartkick.charts.hasOwnProperty(chartId)) {\n callback(Chartkick.charts[chartId]);\n }\n }\n },\n destroyAll: function destroyAll() {\n for (var chartId in Chartkick.charts) {\n if (Chartkick.charts.hasOwnProperty(chartId)) {\n Chartkick.charts[chartId].destroy();\n delete Chartkick.charts[chartId];\n }\n }\n },\n config: config,\n options: {},\n adapters: adapters,\n addAdapter: addAdapter,\n use: function use(adapter) {\n addAdapter(adapter);\n return Chartkick;\n }\n }; // not ideal, but allows for simpler integration\n\n if (typeof window !== \"undefined\" && !window.Chartkick) {\n window.Chartkick = Chartkick; // clean up previous charts before Turbolinks loads new page\n\n document.addEventListener(\"turbolinks:before-render\", function () {\n Chartkick.destroyAll();\n }); // use setTimeout so charting library can come later in same JS file\n\n setTimeout(function () {\n window.dispatchEvent(new Event(\"chartkick:load\"));\n }, 0);\n } // backwards compatibility for esm require\n\n\n Chartkick.default = Chartkick;\n return Chartkick;\n});","/*\nStimulus Webpack Helpers 1.0.0\nCopyright © 2021 Basecamp, LLC\n */\nfunction definitionsFromContext(context) {\n return context.keys().map(function (key) {\n return definitionForModuleWithContextAndKey(context, key);\n }).filter(function (value) {\n return value;\n });\n}\n\nfunction definitionForModuleWithContextAndKey(context, key) {\n var identifier = identifierForContextKey(key);\n\n if (identifier) {\n return definitionForModuleAndIdentifier(context(key), identifier);\n }\n}\n\nfunction definitionForModuleAndIdentifier(module, identifier) {\n var controllerConstructor = module.default;\n\n if (typeof controllerConstructor == \"function\") {\n return {\n identifier: identifier,\n controllerConstructor: controllerConstructor\n };\n }\n}\n\nfunction identifierForContextKey(key) {\n var logicalName = (key.match(/^(?:\\.\\/)?(.+)(?:[_-]controller\\..+?)$/) || [])[1];\n\n if (logicalName) {\n return logicalName.replace(/_/g, \"-\").replace(/\\//g, \"--\");\n }\n}\n\nexport { definitionForModuleAndIdentifier, definitionForModuleWithContextAndKey, definitionsFromContext, identifierForContextKey };","import { composeEventName, extendedEvent, isElementInViewport } from '../support/index';\nvar defaultOptions = {\n events: ['click', 'touchend'],\n onlyVisible: true,\n dispatchEvent: true,\n eventPrefix: true\n};\nexport var useClickOutside = function useClickOutside(controller) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var _Object$assign = Object.assign({}, defaultOptions, options),\n onlyVisible = _Object$assign.onlyVisible,\n dispatchEvent = _Object$assign.dispatchEvent,\n events = _Object$assign.events,\n eventPrefix = _Object$assign.eventPrefix;\n\n var onEvent = function onEvent(event) {\n var targetElement = (options === null || options === void 0 ? void 0 : options.element) || controller.element;\n\n if (targetElement.contains(event.target) || !isElementInViewport(targetElement) && onlyVisible) {\n return;\n } // call the clickOutside method of the Stimulus controller\n\n\n if (controller.clickOutside) {\n controller.clickOutside(event);\n } // emit a custom event\n\n\n if (dispatchEvent) {\n var eventName = composeEventName('click:outside', controller, eventPrefix);\n var clickOutsideEvent = extendedEvent(eventName, event, {\n controller: controller\n });\n targetElement.dispatchEvent(clickOutsideEvent);\n }\n };\n\n var observe = function observe() {\n events === null || events === void 0 ? void 0 : events.forEach(function (event) {\n window.addEventListener(event, onEvent, false);\n });\n };\n\n var unobserve = function unobserve() {\n events === null || events === void 0 ? void 0 : events.forEach(function (event) {\n window.removeEventListener(event, onEvent, false);\n });\n }; // keep a copy of the current disconnect() function of the controller\n // to support composing several behaviors\n\n\n var controllerDisconnect = controller.disconnect.bind(controller);\n Object.assign(controller, {\n disconnect: function disconnect() {\n unobserve();\n controllerDisconnect();\n }\n });\n observe();\n return [observe, unobserve];\n};","var _excluded = [\"premium\", \"referrerPolicy\"];\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nfunction _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }\n\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _iterableToArray(iter) { if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter); }\n\nfunction _arrayWithoutHoles(arr) { if (Array.isArray(arr)) return _arrayLikeToArray(arr); }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n\"object\" == (typeof navigator === \"undefined\" ? \"undefined\" : _typeof(navigator)) && function (e, t) {\n \"object\" == (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) && \"undefined\" != typeof module ? module.exports = t() : \"function\" == typeof define && define.amd ? define(\"Plyr\", t) : (e = \"undefined\" != typeof globalThis ? globalThis : e || self).Plyr = t();\n}(this, function () {\n \"use strict\";\n\n function e(e, t, i) {\n return t in e ? Object.defineProperty(e, t, {\n value: i,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[t] = i, e;\n }\n\n function t(e, t) {\n for (var i = 0; i < t.length; i++) {\n var s = t[i];\n s.enumerable = s.enumerable || !1, s.configurable = !0, \"value\" in s && (s.writable = !0), Object.defineProperty(e, s.key, s);\n }\n }\n\n function i(e, t, i) {\n return t in e ? Object.defineProperty(e, t, {\n value: i,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[t] = i, e;\n }\n\n function s(e, t) {\n var i = Object.keys(e);\n\n if (Object.getOwnPropertySymbols) {\n var s = Object.getOwnPropertySymbols(e);\n t && (s = s.filter(function (t) {\n return Object.getOwnPropertyDescriptor(e, t).enumerable;\n })), i.push.apply(i, s);\n }\n\n return i;\n }\n\n function n(e) {\n for (var t = 1; t < arguments.length; t++) {\n var n = null != arguments[t] ? arguments[t] : {};\n t % 2 ? s(Object(n), !0).forEach(function (t) {\n i(e, t, n[t]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(n)) : s(Object(n)).forEach(function (t) {\n Object.defineProperty(e, t, Object.getOwnPropertyDescriptor(n, t));\n });\n }\n\n return e;\n }\n\n var a = {\n addCSS: !0,\n thumbWidth: 15,\n watch: !0\n };\n\n function l(e, t) {\n return function () {\n return Array.from(document.querySelectorAll(t)).includes(this);\n }.call(e, t);\n }\n\n var o = function o(e) {\n return null != e ? e.constructor : null;\n },\n r = function r(e, t) {\n return !!(e && t && e instanceof t);\n },\n c = function c(e) {\n return null == e;\n },\n h = function h(e) {\n return o(e) === Object;\n },\n u = function u(e) {\n return o(e) === String;\n },\n d = function d(e) {\n return Array.isArray(e);\n },\n m = function m(e) {\n return r(e, NodeList);\n },\n p = u,\n g = d,\n f = m,\n y = function y(e) {\n return r(e, Element);\n },\n b = function b(e) {\n return r(e, Event);\n },\n v = function v(e) {\n return c(e) || (u(e) || d(e) || m(e)) && !e.length || h(e) && !Object.keys(e).length;\n };\n\n function w(e, t) {\n if (1 > t) {\n var i = function (e) {\n var t = \"\".concat(e).match(/(?:\\.(\\d+))?(?:[eE]([+-]?\\d+))?$/);\n return t ? Math.max(0, (t[1] ? t[1].length : 0) - (t[2] ? +t[2] : 0)) : 0;\n }(t);\n\n return parseFloat(e.toFixed(i));\n }\n\n return Math.round(e / t) * t;\n }\n\n var T = function () {\n function e(t, i) {\n (function (e, t) {\n if (!(e instanceof t)) throw new TypeError(\"Cannot call a class as a function\");\n })(this, e), y(t) ? this.element = t : p(t) && (this.element = document.querySelector(t)), y(this.element) && v(this.element.rangeTouch) && (this.config = n({}, a, {}, i), this.init());\n }\n\n return function (e, i, s) {\n i && t(e.prototype, i), s && t(e, s);\n }(e, [{\n key: \"init\",\n value: function value() {\n e.enabled && (this.config.addCSS && (this.element.style.userSelect = \"none\", this.element.style.webKitUserSelect = \"none\", this.element.style.touchAction = \"manipulation\"), this.listeners(!0), this.element.rangeTouch = this);\n }\n }, {\n key: \"destroy\",\n value: function value() {\n e.enabled && (this.config.addCSS && (this.element.style.userSelect = \"\", this.element.style.webKitUserSelect = \"\", this.element.style.touchAction = \"\"), this.listeners(!1), this.element.rangeTouch = null);\n }\n }, {\n key: \"listeners\",\n value: function value(e) {\n var t = this,\n i = e ? \"addEventListener\" : \"removeEventListener\";\n [\"touchstart\", \"touchmove\", \"touchend\"].forEach(function (e) {\n t.element[i](e, function (e) {\n return t.set(e);\n }, !1);\n });\n }\n }, {\n key: \"get\",\n value: function value(t) {\n if (!e.enabled || !b(t)) return null;\n var i,\n s = t.target,\n n = t.changedTouches[0],\n a = parseFloat(s.getAttribute(\"min\")) || 0,\n l = parseFloat(s.getAttribute(\"max\")) || 100,\n o = parseFloat(s.getAttribute(\"step\")) || 1,\n r = s.getBoundingClientRect(),\n c = 100 / r.width * (this.config.thumbWidth / 2) / 100;\n return 0 > (i = 100 / r.width * (n.clientX - r.left)) ? i = 0 : 100 < i && (i = 100), 50 > i ? i -= (100 - 2 * i) * c : 50 < i && (i += 2 * (i - 50) * c), a + w(i / 100 * (l - a), o);\n }\n }, {\n key: \"set\",\n value: function value(t) {\n e.enabled && b(t) && !t.target.disabled && (t.preventDefault(), t.target.value = this.get(t), function (e, t) {\n if (e && t) {\n var i = new Event(t, {\n bubbles: !0\n });\n e.dispatchEvent(i);\n }\n }(t.target, \"touchend\" === t.type ? \"change\" : \"input\"));\n }\n }], [{\n key: \"setup\",\n value: function value(t) {\n var i = 1 < arguments.length && void 0 !== arguments[1] ? arguments[1] : {},\n s = null;\n if (v(t) || p(t) ? s = Array.from(document.querySelectorAll(p(t) ? t : 'input[type=\"range\"]')) : y(t) ? s = [t] : f(t) ? s = Array.from(t) : g(t) && (s = t.filter(y)), v(s)) return null;\n var o = n({}, a, {}, i);\n\n if (p(t) && o.watch) {\n var r = new MutationObserver(function (i) {\n Array.from(i).forEach(function (i) {\n Array.from(i.addedNodes).forEach(function (i) {\n y(i) && l(i, t) && new e(i, o);\n });\n });\n });\n r.observe(document.body, {\n childList: !0,\n subtree: !0\n });\n }\n\n return s.map(function (t) {\n return new e(t, i);\n });\n }\n }, {\n key: \"enabled\",\n get: function get() {\n return \"ontouchstart\" in document.documentElement;\n }\n }]), e;\n }();\n\n var k = function k(e) {\n return null != e ? e.constructor : null;\n },\n C = function C(e, t) {\n return Boolean(e && t && e instanceof t);\n },\n A = function A(e) {\n return null == e;\n },\n S = function S(e) {\n return k(e) === Object;\n },\n E = function E(e) {\n return k(e) === String;\n },\n P = function P(e) {\n return k(e) === Function;\n },\n x = function x(e) {\n return Array.isArray(e);\n },\n M = function M(e) {\n return C(e, NodeList);\n },\n N = function N(e) {\n return A(e) || (E(e) || x(e) || M(e)) && !e.length || S(e) && !Object.keys(e).length;\n };\n\n var I = A,\n L = S,\n $ = function $(e) {\n return k(e) === Number && !Number.isNaN(e);\n },\n _ = E,\n O = function O(e) {\n return k(e) === Boolean;\n },\n q = P,\n j = x,\n D = M,\n H = function H(e) {\n return null !== e && \"object\" == _typeof(e) && 1 === e.nodeType && \"object\" == _typeof(e.style) && \"object\" == _typeof(e.ownerDocument);\n },\n F = function F(e) {\n return C(e, Event);\n },\n R = function R(e) {\n return C(e, KeyboardEvent);\n },\n V = function V(e) {\n return C(e, TextTrack) || !A(e) && E(e.kind);\n },\n B = function B(e) {\n return C(e, Promise) && P(e.then);\n },\n U = function U(e) {\n if (C(e, window.URL)) return !0;\n if (!E(e)) return !1;\n var t = e;\n e.startsWith(\"http://\") && e.startsWith(\"https://\") || (t = \"http://\".concat(e));\n\n try {\n return !N(new URL(t).hostname);\n } catch (e) {\n return !1;\n }\n },\n W = N;\n\n var z = function () {\n var e = document.createElement(\"span\"),\n t = {\n WebkitTransition: \"webkitTransitionEnd\",\n MozTransition: \"transitionend\",\n OTransition: \"oTransitionEnd otransitionend\",\n transition: \"transitionend\"\n },\n i = Object.keys(t).find(function (t) {\n return void 0 !== e.style[t];\n });\n return !!_(i) && t[i];\n }();\n\n function K(e, t) {\n setTimeout(function () {\n try {\n e.hidden = !0, e.offsetHeight, e.hidden = !1;\n } catch (e) {}\n }, t);\n }\n\n var Y = {\n isIE: Boolean(window.document.documentMode),\n isEdge: window.navigator.userAgent.includes(\"Edge\"),\n isWebkit: \"WebkitAppearance\" in document.documentElement.style && !/Edge/.test(navigator.userAgent),\n isIPhone: /(iPhone|iPod)/gi.test(navigator.platform),\n isIos: \"MacIntel\" === navigator.platform && navigator.maxTouchPoints > 1 || /(iPad|iPhone|iPod)/gi.test(navigator.platform)\n };\n\n function Q(e, t) {\n return t.split(\".\").reduce(function (e, t) {\n return e && e[t];\n }, e);\n }\n\n function X() {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n for (var _len = arguments.length, t = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n t[_key - 1] = arguments[_key];\n }\n\n if (!t.length) return e;\n var i = t.shift();\n return L(i) ? (Object.keys(i).forEach(function (t) {\n L(i[t]) ? (Object.keys(e).includes(t) || Object.assign(e, _defineProperty({}, t, {})), X(e[t], i[t])) : Object.assign(e, _defineProperty({}, t, i[t]));\n }), X.apply(void 0, [e].concat(t))) : e;\n }\n\n function J(e, t) {\n var i = e.length ? e : [e];\n Array.from(i).reverse().forEach(function (e, i) {\n var s = i > 0 ? t.cloneNode(!0) : t,\n n = e.parentNode,\n a = e.nextSibling;\n s.appendChild(e), a ? n.insertBefore(s, a) : n.appendChild(s);\n });\n }\n\n function G(e, t) {\n H(e) && !W(t) && Object.entries(t).filter(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n e = _ref2[1];\n\n return !I(e);\n }).forEach(function (_ref3) {\n var _ref4 = _slicedToArray(_ref3, 2),\n t = _ref4[0],\n i = _ref4[1];\n\n return e.setAttribute(t, i);\n });\n }\n\n function Z(e, t, i) {\n var s = document.createElement(e);\n return L(t) && G(s, t), _(i) && (s.innerText = i), s;\n }\n\n function ee(e, t, i, s) {\n H(t) && t.appendChild(Z(e, i, s));\n }\n\n function te(e) {\n D(e) || j(e) ? Array.from(e).forEach(te) : H(e) && H(e.parentNode) && e.parentNode.removeChild(e);\n }\n\n function ie(e) {\n if (!H(e)) return;\n var t = e.childNodes.length;\n\n for (; t > 0;) {\n e.removeChild(e.lastChild), t -= 1;\n }\n }\n\n function se(e, t) {\n return H(t) && H(t.parentNode) && H(e) ? (t.parentNode.replaceChild(e, t), e) : null;\n }\n\n function ne(e, t) {\n if (!_(e) || W(e)) return {};\n var i = {},\n s = X({}, t);\n return e.split(\",\").forEach(function (e) {\n var t = e.trim(),\n n = t.replace(\".\", \"\"),\n a = t.replace(/[[\\]]/g, \"\").split(\"=\"),\n _a = _slicedToArray(a, 1),\n l = _a[0],\n o = a.length > 1 ? a[1].replace(/[\"']/g, \"\") : \"\";\n\n switch (t.charAt(0)) {\n case \".\":\n _(s.class) ? i.class = \"\".concat(s.class, \" \").concat(n) : i.class = n;\n break;\n\n case \"#\":\n i.id = t.replace(\"#\", \"\");\n break;\n\n case \"[\":\n i[l] = o;\n }\n }), X(s, i);\n }\n\n function ae(e, t) {\n if (!H(e)) return;\n var i = t;\n O(i) || (i = !e.hidden), e.hidden = i;\n }\n\n function le(e, t, i) {\n if (D(e)) return Array.from(e).map(function (e) {\n return le(e, t, i);\n });\n\n if (H(e)) {\n var _s2 = \"toggle\";\n return void 0 !== i && (_s2 = i ? \"add\" : \"remove\"), e.classList[_s2](t), e.classList.contains(t);\n }\n\n return !1;\n }\n\n function oe(e, t) {\n return H(e) && e.classList.contains(t);\n }\n\n function re(e, t) {\n var _Element = Element,\n i = _Element.prototype;\n return (i.matches || i.webkitMatchesSelector || i.mozMatchesSelector || i.msMatchesSelector || function () {\n return Array.from(document.querySelectorAll(t)).includes(this);\n }).call(e, t);\n }\n\n function ce(e) {\n return this.elements.container.querySelectorAll(e);\n }\n\n function he(e) {\n return this.elements.container.querySelector(e);\n }\n\n function ue() {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n H(e) && (e.focus({\n preventScroll: !0\n }), t && le(e, this.config.classNames.tabFocus));\n }\n\n var de = {\n \"audio/ogg\": \"vorbis\",\n \"audio/wav\": \"1\",\n \"video/webm\": \"vp8, vorbis\",\n \"video/mp4\": \"avc1.42E01E, mp4a.40.2\",\n \"video/ogg\": \"theora\"\n },\n me = {\n audio: \"canPlayType\" in document.createElement(\"audio\"),\n video: \"canPlayType\" in document.createElement(\"video\"),\n check: function check(e, t, i) {\n var s = Y.isIPhone && i && me.playsinline,\n n = me[e] || \"html5\" !== t;\n return {\n api: n,\n ui: n && me.rangeInput && (\"video\" !== e || !Y.isIPhone || s)\n };\n },\n pip: !(Y.isIPhone || !q(Z(\"video\").webkitSetPresentationMode) && (!document.pictureInPictureEnabled || Z(\"video\").disablePictureInPicture)),\n airplay: q(window.WebKitPlaybackTargetAvailabilityEvent),\n playsinline: \"playsInline\" in document.createElement(\"video\"),\n mime: function mime(e) {\n if (W(e)) return !1;\n\n var _e$split = e.split(\"/\"),\n _e$split2 = _slicedToArray(_e$split, 1),\n t = _e$split2[0];\n\n var i = e;\n if (!this.isHTML5 || t !== this.type) return !1;\n Object.keys(de).includes(i) && (i += \"; codecs=\\\"\".concat(de[e], \"\\\"\"));\n\n try {\n return Boolean(i && this.media.canPlayType(i).replace(/no/, \"\"));\n } catch (e) {\n return !1;\n }\n },\n textTracks: \"textTracks\" in document.createElement(\"video\"),\n rangeInput: function () {\n var e = document.createElement(\"input\");\n return e.type = \"range\", \"range\" === e.type;\n }(),\n touch: \"ontouchstart\" in document.documentElement,\n transitions: !1 !== z,\n reducedMotion: \"matchMedia\" in window && window.matchMedia(\"(prefers-reduced-motion)\").matches\n },\n pe = function () {\n var e = !1;\n\n try {\n var _t = Object.defineProperty({}, \"passive\", {\n get: function get() {\n return e = !0, null;\n }\n });\n\n window.addEventListener(\"test\", null, _t), window.removeEventListener(\"test\", null, _t);\n } catch (e) {}\n\n return e;\n }();\n\n function ge(e, t, i) {\n var _this = this;\n\n var s = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !1;\n var n = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : !0;\n var a = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : !1;\n if (!e || !(\"addEventListener\" in e) || W(t) || !q(i)) return;\n var l = t.split(\" \");\n var o = a;\n pe && (o = {\n passive: n,\n capture: a\n }), l.forEach(function (t) {\n _this && _this.eventListeners && s && _this.eventListeners.push({\n element: e,\n type: t,\n callback: i,\n options: o\n }), e[s ? \"addEventListener\" : \"removeEventListener\"](t, i, o);\n });\n }\n\n function fe(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"\";\n var i = arguments.length > 2 ? arguments[2] : undefined;\n var s = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !0;\n var n = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : !1;\n ge.call(this, e, t, i, !0, s, n);\n }\n\n function ye(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"\";\n var i = arguments.length > 2 ? arguments[2] : undefined;\n var s = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !0;\n var n = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : !1;\n ge.call(this, e, t, i, !1, s, n);\n }\n\n function be(e) {\n var _this2 = this;\n\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"\";\n var i = arguments.length > 2 ? arguments[2] : undefined;\n var s = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : !0;\n var n = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : !1;\n\n var a = function a() {\n for (var _len2 = arguments.length, l = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n l[_key2] = arguments[_key2];\n }\n\n ye(e, t, a, s, n), i.apply(_this2, l);\n };\n\n ge.call(this, e, t, a, !0, s, n);\n }\n\n function ve(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"\";\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !1;\n var s = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (!H(e) || W(t)) return;\n var n = new CustomEvent(t, {\n bubbles: i,\n detail: _objectSpread(_objectSpread({}, s), {}, {\n plyr: this\n })\n });\n e.dispatchEvent(n);\n }\n\n function we() {\n this && this.eventListeners && (this.eventListeners.forEach(function (e) {\n var t = e.element,\n i = e.type,\n s = e.callback,\n n = e.options;\n t.removeEventListener(i, s, n);\n }), this.eventListeners = []);\n }\n\n function Te() {\n var _this3 = this;\n\n return new Promise(function (e) {\n return _this3.ready ? setTimeout(e, 0) : fe.call(_this3, _this3.elements.container, \"ready\", e);\n }).then(function () {});\n }\n\n function ke(e) {\n B(e) && e.then(null, function () {});\n }\n\n function Ce(e) {\n return j(e) ? e.filter(function (t, i) {\n return e.indexOf(t) === i;\n }) : e;\n }\n\n function Ae(e, t) {\n return j(e) && e.length ? e.reduce(function (e, i) {\n return Math.abs(i - t) < Math.abs(e - t) ? i : e;\n }) : null;\n }\n\n function Se(e) {\n return !(!window || !window.CSS) && window.CSS.supports(e);\n }\n\n var Ee = [[1, 1], [4, 3], [3, 4], [5, 4], [4, 5], [3, 2], [2, 3], [16, 10], [10, 16], [16, 9], [9, 16], [21, 9], [9, 21], [32, 9], [9, 32]].reduce(function (e, _ref5) {\n var _ref6 = _slicedToArray(_ref5, 2),\n t = _ref6[0],\n i = _ref6[1];\n\n return _objectSpread(_objectSpread({}, e), {}, _defineProperty({}, t / i, [t, i]));\n }, {});\n\n function Pe(e) {\n if (!(j(e) || _(e) && e.includes(\":\"))) return !1;\n return (j(e) ? e : e.split(\":\")).map(Number).every($);\n }\n\n function xe(e) {\n if (!j(e) || !e.every($)) return null;\n\n var _e2 = _slicedToArray(e, 2),\n t = _e2[0],\n i = _e2[1],\n s = function s(e, t) {\n return 0 === t ? e : s(t, e % t);\n },\n n = s(t, i);\n\n return [t / n, i / n];\n }\n\n function Me(e) {\n var _this$embed;\n\n var t = function t(e) {\n return Pe(e) ? e.split(\":\").map(Number) : null;\n };\n\n var i = t(e);\n\n if (null === i && (i = t(this.config.ratio)), null === i && !W(this.embed) && j(this.embed.ratio) && (_this$embed = this.embed, i = _this$embed.ratio, _this$embed), null === i && this.isHTML5) {\n var _this$media = this.media,\n _e3 = _this$media.videoWidth,\n _t2 = _this$media.videoHeight;\n i = [_e3, _t2];\n }\n\n return xe(i);\n }\n\n function Ne(e) {\n if (!this.isVideo) return {};\n var t = this.elements.wrapper,\n i = Me.call(this, e);\n if (!j(i)) return {};\n\n var _xe = xe(i),\n _xe2 = _slicedToArray(_xe, 2),\n s = _xe2[0],\n n = _xe2[1],\n a = 100 / s * n;\n\n if (Se(\"aspect-ratio: \".concat(s, \"/\").concat(n)) ? t.style.aspectRatio = \"\".concat(s, \"/\").concat(n) : t.style.paddingBottom = \"\".concat(a, \"%\"), this.isVimeo && !this.config.vimeo.premium && this.supported.ui) {\n var _e4 = 100 / this.media.offsetWidth * parseInt(window.getComputedStyle(this.media).paddingBottom, 10),\n _i2 = (_e4 - a) / (_e4 / 50);\n\n this.fullscreen.active ? t.style.paddingBottom = null : this.media.style.transform = \"translateY(-\".concat(_i2, \"%)\");\n } else this.isHTML5 && t.classList.add(this.config.classNames.videoFixedRatio);\n\n return {\n padding: a,\n ratio: i\n };\n }\n\n function Ie(e, t) {\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : .05;\n var s = e / t,\n n = Ae(Object.keys(Ee), s);\n return Math.abs(n - s) <= i ? Ee[n] : [e, t];\n }\n\n var Le = {\n getSources: function getSources() {\n var _this4 = this;\n\n if (!this.isHTML5) return [];\n return Array.from(this.media.querySelectorAll(\"source\")).filter(function (e) {\n var t = e.getAttribute(\"type\");\n return !!W(t) || me.mime.call(_this4, t);\n });\n },\n getQualityOptions: function getQualityOptions() {\n return this.config.quality.forced ? this.config.quality.options : Le.getSources.call(this).map(function (e) {\n return Number(e.getAttribute(\"size\"));\n }).filter(Boolean);\n },\n setup: function setup() {\n if (!this.isHTML5) return;\n var e = this;\n e.options.speed = e.config.speed.options, W(this.config.ratio) || Ne.call(e), Object.defineProperty(e.media, \"quality\", {\n get: function get() {\n var t = Le.getSources.call(e).find(function (t) {\n return t.getAttribute(\"src\") === e.source;\n });\n return t && Number(t.getAttribute(\"size\"));\n },\n set: function set(t) {\n if (e.quality !== t) {\n if (e.config.quality.forced && q(e.config.quality.onChange)) e.config.quality.onChange(t);else {\n var _i3 = Le.getSources.call(e).find(function (e) {\n return Number(e.getAttribute(\"size\")) === t;\n });\n\n if (!_i3) return;\n var _e$media = e.media,\n _s3 = _e$media.currentTime,\n _n2 = _e$media.paused,\n _a2 = _e$media.preload,\n _l = _e$media.readyState,\n _o = _e$media.playbackRate;\n e.media.src = _i3.getAttribute(\"src\"), (\"none\" !== _a2 || _l) && (e.once(\"loadedmetadata\", function () {\n e.speed = _o, e.currentTime = _s3, _n2 || ke(e.play());\n }), e.media.load());\n }\n ve.call(e, e.media, \"qualitychange\", !1, {\n quality: t\n });\n }\n }\n });\n },\n cancelRequests: function cancelRequests() {\n this.isHTML5 && (te(Le.getSources.call(this)), this.media.setAttribute(\"src\", this.config.blankVideo), this.media.load(), this.debug.log(\"Cancelled network requests\"));\n }\n };\n\n function $e(e) {\n for (var _len3 = arguments.length, t = new Array(_len3 > 1 ? _len3 - 1 : 0), _key3 = 1; _key3 < _len3; _key3++) {\n t[_key3 - 1] = arguments[_key3];\n }\n\n return W(e) ? e : e.toString().replace(/{(\\d+)}/g, function (e, i) {\n return t[i].toString();\n });\n }\n\n var _e = function _e() {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"\";\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : \"\";\n return e.replace(new RegExp(t.toString().replace(/([.*+?^=!:${}()|[\\]/\\\\])/g, \"\\\\$1\"), \"g\"), i.toString());\n },\n Oe = function Oe() {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n return e.toString().replace(/\\w\\S*/g, function (e) {\n return e.charAt(0).toUpperCase() + e.substr(1).toLowerCase();\n });\n };\n\n function qe() {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var t = e.toString();\n return t = function () {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var t = e.toString();\n return t = _e(t, \"-\", \" \"), t = _e(t, \"_\", \" \"), t = Oe(t), _e(t, \" \", \"\");\n }(t), t.charAt(0).toLowerCase() + t.slice(1);\n }\n\n function je(e) {\n var t = document.createElement(\"div\");\n return t.appendChild(e), t.innerHTML;\n }\n\n var De = {\n pip: \"PIP\",\n airplay: \"AirPlay\",\n html5: \"HTML5\",\n vimeo: \"Vimeo\",\n youtube: \"YouTube\"\n },\n He = {\n get: function get() {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (W(e) || W(t)) return \"\";\n var i = Q(t.i18n, e);\n if (W(i)) return Object.keys(De).includes(e) ? De[e] : \"\";\n var s = {\n \"{seektime}\": t.seekTime,\n \"{title}\": t.title\n };\n return Object.entries(s).forEach(function (_ref7) {\n var _ref8 = _slicedToArray(_ref7, 2),\n e = _ref8[0],\n t = _ref8[1];\n\n i = _e(i, e, t);\n }), i;\n }\n };\n\n var Fe = /*#__PURE__*/function () {\n function Fe(t) {\n var _this5 = this;\n\n _classCallCheck(this, Fe);\n\n e(this, \"get\", function (e) {\n if (!Fe.supported || !_this5.enabled) return null;\n var t = window.localStorage.getItem(_this5.key);\n if (W(t)) return null;\n var i = JSON.parse(t);\n return _(e) && e.length ? i[e] : i;\n }), e(this, \"set\", function (e) {\n if (!Fe.supported || !_this5.enabled) return;\n if (!L(e)) return;\n\n var t = _this5.get();\n\n W(t) && (t = {}), X(t, e), window.localStorage.setItem(_this5.key, JSON.stringify(t));\n }), this.enabled = t.config.storage.enabled, this.key = t.config.storage.key;\n }\n\n _createClass(Fe, null, [{\n key: \"supported\",\n get: function get() {\n try {\n if (!(\"localStorage\" in window)) return !1;\n var _e5 = \"___test\";\n return window.localStorage.setItem(_e5, _e5), window.localStorage.removeItem(_e5), !0;\n } catch (e) {\n return !1;\n }\n }\n }]);\n\n return Fe;\n }();\n\n function Re(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : \"text\";\n return new Promise(function (i, s) {\n try {\n var _s4 = new XMLHttpRequest();\n\n if (!(\"withCredentials\" in _s4)) return;\n _s4.addEventListener(\"load\", function () {\n if (\"text\" === t) try {\n i(JSON.parse(_s4.responseText));\n } catch (e) {\n i(_s4.responseText);\n } else i(_s4.response);\n }), _s4.addEventListener(\"error\", function () {\n throw new Error(_s4.status);\n }), _s4.open(\"GET\", e, !0), _s4.responseType = t, _s4.send();\n } catch (e) {\n s(e);\n }\n });\n }\n\n function Ve(e, t) {\n if (!_(e)) return;\n\n var i = _(t);\n\n var s = !1;\n\n var n = function n() {\n return null !== document.getElementById(t);\n },\n a = function a(e, t) {\n e.innerHTML = t, i && n() || document.body.insertAdjacentElement(\"afterbegin\", e);\n };\n\n if (!i || !n()) {\n var _n3 = Fe.supported,\n _l2 = document.createElement(\"div\");\n\n if (_l2.setAttribute(\"hidden\", \"\"), i && _l2.setAttribute(\"id\", t), _n3) {\n var _e6 = window.localStorage.getItem(\"cache-\".concat(t));\n\n if (s = null !== _e6, s) {\n var _t3 = JSON.parse(_e6);\n\n a(_l2, _t3.content);\n }\n }\n\n Re(e).then(function (e) {\n W(e) || (_n3 && window.localStorage.setItem(\"cache-\".concat(t), JSON.stringify({\n content: e\n })), a(_l2, e));\n }).catch(function () {});\n }\n }\n\n var Be = function Be(e) {\n return Math.trunc(e / 60 / 60 % 60, 10);\n };\n\n function Ue() {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !1;\n if (!$(e)) return Ue(void 0, t, i);\n\n var s = function s(e) {\n return \"0\".concat(e).slice(-2);\n };\n\n var n = Be(e);\n var a = (l = e, Math.trunc(l / 60 % 60, 10));\n var l;\n\n var o = function (e) {\n return Math.trunc(e % 60, 10);\n }(e);\n\n return n = t || n > 0 ? \"\".concat(n, \":\") : \"\", \"\".concat(i && e > 0 ? \"-\" : \"\").concat(n).concat(s(a), \":\").concat(s(o));\n }\n\n var We = {\n getIconUrl: function getIconUrl() {\n var e = new URL(this.config.iconUrl, window.location).host !== window.location.host || Y.isIE && !window.svg4everybody;\n return {\n url: this.config.iconUrl,\n cors: e\n };\n },\n findElements: function findElements() {\n try {\n return this.elements.controls = he.call(this, this.config.selectors.controls.wrapper), this.elements.buttons = {\n play: ce.call(this, this.config.selectors.buttons.play),\n pause: he.call(this, this.config.selectors.buttons.pause),\n restart: he.call(this, this.config.selectors.buttons.restart),\n rewind: he.call(this, this.config.selectors.buttons.rewind),\n fastForward: he.call(this, this.config.selectors.buttons.fastForward),\n mute: he.call(this, this.config.selectors.buttons.mute),\n pip: he.call(this, this.config.selectors.buttons.pip),\n airplay: he.call(this, this.config.selectors.buttons.airplay),\n settings: he.call(this, this.config.selectors.buttons.settings),\n captions: he.call(this, this.config.selectors.buttons.captions),\n fullscreen: he.call(this, this.config.selectors.buttons.fullscreen)\n }, this.elements.progress = he.call(this, this.config.selectors.progress), this.elements.inputs = {\n seek: he.call(this, this.config.selectors.inputs.seek),\n volume: he.call(this, this.config.selectors.inputs.volume)\n }, this.elements.display = {\n buffer: he.call(this, this.config.selectors.display.buffer),\n currentTime: he.call(this, this.config.selectors.display.currentTime),\n duration: he.call(this, this.config.selectors.display.duration)\n }, H(this.elements.progress) && (this.elements.display.seekTooltip = this.elements.progress.querySelector(\".\".concat(this.config.classNames.tooltip))), !0;\n } catch (e) {\n return this.debug.warn(\"It looks like there is a problem with your custom controls HTML\", e), this.toggleNativeControls(!0), !1;\n }\n },\n createIcon: function createIcon(e, t) {\n var i = \"http://www.w3.org/2000/svg\",\n s = We.getIconUrl.call(this),\n n = \"\".concat(s.cors ? \"\" : s.url, \"#\").concat(this.config.iconPrefix),\n a = document.createElementNS(i, \"svg\");\n G(a, X(t, {\n \"aria-hidden\": \"true\",\n focusable: \"false\"\n }));\n var l = document.createElementNS(i, \"use\"),\n o = \"\".concat(n, \"-\").concat(e);\n return \"href\" in l && l.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"href\", o), l.setAttributeNS(\"http://www.w3.org/1999/xlink\", \"xlink:href\", o), a.appendChild(l), a;\n },\n createLabel: function createLabel(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i = He.get(e, this.config);\n return Z(\"span\", _objectSpread(_objectSpread({}, t), {}, {\n class: [t.class, this.config.classNames.hidden].filter(Boolean).join(\" \")\n }), i);\n },\n createBadge: function createBadge(e) {\n if (W(e)) return null;\n var t = Z(\"span\", {\n class: this.config.classNames.menu.value\n });\n return t.appendChild(Z(\"span\", {\n class: this.config.classNames.menu.badge\n }, e)), t;\n },\n createButton: function createButton(e, t) {\n var _this6 = this;\n\n var i = X({}, t);\n var s = qe(e);\n var n = {\n element: \"button\",\n toggle: !1,\n label: null,\n icon: null,\n labelPressed: null,\n iconPressed: null\n };\n\n switch ([\"element\", \"icon\", \"label\"].forEach(function (e) {\n Object.keys(i).includes(e) && (n[e] = i[e], delete i[e]);\n }), \"button\" !== n.element || Object.keys(i).includes(\"type\") || (i.type = \"button\"), Object.keys(i).includes(\"class\") ? i.class.split(\" \").some(function (e) {\n return e === _this6.config.classNames.control;\n }) || X(i, {\n class: \"\".concat(i.class, \" \").concat(this.config.classNames.control)\n }) : i.class = this.config.classNames.control, e) {\n case \"play\":\n n.toggle = !0, n.label = \"play\", n.labelPressed = \"pause\", n.icon = \"play\", n.iconPressed = \"pause\";\n break;\n\n case \"mute\":\n n.toggle = !0, n.label = \"mute\", n.labelPressed = \"unmute\", n.icon = \"volume\", n.iconPressed = \"muted\";\n break;\n\n case \"captions\":\n n.toggle = !0, n.label = \"enableCaptions\", n.labelPressed = \"disableCaptions\", n.icon = \"captions-off\", n.iconPressed = \"captions-on\";\n break;\n\n case \"fullscreen\":\n n.toggle = !0, n.label = \"enterFullscreen\", n.labelPressed = \"exitFullscreen\", n.icon = \"enter-fullscreen\", n.iconPressed = \"exit-fullscreen\";\n break;\n\n case \"play-large\":\n i.class += \" \".concat(this.config.classNames.control, \"--overlaid\"), s = \"play\", n.label = \"play\", n.icon = \"play\";\n break;\n\n default:\n W(n.label) && (n.label = s), W(n.icon) && (n.icon = e);\n }\n\n var a = Z(n.element);\n return n.toggle ? (a.appendChild(We.createIcon.call(this, n.iconPressed, {\n class: \"icon--pressed\"\n })), a.appendChild(We.createIcon.call(this, n.icon, {\n class: \"icon--not-pressed\"\n })), a.appendChild(We.createLabel.call(this, n.labelPressed, {\n class: \"label--pressed\"\n })), a.appendChild(We.createLabel.call(this, n.label, {\n class: \"label--not-pressed\"\n }))) : (a.appendChild(We.createIcon.call(this, n.icon)), a.appendChild(We.createLabel.call(this, n.label))), X(i, ne(this.config.selectors.buttons[s], i)), G(a, i), \"play\" === s ? (j(this.elements.buttons[s]) || (this.elements.buttons[s] = []), this.elements.buttons[s].push(a)) : this.elements.buttons[s] = a, a;\n },\n createRange: function createRange(e, t) {\n var i = Z(\"input\", X(ne(this.config.selectors.inputs[e]), {\n type: \"range\",\n min: 0,\n max: 100,\n step: .01,\n value: 0,\n autocomplete: \"off\",\n role: \"slider\",\n \"aria-label\": He.get(e, this.config),\n \"aria-valuemin\": 0,\n \"aria-valuemax\": 100,\n \"aria-valuenow\": 0\n }, t));\n return this.elements.inputs[e] = i, We.updateRangeFill.call(this, i), T.setup(i), i;\n },\n createProgress: function createProgress(e, t) {\n var i = Z(\"progress\", X(ne(this.config.selectors.display[e]), {\n min: 0,\n max: 100,\n value: 0,\n role: \"progressbar\",\n \"aria-hidden\": !0\n }, t));\n\n if (\"volume\" !== e) {\n i.appendChild(Z(\"span\", null, \"0\"));\n\n var _t4 = {\n played: \"played\",\n buffer: \"buffered\"\n }[e],\n _s5 = _t4 ? He.get(_t4, this.config) : \"\";\n\n i.innerText = \"% \".concat(_s5.toLowerCase());\n }\n\n return this.elements.display[e] = i, i;\n },\n createTime: function createTime(e, t) {\n var i = ne(this.config.selectors.display[e], t),\n s = Z(\"div\", X(i, {\n class: \"\".concat(i.class ? i.class : \"\", \" \").concat(this.config.classNames.display.time, \" \").trim(),\n \"aria-label\": He.get(e, this.config)\n }), \"00:00\");\n return this.elements.display[e] = s, s;\n },\n bindMenuItemShortcuts: function bindMenuItemShortcuts(e, t) {\n var _this7 = this;\n\n fe.call(this, e, \"keydown keyup\", function (i) {\n if (![32, 38, 39, 40].includes(i.which)) return;\n if (i.preventDefault(), i.stopPropagation(), \"keydown\" === i.type) return;\n var s = re(e, '[role=\"menuitemradio\"]');\n if (!s && [32, 39].includes(i.which)) We.showMenuPanel.call(_this7, t, !0);else {\n var _t5;\n\n 32 !== i.which && (40 === i.which || s && 39 === i.which ? (_t5 = e.nextElementSibling, H(_t5) || (_t5 = e.parentNode.firstElementChild)) : (_t5 = e.previousElementSibling, H(_t5) || (_t5 = e.parentNode.lastElementChild)), ue.call(_this7, _t5, !0));\n }\n }, !1), fe.call(this, e, \"keyup\", function (e) {\n 13 === e.which && We.focusFirstMenuItem.call(_this7, null, !0);\n });\n },\n createMenuItem: function createMenuItem(_ref9) {\n var _this8 = this;\n\n var e = _ref9.value,\n t = _ref9.list,\n i = _ref9.type,\n s = _ref9.title,\n _ref9$badge = _ref9.badge,\n n = _ref9$badge === void 0 ? null : _ref9$badge,\n _ref9$checked = _ref9.checked,\n a = _ref9$checked === void 0 ? !1 : _ref9$checked;\n var l = ne(this.config.selectors.inputs[i]),\n o = Z(\"button\", X(l, {\n type: \"button\",\n role: \"menuitemradio\",\n class: \"\".concat(this.config.classNames.control, \" \").concat(l.class ? l.class : \"\").trim(),\n \"aria-checked\": a,\n value: e\n })),\n r = Z(\"span\");\n r.innerHTML = s, H(n) && r.appendChild(n), o.appendChild(r), Object.defineProperty(o, \"checked\", {\n enumerable: !0,\n get: function get() {\n return \"true\" === o.getAttribute(\"aria-checked\");\n },\n set: function set(e) {\n e && Array.from(o.parentNode.children).filter(function (e) {\n return re(e, '[role=\"menuitemradio\"]');\n }).forEach(function (e) {\n return e.setAttribute(\"aria-checked\", \"false\");\n }), o.setAttribute(\"aria-checked\", e ? \"true\" : \"false\");\n }\n }), this.listeners.bind(o, \"click keyup\", function (t) {\n if (!R(t) || 32 === t.which) {\n switch (t.preventDefault(), t.stopPropagation(), o.checked = !0, i) {\n case \"language\":\n _this8.currentTrack = Number(e);\n break;\n\n case \"quality\":\n _this8.quality = e;\n break;\n\n case \"speed\":\n _this8.speed = parseFloat(e);\n }\n\n We.showMenuPanel.call(_this8, \"home\", R(t));\n }\n }, i, !1), We.bindMenuItemShortcuts.call(this, o, i), t.appendChild(o);\n },\n formatTime: function formatTime() {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n if (!$(e)) return e;\n return Ue(e, Be(this.duration) > 0, t);\n },\n updateTimeDisplay: function updateTimeDisplay() {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : null;\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : !1;\n H(e) && $(t) && (e.innerText = We.formatTime(t, i));\n },\n updateVolume: function updateVolume() {\n this.supported.ui && (H(this.elements.inputs.volume) && We.setRange.call(this, this.elements.inputs.volume, this.muted ? 0 : this.volume), H(this.elements.buttons.mute) && (this.elements.buttons.mute.pressed = this.muted || 0 === this.volume));\n },\n setRange: function setRange(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n H(e) && (e.value = t, We.updateRangeFill.call(this, e));\n },\n updateProgress: function updateProgress(e) {\n var _this9 = this;\n\n if (!this.supported.ui || !F(e)) return;\n var t = 0;\n\n var i = function i(e, t) {\n var i = $(t) ? t : 0,\n s = H(e) ? e : _this9.elements.display.buffer;\n\n if (H(s)) {\n s.value = i;\n var _e7 = s.getElementsByTagName(\"span\")[0];\n H(_e7) && (_e7.childNodes[0].nodeValue = i);\n }\n };\n\n if (e) switch (e.type) {\n case \"timeupdate\":\n case \"seeking\":\n case \"seeked\":\n s = this.currentTime, n = this.duration, t = 0 === s || 0 === n || Number.isNaN(s) || Number.isNaN(n) ? 0 : (s / n * 100).toFixed(2), \"timeupdate\" === e.type && We.setRange.call(this, this.elements.inputs.seek, t);\n break;\n\n case \"playing\":\n case \"progress\":\n i(this.elements.display.buffer, 100 * this.buffered);\n }\n var s, n;\n },\n updateRangeFill: function updateRangeFill(e) {\n var t = F(e) ? e.target : e;\n\n if (H(t) && \"range\" === t.getAttribute(\"type\")) {\n if (re(t, this.config.selectors.inputs.seek)) {\n t.setAttribute(\"aria-valuenow\", this.currentTime);\n\n var _e8 = We.formatTime(this.currentTime),\n _i4 = We.formatTime(this.duration),\n _s6 = He.get(\"seekLabel\", this.config);\n\n t.setAttribute(\"aria-valuetext\", _s6.replace(\"{currentTime}\", _e8).replace(\"{duration}\", _i4));\n } else if (re(t, this.config.selectors.inputs.volume)) {\n var _e9 = 100 * t.value;\n\n t.setAttribute(\"aria-valuenow\", _e9), t.setAttribute(\"aria-valuetext\", \"\".concat(_e9.toFixed(1), \"%\"));\n } else t.setAttribute(\"aria-valuenow\", t.value);\n\n Y.isWebkit && t.style.setProperty(\"--value\", t.value / t.max * 100 + \"%\");\n }\n },\n updateSeekTooltip: function updateSeekTooltip(e) {\n var _this10 = this;\n\n if (!this.config.tooltips.seek || !H(this.elements.inputs.seek) || !H(this.elements.display.seekTooltip) || 0 === this.duration) return;\n\n var t = \"\".concat(this.config.classNames.tooltip, \"--visible\"),\n i = function i(e) {\n return le(_this10.elements.display.seekTooltip, t, e);\n };\n\n if (this.touch) return void i(!1);\n var s = 0;\n var n = this.elements.progress.getBoundingClientRect();\n if (F(e)) s = 100 / n.width * (e.pageX - n.left);else {\n if (!oe(this.elements.display.seekTooltip, t)) return;\n s = parseFloat(this.elements.display.seekTooltip.style.left, 10);\n }\n s < 0 ? s = 0 : s > 100 && (s = 100), We.updateTimeDisplay.call(this, this.elements.display.seekTooltip, this.duration / 100 * s), this.elements.display.seekTooltip.style.left = \"\".concat(s, \"%\"), F(e) && [\"mouseenter\", \"mouseleave\"].includes(e.type) && i(\"mouseenter\" === e.type);\n },\n timeUpdate: function timeUpdate(e) {\n var t = !H(this.elements.display.duration) && this.config.invertTime;\n We.updateTimeDisplay.call(this, this.elements.display.currentTime, t ? this.duration - this.currentTime : this.currentTime, t), e && \"timeupdate\" === e.type && this.media.seeking || We.updateProgress.call(this, e);\n },\n durationUpdate: function durationUpdate() {\n if (!this.supported.ui || !this.config.invertTime && this.currentTime) return;\n if (this.duration >= Math.pow(2, 32)) return ae(this.elements.display.currentTime, !0), void ae(this.elements.progress, !0);\n H(this.elements.inputs.seek) && this.elements.inputs.seek.setAttribute(\"aria-valuemax\", this.duration);\n var e = H(this.elements.display.duration);\n !e && this.config.displayDuration && this.paused && We.updateTimeDisplay.call(this, this.elements.display.currentTime, this.duration), e && We.updateTimeDisplay.call(this, this.elements.display.duration, this.duration), We.updateSeekTooltip.call(this);\n },\n toggleMenuButton: function toggleMenuButton(e, t) {\n ae(this.elements.settings.buttons[e], !t);\n },\n updateSetting: function updateSetting(e, t, i) {\n var s = this.elements.settings.panels[e];\n var n = null,\n a = t;\n if (\"captions\" === e) n = this.currentTrack;else {\n if (n = W(i) ? this[e] : i, W(n) && (n = this.config[e].default), !W(this.options[e]) && !this.options[e].includes(n)) return void this.debug.warn(\"Unsupported value of '\".concat(n, \"' for \").concat(e));\n if (!this.config[e].options.includes(n)) return void this.debug.warn(\"Disabled value of '\".concat(n, \"' for \").concat(e));\n }\n if (H(a) || (a = s && s.querySelector('[role=\"menu\"]')), !H(a)) return;\n this.elements.settings.buttons[e].querySelector(\".\".concat(this.config.classNames.menu.value)).innerHTML = We.getLabel.call(this, e, n);\n var l = a && a.querySelector(\"[value=\\\"\".concat(n, \"\\\"]\"));\n H(l) && (l.checked = !0);\n },\n getLabel: function getLabel(e, t) {\n switch (e) {\n case \"speed\":\n return 1 === t ? He.get(\"normal\", this.config) : \"\".concat(t, \"×\");\n\n case \"quality\":\n if ($(t)) {\n var _e10 = He.get(\"qualityLabel.\".concat(t), this.config);\n\n return _e10.length ? _e10 : \"\".concat(t, \"p\");\n }\n\n return Oe(t);\n\n case \"captions\":\n return Ye.getLabel.call(this);\n\n default:\n return null;\n }\n },\n setQualityMenu: function setQualityMenu(e) {\n var _this11 = this;\n\n if (!H(this.elements.settings.panels.quality)) return;\n var t = \"quality\",\n i = this.elements.settings.panels.quality.querySelector('[role=\"menu\"]');\n j(e) && (this.options.quality = Ce(e).filter(function (e) {\n return _this11.config.quality.options.includes(e);\n }));\n var s = !W(this.options.quality) && this.options.quality.length > 1;\n if (We.toggleMenuButton.call(this, t, s), ie(i), We.checkMenu.call(this), !s) return;\n\n var n = function n(e) {\n var t = He.get(\"qualityBadge.\".concat(e), _this11.config);\n return t.length ? We.createBadge.call(_this11, t) : null;\n };\n\n this.options.quality.sort(function (e, t) {\n var i = _this11.config.quality.options;\n return i.indexOf(e) > i.indexOf(t) ? 1 : -1;\n }).forEach(function (e) {\n We.createMenuItem.call(_this11, {\n value: e,\n list: i,\n type: t,\n title: We.getLabel.call(_this11, \"quality\", e),\n badge: n(e)\n });\n }), We.updateSetting.call(this, t, i);\n },\n setCaptionsMenu: function setCaptionsMenu() {\n var _this12 = this;\n\n if (!H(this.elements.settings.panels.captions)) return;\n var e = \"captions\",\n t = this.elements.settings.panels.captions.querySelector('[role=\"menu\"]'),\n i = Ye.getTracks.call(this),\n s = Boolean(i.length);\n if (We.toggleMenuButton.call(this, e, s), ie(t), We.checkMenu.call(this), !s) return;\n var n = i.map(function (e, i) {\n return {\n value: i,\n checked: _this12.captions.toggled && _this12.currentTrack === i,\n title: Ye.getLabel.call(_this12, e),\n badge: e.language && We.createBadge.call(_this12, e.language.toUpperCase()),\n list: t,\n type: \"language\"\n };\n });\n n.unshift({\n value: -1,\n checked: !this.captions.toggled,\n title: He.get(\"disabled\", this.config),\n list: t,\n type: \"language\"\n }), n.forEach(We.createMenuItem.bind(this)), We.updateSetting.call(this, e, t);\n },\n setSpeedMenu: function setSpeedMenu() {\n var _this13 = this;\n\n if (!H(this.elements.settings.panels.speed)) return;\n var e = \"speed\",\n t = this.elements.settings.panels.speed.querySelector('[role=\"menu\"]');\n this.options.speed = this.options.speed.filter(function (e) {\n return e >= _this13.minimumSpeed && e <= _this13.maximumSpeed;\n });\n var i = !W(this.options.speed) && this.options.speed.length > 1;\n We.toggleMenuButton.call(this, e, i), ie(t), We.checkMenu.call(this), i && (this.options.speed.forEach(function (i) {\n We.createMenuItem.call(_this13, {\n value: i,\n list: t,\n type: e,\n title: We.getLabel.call(_this13, \"speed\", i)\n });\n }), We.updateSetting.call(this, e, t));\n },\n checkMenu: function checkMenu() {\n var e = this.elements.settings.buttons,\n t = !W(e) && Object.values(e).some(function (e) {\n return !e.hidden;\n });\n ae(this.elements.settings.menu, !t);\n },\n focusFirstMenuItem: function focusFirstMenuItem(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n if (this.elements.settings.popup.hidden) return;\n var i = e;\n H(i) || (i = Object.values(this.elements.settings.panels).find(function (e) {\n return !e.hidden;\n }));\n var s = i.querySelector('[role^=\"menuitem\"]');\n ue.call(this, s, t);\n },\n toggleMenu: function toggleMenu(e) {\n var t = this.elements.settings.popup,\n i = this.elements.buttons.settings;\n if (!H(t) || !H(i)) return;\n var s = t.hidden;\n var n = s;\n if (O(e)) n = e;else if (R(e) && 27 === e.which) n = !1;else if (F(e)) {\n var _s7 = q(e.composedPath) ? e.composedPath()[0] : e.target,\n _a3 = t.contains(_s7);\n\n if (_a3 || !_a3 && e.target !== i && n) return;\n }\n i.setAttribute(\"aria-expanded\", n), ae(t, !n), le(this.elements.container, this.config.classNames.menu.open, n), n && R(e) ? We.focusFirstMenuItem.call(this, null, !0) : n || s || ue.call(this, i, R(e));\n },\n getMenuSize: function getMenuSize(e) {\n var t = e.cloneNode(!0);\n t.style.position = \"absolute\", t.style.opacity = 0, t.removeAttribute(\"hidden\"), e.parentNode.appendChild(t);\n var i = t.scrollWidth,\n s = t.scrollHeight;\n return te(t), {\n width: i,\n height: s\n };\n },\n showMenuPanel: function showMenuPanel() {\n var _this14 = this;\n\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : \"\";\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n var i = this.elements.container.querySelector(\"#plyr-settings-\".concat(this.id, \"-\").concat(e));\n if (!H(i)) return;\n var s = i.parentNode,\n n = Array.from(s.children).find(function (e) {\n return !e.hidden;\n });\n\n if (me.transitions && !me.reducedMotion) {\n s.style.width = \"\".concat(n.scrollWidth, \"px\"), s.style.height = \"\".concat(n.scrollHeight, \"px\");\n\n var _e11 = We.getMenuSize.call(this, i),\n _t6 = function _t6(e) {\n e.target === s && [\"width\", \"height\"].includes(e.propertyName) && (s.style.width = \"\", s.style.height = \"\", ye.call(_this14, s, z, _t6));\n };\n\n fe.call(this, s, z, _t6), s.style.width = \"\".concat(_e11.width, \"px\"), s.style.height = \"\".concat(_e11.height, \"px\");\n }\n\n ae(n, !0), ae(i, !1), We.focusFirstMenuItem.call(this, i, t);\n },\n setDownloadUrl: function setDownloadUrl() {\n var e = this.elements.buttons.download;\n H(e) && e.setAttribute(\"href\", this.download);\n },\n create: function create(e) {\n var _this15 = this;\n\n var t = We.bindMenuItemShortcuts,\n i = We.createButton,\n s = We.createProgress,\n n = We.createRange,\n a = We.createTime,\n l = We.setQualityMenu,\n o = We.setSpeedMenu,\n r = We.showMenuPanel;\n this.elements.controls = null, j(this.config.controls) && this.config.controls.includes(\"play-large\") && this.elements.container.appendChild(i.call(this, \"play-large\"));\n var c = Z(\"div\", ne(this.config.selectors.controls.wrapper));\n this.elements.controls = c;\n var h = {\n class: \"plyr__controls__item\"\n };\n return Ce(j(this.config.controls) ? this.config.controls : []).forEach(function (l) {\n if (\"restart\" === l && c.appendChild(i.call(_this15, \"restart\", h)), \"rewind\" === l && c.appendChild(i.call(_this15, \"rewind\", h)), \"play\" === l && c.appendChild(i.call(_this15, \"play\", h)), \"fast-forward\" === l && c.appendChild(i.call(_this15, \"fast-forward\", h)), \"progress\" === l) {\n var _t7 = Z(\"div\", {\n class: \"\".concat(h.class, \" plyr__progress__container\")\n }),\n _i5 = Z(\"div\", ne(_this15.config.selectors.progress));\n\n if (_i5.appendChild(n.call(_this15, \"seek\", {\n id: \"plyr-seek-\".concat(e.id)\n })), _i5.appendChild(s.call(_this15, \"buffer\")), _this15.config.tooltips.seek) {\n var _e12 = Z(\"span\", {\n class: _this15.config.classNames.tooltip\n }, \"00:00\");\n\n _i5.appendChild(_e12), _this15.elements.display.seekTooltip = _e12;\n }\n\n _this15.elements.progress = _i5, _t7.appendChild(_this15.elements.progress), c.appendChild(_t7);\n }\n\n if (\"current-time\" === l && c.appendChild(a.call(_this15, \"currentTime\", h)), \"duration\" === l && c.appendChild(a.call(_this15, \"duration\", h)), \"mute\" === l || \"volume\" === l) {\n var _t8 = _this15.elements.volume;\n\n if (H(_t8) && c.contains(_t8) || (_t8 = Z(\"div\", X({}, h, {\n class: \"\".concat(h.class, \" plyr__volume\").trim()\n })), _this15.elements.volume = _t8, c.appendChild(_t8)), \"mute\" === l && _t8.appendChild(i.call(_this15, \"mute\")), \"volume\" === l && !Y.isIos) {\n var _i6 = {\n max: 1,\n step: .05,\n value: _this15.config.volume\n };\n\n _t8.appendChild(n.call(_this15, \"volume\", X(_i6, {\n id: \"plyr-volume-\".concat(e.id)\n })));\n }\n }\n\n if (\"captions\" === l && c.appendChild(i.call(_this15, \"captions\", h)), \"settings\" === l && !W(_this15.config.settings)) {\n var _s8 = Z(\"div\", X({}, h, {\n class: \"\".concat(h.class, \" plyr__menu\").trim(),\n hidden: \"\"\n }));\n\n _s8.appendChild(i.call(_this15, \"settings\", {\n \"aria-haspopup\": !0,\n \"aria-controls\": \"plyr-settings-\".concat(e.id),\n \"aria-expanded\": !1\n }));\n\n var _n4 = Z(\"div\", {\n class: \"plyr__menu__container\",\n id: \"plyr-settings-\".concat(e.id),\n hidden: \"\"\n }),\n _a4 = Z(\"div\"),\n _l3 = Z(\"div\", {\n id: \"plyr-settings-\".concat(e.id, \"-home\")\n }),\n _o2 = Z(\"div\", {\n role: \"menu\"\n });\n\n _l3.appendChild(_o2), _a4.appendChild(_l3), _this15.elements.settings.panels.home = _l3, _this15.config.settings.forEach(function (i) {\n var s = Z(\"button\", X(ne(_this15.config.selectors.buttons.settings), {\n type: \"button\",\n class: \"\".concat(_this15.config.classNames.control, \" \").concat(_this15.config.classNames.control, \"--forward\"),\n role: \"menuitem\",\n \"aria-haspopup\": !0,\n hidden: \"\"\n }));\n t.call(_this15, s, i), fe.call(_this15, s, \"click\", function () {\n r.call(_this15, i, !1);\n });\n var n = Z(\"span\", null, He.get(i, _this15.config)),\n l = Z(\"span\", {\n class: _this15.config.classNames.menu.value\n });\n l.innerHTML = e[i], n.appendChild(l), s.appendChild(n), _o2.appendChild(s);\n var c = Z(\"div\", {\n id: \"plyr-settings-\".concat(e.id, \"-\").concat(i),\n hidden: \"\"\n }),\n h = Z(\"button\", {\n type: \"button\",\n class: \"\".concat(_this15.config.classNames.control, \" \").concat(_this15.config.classNames.control, \"--back\")\n });\n h.appendChild(Z(\"span\", {\n \"aria-hidden\": !0\n }, He.get(i, _this15.config))), h.appendChild(Z(\"span\", {\n class: _this15.config.classNames.hidden\n }, He.get(\"menuBack\", _this15.config))), fe.call(_this15, c, \"keydown\", function (e) {\n 37 === e.which && (e.preventDefault(), e.stopPropagation(), r.call(_this15, \"home\", !0));\n }, !1), fe.call(_this15, h, \"click\", function () {\n r.call(_this15, \"home\", !1);\n }), c.appendChild(h), c.appendChild(Z(\"div\", {\n role: \"menu\"\n })), _a4.appendChild(c), _this15.elements.settings.buttons[i] = s, _this15.elements.settings.panels[i] = c;\n }), _n4.appendChild(_a4), _s8.appendChild(_n4), c.appendChild(_s8), _this15.elements.settings.popup = _n4, _this15.elements.settings.menu = _s8;\n }\n\n if (\"pip\" === l && me.pip && c.appendChild(i.call(_this15, \"pip\", h)), \"airplay\" === l && me.airplay && c.appendChild(i.call(_this15, \"airplay\", h)), \"download\" === l) {\n var _e13 = X({}, h, {\n element: \"a\",\n href: _this15.download,\n target: \"_blank\"\n });\n\n _this15.isHTML5 && (_e13.download = \"\");\n var _t9 = _this15.config.urls.download;\n !U(_t9) && _this15.isEmbed && X(_e13, {\n icon: \"logo-\".concat(_this15.provider),\n label: _this15.provider\n }), c.appendChild(i.call(_this15, \"download\", _e13));\n }\n\n \"fullscreen\" === l && c.appendChild(i.call(_this15, \"fullscreen\", h));\n }), this.isHTML5 && l.call(this, Le.getQualityOptions.call(this)), o.call(this), c;\n },\n inject: function inject() {\n var _this16 = this;\n\n if (this.config.loadSprite) {\n var _e14 = We.getIconUrl.call(this);\n\n _e14.cors && Ve(_e14.url, \"sprite-plyr\");\n }\n\n this.id = Math.floor(1e4 * Math.random());\n var e = null;\n this.elements.controls = null;\n var t = {\n id: this.id,\n seektime: this.config.seekTime,\n title: this.config.title\n };\n var i = !0;\n q(this.config.controls) && (this.config.controls = this.config.controls.call(this, t)), this.config.controls || (this.config.controls = []), H(this.config.controls) || _(this.config.controls) ? e = this.config.controls : (e = We.create.call(this, {\n id: this.id,\n seektime: this.config.seekTime,\n speed: this.speed,\n quality: this.quality,\n captions: Ye.getLabel.call(this)\n }), i = !1);\n var s;\n i && _(this.config.controls) && (e = function (e) {\n var i = e;\n return Object.entries(t).forEach(function (_ref10) {\n var _ref11 = _slicedToArray(_ref10, 2),\n e = _ref11[0],\n t = _ref11[1];\n\n i = _e(i, \"{\".concat(e, \"}\"), t);\n }), i;\n }(e)), _(this.config.selectors.controls.container) && (s = document.querySelector(this.config.selectors.controls.container)), H(s) || (s = this.elements.container);\n\n if (s[H(e) ? \"insertAdjacentElement\" : \"insertAdjacentHTML\"](\"afterbegin\", e), H(this.elements.controls) || We.findElements.call(this), !W(this.elements.buttons)) {\n var _e15 = function _e15(e) {\n var t = _this16.config.classNames.controlPressed;\n Object.defineProperty(e, \"pressed\", {\n enumerable: !0,\n get: function get() {\n return oe(e, t);\n },\n set: function set() {\n var i = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : !1;\n le(e, t, i);\n }\n });\n };\n\n Object.values(this.elements.buttons).filter(Boolean).forEach(function (t) {\n j(t) || D(t) ? Array.from(t).filter(Boolean).forEach(_e15) : _e15(t);\n });\n }\n\n if (Y.isEdge && K(s), this.config.tooltips.controls) {\n var _this$config = this.config,\n _e16 = _this$config.classNames,\n _t10 = _this$config.selectors,\n _i7 = \"\".concat(_t10.controls.wrapper, \" \").concat(_t10.labels, \" .\").concat(_e16.hidden),\n _s9 = ce.call(this, _i7);\n\n Array.from(_s9).forEach(function (e) {\n le(e, _this16.config.classNames.hidden, !1), le(e, _this16.config.classNames.tooltip, !0);\n });\n }\n }\n };\n\n function ze(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;\n var i = e;\n\n if (t) {\n var _e17 = document.createElement(\"a\");\n\n _e17.href = i, i = _e17.href;\n }\n\n try {\n return new URL(i);\n } catch (e) {\n return null;\n }\n }\n\n function Ke(e) {\n var t = new URLSearchParams();\n return L(e) && Object.entries(e).forEach(function (_ref12) {\n var _ref13 = _slicedToArray(_ref12, 2),\n e = _ref13[0],\n i = _ref13[1];\n\n t.set(e, i);\n }), t;\n }\n\n var Ye = {\n setup: function setup() {\n var _i8, _i9, _this$config$captions;\n\n if (!this.supported.ui) return;\n if (!this.isVideo || this.isYouTube || this.isHTML5 && !me.textTracks) return void (j(this.config.controls) && this.config.controls.includes(\"settings\") && this.config.settings.includes(\"captions\") && We.setCaptionsMenu.call(this));\n var e, t;\n\n if (H(this.elements.captions) || (this.elements.captions = Z(\"div\", ne(this.config.selectors.captions)), e = this.elements.captions, t = this.elements.wrapper, H(e) && H(t) && t.parentNode.insertBefore(e, t.nextSibling)), Y.isIE && window.URL) {\n var _e18 = this.media.querySelectorAll(\"track\");\n\n Array.from(_e18).forEach(function (e) {\n var t = e.getAttribute(\"src\"),\n i = ze(t);\n null !== i && i.hostname !== window.location.href.hostname && [\"http:\", \"https:\"].includes(i.protocol) && Re(t, \"blob\").then(function (t) {\n e.setAttribute(\"src\", window.URL.createObjectURL(t));\n }).catch(function () {\n te(e);\n });\n });\n }\n\n var i = Ce((navigator.languages || [navigator.language || navigator.userLanguage || \"en\"]).map(function (e) {\n return e.split(\"-\")[0];\n }));\n var s = (this.storage.get(\"language\") || this.config.captions.language || \"auto\").toLowerCase();\n \"auto\" === s && (_i8 = i, _i9 = _slicedToArray(_i8, 1), s = _i9[0], _i8);\n var n = this.storage.get(\"captions\");\n\n if (O(n) || (_this$config$captions = this.config.captions, n = _this$config$captions.active, _this$config$captions), Object.assign(this.captions, {\n toggled: !1,\n active: n,\n language: s,\n languages: i\n }), this.isHTML5) {\n var _e19 = this.config.captions.update ? \"addtrack removetrack\" : \"removetrack\";\n\n fe.call(this, this.media.textTracks, _e19, Ye.update.bind(this));\n }\n\n setTimeout(Ye.update.bind(this), 0);\n },\n update: function update() {\n var _this17 = this;\n\n var e = Ye.getTracks.call(this, !0),\n _this$captions = this.captions,\n t = _this$captions.active,\n i = _this$captions.language,\n s = _this$captions.meta,\n n = _this$captions.currentTrackNode,\n a = Boolean(e.find(function (e) {\n return e.language === i;\n }));\n this.isHTML5 && this.isVideo && e.filter(function (e) {\n return !s.get(e);\n }).forEach(function (e) {\n _this17.debug.log(\"Track added\", e), s.set(e, {\n default: \"showing\" === e.mode\n }), \"showing\" === e.mode && (e.mode = \"hidden\"), fe.call(_this17, e, \"cuechange\", function () {\n return Ye.updateCues.call(_this17);\n });\n }), (a && this.language !== i || !e.includes(n)) && (Ye.setLanguage.call(this, i), Ye.toggle.call(this, t && a)), le(this.elements.container, this.config.classNames.captions.enabled, !W(e)), j(this.config.controls) && this.config.controls.includes(\"settings\") && this.config.settings.includes(\"captions\") && We.setCaptionsMenu.call(this);\n },\n toggle: function toggle(e) {\n var _this18 = this;\n\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;\n if (!this.supported.ui) return;\n var i = this.captions.toggled,\n s = this.config.classNames.captions.active,\n n = I(e) ? !i : e;\n\n if (n !== i) {\n if (t || (this.captions.active = n, this.storage.set({\n captions: n\n })), !this.language && n && !t) {\n var _e20 = Ye.getTracks.call(this),\n _t11 = Ye.findTrack.call(this, [this.captions.language].concat(_toConsumableArray(this.captions.languages)), !0);\n\n return this.captions.language = _t11.language, void Ye.set.call(this, _e20.indexOf(_t11));\n }\n\n this.elements.buttons.captions && (this.elements.buttons.captions.pressed = n), le(this.elements.container, s, n), this.captions.toggled = n, We.updateSetting.call(this, \"captions\"), ve.call(this, this.media, n ? \"captionsenabled\" : \"captionsdisabled\");\n }\n\n setTimeout(function () {\n n && _this18.captions.toggled && (_this18.captions.currentTrackNode.mode = \"hidden\");\n });\n },\n set: function set(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;\n var i = Ye.getTracks.call(this);\n if (-1 !== e) {\n if ($(e)) {\n if (e in i) {\n if (this.captions.currentTrack !== e) {\n this.captions.currentTrack = e;\n\n var _s10 = i[e],\n _ref14 = _s10 || {},\n _n5 = _ref14.language;\n\n this.captions.currentTrackNode = _s10, We.updateSetting.call(this, \"captions\"), t || (this.captions.language = _n5, this.storage.set({\n language: _n5\n })), this.isVimeo && this.embed.enableTextTrack(_n5), ve.call(this, this.media, \"languagechange\");\n }\n\n Ye.toggle.call(this, !0, t), this.isHTML5 && this.isVideo && Ye.updateCues.call(this);\n } else this.debug.warn(\"Track not found\", e);\n } else this.debug.warn(\"Invalid caption argument\", e);\n } else Ye.toggle.call(this, !1, t);\n },\n setLanguage: function setLanguage(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;\n if (!_(e)) return void this.debug.warn(\"Invalid language argument\", e);\n var i = e.toLowerCase();\n this.captions.language = i;\n var s = Ye.getTracks.call(this),\n n = Ye.findTrack.call(this, [i]);\n Ye.set.call(this, s.indexOf(n), t);\n },\n getTracks: function getTracks() {\n var _this19 = this;\n\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : !1;\n return Array.from((this.media || {}).textTracks || []).filter(function (t) {\n return !_this19.isHTML5 || e || _this19.captions.meta.has(t);\n }).filter(function (e) {\n return [\"captions\", \"subtitles\"].includes(e.kind);\n });\n },\n findTrack: function findTrack(e) {\n var _this20 = this;\n\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n\n var i = Ye.getTracks.call(this),\n s = function s(e) {\n return Number((_this20.captions.meta.get(e) || {}).default);\n },\n n = Array.from(i).sort(function (e, t) {\n return s(t) - s(e);\n });\n\n var a;\n return e.every(function (e) {\n return a = n.find(function (t) {\n return t.language === e;\n }), !a;\n }), a || (t ? n[0] : void 0);\n },\n getCurrentTrack: function getCurrentTrack() {\n return Ye.getTracks.call(this)[this.currentTrack];\n },\n getLabel: function getLabel(e) {\n var t = e;\n return !V(t) && me.textTracks && this.captions.toggled && (t = Ye.getCurrentTrack.call(this)), V(t) ? W(t.label) ? W(t.language) ? He.get(\"enabled\", this.config) : e.language.toUpperCase() : t.label : He.get(\"disabled\", this.config);\n },\n updateCues: function updateCues(e) {\n if (!this.supported.ui) return;\n if (!H(this.elements.captions)) return void this.debug.warn(\"No captions element to render to\");\n if (!I(e) && !Array.isArray(e)) return void this.debug.warn(\"updateCues: Invalid input\", e);\n var t = e;\n\n if (!t) {\n var _e21 = Ye.getCurrentTrack.call(this);\n\n t = Array.from((_e21 || {}).activeCues || []).map(function (e) {\n return e.getCueAsHTML();\n }).map(je);\n }\n\n var i = t.map(function (e) {\n return e.trim();\n }).join(\"\\n\");\n\n if (i !== this.elements.captions.innerHTML) {\n ie(this.elements.captions);\n\n var _e22 = Z(\"span\", ne(this.config.selectors.caption));\n\n _e22.innerHTML = i, this.elements.captions.appendChild(_e22), ve.call(this, this.media, \"cuechange\");\n }\n }\n },\n Qe = {\n enabled: !0,\n title: \"\",\n debug: !1,\n autoplay: !1,\n autopause: !0,\n playsinline: !0,\n seekTime: 10,\n volume: 1,\n muted: !1,\n duration: null,\n displayDuration: !0,\n invertTime: !0,\n toggleInvert: !0,\n ratio: null,\n clickToPlay: !0,\n hideControls: !0,\n resetOnEnd: !1,\n disableContextMenu: !0,\n loadSprite: !0,\n iconPrefix: \"plyr\",\n iconUrl: \"https://cdn.plyr.io/3.6.8/plyr.svg\",\n blankVideo: \"https://cdn.plyr.io/static/blank.mp4\",\n quality: {\n default: 576,\n options: [4320, 2880, 2160, 1440, 1080, 720, 576, 480, 360, 240],\n forced: !1,\n onChange: null\n },\n loop: {\n active: !1\n },\n speed: {\n selected: 1,\n options: [.5, .75, 1, 1.25, 1.5, 1.75, 2, 4]\n },\n keyboard: {\n focused: !0,\n global: !1\n },\n tooltips: {\n controls: !1,\n seek: !0\n },\n captions: {\n active: !1,\n language: \"auto\",\n update: !1\n },\n fullscreen: {\n enabled: !0,\n fallback: !0,\n iosNative: !1\n },\n storage: {\n enabled: !0,\n key: \"plyr\"\n },\n controls: [\"play-large\", \"play\", \"progress\", \"current-time\", \"mute\", \"volume\", \"captions\", \"settings\", \"pip\", \"airplay\", \"fullscreen\"],\n settings: [\"captions\", \"quality\", \"speed\"],\n i18n: {\n restart: \"Restart\",\n rewind: \"Rewind {seektime}s\",\n play: \"Play\",\n pause: \"Pause\",\n fastForward: \"Forward {seektime}s\",\n seek: \"Seek\",\n seekLabel: \"{currentTime} of {duration}\",\n played: \"Played\",\n buffered: \"Buffered\",\n currentTime: \"Current time\",\n duration: \"Duration\",\n volume: \"Volume\",\n mute: \"Mute\",\n unmute: \"Unmute\",\n enableCaptions: \"Enable captions\",\n disableCaptions: \"Disable captions\",\n download: \"Download\",\n enterFullscreen: \"Enter fullscreen\",\n exitFullscreen: \"Exit fullscreen\",\n frameTitle: \"Player for {title}\",\n captions: \"Captions\",\n settings: \"Settings\",\n pip: \"PIP\",\n menuBack: \"Go back to previous menu\",\n speed: \"Speed\",\n normal: \"Normal\",\n quality: \"Quality\",\n loop: \"Loop\",\n start: \"Start\",\n end: \"End\",\n all: \"All\",\n reset: \"Reset\",\n disabled: \"Disabled\",\n enabled: \"Enabled\",\n advertisement: \"Ad\",\n qualityBadge: {\n 2160: \"4K\",\n 1440: \"HD\",\n 1080: \"HD\",\n 720: \"HD\",\n 576: \"SD\",\n 480: \"SD\"\n }\n },\n urls: {\n download: null,\n vimeo: {\n sdk: \"https://player.vimeo.com/api/player.js\",\n iframe: \"https://player.vimeo.com/video/{0}?{1}\",\n api: \"https://vimeo.com/api/oembed.json?url={0}\"\n },\n youtube: {\n sdk: \"https://www.youtube.com/iframe_api\",\n api: \"https://noembed.com/embed?url=https://www.youtube.com/watch?v={0}\"\n },\n googleIMA: {\n sdk: \"https://imasdk.googleapis.com/js/sdkloader/ima3.js\"\n }\n },\n listeners: {\n seek: null,\n play: null,\n pause: null,\n restart: null,\n rewind: null,\n fastForward: null,\n mute: null,\n volume: null,\n captions: null,\n download: null,\n fullscreen: null,\n pip: null,\n airplay: null,\n speed: null,\n quality: null,\n loop: null,\n language: null\n },\n events: [\"ended\", \"progress\", \"stalled\", \"playing\", \"waiting\", \"canplay\", \"canplaythrough\", \"loadstart\", \"loadeddata\", \"loadedmetadata\", \"timeupdate\", \"volumechange\", \"play\", \"pause\", \"error\", \"seeking\", \"seeked\", \"emptied\", \"ratechange\", \"cuechange\", \"download\", \"enterfullscreen\", \"exitfullscreen\", \"captionsenabled\", \"captionsdisabled\", \"languagechange\", \"controlshidden\", \"controlsshown\", \"ready\", \"statechange\", \"qualitychange\", \"adsloaded\", \"adscontentpause\", \"adscontentresume\", \"adstarted\", \"adsmidpoint\", \"adscomplete\", \"adsallcomplete\", \"adsimpression\", \"adsclick\"],\n selectors: {\n editable: \"input, textarea, select, [contenteditable]\",\n container: \".plyr\",\n controls: {\n container: null,\n wrapper: \".plyr__controls\"\n },\n labels: \"[data-plyr]\",\n buttons: {\n play: '[data-plyr=\"play\"]',\n pause: '[data-plyr=\"pause\"]',\n restart: '[data-plyr=\"restart\"]',\n rewind: '[data-plyr=\"rewind\"]',\n fastForward: '[data-plyr=\"fast-forward\"]',\n mute: '[data-plyr=\"mute\"]',\n captions: '[data-plyr=\"captions\"]',\n download: '[data-plyr=\"download\"]',\n fullscreen: '[data-plyr=\"fullscreen\"]',\n pip: '[data-plyr=\"pip\"]',\n airplay: '[data-plyr=\"airplay\"]',\n settings: '[data-plyr=\"settings\"]',\n loop: '[data-plyr=\"loop\"]'\n },\n inputs: {\n seek: '[data-plyr=\"seek\"]',\n volume: '[data-plyr=\"volume\"]',\n speed: '[data-plyr=\"speed\"]',\n language: '[data-plyr=\"language\"]',\n quality: '[data-plyr=\"quality\"]'\n },\n display: {\n currentTime: \".plyr__time--current\",\n duration: \".plyr__time--duration\",\n buffer: \".plyr__progress__buffer\",\n loop: \".plyr__progress__loop\",\n volume: \".plyr__volume--display\"\n },\n progress: \".plyr__progress\",\n captions: \".plyr__captions\",\n caption: \".plyr__caption\"\n },\n classNames: {\n type: \"plyr--{0}\",\n provider: \"plyr--{0}\",\n video: \"plyr__video-wrapper\",\n embed: \"plyr__video-embed\",\n videoFixedRatio: \"plyr__video-wrapper--fixed-ratio\",\n embedContainer: \"plyr__video-embed__container\",\n poster: \"plyr__poster\",\n posterEnabled: \"plyr__poster-enabled\",\n ads: \"plyr__ads\",\n control: \"plyr__control\",\n controlPressed: \"plyr__control--pressed\",\n playing: \"plyr--playing\",\n paused: \"plyr--paused\",\n stopped: \"plyr--stopped\",\n loading: \"plyr--loading\",\n hover: \"plyr--hover\",\n tooltip: \"plyr__tooltip\",\n cues: \"plyr__cues\",\n hidden: \"plyr__sr-only\",\n hideControls: \"plyr--hide-controls\",\n isIos: \"plyr--is-ios\",\n isTouch: \"plyr--is-touch\",\n uiSupported: \"plyr--full-ui\",\n noTransition: \"plyr--no-transition\",\n display: {\n time: \"plyr__time\"\n },\n menu: {\n value: \"plyr__menu__value\",\n badge: \"plyr__badge\",\n open: \"plyr--menu-open\"\n },\n captions: {\n enabled: \"plyr--captions-enabled\",\n active: \"plyr--captions-active\"\n },\n fullscreen: {\n enabled: \"plyr--fullscreen-enabled\",\n fallback: \"plyr--fullscreen-fallback\"\n },\n pip: {\n supported: \"plyr--pip-supported\",\n active: \"plyr--pip-active\"\n },\n airplay: {\n supported: \"plyr--airplay-supported\",\n active: \"plyr--airplay-active\"\n },\n tabFocus: \"plyr__tab-focus\",\n previewThumbnails: {\n thumbContainer: \"plyr__preview-thumb\",\n thumbContainerShown: \"plyr__preview-thumb--is-shown\",\n imageContainer: \"plyr__preview-thumb__image-container\",\n timeContainer: \"plyr__preview-thumb__time-container\",\n scrubbingContainer: \"plyr__preview-scrubbing\",\n scrubbingContainerShown: \"plyr__preview-scrubbing--is-shown\"\n }\n },\n attributes: {\n embed: {\n provider: \"data-plyr-provider\",\n id: \"data-plyr-embed-id\"\n }\n },\n ads: {\n enabled: !1,\n publisherId: \"\",\n tagUrl: \"\"\n },\n previewThumbnails: {\n enabled: !1,\n src: \"\"\n },\n vimeo: {\n byline: !1,\n portrait: !1,\n title: !1,\n speed: !0,\n transparent: !1,\n customControls: !0,\n referrerPolicy: null,\n premium: !1\n },\n youtube: {\n rel: 0,\n showinfo: 0,\n iv_load_policy: 3,\n modestbranding: 1,\n customControls: !0,\n noCookie: !1\n }\n },\n Xe = \"picture-in-picture\",\n Je = \"inline\",\n Ge = {\n html5: \"html5\",\n youtube: \"youtube\",\n vimeo: \"vimeo\"\n },\n Ze = \"audio\",\n et = \"video\";\n\n var tt = function tt() {};\n\n var it = /*#__PURE__*/function () {\n function it() {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : !1;\n\n _classCallCheck(this, it);\n\n this.enabled = window.console && e, this.enabled && this.log(\"Debugging enabled\");\n }\n\n _createClass(it, [{\n key: \"log\",\n get: function get() {\n return this.enabled ? Function.prototype.bind.call(console.log, console) : tt;\n }\n }, {\n key: \"warn\",\n get: function get() {\n return this.enabled ? Function.prototype.bind.call(console.warn, console) : tt;\n }\n }, {\n key: \"error\",\n get: function get() {\n return this.enabled ? Function.prototype.bind.call(console.error, console) : tt;\n }\n }]);\n\n return it;\n }();\n\n var st = /*#__PURE__*/function () {\n function st(t) {\n var _this21 = this;\n\n _classCallCheck(this, st);\n\n e(this, \"onChange\", function () {\n if (!_this21.enabled) return;\n var e = _this21.player.elements.buttons.fullscreen;\n H(e) && (e.pressed = _this21.active);\n var t = _this21.target === _this21.player.media ? _this21.target : _this21.player.elements.container;\n ve.call(_this21.player, t, _this21.active ? \"enterfullscreen\" : \"exitfullscreen\", !0);\n }), e(this, \"toggleFallback\", function () {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : !1;\n\n if (e ? _this21.scrollPosition = {\n x: window.scrollX || 0,\n y: window.scrollY || 0\n } : window.scrollTo(_this21.scrollPosition.x, _this21.scrollPosition.y), document.body.style.overflow = e ? \"hidden\" : \"\", le(_this21.target, _this21.player.config.classNames.fullscreen.fallback, e), Y.isIos) {\n var _t12 = document.head.querySelector('meta[name=\"viewport\"]');\n\n var _i10 = \"viewport-fit=cover\";\n _t12 || (_t12 = document.createElement(\"meta\"), _t12.setAttribute(\"name\", \"viewport\"));\n\n var _s11 = _(_t12.content) && _t12.content.includes(_i10);\n\n e ? (_this21.cleanupViewport = !_s11, _s11 || (_t12.content += \",\".concat(_i10))) : _this21.cleanupViewport && (_t12.content = _t12.content.split(\",\").filter(function (e) {\n return e.trim() !== _i10;\n }).join(\",\"));\n }\n\n _this21.onChange();\n }), e(this, \"trapFocus\", function (e) {\n if (Y.isIos || !_this21.active || \"Tab\" !== e.key || 9 !== e.keyCode) return;\n\n var t = document.activeElement,\n i = ce.call(_this21.player, \"a[href], button:not(:disabled), input:not(:disabled), [tabindex]\"),\n _i11 = _slicedToArray(i, 1),\n s = _i11[0],\n n = i[i.length - 1];\n\n t !== n || e.shiftKey ? t === s && e.shiftKey && (n.focus(), e.preventDefault()) : (s.focus(), e.preventDefault());\n }), e(this, \"update\", function () {\n if (_this21.enabled) {\n var _e23;\n\n _e23 = _this21.forceFallback ? \"Fallback (forced)\" : st.native ? \"Native\" : \"Fallback\", _this21.player.debug.log(\"\".concat(_e23, \" fullscreen enabled\"));\n } else _this21.player.debug.log(\"Fullscreen not supported and fallback disabled\");\n\n le(_this21.player.elements.container, _this21.player.config.classNames.fullscreen.enabled, _this21.enabled);\n }), e(this, \"enter\", function () {\n _this21.enabled && (Y.isIos && _this21.player.config.fullscreen.iosNative ? _this21.player.isVimeo ? _this21.player.embed.requestFullscreen() : _this21.target.webkitEnterFullscreen() : !st.native || _this21.forceFallback ? _this21.toggleFallback(!0) : _this21.prefix ? W(_this21.prefix) || _this21.target[\"\".concat(_this21.prefix, \"Request\").concat(_this21.property)]() : _this21.target.requestFullscreen({\n navigationUI: \"hide\"\n }));\n }), e(this, \"exit\", function () {\n if (_this21.enabled) if (Y.isIos && _this21.player.config.fullscreen.iosNative) _this21.target.webkitExitFullscreen(), ke(_this21.player.play());else if (!st.native || _this21.forceFallback) _this21.toggleFallback(!1);else if (_this21.prefix) {\n if (!W(_this21.prefix)) {\n var _e24 = \"moz\" === _this21.prefix ? \"Cancel\" : \"Exit\";\n\n document[\"\".concat(_this21.prefix).concat(_e24).concat(_this21.property)]();\n }\n } else (document.cancelFullScreen || document.exitFullscreen).call(document);\n }), e(this, \"toggle\", function () {\n _this21.active ? _this21.exit() : _this21.enter();\n }), this.player = t, this.prefix = st.prefix, this.property = st.property, this.scrollPosition = {\n x: 0,\n y: 0\n }, this.forceFallback = \"force\" === t.config.fullscreen.fallback, this.player.elements.fullscreen = t.config.fullscreen.container && function (e, t) {\n var _Element2 = Element,\n i = _Element2.prototype;\n return (i.closest || function () {\n var e = this;\n\n do {\n if (re.matches(e, t)) return e;\n e = e.parentElement || e.parentNode;\n } while (null !== e && 1 === e.nodeType);\n\n return null;\n }).call(e, t);\n }(this.player.elements.container, t.config.fullscreen.container), fe.call(this.player, document, \"ms\" === this.prefix ? \"MSFullscreenChange\" : \"\".concat(this.prefix, \"fullscreenchange\"), function () {\n _this21.onChange();\n }), fe.call(this.player, this.player.elements.container, \"dblclick\", function (e) {\n H(_this21.player.elements.controls) && _this21.player.elements.controls.contains(e.target) || _this21.player.listeners.proxy(e, _this21.toggle, \"fullscreen\");\n }), fe.call(this, this.player.elements.container, \"keydown\", function (e) {\n return _this21.trapFocus(e);\n }), this.update();\n }\n\n _createClass(st, [{\n key: \"usingNative\",\n get: function get() {\n return st.native && !this.forceFallback;\n }\n }, {\n key: \"enabled\",\n get: function get() {\n return (st.native || this.player.config.fullscreen.fallback) && this.player.config.fullscreen.enabled && this.player.supported.ui && this.player.isVideo;\n }\n }, {\n key: \"active\",\n get: function get() {\n if (!this.enabled) return !1;\n if (!st.native || this.forceFallback) return oe(this.target, this.player.config.classNames.fullscreen.fallback);\n var e = this.prefix ? document[\"\".concat(this.prefix).concat(this.property, \"Element\")] : document.fullscreenElement;\n return e && e.shadowRoot ? e === this.target.getRootNode().host : e === this.target;\n }\n }, {\n key: \"target\",\n get: function get() {\n return Y.isIos && this.player.config.fullscreen.iosNative ? this.player.media : this.player.elements.fullscreen || this.player.elements.container;\n }\n }], [{\n key: \"native\",\n get: function get() {\n return !!(document.fullscreenEnabled || document.webkitFullscreenEnabled || document.mozFullScreenEnabled || document.msFullscreenEnabled);\n }\n }, {\n key: \"prefix\",\n get: function get() {\n if (q(document.exitFullscreen)) return \"\";\n var e = \"\";\n return [\"webkit\", \"moz\", \"ms\"].some(function (t) {\n return !(!q(document[\"\".concat(t, \"ExitFullscreen\")]) && !q(document[\"\".concat(t, \"CancelFullScreen\")])) && (e = t, !0);\n }), e;\n }\n }, {\n key: \"property\",\n get: function get() {\n return \"moz\" === this.prefix ? \"FullScreen\" : \"Fullscreen\";\n }\n }]);\n\n return st;\n }();\n\n function nt(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n return new Promise(function (i, s) {\n var n = new Image(),\n a = function a() {\n delete n.onload, delete n.onerror, (n.naturalWidth >= t ? i : s)(n);\n };\n\n Object.assign(n, {\n onload: a,\n onerror: a,\n src: e\n });\n });\n }\n\n var at = {\n addStyleHook: function addStyleHook() {\n le(this.elements.container, this.config.selectors.container.replace(\".\", \"\"), !0), le(this.elements.container, this.config.classNames.uiSupported, this.supported.ui);\n },\n toggleNativeControls: function toggleNativeControls() {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : !1;\n e && this.isHTML5 ? this.media.setAttribute(\"controls\", \"\") : this.media.removeAttribute(\"controls\");\n },\n build: function build() {\n var _this22 = this;\n\n if (this.listeners.media(), !this.supported.ui) return this.debug.warn(\"Basic support only for \".concat(this.provider, \" \").concat(this.type)), void at.toggleNativeControls.call(this, !0);\n H(this.elements.controls) || (We.inject.call(this), this.listeners.controls()), at.toggleNativeControls.call(this), this.isHTML5 && Ye.setup.call(this), this.volume = null, this.muted = null, this.loop = null, this.quality = null, this.speed = null, We.updateVolume.call(this), We.timeUpdate.call(this), at.checkPlaying.call(this), le(this.elements.container, this.config.classNames.pip.supported, me.pip && this.isHTML5 && this.isVideo), le(this.elements.container, this.config.classNames.airplay.supported, me.airplay && this.isHTML5), le(this.elements.container, this.config.classNames.isIos, Y.isIos), le(this.elements.container, this.config.classNames.isTouch, this.touch), this.ready = !0, setTimeout(function () {\n ve.call(_this22, _this22.media, \"ready\");\n }, 0), at.setTitle.call(this), this.poster && at.setPoster.call(this, this.poster, !1).catch(function () {}), this.config.duration && We.durationUpdate.call(this);\n },\n setTitle: function setTitle() {\n var e = He.get(\"play\", this.config);\n\n if (_(this.config.title) && !W(this.config.title) && (e += \", \".concat(this.config.title)), Array.from(this.elements.buttons.play || []).forEach(function (t) {\n t.setAttribute(\"aria-label\", e);\n }), this.isEmbed) {\n var _e25 = he.call(this, \"iframe\");\n\n if (!H(_e25)) return;\n\n var _t13 = W(this.config.title) ? \"video\" : this.config.title,\n _i12 = He.get(\"frameTitle\", this.config);\n\n _e25.setAttribute(\"title\", _i12.replace(\"{title}\", _t13));\n }\n },\n togglePoster: function togglePoster(e) {\n le(this.elements.container, this.config.classNames.posterEnabled, e);\n },\n setPoster: function setPoster(e) {\n var _this23 = this;\n\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;\n return t && this.poster ? Promise.reject(new Error(\"Poster already set\")) : (this.media.setAttribute(\"data-poster\", e), this.elements.poster.removeAttribute(\"hidden\"), Te.call(this).then(function () {\n return nt(e);\n }).catch(function (t) {\n throw e === _this23.poster && at.togglePoster.call(_this23, !1), t;\n }).then(function () {\n if (e !== _this23.poster) throw new Error(\"setPoster cancelled by later call to setPoster\");\n }).then(function () {\n return Object.assign(_this23.elements.poster.style, {\n backgroundImage: \"url('\".concat(e, \"')\"),\n backgroundSize: \"\"\n }), at.togglePoster.call(_this23, !0), e;\n }));\n },\n checkPlaying: function checkPlaying(e) {\n var _this24 = this;\n\n le(this.elements.container, this.config.classNames.playing, this.playing), le(this.elements.container, this.config.classNames.paused, this.paused), le(this.elements.container, this.config.classNames.stopped, this.stopped), Array.from(this.elements.buttons.play || []).forEach(function (e) {\n Object.assign(e, {\n pressed: _this24.playing\n }), e.setAttribute(\"aria-label\", He.get(_this24.playing ? \"pause\" : \"play\", _this24.config));\n }), F(e) && \"timeupdate\" === e.type || at.toggleControls.call(this);\n },\n checkLoading: function checkLoading(e) {\n var _this25 = this;\n\n this.loading = [\"stalled\", \"waiting\"].includes(e.type), clearTimeout(this.timers.loading), this.timers.loading = setTimeout(function () {\n le(_this25.elements.container, _this25.config.classNames.loading, _this25.loading), at.toggleControls.call(_this25);\n }, this.loading ? 250 : 0);\n },\n toggleControls: function toggleControls(e) {\n var t = this.elements.controls;\n\n if (t && this.config.hideControls) {\n var _i13 = this.touch && this.lastSeekTime + 2e3 > Date.now();\n\n this.toggleControls(Boolean(e || this.loading || this.paused || t.pressed || t.hover || _i13));\n }\n },\n migrateStyles: function migrateStyles() {\n var _this26 = this;\n\n Object.values(_objectSpread({}, this.media.style)).filter(function (e) {\n return !W(e) && _(e) && e.startsWith(\"--plyr\");\n }).forEach(function (e) {\n _this26.elements.container.style.setProperty(e, _this26.media.style.getPropertyValue(e)), _this26.media.style.removeProperty(e);\n }), W(this.media.style) && this.media.removeAttribute(\"style\");\n }\n };\n\n var lt = /*#__PURE__*/function () {\n function lt(t) {\n var _this27 = this;\n\n _classCallCheck(this, lt);\n\n e(this, \"firstTouch\", function () {\n var e = _this27.player,\n t = e.elements;\n e.touch = !0, le(t.container, e.config.classNames.isTouch, !0);\n }), e(this, \"setTabFocus\", function (e) {\n var t = _this27.player,\n i = t.elements;\n if (clearTimeout(_this27.focusTimer), \"keydown\" === e.type && 9 !== e.which) return;\n \"keydown\" === e.type && (_this27.lastKeyDown = e.timeStamp);\n var s = e.timeStamp - _this27.lastKeyDown <= 20;\n (\"focus\" !== e.type || s) && (function () {\n var e = t.config.classNames.tabFocus;\n le(ce.call(t, \".\".concat(e)), e, !1);\n }(), \"focusout\" !== e.type && (_this27.focusTimer = setTimeout(function () {\n var e = document.activeElement;\n i.container.contains(e) && le(document.activeElement, t.config.classNames.tabFocus, !0);\n }, 10)));\n }), e(this, \"global\", function () {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : !0;\n var t = _this27.player;\n t.config.keyboard.global && ge.call(t, window, \"keydown keyup\", _this27.handleKey, e, !1), ge.call(t, document.body, \"click\", _this27.toggleMenu, e), be.call(t, document.body, \"touchstart\", _this27.firstTouch), ge.call(t, document.body, \"keydown focus blur focusout\", _this27.setTabFocus, e, !1, !0);\n }), e(this, \"container\", function () {\n var e = _this27.player,\n t = e.config,\n i = e.elements,\n s = e.timers;\n !t.keyboard.global && t.keyboard.focused && fe.call(e, i.container, \"keydown keyup\", _this27.handleKey, !1), fe.call(e, i.container, \"mousemove mouseleave touchstart touchmove enterfullscreen exitfullscreen\", function (t) {\n var n = i.controls;\n n && \"enterfullscreen\" === t.type && (n.pressed = !1, n.hover = !1);\n var a = 0;\n [\"touchstart\", \"touchmove\", \"mousemove\"].includes(t.type) && (at.toggleControls.call(e, !0), a = e.touch ? 3e3 : 2e3), clearTimeout(s.controls), s.controls = setTimeout(function () {\n return at.toggleControls.call(e, !1);\n }, a);\n });\n\n var n = function n() {\n if (!e.isVimeo || e.config.vimeo.premium) return;\n\n var t = i.wrapper,\n s = e.fullscreen.active,\n _Me$call = Me.call(e),\n _Me$call2 = _slicedToArray(_Me$call, 2),\n n = _Me$call2[0],\n a = _Me$call2[1],\n l = Se(\"aspect-ratio: \".concat(n, \" / \").concat(a));\n\n if (!s) return void (l ? (t.style.width = null, t.style.height = null) : (t.style.maxWidth = null, t.style.margin = null));\n var _ref15 = [Math.max(document.documentElement.clientWidth || 0, window.innerWidth || 0), Math.max(document.documentElement.clientHeight || 0, window.innerHeight || 0)],\n o = _ref15[0],\n r = _ref15[1],\n c = o / r > n / a;\n l ? (t.style.width = c ? \"auto\" : \"100%\", t.style.height = c ? \"100%\" : \"auto\") : (t.style.maxWidth = c ? r / a * n + \"px\" : null, t.style.margin = c ? \"0 auto\" : null);\n },\n a = function a() {\n clearTimeout(s.resized), s.resized = setTimeout(n, 50);\n };\n\n fe.call(e, i.container, \"enterfullscreen exitfullscreen\", function (t) {\n var s = e.fullscreen.target;\n if (s !== i.container) return;\n if (!e.isEmbed && W(e.config.ratio)) return;\n n();\n (\"enterfullscreen\" === t.type ? fe : ye).call(e, window, \"resize\", a);\n });\n }), e(this, \"media\", function () {\n var e = _this27.player,\n t = e.elements;\n\n if (fe.call(e, e.media, \"timeupdate seeking seeked\", function (t) {\n return We.timeUpdate.call(e, t);\n }), fe.call(e, e.media, \"durationchange loadeddata loadedmetadata\", function (t) {\n return We.durationUpdate.call(e, t);\n }), fe.call(e, e.media, \"ended\", function () {\n e.isHTML5 && e.isVideo && e.config.resetOnEnd && (e.restart(), e.pause());\n }), fe.call(e, e.media, \"progress playing seeking seeked\", function (t) {\n return We.updateProgress.call(e, t);\n }), fe.call(e, e.media, \"volumechange\", function (t) {\n return We.updateVolume.call(e, t);\n }), fe.call(e, e.media, \"playing play pause ended emptied timeupdate\", function (t) {\n return at.checkPlaying.call(e, t);\n }), fe.call(e, e.media, \"waiting canplay seeked playing\", function (t) {\n return at.checkLoading.call(e, t);\n }), e.supported.ui && e.config.clickToPlay && !e.isAudio) {\n var _i14 = he.call(e, \".\".concat(e.config.classNames.video));\n\n if (!H(_i14)) return;\n fe.call(e, t.container, \"click\", function (s) {\n ([t.container, _i14].includes(s.target) || _i14.contains(s.target)) && (e.touch && e.config.hideControls || (e.ended ? (_this27.proxy(s, e.restart, \"restart\"), _this27.proxy(s, function () {\n ke(e.play());\n }, \"play\")) : _this27.proxy(s, function () {\n ke(e.togglePlay());\n }, \"play\")));\n });\n }\n\n e.supported.ui && e.config.disableContextMenu && fe.call(e, t.wrapper, \"contextmenu\", function (e) {\n e.preventDefault();\n }, !1), fe.call(e, e.media, \"volumechange\", function () {\n e.storage.set({\n volume: e.volume,\n muted: e.muted\n });\n }), fe.call(e, e.media, \"ratechange\", function () {\n We.updateSetting.call(e, \"speed\"), e.storage.set({\n speed: e.speed\n });\n }), fe.call(e, e.media, \"qualitychange\", function (t) {\n We.updateSetting.call(e, \"quality\", null, t.detail.quality);\n }), fe.call(e, e.media, \"ready qualitychange\", function () {\n We.setDownloadUrl.call(e);\n });\n var i = e.config.events.concat([\"keyup\", \"keydown\"]).join(\" \");\n fe.call(e, e.media, i, function (i) {\n var _i$detail = i.detail,\n s = _i$detail === void 0 ? {} : _i$detail;\n \"error\" === i.type && (s = e.media.error), ve.call(e, t.container, i.type, !0, s);\n });\n }), e(this, \"proxy\", function (e, t, i) {\n var s = _this27.player,\n n = s.config.listeners[i];\n var a = !0;\n q(n) && (a = n.call(s, e)), !1 !== a && q(t) && t.call(s, e);\n }), e(this, \"bind\", function (e, t, i, s) {\n var n = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : !0;\n var a = _this27.player,\n l = a.config.listeners[s],\n o = q(l);\n fe.call(a, e, t, function (e) {\n return _this27.proxy(e, i, s);\n }, n && !o);\n }), e(this, \"controls\", function () {\n var e = _this27.player,\n t = e.elements,\n i = Y.isIE ? \"change\" : \"input\";\n\n if (t.buttons.play && Array.from(t.buttons.play).forEach(function (t) {\n _this27.bind(t, \"click\", function () {\n ke(e.togglePlay());\n }, \"play\");\n }), _this27.bind(t.buttons.restart, \"click\", e.restart, \"restart\"), _this27.bind(t.buttons.rewind, \"click\", function () {\n e.lastSeekTime = Date.now(), e.rewind();\n }, \"rewind\"), _this27.bind(t.buttons.fastForward, \"click\", function () {\n e.lastSeekTime = Date.now(), e.forward();\n }, \"fastForward\"), _this27.bind(t.buttons.mute, \"click\", function () {\n e.muted = !e.muted;\n }, \"mute\"), _this27.bind(t.buttons.captions, \"click\", function () {\n return e.toggleCaptions();\n }), _this27.bind(t.buttons.download, \"click\", function () {\n ve.call(e, e.media, \"download\");\n }, \"download\"), _this27.bind(t.buttons.fullscreen, \"click\", function () {\n e.fullscreen.toggle();\n }, \"fullscreen\"), _this27.bind(t.buttons.pip, \"click\", function () {\n e.pip = \"toggle\";\n }, \"pip\"), _this27.bind(t.buttons.airplay, \"click\", e.airplay, \"airplay\"), _this27.bind(t.buttons.settings, \"click\", function (t) {\n t.stopPropagation(), t.preventDefault(), We.toggleMenu.call(e, t);\n }, null, !1), _this27.bind(t.buttons.settings, \"keyup\", function (t) {\n var i = t.which;\n [13, 32].includes(i) && (13 !== i ? (t.preventDefault(), t.stopPropagation(), We.toggleMenu.call(e, t)) : We.focusFirstMenuItem.call(e, null, !0));\n }, null, !1), _this27.bind(t.settings.menu, \"keydown\", function (t) {\n 27 === t.which && We.toggleMenu.call(e, t);\n }), _this27.bind(t.inputs.seek, \"mousedown mousemove\", function (e) {\n var i = t.progress.getBoundingClientRect(),\n s = 100 / i.width * (e.pageX - i.left);\n e.currentTarget.setAttribute(\"seek-value\", s);\n }), _this27.bind(t.inputs.seek, \"mousedown mouseup keydown keyup touchstart touchend\", function (t) {\n var i = t.currentTarget,\n s = t.keyCode ? t.keyCode : t.which,\n n = \"play-on-seeked\";\n if (R(t) && 39 !== s && 37 !== s) return;\n e.lastSeekTime = Date.now();\n var a = i.hasAttribute(n),\n l = [\"mouseup\", \"touchend\", \"keyup\"].includes(t.type);\n a && l ? (i.removeAttribute(n), ke(e.play())) : !l && e.playing && (i.setAttribute(n, \"\"), e.pause());\n }), Y.isIos) {\n var _t14 = ce.call(e, 'input[type=\"range\"]');\n\n Array.from(_t14).forEach(function (e) {\n return _this27.bind(e, i, function (e) {\n return K(e.target);\n });\n });\n }\n\n _this27.bind(t.inputs.seek, i, function (t) {\n var i = t.currentTarget;\n var s = i.getAttribute(\"seek-value\");\n W(s) && (s = i.value), i.removeAttribute(\"seek-value\"), e.currentTime = s / i.max * e.duration;\n }, \"seek\"), _this27.bind(t.progress, \"mouseenter mouseleave mousemove\", function (t) {\n return We.updateSeekTooltip.call(e, t);\n }), _this27.bind(t.progress, \"mousemove touchmove\", function (t) {\n var i = e.previewThumbnails;\n i && i.loaded && i.startMove(t);\n }), _this27.bind(t.progress, \"mouseleave touchend click\", function () {\n var t = e.previewThumbnails;\n t && t.loaded && t.endMove(!1, !0);\n }), _this27.bind(t.progress, \"mousedown touchstart\", function (t) {\n var i = e.previewThumbnails;\n i && i.loaded && i.startScrubbing(t);\n }), _this27.bind(t.progress, \"mouseup touchend\", function (t) {\n var i = e.previewThumbnails;\n i && i.loaded && i.endScrubbing(t);\n }), Y.isWebkit && Array.from(ce.call(e, 'input[type=\"range\"]')).forEach(function (t) {\n _this27.bind(t, \"input\", function (t) {\n return We.updateRangeFill.call(e, t.target);\n });\n }), e.config.toggleInvert && !H(t.display.duration) && _this27.bind(t.display.currentTime, \"click\", function () {\n 0 !== e.currentTime && (e.config.invertTime = !e.config.invertTime, We.timeUpdate.call(e));\n }), _this27.bind(t.inputs.volume, i, function (t) {\n e.volume = t.target.value;\n }, \"volume\"), _this27.bind(t.controls, \"mouseenter mouseleave\", function (i) {\n t.controls.hover = !e.touch && \"mouseenter\" === i.type;\n }), t.fullscreen && Array.from(t.fullscreen.children).filter(function (e) {\n return !e.contains(t.container);\n }).forEach(function (i) {\n _this27.bind(i, \"mouseenter mouseleave\", function (i) {\n t.controls.hover = !e.touch && \"mouseenter\" === i.type;\n });\n }), _this27.bind(t.controls, \"mousedown mouseup touchstart touchend touchcancel\", function (e) {\n t.controls.pressed = [\"mousedown\", \"touchstart\"].includes(e.type);\n }), _this27.bind(t.controls, \"focusin\", function () {\n var i = e.config,\n s = e.timers;\n le(t.controls, i.classNames.noTransition, !0), at.toggleControls.call(e, !0), setTimeout(function () {\n le(t.controls, i.classNames.noTransition, !1);\n }, 0);\n var n = _this27.touch ? 3e3 : 4e3;\n clearTimeout(s.controls), s.controls = setTimeout(function () {\n return at.toggleControls.call(e, !1);\n }, n);\n }), _this27.bind(t.inputs.volume, \"wheel\", function (t) {\n var i = t.webkitDirectionInvertedFromDevice,\n _map = [t.deltaX, -t.deltaY].map(function (e) {\n return i ? -e : e;\n }),\n _map2 = _slicedToArray(_map, 2),\n s = _map2[0],\n n = _map2[1],\n a = Math.sign(Math.abs(s) > Math.abs(n) ? s : n);\n\n e.increaseVolume(a / 50);\n var l = e.media.volume;\n (1 === a && l < 1 || -1 === a && l > 0) && t.preventDefault();\n }, \"volume\", !1);\n }), this.player = t, this.lastKey = null, this.focusTimer = null, this.lastKeyDown = null, this.handleKey = this.handleKey.bind(this), this.toggleMenu = this.toggleMenu.bind(this), this.setTabFocus = this.setTabFocus.bind(this), this.firstTouch = this.firstTouch.bind(this);\n }\n\n _createClass(lt, [{\n key: \"handleKey\",\n value: function handleKey(e) {\n var t = this.player,\n i = t.elements,\n s = e.keyCode ? e.keyCode : e.which,\n n = \"keydown\" === e.type,\n a = n && s === this.lastKey;\n if (e.altKey || e.ctrlKey || e.metaKey || e.shiftKey) return;\n if (!$(s)) return;\n\n if (n) {\n var _n6 = document.activeElement;\n\n if (H(_n6)) {\n var _s12 = t.config.selectors.editable,\n _a5 = i.inputs.seek;\n if (_n6 !== _a5 && re(_n6, _s12)) return;\n if (32 === e.which && re(_n6, 'button, [role^=\"menuitem\"]')) return;\n }\n\n switch ([32, 37, 38, 39, 40, 48, 49, 50, 51, 52, 53, 54, 56, 57, 67, 70, 73, 75, 76, 77, 79].includes(s) && (e.preventDefault(), e.stopPropagation()), s) {\n case 48:\n case 49:\n case 50:\n case 51:\n case 52:\n case 53:\n case 54:\n case 55:\n case 56:\n case 57:\n a || (t.currentTime = t.duration / 10 * (s - 48));\n break;\n\n case 32:\n case 75:\n a || ke(t.togglePlay());\n break;\n\n case 38:\n t.increaseVolume(.1);\n break;\n\n case 40:\n t.decreaseVolume(.1);\n break;\n\n case 77:\n a || (t.muted = !t.muted);\n break;\n\n case 39:\n t.forward();\n break;\n\n case 37:\n t.rewind();\n break;\n\n case 70:\n t.fullscreen.toggle();\n break;\n\n case 67:\n a || t.toggleCaptions();\n break;\n\n case 76:\n t.loop = !t.loop;\n }\n\n 27 === s && !t.fullscreen.usingNative && t.fullscreen.active && t.fullscreen.toggle(), this.lastKey = s;\n } else this.lastKey = null;\n }\n }, {\n key: \"toggleMenu\",\n value: function toggleMenu(e) {\n We.toggleMenu.call(this.player, e);\n }\n }]);\n\n return lt;\n }();\n\n \"undefined\" != typeof globalThis ? globalThis : \"undefined\" != typeof window ? window : \"undefined\" != typeof global ? global : \"undefined\" != typeof self && self;\n\n var ot = function (e, t) {\n return e(t = {\n exports: {}\n }, t.exports), t.exports;\n }(function (e, t) {\n e.exports = function () {\n var e = function e() {},\n t = {},\n i = {},\n s = {};\n\n function n(e, t) {\n e = e.push ? e : [e];\n var n,\n a,\n l,\n o = [],\n r = e.length,\n c = r;\n\n for (n = function n(e, i) {\n i.length && o.push(e), --c || t(o);\n }; r--;) {\n a = e[r], (l = i[a]) ? n(a, l) : (s[a] = s[a] || []).push(n);\n }\n }\n\n function a(e, t) {\n if (e) {\n var n = s[e];\n if (i[e] = t, n) for (; n.length;) {\n n[0](e, t), n.splice(0, 1);\n }\n }\n }\n\n function l(t, i) {\n t.call && (t = {\n success: t\n }), i.length ? (t.error || e)(i) : (t.success || e)(t);\n }\n\n function o(t, i, s, n) {\n var a,\n l,\n r = document,\n c = s.async,\n h = (s.numRetries || 0) + 1,\n u = s.before || e,\n d = t.replace(/[\\?|#].*$/, \"\"),\n m = t.replace(/^(css|img)!/, \"\");\n n = n || 0, /(^css!|\\.css$)/.test(d) ? ((l = r.createElement(\"link\")).rel = \"stylesheet\", l.href = m, (a = \"hideFocus\" in l) && l.relList && (a = 0, l.rel = \"preload\", l.as = \"style\")) : /(^img!|\\.(png|gif|jpg|svg|webp)$)/.test(d) ? (l = r.createElement(\"img\")).src = m : ((l = r.createElement(\"script\")).src = t, l.async = void 0 === c || c), l.onload = l.onerror = l.onbeforeload = function (e) {\n var r = e.type[0];\n if (a) try {\n l.sheet.cssText.length || (r = \"e\");\n } catch (e) {\n 18 != e.code && (r = \"e\");\n }\n\n if (\"e\" == r) {\n if ((n += 1) < h) return o(t, i, s, n);\n } else if (\"preload\" == l.rel && \"style\" == l.as) return l.rel = \"stylesheet\";\n\n i(t, r, e.defaultPrevented);\n }, !1 !== u(t, l) && r.head.appendChild(l);\n }\n\n function r(e, t, i) {\n var s,\n n,\n a = (e = e.push ? e : [e]).length,\n l = a,\n r = [];\n\n for (s = function s(e, i, _s13) {\n if (\"e\" == i && r.push(e), \"b\" == i) {\n if (!_s13) return;\n r.push(e);\n }\n\n --a || t(r);\n }, n = 0; n < l; n++) {\n o(e[n], s, i);\n }\n }\n\n function c(e, i, s) {\n var n, o;\n\n if (i && i.trim && (n = i), o = (n ? s : i) || {}, n) {\n if (n in t) throw \"LoadJS\";\n t[n] = !0;\n }\n\n function c(t, i) {\n r(e, function (e) {\n l(o, e), t && l({\n success: t,\n error: i\n }, e), a(n, e);\n }, o);\n }\n\n if (o.returnPromise) return new Promise(c);\n c();\n }\n\n return c.ready = function (e, t) {\n return n(e, function (e) {\n l(t, e);\n }), c;\n }, c.done = function (e) {\n a(e, []);\n }, c.reset = function () {\n t = {}, i = {}, s = {};\n }, c.isDefined = function (e) {\n return e in t;\n }, c;\n }();\n });\n\n function rt(e) {\n return new Promise(function (t, i) {\n ot(e, {\n success: t,\n error: i\n });\n });\n }\n\n function ct(e) {\n e && !this.embed.hasPlayed && (this.embed.hasPlayed = !0), this.media.paused === e && (this.media.paused = !e, ve.call(this, this.media, e ? \"play\" : \"pause\"));\n }\n\n var ht = {\n setup: function setup() {\n var e = this;\n le(e.elements.wrapper, e.config.classNames.embed, !0), e.options.speed = e.config.speed.options, Ne.call(e), L(window.Vimeo) ? ht.ready.call(e) : rt(e.config.urls.vimeo.sdk).then(function () {\n ht.ready.call(e);\n }).catch(function (t) {\n e.debug.warn(\"Vimeo SDK (player.js) failed to load\", t);\n });\n },\n ready: function ready() {\n var _this28 = this;\n\n var e = this,\n t = e.config.vimeo,\n i = t.premium,\n s = t.referrerPolicy,\n n = _objectWithoutProperties(t, _excluded);\n\n i && Object.assign(n, {\n controls: !1,\n sidedock: !1\n });\n var a = Ke(_objectSpread({\n loop: e.config.loop.active,\n autoplay: e.autoplay,\n muted: e.muted,\n gesture: \"media\",\n playsinline: !this.config.fullscreen.iosNative\n }, n));\n var l = e.media.getAttribute(\"src\");\n W(l) && (l = e.media.getAttribute(e.config.attributes.embed.id));\n var o = W(r = l) ? null : $(Number(r)) ? r : r.match(/^.*(vimeo.com\\/|video\\/)(\\d+).*/) ? RegExp.$2 : r;\n var r;\n var c = Z(\"iframe\"),\n h = $e(e.config.urls.vimeo.iframe, o, a);\n if (c.setAttribute(\"src\", h), c.setAttribute(\"allowfullscreen\", \"\"), c.setAttribute(\"allow\", [\"autoplay\", \"fullscreen\", \"picture-in-picture\", \"encrypted-media\", \"accelerometer\", \"gyroscope\"].join(\"; \")), W(s) || c.setAttribute(\"referrerPolicy\", s), i || !t.customControls) c.setAttribute(\"data-poster\", e.poster), e.media = se(c, e.media);else {\n var _t15 = Z(\"div\", {\n class: e.config.classNames.embedContainer,\n \"data-poster\": e.poster\n });\n\n _t15.appendChild(c), e.media = se(_t15, e.media);\n }\n t.customControls || Re($e(e.config.urls.vimeo.api, h)).then(function (t) {\n !W(t) && t.thumbnail_url && at.setPoster.call(e, t.thumbnail_url).catch(function () {});\n }), e.embed = new window.Vimeo.Player(c, {\n autopause: e.config.autopause,\n muted: e.muted\n }), e.media.paused = !0, e.media.currentTime = 0, e.supported.ui && e.embed.disableTextTrack(), e.media.play = function () {\n return ct.call(e, !0), e.embed.play();\n }, e.media.pause = function () {\n return ct.call(e, !1), e.embed.pause();\n }, e.media.stop = function () {\n e.pause(), e.currentTime = 0;\n };\n var u = e.media.currentTime;\n Object.defineProperty(e.media, \"currentTime\", {\n get: function get() {\n return u;\n },\n set: function set(t) {\n var i = e.embed,\n s = e.media,\n n = e.paused,\n a = e.volume,\n l = n && !i.hasPlayed;\n s.seeking = !0, ve.call(e, s, \"seeking\"), Promise.resolve(l && i.setVolume(0)).then(function () {\n return i.setCurrentTime(t);\n }).then(function () {\n return l && i.pause();\n }).then(function () {\n return l && i.setVolume(a);\n }).catch(function () {});\n }\n });\n var d = e.config.speed.selected;\n Object.defineProperty(e.media, \"playbackRate\", {\n get: function get() {\n return d;\n },\n set: function set(t) {\n e.embed.setPlaybackRate(t).then(function () {\n d = t, ve.call(e, e.media, \"ratechange\");\n }).catch(function () {\n e.options.speed = [1];\n });\n }\n });\n var m = e.config.volume;\n Object.defineProperty(e.media, \"volume\", {\n get: function get() {\n return m;\n },\n set: function set(t) {\n e.embed.setVolume(t).then(function () {\n m = t, ve.call(e, e.media, \"volumechange\");\n });\n }\n });\n var p = e.config.muted;\n Object.defineProperty(e.media, \"muted\", {\n get: function get() {\n return p;\n },\n set: function set(t) {\n var i = !!O(t) && t;\n e.embed.setVolume(i ? 0 : e.config.volume).then(function () {\n p = i, ve.call(e, e.media, \"volumechange\");\n });\n }\n });\n var g,\n f = e.config.loop;\n Object.defineProperty(e.media, \"loop\", {\n get: function get() {\n return f;\n },\n set: function set(t) {\n var i = O(t) ? t : e.config.loop.active;\n e.embed.setLoop(i).then(function () {\n f = i;\n });\n }\n }), e.embed.getVideoUrl().then(function (t) {\n g = t, We.setDownloadUrl.call(e);\n }).catch(function (e) {\n _this28.debug.warn(e);\n }), Object.defineProperty(e.media, \"currentSrc\", {\n get: function get() {\n return g;\n }\n }), Object.defineProperty(e.media, \"ended\", {\n get: function get() {\n return e.currentTime === e.duration;\n }\n }), Promise.all([e.embed.getVideoWidth(), e.embed.getVideoHeight()]).then(function (t) {\n var _t16 = _slicedToArray(t, 2),\n i = _t16[0],\n s = _t16[1];\n\n e.embed.ratio = Ie(i, s), Ne.call(_this28);\n }), e.embed.setAutopause(e.config.autopause).then(function (t) {\n e.config.autopause = t;\n }), e.embed.getVideoTitle().then(function (t) {\n e.config.title = t, at.setTitle.call(_this28);\n }), e.embed.getCurrentTime().then(function (t) {\n u = t, ve.call(e, e.media, \"timeupdate\");\n }), e.embed.getDuration().then(function (t) {\n e.media.duration = t, ve.call(e, e.media, \"durationchange\");\n }), e.embed.getTextTracks().then(function (t) {\n e.media.textTracks = t, Ye.setup.call(e);\n }), e.embed.on(\"cuechange\", function (_ref16) {\n var _ref16$cues = _ref16.cues,\n t = _ref16$cues === void 0 ? [] : _ref16$cues;\n var i = t.map(function (e) {\n return function (e) {\n var t = document.createDocumentFragment(),\n i = document.createElement(\"div\");\n return t.appendChild(i), i.innerHTML = e, t.firstChild.innerText;\n }(e.text);\n });\n Ye.updateCues.call(e, i);\n }), e.embed.on(\"loaded\", function () {\n if (e.embed.getPaused().then(function (t) {\n ct.call(e, !t), t || ve.call(e, e.media, \"playing\");\n }), H(e.embed.element) && e.supported.ui) {\n e.embed.element.setAttribute(\"tabindex\", -1);\n }\n }), e.embed.on(\"bufferstart\", function () {\n ve.call(e, e.media, \"waiting\");\n }), e.embed.on(\"bufferend\", function () {\n ve.call(e, e.media, \"playing\");\n }), e.embed.on(\"play\", function () {\n ct.call(e, !0), ve.call(e, e.media, \"playing\");\n }), e.embed.on(\"pause\", function () {\n ct.call(e, !1);\n }), e.embed.on(\"timeupdate\", function (t) {\n e.media.seeking = !1, u = t.seconds, ve.call(e, e.media, \"timeupdate\");\n }), e.embed.on(\"progress\", function (t) {\n e.media.buffered = t.percent, ve.call(e, e.media, \"progress\"), 1 === parseInt(t.percent, 10) && ve.call(e, e.media, \"canplaythrough\"), e.embed.getDuration().then(function (t) {\n t !== e.media.duration && (e.media.duration = t, ve.call(e, e.media, \"durationchange\"));\n });\n }), e.embed.on(\"seeked\", function () {\n e.media.seeking = !1, ve.call(e, e.media, \"seeked\");\n }), e.embed.on(\"ended\", function () {\n e.media.paused = !0, ve.call(e, e.media, \"ended\");\n }), e.embed.on(\"error\", function (t) {\n e.media.error = t, ve.call(e, e.media, \"error\");\n }), t.customControls && setTimeout(function () {\n return at.build.call(e);\n }, 0);\n }\n };\n\n function ut(e) {\n e && !this.embed.hasPlayed && (this.embed.hasPlayed = !0), this.media.paused === e && (this.media.paused = !e, ve.call(this, this.media, e ? \"play\" : \"pause\"));\n }\n\n function dt(e) {\n return e.noCookie ? \"https://www.youtube-nocookie.com\" : \"http:\" === window.location.protocol ? \"http://www.youtube.com\" : void 0;\n }\n\n var mt = {\n setup: function setup() {\n var _this29 = this;\n\n if (le(this.elements.wrapper, this.config.classNames.embed, !0), L(window.YT) && q(window.YT.Player)) mt.ready.call(this);else {\n var _e26 = window.onYouTubeIframeAPIReady;\n window.onYouTubeIframeAPIReady = function () {\n q(_e26) && _e26(), mt.ready.call(_this29);\n }, rt(this.config.urls.youtube.sdk).catch(function (e) {\n _this29.debug.warn(\"YouTube API failed to load\", e);\n });\n }\n },\n getTitle: function getTitle(e) {\n var _this30 = this;\n\n Re($e(this.config.urls.youtube.api, e)).then(function (e) {\n if (L(e)) {\n var _t17 = e.title,\n _i15 = e.height,\n _s14 = e.width;\n _this30.config.title = _t17, at.setTitle.call(_this30), _this30.embed.ratio = Ie(_s14, _i15);\n }\n\n Ne.call(_this30);\n }).catch(function () {\n Ne.call(_this30);\n });\n },\n ready: function ready() {\n var e = this,\n t = e.config.youtube,\n i = e.media && e.media.getAttribute(\"id\");\n if (!W(i) && i.startsWith(\"youtube-\")) return;\n var s = e.media.getAttribute(\"src\");\n W(s) && (s = e.media.getAttribute(this.config.attributes.embed.id));\n var n = W(a = s) ? null : a.match(/^.*(youtu.be\\/|v\\/|u\\/\\w\\/|embed\\/|watch\\?v=|&v=)([^#&?]*).*/) ? RegExp.$2 : a;\n var a;\n var l = Z(\"div\", {\n id: \"\".concat(e.provider, \"-\").concat(Math.floor(1e4 * Math.random())),\n \"data-poster\": t.customControls ? e.poster : void 0\n });\n\n if (e.media = se(l, e.media), t.customControls) {\n var _t18 = function _t18(e) {\n return \"https://i.ytimg.com/vi/\".concat(n, \"/\").concat(e, \"default.jpg\");\n };\n\n nt(_t18(\"maxres\"), 121).catch(function () {\n return nt(_t18(\"sd\"), 121);\n }).catch(function () {\n return nt(_t18(\"hq\"));\n }).then(function (t) {\n return at.setPoster.call(e, t.src);\n }).then(function (t) {\n t.includes(\"maxres\") || (e.elements.poster.style.backgroundSize = \"cover\");\n }).catch(function () {});\n }\n\n e.embed = new window.YT.Player(e.media, {\n videoId: n,\n host: dt(t),\n playerVars: X({}, {\n autoplay: e.config.autoplay ? 1 : 0,\n hl: e.config.hl,\n controls: e.supported.ui && t.customControls ? 0 : 1,\n disablekb: 1,\n playsinline: e.config.fullscreen.iosNative ? 0 : 1,\n cc_load_policy: e.captions.active ? 1 : 0,\n cc_lang_pref: e.config.captions.language,\n widget_referrer: window ? window.location.href : null\n }, t),\n events: {\n onError: function onError(t) {\n if (!e.media.error) {\n var _i16 = t.data,\n _s15 = {\n 2: \"The request contains an invalid parameter value. For example, this error occurs if you specify a video ID that does not have 11 characters, or if the video ID contains invalid characters, such as exclamation points or asterisks.\",\n 5: \"The requested content cannot be played in an HTML5 player or another error related to the HTML5 player has occurred.\",\n 100: \"The video requested was not found. This error occurs when a video has been removed (for any reason) or has been marked as private.\",\n 101: \"The owner of the requested video does not allow it to be played in embedded players.\",\n 150: \"The owner of the requested video does not allow it to be played in embedded players.\"\n }[_i16] || \"An unknown error occured\";\n\n e.media.error = {\n code: _i16,\n message: _s15\n }, ve.call(e, e.media, \"error\");\n }\n },\n onPlaybackRateChange: function onPlaybackRateChange(t) {\n var i = t.target;\n e.media.playbackRate = i.getPlaybackRate(), ve.call(e, e.media, \"ratechange\");\n },\n onReady: function onReady(i) {\n if (q(e.media.play)) return;\n var s = i.target;\n mt.getTitle.call(e, n), e.media.play = function () {\n ut.call(e, !0), s.playVideo();\n }, e.media.pause = function () {\n ut.call(e, !1), s.pauseVideo();\n }, e.media.stop = function () {\n s.stopVideo();\n }, e.media.duration = s.getDuration(), e.media.paused = !0, e.media.currentTime = 0, Object.defineProperty(e.media, \"currentTime\", {\n get: function get() {\n return Number(s.getCurrentTime());\n },\n set: function set(t) {\n e.paused && !e.embed.hasPlayed && e.embed.mute(), e.media.seeking = !0, ve.call(e, e.media, \"seeking\"), s.seekTo(t);\n }\n }), Object.defineProperty(e.media, \"playbackRate\", {\n get: function get() {\n return s.getPlaybackRate();\n },\n set: function set(e) {\n s.setPlaybackRate(e);\n }\n });\n var a = e.config.volume;\n Object.defineProperty(e.media, \"volume\", {\n get: function get() {\n return a;\n },\n set: function set(t) {\n a = t, s.setVolume(100 * a), ve.call(e, e.media, \"volumechange\");\n }\n });\n var l = e.config.muted;\n Object.defineProperty(e.media, \"muted\", {\n get: function get() {\n return l;\n },\n set: function set(t) {\n var i = O(t) ? t : l;\n l = i, s[i ? \"mute\" : \"unMute\"](), s.setVolume(100 * a), ve.call(e, e.media, \"volumechange\");\n }\n }), Object.defineProperty(e.media, \"currentSrc\", {\n get: function get() {\n return s.getVideoUrl();\n }\n }), Object.defineProperty(e.media, \"ended\", {\n get: function get() {\n return e.currentTime === e.duration;\n }\n });\n var o = s.getAvailablePlaybackRates();\n e.options.speed = o.filter(function (t) {\n return e.config.speed.options.includes(t);\n }), e.supported.ui && t.customControls && e.media.setAttribute(\"tabindex\", -1), ve.call(e, e.media, \"timeupdate\"), ve.call(e, e.media, \"durationchange\"), clearInterval(e.timers.buffering), e.timers.buffering = setInterval(function () {\n e.media.buffered = s.getVideoLoadedFraction(), (null === e.media.lastBuffered || e.media.lastBuffered < e.media.buffered) && ve.call(e, e.media, \"progress\"), e.media.lastBuffered = e.media.buffered, 1 === e.media.buffered && (clearInterval(e.timers.buffering), ve.call(e, e.media, \"canplaythrough\"));\n }, 200), t.customControls && setTimeout(function () {\n return at.build.call(e);\n }, 50);\n },\n onStateChange: function onStateChange(i) {\n var s = i.target;\n clearInterval(e.timers.playing);\n\n switch (e.media.seeking && [1, 2].includes(i.data) && (e.media.seeking = !1, ve.call(e, e.media, \"seeked\")), i.data) {\n case -1:\n ve.call(e, e.media, \"timeupdate\"), e.media.buffered = s.getVideoLoadedFraction(), ve.call(e, e.media, \"progress\");\n break;\n\n case 0:\n ut.call(e, !1), e.media.loop ? (s.stopVideo(), s.playVideo()) : ve.call(e, e.media, \"ended\");\n break;\n\n case 1:\n t.customControls && !e.config.autoplay && e.media.paused && !e.embed.hasPlayed ? e.media.pause() : (ut.call(e, !0), ve.call(e, e.media, \"playing\"), e.timers.playing = setInterval(function () {\n ve.call(e, e.media, \"timeupdate\");\n }, 50), e.media.duration !== s.getDuration() && (e.media.duration = s.getDuration(), ve.call(e, e.media, \"durationchange\")));\n break;\n\n case 2:\n e.muted || e.embed.unMute(), ut.call(e, !1);\n break;\n\n case 3:\n ve.call(e, e.media, \"waiting\");\n }\n\n ve.call(e, e.elements.container, \"statechange\", !1, {\n code: i.data\n });\n }\n }\n });\n }\n },\n pt = {\n setup: function setup() {\n this.media ? (le(this.elements.container, this.config.classNames.type.replace(\"{0}\", this.type), !0), le(this.elements.container, this.config.classNames.provider.replace(\"{0}\", this.provider), !0), this.isEmbed && le(this.elements.container, this.config.classNames.type.replace(\"{0}\", \"video\"), !0), this.isVideo && (this.elements.wrapper = Z(\"div\", {\n class: this.config.classNames.video\n }), J(this.media, this.elements.wrapper), this.elements.poster = Z(\"div\", {\n class: this.config.classNames.poster\n }), this.elements.wrapper.appendChild(this.elements.poster)), this.isHTML5 ? Le.setup.call(this) : this.isYouTube ? mt.setup.call(this) : this.isVimeo && ht.setup.call(this)) : this.debug.warn(\"No media element found!\");\n }\n };\n\n var gt = /*#__PURE__*/function () {\n function gt(t) {\n var _this31 = this;\n\n _classCallCheck(this, gt);\n\n e(this, \"load\", function () {\n _this31.enabled && (L(window.google) && L(window.google.ima) ? _this31.ready() : rt(_this31.player.config.urls.googleIMA.sdk).then(function () {\n _this31.ready();\n }).catch(function () {\n _this31.trigger(\"error\", new Error(\"Google IMA SDK failed to load\"));\n }));\n }), e(this, \"ready\", function () {\n var e;\n _this31.enabled || ((e = _this31).manager && e.manager.destroy(), e.elements.displayContainer && e.elements.displayContainer.destroy(), e.elements.container.remove()), _this31.startSafetyTimer(12e3, \"ready()\"), _this31.managerPromise.then(function () {\n _this31.clearSafetyTimer(\"onAdsManagerLoaded()\");\n }), _this31.listeners(), _this31.setupIMA();\n }), e(this, \"setupIMA\", function () {\n _this31.elements.container = Z(\"div\", {\n class: _this31.player.config.classNames.ads\n }), _this31.player.elements.container.appendChild(_this31.elements.container), google.ima.settings.setVpaidMode(google.ima.ImaSdkSettings.VpaidMode.ENABLED), google.ima.settings.setLocale(_this31.player.config.ads.language), google.ima.settings.setDisableCustomPlaybackForIOS10Plus(_this31.player.config.playsinline), _this31.elements.displayContainer = new google.ima.AdDisplayContainer(_this31.elements.container, _this31.player.media), _this31.loader = new google.ima.AdsLoader(_this31.elements.displayContainer), _this31.loader.addEventListener(google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, function (e) {\n return _this31.onAdsManagerLoaded(e);\n }, !1), _this31.loader.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, function (e) {\n return _this31.onAdError(e);\n }, !1), _this31.requestAds();\n }), e(this, \"requestAds\", function () {\n var e = _this31.player.elements.container;\n\n try {\n var _t19 = new google.ima.AdsRequest();\n\n _t19.adTagUrl = _this31.tagUrl, _t19.linearAdSlotWidth = e.offsetWidth, _t19.linearAdSlotHeight = e.offsetHeight, _t19.nonLinearAdSlotWidth = e.offsetWidth, _t19.nonLinearAdSlotHeight = e.offsetHeight, _t19.forceNonLinearFullSlot = !1, _t19.setAdWillPlayMuted(!_this31.player.muted), _this31.loader.requestAds(_t19);\n } catch (e) {\n _this31.onAdError(e);\n }\n }), e(this, \"pollCountdown\", function () {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : !1;\n if (!e) return clearInterval(_this31.countdownTimer), void _this31.elements.container.removeAttribute(\"data-badge-text\");\n _this31.countdownTimer = setInterval(function () {\n var e = Ue(Math.max(_this31.manager.getRemainingTime(), 0)),\n t = \"\".concat(He.get(\"advertisement\", _this31.player.config), \" - \").concat(e);\n\n _this31.elements.container.setAttribute(\"data-badge-text\", t);\n }, 100);\n }), e(this, \"onAdsManagerLoaded\", function (e) {\n if (!_this31.enabled) return;\n var t = new google.ima.AdsRenderingSettings();\n t.restoreCustomPlaybackStateOnAdBreakComplete = !0, t.enablePreloading = !0, _this31.manager = e.getAdsManager(_this31.player, t), _this31.cuePoints = _this31.manager.getCuePoints(), _this31.manager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, function (e) {\n return _this31.onAdError(e);\n }), Object.keys(google.ima.AdEvent.Type).forEach(function (e) {\n _this31.manager.addEventListener(google.ima.AdEvent.Type[e], function (e) {\n return _this31.onAdEvent(e);\n });\n }), _this31.trigger(\"loaded\");\n }), e(this, \"addCuePoints\", function () {\n W(_this31.cuePoints) || _this31.cuePoints.forEach(function (e) {\n if (0 !== e && -1 !== e && e < _this31.player.duration) {\n var _t20 = _this31.player.elements.progress;\n\n if (H(_t20)) {\n var _i17 = 100 / _this31.player.duration * e,\n _s16 = Z(\"span\", {\n class: _this31.player.config.classNames.cues\n });\n\n _s16.style.left = \"\".concat(_i17.toString(), \"%\"), _t20.appendChild(_s16);\n }\n }\n });\n }), e(this, \"onAdEvent\", function (e) {\n var t = _this31.player.elements.container,\n i = e.getAd(),\n s = e.getAdData();\n\n switch (function (e) {\n ve.call(_this31.player, _this31.player.media, \"ads\".concat(e.replace(/_/g, \"\").toLowerCase()));\n }(e.type), e.type) {\n case google.ima.AdEvent.Type.LOADED:\n _this31.trigger(\"loaded\"), _this31.pollCountdown(!0), i.isLinear() || (i.width = t.offsetWidth, i.height = t.offsetHeight);\n break;\n\n case google.ima.AdEvent.Type.STARTED:\n _this31.manager.setVolume(_this31.player.volume);\n\n break;\n\n case google.ima.AdEvent.Type.ALL_ADS_COMPLETED:\n _this31.player.ended ? _this31.loadAds() : _this31.loader.contentComplete();\n break;\n\n case google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED:\n _this31.pauseContent();\n\n break;\n\n case google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED:\n _this31.pollCountdown(), _this31.resumeContent();\n break;\n\n case google.ima.AdEvent.Type.LOG:\n s.adError && _this31.player.debug.warn(\"Non-fatal ad error: \".concat(s.adError.getMessage()));\n }\n }), e(this, \"onAdError\", function (e) {\n _this31.cancel(), _this31.player.debug.warn(\"Ads error\", e);\n }), e(this, \"listeners\", function () {\n var e = _this31.player.elements.container;\n var t;\n _this31.player.on(\"canplay\", function () {\n _this31.addCuePoints();\n }), _this31.player.on(\"ended\", function () {\n _this31.loader.contentComplete();\n }), _this31.player.on(\"timeupdate\", function () {\n t = _this31.player.currentTime;\n }), _this31.player.on(\"seeked\", function () {\n var e = _this31.player.currentTime;\n W(_this31.cuePoints) || _this31.cuePoints.forEach(function (i, s) {\n t < i && i < e && (_this31.manager.discardAdBreak(), _this31.cuePoints.splice(s, 1));\n });\n }), window.addEventListener(\"resize\", function () {\n _this31.manager && _this31.manager.resize(e.offsetWidth, e.offsetHeight, google.ima.ViewMode.NORMAL);\n });\n }), e(this, \"play\", function () {\n var e = _this31.player.elements.container;\n _this31.managerPromise || _this31.resumeContent(), _this31.managerPromise.then(function () {\n _this31.manager.setVolume(_this31.player.volume), _this31.elements.displayContainer.initialize();\n\n try {\n _this31.initialized || (_this31.manager.init(e.offsetWidth, e.offsetHeight, google.ima.ViewMode.NORMAL), _this31.manager.start()), _this31.initialized = !0;\n } catch (e) {\n _this31.onAdError(e);\n }\n }).catch(function () {});\n }), e(this, \"resumeContent\", function () {\n _this31.elements.container.style.zIndex = \"\", _this31.playing = !1, ke(_this31.player.media.play());\n }), e(this, \"pauseContent\", function () {\n _this31.elements.container.style.zIndex = 3, _this31.playing = !0, _this31.player.media.pause();\n }), e(this, \"cancel\", function () {\n _this31.initialized && _this31.resumeContent(), _this31.trigger(\"error\"), _this31.loadAds();\n }), e(this, \"loadAds\", function () {\n _this31.managerPromise.then(function () {\n _this31.manager && _this31.manager.destroy(), _this31.managerPromise = new Promise(function (e) {\n _this31.on(\"loaded\", e), _this31.player.debug.log(_this31.manager);\n }), _this31.initialized = !1, _this31.requestAds();\n }).catch(function () {});\n }), e(this, \"trigger\", function (e) {\n for (var _len4 = arguments.length, t = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n t[_key4 - 1] = arguments[_key4];\n }\n\n var i = _this31.events[e];\n j(i) && i.forEach(function (e) {\n q(e) && e.apply(_this31, t);\n });\n }), e(this, \"on\", function (e, t) {\n return j(_this31.events[e]) || (_this31.events[e] = []), _this31.events[e].push(t), _this31;\n }), e(this, \"startSafetyTimer\", function (e, t) {\n _this31.player.debug.log(\"Safety timer invoked from: \".concat(t)), _this31.safetyTimer = setTimeout(function () {\n _this31.cancel(), _this31.clearSafetyTimer(\"startSafetyTimer()\");\n }, e);\n }), e(this, \"clearSafetyTimer\", function (e) {\n I(_this31.safetyTimer) || (_this31.player.debug.log(\"Safety timer cleared from: \".concat(e)), clearTimeout(_this31.safetyTimer), _this31.safetyTimer = null);\n }), this.player = t, this.config = t.config.ads, this.playing = !1, this.initialized = !1, this.elements = {\n container: null,\n displayContainer: null\n }, this.manager = null, this.loader = null, this.cuePoints = null, this.events = {}, this.safetyTimer = null, this.countdownTimer = null, this.managerPromise = new Promise(function (e, t) {\n _this31.on(\"loaded\", e), _this31.on(\"error\", t);\n }), this.load();\n }\n\n _createClass(gt, [{\n key: \"enabled\",\n get: function get() {\n var e = this.config;\n return this.player.isHTML5 && this.player.isVideo && e.enabled && (!W(e.publisherId) || U(e.tagUrl));\n }\n }, {\n key: \"tagUrl\",\n get: function get() {\n var e = this.config;\n if (U(e.tagUrl)) return e.tagUrl;\n return \"https://go.aniview.com/api/adserver6/vast/?\".concat(Ke({\n AV_PUBLISHERID: \"58c25bb0073ef448b1087ad6\",\n AV_CHANNELID: \"5a0458dc28a06145e4519d21\",\n AV_URL: window.location.hostname,\n cb: Date.now(),\n AV_WIDTH: 640,\n AV_HEIGHT: 480,\n AV_CDIM2: e.publisherId\n }));\n }\n }]);\n\n return gt;\n }();\n\n var ft = function ft(e) {\n var t = [];\n return e.split(/\\r\\n\\r\\n|\\n\\n|\\r\\r/).forEach(function (e) {\n var i = {};\n e.split(/\\r\\n|\\n|\\r/).forEach(function (e) {\n if ($(i.startTime)) {\n if (!W(e.trim()) && W(i.text)) {\n var _t22, _t23, _t21$1$split, _t21$1$split2;\n\n var _t21 = e.trim().split(\"#xywh=\");\n\n (_t22 = _t21, _t23 = _slicedToArray(_t22, 1), i.text = _t23[0], _t22), _t21[1] && (_t21$1$split = _t21[1].split(\",\"), _t21$1$split2 = _slicedToArray(_t21$1$split, 4), i.x = _t21$1$split2[0], i.y = _t21$1$split2[1], i.w = _t21$1$split2[2], i.h = _t21$1$split2[3], _t21$1$split);\n }\n } else {\n var _t24 = e.match(/([0-9]{2})?:?([0-9]{2}):([0-9]{2}).([0-9]{2,3})( ?--> ?)([0-9]{2})?:?([0-9]{2}):([0-9]{2}).([0-9]{2,3})/);\n\n _t24 && (i.startTime = 60 * Number(_t24[1] || 0) * 60 + 60 * Number(_t24[2]) + Number(_t24[3]) + Number(\"0.\".concat(_t24[4])), i.endTime = 60 * Number(_t24[6] || 0) * 60 + 60 * Number(_t24[7]) + Number(_t24[8]) + Number(\"0.\".concat(_t24[9])));\n }\n }), i.text && t.push(i);\n }), t;\n },\n yt = function yt(e, t) {\n var i = {};\n return e > t.width / t.height ? (i.width = t.width, i.height = 1 / e * t.width) : (i.height = t.height, i.width = e * t.height), i;\n };\n\n var bt = /*#__PURE__*/function () {\n function bt(t) {\n var _this32 = this;\n\n _classCallCheck(this, bt);\n\n e(this, \"load\", function () {\n _this32.player.elements.display.seekTooltip && (_this32.player.elements.display.seekTooltip.hidden = _this32.enabled), _this32.enabled && _this32.getThumbnails().then(function () {\n _this32.enabled && (_this32.render(), _this32.determineContainerAutoSizing(), _this32.loaded = !0);\n });\n }), e(this, \"getThumbnails\", function () {\n return new Promise(function (e) {\n var t = _this32.player.config.previewThumbnails.src;\n if (W(t)) throw new Error(\"Missing previewThumbnails.src config attribute\");\n\n var i = function i() {\n _this32.thumbnails.sort(function (e, t) {\n return e.height - t.height;\n }), _this32.player.debug.log(\"Preview thumbnails\", _this32.thumbnails), e();\n };\n\n if (q(t)) t(function (e) {\n _this32.thumbnails = e, i();\n });else {\n var _e27 = (_(t) ? [t] : t).map(function (e) {\n return _this32.getThumbnail(e);\n });\n\n Promise.all(_e27).then(i);\n }\n });\n }), e(this, \"getThumbnail\", function (e) {\n return new Promise(function (t) {\n Re(e).then(function (i) {\n var s = {\n frames: ft(i),\n height: null,\n urlPrefix: \"\"\n };\n s.frames[0].text.startsWith(\"/\") || s.frames[0].text.startsWith(\"http://\") || s.frames[0].text.startsWith(\"https://\") || (s.urlPrefix = e.substring(0, e.lastIndexOf(\"/\") + 1));\n var n = new Image();\n n.onload = function () {\n s.height = n.naturalHeight, s.width = n.naturalWidth, _this32.thumbnails.push(s), t();\n }, n.src = s.urlPrefix + s.frames[0].text;\n });\n });\n }), e(this, \"startMove\", function (e) {\n if (_this32.loaded && F(e) && [\"touchmove\", \"mousemove\"].includes(e.type) && _this32.player.media.duration) {\n if (\"touchmove\" === e.type) _this32.seekTime = _this32.player.media.duration * (_this32.player.elements.inputs.seek.value / 100);else {\n var _t25 = _this32.player.elements.progress.getBoundingClientRect(),\n _i18 = 100 / _t25.width * (e.pageX - _t25.left);\n\n _this32.seekTime = _this32.player.media.duration * (_i18 / 100), _this32.seekTime < 0 && (_this32.seekTime = 0), _this32.seekTime > _this32.player.media.duration - 1 && (_this32.seekTime = _this32.player.media.duration - 1), _this32.mousePosX = e.pageX, _this32.elements.thumb.time.innerText = Ue(_this32.seekTime);\n }\n\n _this32.showImageAtCurrentTime();\n }\n }), e(this, \"endMove\", function () {\n _this32.toggleThumbContainer(!1, !0);\n }), e(this, \"startScrubbing\", function (e) {\n (I(e.button) || !1 === e.button || 0 === e.button) && (_this32.mouseDown = !0, _this32.player.media.duration && (_this32.toggleScrubbingContainer(!0), _this32.toggleThumbContainer(!1, !0), _this32.showImageAtCurrentTime()));\n }), e(this, \"endScrubbing\", function () {\n _this32.mouseDown = !1, Math.ceil(_this32.lastTime) === Math.ceil(_this32.player.media.currentTime) ? _this32.toggleScrubbingContainer(!1) : be.call(_this32.player, _this32.player.media, \"timeupdate\", function () {\n _this32.mouseDown || _this32.toggleScrubbingContainer(!1);\n });\n }), e(this, \"listeners\", function () {\n _this32.player.on(\"play\", function () {\n _this32.toggleThumbContainer(!1, !0);\n }), _this32.player.on(\"seeked\", function () {\n _this32.toggleThumbContainer(!1);\n }), _this32.player.on(\"timeupdate\", function () {\n _this32.lastTime = _this32.player.media.currentTime;\n });\n }), e(this, \"render\", function () {\n _this32.elements.thumb.container = Z(\"div\", {\n class: _this32.player.config.classNames.previewThumbnails.thumbContainer\n }), _this32.elements.thumb.imageContainer = Z(\"div\", {\n class: _this32.player.config.classNames.previewThumbnails.imageContainer\n }), _this32.elements.thumb.container.appendChild(_this32.elements.thumb.imageContainer);\n var e = Z(\"div\", {\n class: _this32.player.config.classNames.previewThumbnails.timeContainer\n });\n _this32.elements.thumb.time = Z(\"span\", {}, \"00:00\"), e.appendChild(_this32.elements.thumb.time), _this32.elements.thumb.container.appendChild(e), H(_this32.player.elements.progress) && _this32.player.elements.progress.appendChild(_this32.elements.thumb.container), _this32.elements.scrubbing.container = Z(\"div\", {\n class: _this32.player.config.classNames.previewThumbnails.scrubbingContainer\n }), _this32.player.elements.wrapper.appendChild(_this32.elements.scrubbing.container);\n }), e(this, \"destroy\", function () {\n _this32.elements.thumb.container && _this32.elements.thumb.container.remove(), _this32.elements.scrubbing.container && _this32.elements.scrubbing.container.remove();\n }), e(this, \"showImageAtCurrentTime\", function () {\n _this32.mouseDown ? _this32.setScrubbingContainerSize() : _this32.setThumbContainerSizeAndPos();\n\n var e = _this32.thumbnails[0].frames.findIndex(function (e) {\n return _this32.seekTime >= e.startTime && _this32.seekTime <= e.endTime;\n }),\n t = e >= 0;\n\n var i = 0;\n _this32.mouseDown || _this32.toggleThumbContainer(t), t && (_this32.thumbnails.forEach(function (t, s) {\n _this32.loadedImages.includes(t.frames[e].text) && (i = s);\n }), e !== _this32.showingThumb && (_this32.showingThumb = e, _this32.loadImage(i)));\n }), e(this, \"loadImage\", function () {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var t = _this32.showingThumb,\n i = _this32.thumbnails[e],\n s = i.urlPrefix,\n n = i.frames[t],\n a = i.frames[t].text,\n l = s + a;\n if (_this32.currentImageElement && _this32.currentImageElement.dataset.filename === a) _this32.showImage(_this32.currentImageElement, n, e, t, a, !1), _this32.currentImageElement.dataset.index = t, _this32.removeOldImages(_this32.currentImageElement);else {\n _this32.loadingImage && _this32.usingSprites && (_this32.loadingImage.onload = null);\n\n var _i19 = new Image();\n\n _i19.src = l, _i19.dataset.index = t, _i19.dataset.filename = a, _this32.showingThumbFilename = a, _this32.player.debug.log(\"Loading image: \".concat(l)), _i19.onload = function () {\n return _this32.showImage(_i19, n, e, t, a, !0);\n }, _this32.loadingImage = _i19, _this32.removeOldImages(_i19);\n }\n }), e(this, \"showImage\", function (e, t, i, s, n) {\n var a = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : !0;\n _this32.player.debug.log(\"Showing thumb: \".concat(n, \". num: \").concat(s, \". qual: \").concat(i, \". newimg: \").concat(a)), _this32.setImageSizeAndOffset(e, t), a && (_this32.currentImageContainer.appendChild(e), _this32.currentImageElement = e, _this32.loadedImages.includes(n) || _this32.loadedImages.push(n)), _this32.preloadNearby(s, !0).then(_this32.preloadNearby(s, !1)).then(_this32.getHigherQuality(i, e, t, n));\n }), e(this, \"removeOldImages\", function (e) {\n Array.from(_this32.currentImageContainer.children).forEach(function (t) {\n if (\"img\" !== t.tagName.toLowerCase()) return;\n var i = _this32.usingSprites ? 500 : 1e3;\n\n if (t.dataset.index !== e.dataset.index && !t.dataset.deleting) {\n t.dataset.deleting = !0;\n var _e28 = _this32.currentImageContainer;\n setTimeout(function () {\n _e28.removeChild(t), _this32.player.debug.log(\"Removing thumb: \".concat(t.dataset.filename));\n }, i);\n }\n });\n }), e(this, \"preloadNearby\", function (e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !0;\n return new Promise(function (i) {\n setTimeout(function () {\n var s = _this32.thumbnails[0].frames[e].text;\n\n if (_this32.showingThumbFilename === s) {\n var _n7;\n\n _n7 = t ? _this32.thumbnails[0].frames.slice(e) : _this32.thumbnails[0].frames.slice(0, e).reverse();\n\n var _a6 = !1;\n\n _n7.forEach(function (e) {\n var t = e.text;\n\n if (t !== s && !_this32.loadedImages.includes(t)) {\n _a6 = !0, _this32.player.debug.log(\"Preloading thumb filename: \".concat(t));\n\n var _e29 = _this32.thumbnails[0].urlPrefix,\n _s17 = _e29 + t,\n _n8 = new Image();\n\n _n8.src = _s17, _n8.onload = function () {\n _this32.player.debug.log(\"Preloaded thumb filename: \".concat(t)), _this32.loadedImages.includes(t) || _this32.loadedImages.push(t), i();\n };\n }\n }), _a6 || i();\n }\n }, 300);\n });\n }), e(this, \"getHigherQuality\", function (e, t, i, s) {\n if (e < _this32.thumbnails.length - 1) {\n var _n9 = t.naturalHeight;\n _this32.usingSprites && (_n9 = i.h), _n9 < _this32.thumbContainerHeight && setTimeout(function () {\n _this32.showingThumbFilename === s && (_this32.player.debug.log(\"Showing higher quality thumb for: \".concat(s)), _this32.loadImage(e + 1));\n }, 300);\n }\n }), e(this, \"toggleThumbContainer\", function () {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : !1;\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n var i = _this32.player.config.classNames.previewThumbnails.thumbContainerShown;\n _this32.elements.thumb.container.classList.toggle(i, e), !e && t && (_this32.showingThumb = null, _this32.showingThumbFilename = null);\n }), e(this, \"toggleScrubbingContainer\", function () {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : !1;\n var t = _this32.player.config.classNames.previewThumbnails.scrubbingContainerShown;\n _this32.elements.scrubbing.container.classList.toggle(t, e), e || (_this32.showingThumb = null, _this32.showingThumbFilename = null);\n }), e(this, \"determineContainerAutoSizing\", function () {\n (_this32.elements.thumb.imageContainer.clientHeight > 20 || _this32.elements.thumb.imageContainer.clientWidth > 20) && (_this32.sizeSpecifiedInCSS = !0);\n }), e(this, \"setThumbContainerSizeAndPos\", function () {\n if (_this32.sizeSpecifiedInCSS) {\n if (_this32.elements.thumb.imageContainer.clientHeight > 20 && _this32.elements.thumb.imageContainer.clientWidth < 20) {\n var _e30 = Math.floor(_this32.elements.thumb.imageContainer.clientHeight * _this32.thumbAspectRatio);\n\n _this32.elements.thumb.imageContainer.style.width = \"\".concat(_e30, \"px\");\n } else if (_this32.elements.thumb.imageContainer.clientHeight < 20 && _this32.elements.thumb.imageContainer.clientWidth > 20) {\n var _e31 = Math.floor(_this32.elements.thumb.imageContainer.clientWidth / _this32.thumbAspectRatio);\n\n _this32.elements.thumb.imageContainer.style.height = \"\".concat(_e31, \"px\");\n }\n } else {\n var _e32 = Math.floor(_this32.thumbContainerHeight * _this32.thumbAspectRatio);\n\n _this32.elements.thumb.imageContainer.style.height = \"\".concat(_this32.thumbContainerHeight, \"px\"), _this32.elements.thumb.imageContainer.style.width = \"\".concat(_e32, \"px\");\n }\n\n _this32.setThumbContainerPos();\n }), e(this, \"setThumbContainerPos\", function () {\n var e = _this32.player.elements.progress.getBoundingClientRect(),\n t = _this32.player.elements.container.getBoundingClientRect(),\n i = _this32.elements.thumb.container,\n s = t.left - e.left + 10,\n n = t.right - e.left - i.clientWidth - 10;\n\n var a = _this32.mousePosX - e.left - i.clientWidth / 2;\n a < s && (a = s), a > n && (a = n), i.style.left = \"\".concat(a, \"px\");\n }), e(this, \"setScrubbingContainerSize\", function () {\n var _yt = yt(_this32.thumbAspectRatio, {\n width: _this32.player.media.clientWidth,\n height: _this32.player.media.clientHeight\n }),\n e = _yt.width,\n t = _yt.height;\n\n _this32.elements.scrubbing.container.style.width = \"\".concat(e, \"px\"), _this32.elements.scrubbing.container.style.height = \"\".concat(t, \"px\");\n }), e(this, \"setImageSizeAndOffset\", function (e, t) {\n if (!_this32.usingSprites) return;\n var i = _this32.thumbContainerHeight / t.h;\n e.style.height = e.naturalHeight * i + \"px\", e.style.width = e.naturalWidth * i + \"px\", e.style.left = \"-\".concat(t.x * i, \"px\"), e.style.top = \"-\".concat(t.y * i, \"px\");\n }), this.player = t, this.thumbnails = [], this.loaded = !1, this.lastMouseMoveTime = Date.now(), this.mouseDown = !1, this.loadedImages = [], this.elements = {\n thumb: {},\n scrubbing: {}\n }, this.load();\n }\n\n _createClass(bt, [{\n key: \"enabled\",\n get: function get() {\n return this.player.isHTML5 && this.player.isVideo && this.player.config.previewThumbnails.enabled;\n }\n }, {\n key: \"currentImageContainer\",\n get: function get() {\n return this.mouseDown ? this.elements.scrubbing.container : this.elements.thumb.imageContainer;\n }\n }, {\n key: \"usingSprites\",\n get: function get() {\n return Object.keys(this.thumbnails[0].frames[0]).includes(\"w\");\n }\n }, {\n key: \"thumbAspectRatio\",\n get: function get() {\n return this.usingSprites ? this.thumbnails[0].frames[0].w / this.thumbnails[0].frames[0].h : this.thumbnails[0].width / this.thumbnails[0].height;\n }\n }, {\n key: \"thumbContainerHeight\",\n get: function get() {\n if (this.mouseDown) {\n var _yt2 = yt(this.thumbAspectRatio, {\n width: this.player.media.clientWidth,\n height: this.player.media.clientHeight\n }),\n _e33 = _yt2.height;\n\n return _e33;\n }\n\n return this.sizeSpecifiedInCSS ? this.elements.thumb.imageContainer.clientHeight : Math.floor(this.player.media.clientWidth / this.thumbAspectRatio / 4);\n }\n }, {\n key: \"currentImageElement\",\n get: function get() {\n return this.mouseDown ? this.currentScrubbingImageElement : this.currentThumbnailImageElement;\n },\n set: function set(e) {\n this.mouseDown ? this.currentScrubbingImageElement = e : this.currentThumbnailImageElement = e;\n }\n }]);\n\n return bt;\n }();\n\n var vt = {\n insertElements: function insertElements(e, t) {\n var _this33 = this;\n\n _(t) ? ee(e, this.media, {\n src: t\n }) : j(t) && t.forEach(function (t) {\n ee(e, _this33.media, t);\n });\n },\n change: function change(e) {\n var _this34 = this;\n\n Q(e, \"sources.length\") ? (Le.cancelRequests.call(this), this.destroy.call(this, function () {\n _this34.options.quality = [], te(_this34.media), _this34.media = null, H(_this34.elements.container) && _this34.elements.container.removeAttribute(\"class\");\n\n var t = e.sources,\n i = e.type,\n _t26 = _slicedToArray(t, 1),\n _t26$ = _t26[0],\n _t26$$provider = _t26$.provider,\n s = _t26$$provider === void 0 ? Ge.html5 : _t26$$provider,\n n = _t26$.src,\n a = \"html5\" === s ? i : \"div\",\n l = \"html5\" === s ? {} : {\n src: n\n };\n\n Object.assign(_this34, {\n provider: s,\n type: i,\n supported: me.check(i, s, _this34.config.playsinline),\n media: Z(a, l)\n }), _this34.elements.container.appendChild(_this34.media), O(e.autoplay) && (_this34.config.autoplay = e.autoplay), _this34.isHTML5 && (_this34.config.crossorigin && _this34.media.setAttribute(\"crossorigin\", \"\"), _this34.config.autoplay && _this34.media.setAttribute(\"autoplay\", \"\"), W(e.poster) || (_this34.poster = e.poster), _this34.config.loop.active && _this34.media.setAttribute(\"loop\", \"\"), _this34.config.muted && _this34.media.setAttribute(\"muted\", \"\"), _this34.config.playsinline && _this34.media.setAttribute(\"playsinline\", \"\")), at.addStyleHook.call(_this34), _this34.isHTML5 && vt.insertElements.call(_this34, \"source\", t), _this34.config.title = e.title, pt.setup.call(_this34), _this34.isHTML5 && Object.keys(e).includes(\"tracks\") && vt.insertElements.call(_this34, \"track\", e.tracks), (_this34.isHTML5 || _this34.isEmbed && !_this34.supported.ui) && at.build.call(_this34), _this34.isHTML5 && _this34.media.load(), W(e.previewThumbnails) || (Object.assign(_this34.config.previewThumbnails, e.previewThumbnails), _this34.previewThumbnails && _this34.previewThumbnails.loaded && (_this34.previewThumbnails.destroy(), _this34.previewThumbnails = null), _this34.config.previewThumbnails.enabled && (_this34.previewThumbnails = new bt(_this34))), _this34.fullscreen.update();\n }, !0)) : this.debug.warn(\"Invalid source format\");\n }\n };\n\n var wt = /*#__PURE__*/function () {\n function wt(t, i) {\n var _this35 = this;\n\n _classCallCheck(this, wt);\n\n if (e(this, \"play\", function () {\n return q(_this35.media.play) ? (_this35.ads && _this35.ads.enabled && _this35.ads.managerPromise.then(function () {\n return _this35.ads.play();\n }).catch(function () {\n return ke(_this35.media.play());\n }), _this35.media.play()) : null;\n }), e(this, \"pause\", function () {\n return _this35.playing && q(_this35.media.pause) ? _this35.media.pause() : null;\n }), e(this, \"togglePlay\", function (e) {\n return (O(e) ? e : !_this35.playing) ? _this35.play() : _this35.pause();\n }), e(this, \"stop\", function () {\n _this35.isHTML5 ? (_this35.pause(), _this35.restart()) : q(_this35.media.stop) && _this35.media.stop();\n }), e(this, \"restart\", function () {\n _this35.currentTime = 0;\n }), e(this, \"rewind\", function (e) {\n _this35.currentTime -= $(e) ? e : _this35.config.seekTime;\n }), e(this, \"forward\", function (e) {\n _this35.currentTime += $(e) ? e : _this35.config.seekTime;\n }), e(this, \"increaseVolume\", function (e) {\n var t = _this35.media.muted ? 0 : _this35.volume;\n _this35.volume = t + ($(e) ? e : 0);\n }), e(this, \"decreaseVolume\", function (e) {\n _this35.increaseVolume(-e);\n }), e(this, \"airplay\", function () {\n me.airplay && _this35.media.webkitShowPlaybackTargetPicker();\n }), e(this, \"toggleControls\", function (e) {\n if (_this35.supported.ui && !_this35.isAudio) {\n var _t27 = oe(_this35.elements.container, _this35.config.classNames.hideControls),\n _i20 = void 0 === e ? void 0 : !e,\n _s18 = le(_this35.elements.container, _this35.config.classNames.hideControls, _i20);\n\n if (_s18 && j(_this35.config.controls) && _this35.config.controls.includes(\"settings\") && !W(_this35.config.settings) && We.toggleMenu.call(_this35, !1), _s18 !== _t27) {\n var _e34 = _s18 ? \"controlshidden\" : \"controlsshown\";\n\n ve.call(_this35, _this35.media, _e34);\n }\n\n return !_s18;\n }\n\n return !1;\n }), e(this, \"on\", function (e, t) {\n fe.call(_this35, _this35.elements.container, e, t);\n }), e(this, \"once\", function (e, t) {\n be.call(_this35, _this35.elements.container, e, t);\n }), e(this, \"off\", function (e, t) {\n ye(_this35.elements.container, e, t);\n }), e(this, \"destroy\", function (e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : !1;\n if (!_this35.ready) return;\n\n var i = function i() {\n document.body.style.overflow = \"\", _this35.embed = null, t ? (Object.keys(_this35.elements).length && (te(_this35.elements.buttons.play), te(_this35.elements.captions), te(_this35.elements.controls), te(_this35.elements.wrapper), _this35.elements.buttons.play = null, _this35.elements.captions = null, _this35.elements.controls = null, _this35.elements.wrapper = null), q(e) && e()) : (we.call(_this35), Le.cancelRequests.call(_this35), se(_this35.elements.original, _this35.elements.container), ve.call(_this35, _this35.elements.original, \"destroyed\", !0), q(e) && e.call(_this35.elements.original), _this35.ready = !1, setTimeout(function () {\n _this35.elements = null, _this35.media = null;\n }, 200));\n };\n\n _this35.stop(), clearTimeout(_this35.timers.loading), clearTimeout(_this35.timers.controls), clearTimeout(_this35.timers.resized), _this35.isHTML5 ? (at.toggleNativeControls.call(_this35, !0), i()) : _this35.isYouTube ? (clearInterval(_this35.timers.buffering), clearInterval(_this35.timers.playing), null !== _this35.embed && q(_this35.embed.destroy) && _this35.embed.destroy(), i()) : _this35.isVimeo && (null !== _this35.embed && _this35.embed.unload().then(i), setTimeout(i, 200));\n }), e(this, \"supports\", function (e) {\n return me.mime.call(_this35, e);\n }), this.timers = {}, this.ready = !1, this.loading = !1, this.failed = !1, this.touch = me.touch, this.media = t, _(this.media) && (this.media = document.querySelectorAll(this.media)), (window.jQuery && this.media instanceof jQuery || D(this.media) || j(this.media)) && (this.media = this.media[0]), this.config = X({}, Qe, wt.defaults, i || {}, function () {\n try {\n return JSON.parse(_this35.media.getAttribute(\"data-plyr-config\"));\n } catch (e) {\n return {};\n }\n }()), this.elements = {\n container: null,\n fullscreen: null,\n captions: null,\n buttons: {},\n display: {},\n progress: {},\n inputs: {},\n settings: {\n popup: null,\n menu: null,\n panels: {},\n buttons: {}\n }\n }, this.captions = {\n active: null,\n currentTrack: -1,\n meta: new WeakMap()\n }, this.fullscreen = {\n active: !1\n }, this.options = {\n speed: [],\n quality: []\n }, this.debug = new it(this.config.debug), this.debug.log(\"Config\", this.config), this.debug.log(\"Support\", me), I(this.media) || !H(this.media)) return void this.debug.error(\"Setup failed: no suitable element passed\");\n if (this.media.plyr) return void this.debug.warn(\"Target already setup\");\n if (!this.config.enabled) return void this.debug.error(\"Setup failed: disabled by config\");\n if (!me.check().api) return void this.debug.error(\"Setup failed: no support\");\n var s = this.media.cloneNode(!0);\n s.autoplay = !1, this.elements.original = s;\n var n = this.media.tagName.toLowerCase();\n var a = null,\n l = null;\n\n switch (n) {\n case \"div\":\n if (a = this.media.querySelector(\"iframe\"), H(a)) {\n if (l = ze(a.getAttribute(\"src\")), this.provider = function (e) {\n return /^(https?:\\/\\/)?(www\\.)?(youtube\\.com|youtube-nocookie\\.com|youtu\\.?be)\\/.+$/.test(e) ? Ge.youtube : /^https?:\\/\\/player.vimeo.com\\/video\\/\\d{0,9}(?=\\b|\\/)/.test(e) ? Ge.vimeo : null;\n }(l.toString()), this.elements.container = this.media, this.media = a, this.elements.container.className = \"\", l.search.length) {\n var _e35 = [\"1\", \"true\"];\n _e35.includes(l.searchParams.get(\"autoplay\")) && (this.config.autoplay = !0), _e35.includes(l.searchParams.get(\"loop\")) && (this.config.loop.active = !0), this.isYouTube ? (this.config.playsinline = _e35.includes(l.searchParams.get(\"playsinline\")), this.config.youtube.hl = l.searchParams.get(\"hl\")) : this.config.playsinline = !0;\n }\n } else this.provider = this.media.getAttribute(this.config.attributes.embed.provider), this.media.removeAttribute(this.config.attributes.embed.provider);\n\n if (W(this.provider) || !Object.values(Ge).includes(this.provider)) return void this.debug.error(\"Setup failed: Invalid provider\");\n this.type = et;\n break;\n\n case \"video\":\n case \"audio\":\n this.type = n, this.provider = Ge.html5, this.media.hasAttribute(\"crossorigin\") && (this.config.crossorigin = !0), this.media.hasAttribute(\"autoplay\") && (this.config.autoplay = !0), (this.media.hasAttribute(\"playsinline\") || this.media.hasAttribute(\"webkit-playsinline\")) && (this.config.playsinline = !0), this.media.hasAttribute(\"muted\") && (this.config.muted = !0), this.media.hasAttribute(\"loop\") && (this.config.loop.active = !0);\n break;\n\n default:\n return void this.debug.error(\"Setup failed: unsupported type\");\n }\n\n this.supported = me.check(this.type, this.provider, this.config.playsinline), this.supported.api ? (this.eventListeners = [], this.listeners = new lt(this), this.storage = new Fe(this), this.media.plyr = this, H(this.elements.container) || (this.elements.container = Z(\"div\", {\n tabindex: 0\n }), J(this.media, this.elements.container)), at.migrateStyles.call(this), at.addStyleHook.call(this), pt.setup.call(this), this.config.debug && fe.call(this, this.elements.container, this.config.events.join(\" \"), function (e) {\n _this35.debug.log(\"event: \".concat(e.type));\n }), this.fullscreen = new st(this), (this.isHTML5 || this.isEmbed && !this.supported.ui) && at.build.call(this), this.listeners.container(), this.listeners.global(), this.config.ads.enabled && (this.ads = new gt(this)), this.isHTML5 && this.config.autoplay && this.once(\"canplay\", function () {\n return ke(_this35.play());\n }), this.lastSeekTime = 0, this.config.previewThumbnails.enabled && (this.previewThumbnails = new bt(this))) : this.debug.error(\"Setup failed: no support\");\n }\n\n _createClass(wt, [{\n key: \"isHTML5\",\n get: function get() {\n return this.provider === Ge.html5;\n }\n }, {\n key: \"isEmbed\",\n get: function get() {\n return this.isYouTube || this.isVimeo;\n }\n }, {\n key: \"isYouTube\",\n get: function get() {\n return this.provider === Ge.youtube;\n }\n }, {\n key: \"isVimeo\",\n get: function get() {\n return this.provider === Ge.vimeo;\n }\n }, {\n key: \"isVideo\",\n get: function get() {\n return this.type === et;\n }\n }, {\n key: \"isAudio\",\n get: function get() {\n return this.type === Ze;\n }\n }, {\n key: \"playing\",\n get: function get() {\n return Boolean(this.ready && !this.paused && !this.ended);\n }\n }, {\n key: \"paused\",\n get: function get() {\n return Boolean(this.media.paused);\n }\n }, {\n key: \"stopped\",\n get: function get() {\n return Boolean(this.paused && 0 === this.currentTime);\n }\n }, {\n key: \"ended\",\n get: function get() {\n return Boolean(this.media.ended);\n }\n }, {\n key: \"currentTime\",\n get: function get() {\n return Number(this.media.currentTime);\n },\n set: function set(e) {\n if (!this.duration) return;\n var t = $(e) && e > 0;\n this.media.currentTime = t ? Math.min(e, this.duration) : 0, this.debug.log(\"Seeking to \".concat(this.currentTime, \" seconds\"));\n }\n }, {\n key: \"buffered\",\n get: function get() {\n var e = this.media.buffered;\n return $(e) ? e : e && e.length && this.duration > 0 ? e.end(0) / this.duration : 0;\n }\n }, {\n key: \"seeking\",\n get: function get() {\n return Boolean(this.media.seeking);\n }\n }, {\n key: \"duration\",\n get: function get() {\n var e = parseFloat(this.config.duration),\n t = (this.media || {}).duration,\n i = $(t) && t !== 1 / 0 ? t : 0;\n return e || i;\n }\n }, {\n key: \"volume\",\n get: function get() {\n return Number(this.media.volume);\n },\n set: function set(e) {\n var _this$config2;\n\n var t = e;\n _(t) && (t = Number(t)), $(t) || (t = this.storage.get(\"volume\")), $(t) || (_this$config2 = this.config, t = _this$config2.volume, _this$config2), t > 1 && (t = 1), t < 0 && (t = 0), this.config.volume = t, this.media.volume = t, !W(e) && this.muted && t > 0 && (this.muted = !1);\n }\n }, {\n key: \"muted\",\n get: function get() {\n return Boolean(this.media.muted);\n },\n set: function set(e) {\n var t = e;\n O(t) || (t = this.storage.get(\"muted\")), O(t) || (t = this.config.muted), this.config.muted = t, this.media.muted = t;\n }\n }, {\n key: \"hasAudio\",\n get: function get() {\n return !this.isHTML5 || !!this.isAudio || Boolean(this.media.mozHasAudio) || Boolean(this.media.webkitAudioDecodedByteCount) || Boolean(this.media.audioTracks && this.media.audioTracks.length);\n }\n }, {\n key: \"speed\",\n get: function get() {\n return Number(this.media.playbackRate);\n },\n set: function set(e) {\n var _this36 = this;\n\n var t = null;\n $(e) && (t = e), $(t) || (t = this.storage.get(\"speed\")), $(t) || (t = this.config.speed.selected);\n var i = this.minimumSpeed,\n s = this.maximumSpeed;\n t = function () {\n var e = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 0;\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;\n var i = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 255;\n return Math.min(Math.max(e, t), i);\n }(t, i, s), this.config.speed.selected = t, setTimeout(function () {\n _this36.media.playbackRate = t;\n }, 0);\n }\n }, {\n key: \"minimumSpeed\",\n get: function get() {\n return this.isYouTube ? Math.min.apply(Math, _toConsumableArray(this.options.speed)) : this.isVimeo ? .5 : .0625;\n }\n }, {\n key: \"maximumSpeed\",\n get: function get() {\n return this.isYouTube ? Math.max.apply(Math, _toConsumableArray(this.options.speed)) : this.isVimeo ? 2 : 16;\n }\n }, {\n key: \"quality\",\n get: function get() {\n return this.media.quality;\n },\n set: function set(e) {\n var t = this.config.quality,\n i = this.options.quality;\n if (!i.length) return;\n var s = [!W(e) && Number(e), this.storage.get(\"quality\"), t.selected, t.default].find($),\n n = !0;\n\n if (!i.includes(s)) {\n var _e36 = Ae(i, s);\n\n this.debug.warn(\"Unsupported quality option: \".concat(s, \", using \").concat(_e36, \" instead\")), s = _e36, n = !1;\n }\n\n t.selected = s, this.media.quality = s, n && this.storage.set({\n quality: s\n });\n }\n }, {\n key: \"loop\",\n get: function get() {\n return Boolean(this.media.loop);\n },\n set: function set(e) {\n var t = O(e) ? e : this.config.loop.active;\n this.config.loop.active = t, this.media.loop = t;\n }\n }, {\n key: \"source\",\n get: function get() {\n return this.media.currentSrc;\n },\n set: function set(e) {\n vt.change.call(this, e);\n }\n }, {\n key: \"download\",\n get: function get() {\n var e = this.config.urls.download;\n return U(e) ? e : this.source;\n },\n set: function set(e) {\n U(e) && (this.config.urls.download = e, We.setDownloadUrl.call(this));\n }\n }, {\n key: \"poster\",\n get: function get() {\n return this.isVideo ? this.media.getAttribute(\"poster\") || this.media.getAttribute(\"data-poster\") : null;\n },\n set: function set(e) {\n this.isVideo ? at.setPoster.call(this, e, !1).catch(function () {}) : this.debug.warn(\"Poster can only be set for video\");\n }\n }, {\n key: \"ratio\",\n get: function get() {\n if (!this.isVideo) return null;\n var e = xe(Me.call(this));\n return j(e) ? e.join(\":\") : e;\n },\n set: function set(e) {\n this.isVideo ? _(e) && Pe(e) ? (this.config.ratio = xe(e), Ne.call(this)) : this.debug.error(\"Invalid aspect ratio specified (\".concat(e, \")\")) : this.debug.warn(\"Aspect ratio can only be set for video\");\n }\n }, {\n key: \"autoplay\",\n get: function get() {\n return Boolean(this.config.autoplay);\n },\n set: function set(e) {\n var t = O(e) ? e : this.config.autoplay;\n this.config.autoplay = t;\n }\n }, {\n key: \"toggleCaptions\",\n value: function toggleCaptions(e) {\n Ye.toggle.call(this, e, !1);\n }\n }, {\n key: \"currentTrack\",\n get: function get() {\n var _this$captions2 = this.captions,\n e = _this$captions2.toggled,\n t = _this$captions2.currentTrack;\n return e ? t : -1;\n },\n set: function set(e) {\n Ye.set.call(this, e, !1);\n }\n }, {\n key: \"language\",\n get: function get() {\n return (Ye.getCurrentTrack.call(this) || {}).language;\n },\n set: function set(e) {\n Ye.setLanguage.call(this, e, !1);\n }\n }, {\n key: \"pip\",\n get: function get() {\n return me.pip ? W(this.media.webkitPresentationMode) ? this.media === document.pictureInPictureElement : this.media.webkitPresentationMode === Xe : null;\n },\n set: function set(e) {\n if (!me.pip) return;\n var t = O(e) ? e : !this.pip;\n q(this.media.webkitSetPresentationMode) && this.media.webkitSetPresentationMode(t ? Xe : Je), q(this.media.requestPictureInPicture) && (!this.pip && t ? this.media.requestPictureInPicture() : this.pip && !t && document.exitPictureInPicture());\n }\n }], [{\n key: \"supported\",\n value: function supported(e, t, i) {\n return me.check(e, t, i);\n }\n }, {\n key: \"loadSprite\",\n value: function loadSprite(e, t) {\n return Ve(e, t);\n }\n }, {\n key: \"setup\",\n value: function setup(e) {\n var t = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var i = null;\n return _(e) ? i = Array.from(document.querySelectorAll(e)) : D(e) ? i = Array.from(e) : j(e) && (i = e.filter(H)), W(i) ? null : i.map(function (e) {\n return new wt(e, t);\n });\n }\n }]);\n\n return wt;\n }();\n\n var Tt;\n return wt.defaults = (Tt = Qe, JSON.parse(JSON.stringify(Tt))), wt;\n});","/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n exports.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return PromiseImpl.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return PromiseImpl.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n exports.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n // Note: [\"return\"] must be used for ES3 parsing compatibility.\n if (delegate.iterator[\"return\"]) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n define(Gp, toStringTagSymbol, \"Generator\");\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n exports.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n exports.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n\n // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","// Load all the channels within this directory and all subdirectories.\n// Channel files must be named *_channel.js.\n\nconst channels = require.context('.', true, /_channel\\.js$/)\nchannels.keys().forEach(channels)\n","var map = {\n\t\"./test_channel.js\": 33\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 32;","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/**\n * lodash (Custom Build)
\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors
\n * Released under MIT license
\n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n/** Used as references for various `Number` constants. */\n\nvar NAN = 0 / 0;\n/** `Object#toString` result references. */\n\nvar symbolTag = '[object Symbol]';\n/** Used to match leading and trailing whitespace. */\n\nvar reTrim = /^\\s+|\\s+$/g;\n/** Used to detect bad signed hexadecimal string values. */\n\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n/** Used to detect binary string values. */\n\nvar reIsBinary = /^0b[01]+$/i;\n/** Used to detect octal string values. */\n\nvar reIsOctal = /^0o[0-7]+$/i;\n/** Built-in method references without a dependency on `root`. */\n\nvar freeParseInt = parseInt;\n/** Detect free variable `global` from Node.js. */\n\nvar freeGlobal = (typeof global === \"undefined\" ? \"undefined\" : _typeof(global)) == 'object' && global && global.Object === Object && global;\n/** Detect free variable `self`. */\n\nvar freeSelf = (typeof self === \"undefined\" ? \"undefined\" : _typeof(self)) == 'object' && self && self.Object === Object && self;\n/** Used as a reference to the global object. */\n\nvar root = freeGlobal || freeSelf || Function('return this')();\n/** Used for built-in method references. */\n\nvar objectProto = Object.prototype;\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n\nvar objectToString = objectProto.toString;\n/* Built-in method references for those with the same name as other `lodash` methods. */\n\nvar nativeMax = Math.max,\n nativeMin = Math.min;\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\n\nvar now = function now() {\n return root.Date.now();\n};\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\n\n\nfunction debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n\n wait = toNumber(wait) || 0;\n\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time; // Start the timer for the trailing edge.\n\n timerId = setTimeout(timerExpired, wait); // Invoke the leading edge.\n\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n result = wait - timeSinceLastCall;\n return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime; // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n\n return lastCallTime === undefined || timeSinceLastCall >= wait || timeSinceLastCall < 0 || maxing && timeSinceLastInvoke >= maxWait;\n }\n\n function timerExpired() {\n var time = now();\n\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n } // Restart the timer.\n\n\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined; // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n\n if (maxing) {\n // Handle invocations in a tight loop.\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n\n return result;\n }\n\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n}\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\n\n\nfunction isObject(value) {\n var type = _typeof(value);\n\n return !!value && (type == 'object' || type == 'function');\n}\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\n\n\nfunction isObjectLike(value) {\n return !!value && _typeof(value) == 'object';\n}\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\n\n\nfunction isSymbol(value) {\n return _typeof(value) == 'symbol' || isObjectLike(value) && objectToString.call(value) == symbolTag;\n}\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\n\n\nfunction toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n\n if (isSymbol(value)) {\n return NAN;\n }\n\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? other + '' : other;\n }\n\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n\n value = value.replace(reTrim, '');\n var isBinary = reIsBinary.test(value);\n return isBinary || reIsOctal.test(value) ? freeParseInt(value.slice(2), isBinary ? 2 : 8) : reIsBadHex.test(value) ? NAN : +value;\n}\n\nmodule.exports = debounce;","import { Controller } from \"stimulus\"\n\nexport default class extends Controller {\n\n static targets = [\"ordersList\"];\n\n connect() {\n\n }\n\n copyOrders(e) {\n var list = Array.from(this.ordersListTarget.querySelectorAll(\".order\")).map(order => {\n console.log(order);\n\n var id = order.querySelector(\".order-id\");\n var date = order.querySelector(\".order-date\");\n var username = order.querySelector(\".order-username\");\n var content = order.querySelector(\".order-choices\");\n\n return `Ordine ${id.innerHTML} - ${date.innerHTML} ${username.innerHTML}: ${content.innerHTML}`\n // console.log(username.innerText)\n // console.log(content.innerText)\n });\n\n \n\n this.copyRichText(list.join(\" \"));\n }\n\n\n copyRichText(text) {\n const listener = function(ev) {\n ev.preventDefault();\n ev.clipboardData.setData('text/plain', text);\n ev.clipboardData.setData('text/html', text);\n };\n document.addEventListener('copy', listener);\n document.execCommand('copy');\n document.removeEventListener('copy', listener);\n }\n\n}","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n\n static targets = [\"event\", \"filterBtn\"]\n\n connect() {\n if (this.hasEventTarget) {\n setTimeout(() => {\n this.eventTarget.classList.remove(\"animate-pulse\")\n }, 2000);\n }\n }\n \n deselectAllFilterCheckboxes(e) {\n e.preventDefault();\n document.querySelectorAll(\"input[type='checkbox'][name='categories[]']\").forEach((el) => el.checked = false);\n this.filterBtnTarget.click();\n }\n \n}","import { Controller } from \"stimulus\"\n\nexport default class extends Controller {\n\n static targets = [\"input\", \"counter\"];\n\n connect() {\n this.updateCounter();\n }\n\n updateCounter() {\n var maxCharacters = parseInt(this.element.dataset.maxCharacters);\n var textLength = this.inputTarget.value.length;\n this.counterTarget.innerText = textLength;\n if (textLength > maxCharacters) {\n this.counterTarget.classList.add(\"text-red-600\")\n } else {\n this.counterTarget.classList.remove(\"text-red-600\")\n }\n }\n\n\n}","import Controller from '../comment_controller'\nexport default Controller","import Controller from '../dropdown_controller'\nexport default Controller","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n\n connect() {\n\n }\n\n}","import Controller from '../inline_edit_controller'\nexport default Controller","import { Controller } from \"stimulus\";\nimport { useClickOutside } from \"stimulus-use\"\n\nexport default class extends Controller {\n\n static targets = [\"modal\"]\n\n connect() {\n useClickOutside(this)\n }\n \n clickOutside(event) {\n event.preventDefault()\n this.modalTarget.parentElement.remove()\n document.querySelector(`turbo-frame#user_${this.modalTarget.dataset.userId}_ip_check_list`).setAttribute(\"src\", \"\")\n }\n\n}","import Controller from '../modal_controller'\nexport default Controller","import { Controller } from 'stimulus'\nimport Noty from 'noty'\nimport 'noty/src/noty.scss'\nimport 'noty/src/themes/mint.scss'\n\nexport default class extends Controller {\n static targets = [ 'type', 'message' ]\n\n connect () {\n new Noty({\n text: this.messageTarget.value,\n type: this.getNotificationType(),\n theme: 'mint',\n progressBar: true,\n timeout: 1500,\n }).show()\n }\n\n getNotificationType () {\n switch (this.typeTarget.value) {\n case 'notice':\n return 'info'\n case 'success':\n return 'success'\n case 'error':\n return 'error'\n case 'alert':\n return 'warning'\n default:\n return 'info'\n }\n }\n}","import { Controller } from 'stimulus'\nimport Rails from 'rails-ujs'\n\nexport default class extends Controller {\n static targets = [\"showGroupSearchButton\", \n \"showUserSearchButton\", \n \"showMembersListButton\",\n \"searchUserTextarea\", \n \"searchGroupTextarea\", \n \"searchResults\",\n \"resultsList\",\n \"saveModalButton\",\n \"membersListTurboFrameTag\",\n \"modalFooter\",\n \"savePermissionGroupUsersButton\",\n \"togglePermissionGroupEditFormButton\",\n \"permissionGroupEditForm\",\n \"submitFormButton\"]\n\n\n resetSearchResults() {\n document.querySelectorAll(\".search-results-area\").forEach(el => el.innerHTML = \"\")\n } \n\n submitForm() {\n this.submitFormButtonTarget.value = \"Caricamento...\"\n // this.submitFormButtonTarget.setAttribute(\"disabled\", true)\n this.submitFormButtonTarget.style.width = \"160px\"\n this.searchResultsTarget.innerHTML = \"\"\n }\n\n togglePermissionGroupEditForm() {\n if (this.permissionGroupEditFormTarget.classList.contains(\"is-hidden\")) {\n this.permissionGroupEditFormTarget.classList.remove(\"is-hidden\")\n this.permissionGroupEditFormTarget.removeAttribute(\"src\", '')\n } else {\n this.permissionGroupEditFormTarget.classList.add(\"is-hidden\")\n }\n }\n\n changeModalScreen(event) {\n \n document.querySelectorAll(`.permissions-modal-change-screen-button:not([data-screen=\"${event.target.dataset.screen}\"])`).forEach(el => el.classList.remove(\"active-button\"))\n // document.querySelectorAll(\".permissions-modal-content .article-textarea-container\").forEach(el => el.classList.add(\"is-hidden\"))\n document.querySelector(`.permissions-modal-change-screen-button[data-screen=\"${event.target.dataset.screen}\"]`).classList.add(\"active-button\")\n document.querySelector(\".permissions-modal-content turbo-frame#permissions-modal-members-list\").classList.add(\"is-hidden\")\n this.searchResultsTarget.innerHTML = \"\"\n \n switch (event.target) {\n \n case this.showGroupSearchButtonTarget:\n this.searchGroupTextareaTarget.classList.remove(\"is-hidden\")\n this.searchUserTextareaTarget.classList.add(\"is-hidden\")\n document.querySelector(\"#permissions-modal-members-list\").setAttribute('src', \"\")\n this.modalFooterTarget.classList.remove(\"is-hidden\")\n break;\n\n case this.showUserSearchButtonTarget:\n this.searchUserTextareaTarget.classList.remove(\"is-hidden\")\n this.searchGroupTextareaTarget.classList.add(\"is-hidden\")\n document.querySelector(\"#permissions-modal-members-list\").setAttribute('src', \"\")\n this.modalFooterTarget.classList.remove(\"is-hidden\")\n break;\n \n case this.showMembersListButtonTarget:\n this.searchUserTextareaTarget.classList.add(\"is-hidden\")\n this.searchGroupTextareaTarget.classList.add(\"is-hidden\")\n document.querySelector(\".permissions-modal-content turbo-frame#permissions-modal-members-list\").classList.remove(\"is-hidden\")\n this.modalFooterTarget.classList.add(\"is-hidden\")\n break;\n\n default:\n break;\n }\n }\n\n showMembersList() {\n document.querySelectorAll(\".permissions-modal-change-screen-button:not([data-screen='list'])\").forEach(el => el.classList.remove(\"active-button\"))\n document.querySelector(\".permissions-modal-change-screen-button[data-screen='list']\").classList.add(\"active-button\")\n document.querySelectorAll(\".permissions-modal-content textarea\").forEach(el => el.classList.add(\"is-hidden\"))\n this.searchResultsTarget.innerHTML = \"\"\n }\n\n showUserSearch() {\n document.querySelectorAll(\".permissions-modal-change-screen-button:not([data-screen='users'])\").forEach(el => el.classList.remove(\"active-button\"))\n document.querySelector(\".permissions-modal-change-screen-button[data-screen='users']\").classList.add(\"active-button\")\n document.querySelectorAll(\".permissions-modal-content textarea\").forEach(el => el.classList.add(\"is-hidden\"))\n document.querySelector(\".permissions-modal-content .search-users-textarea\").classList.remove(\"is-hidden\")\n this.searchResultsTarget.innerHTML = \"\"\n }\n\n showGroupSearch() {\n document.querySelectorAll(\".permissions-modal-change-screen-button:not([data-screen='groups'])\").forEach(el => el.classList.remove(\"active-button\"))\n document.querySelector(\".permissions-modal-change-screen-button[data-screen='groups']\").classList.add(\"active-button\")\n document.querySelectorAll(\".permissions-modal-content textarea\").forEach(el => el.classList.add(\"is-hidden\"))\n document.querySelector(\".permissions-modal-content .search-groups-textarea\").classList.remove(\"is-hidden\")\n this.searchResultsTarget.innerHTML = \"\"\n }\n\n save() {\n var isUserSearch = !this.searchUserTextareaTarget.classList.contains(\"is-hidden\")\n var isGroupSearch = !this.searchGroupTextareaTarget.classList.contains(\"is-hidden\")\n\n var newGroupPermissions = this.searchGroupTextareaTarget.value\n var newUserPermissions = this.searchUserTextareaTarget.value\n\n this.saveModalButtonTarget.innerHTML = \"Attendi...\"\n \n\n // var permssionGroupsNewUsersList = Array.from(document.querySelectorAll(\"#permissions-modal-members-list textarea\")).map(el => ({permission_group_name: el.dataset.permissionGroupName, new_users_list_raw: el.value}));\n\n\n fetch(\"/admin/save-permissions\", {\n method: 'post',\n credentials: 'same-origin',\n headers: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': 'application/json',\n 'X-CSRF-Token': Rails.csrfToken(),\n },\n body: JSON.stringify(\n {\n articleID: this.saveModalButtonTarget.dataset.articleId,\n newGroupPermissions: newGroupPermissions, \n newUserPermissions: newUserPermissions,\n }\n )\n }).then(response => {\n if (response.ok) {\n document.getElementById(\"modal-window\").remove();\n document.getElementById(\"permissions-modal\").removeAttribute(\"src\");\n }\n })\n }\n\n savePermissionGroupUsers() {\n var newUserPermissions = this.searchUserTextareaTarget.value\n this.searchResultsTarget.innerHTML = \"\"\n\n\n fetch(\"/admin/save-permission-groups-users\", {\n method: 'post',\n credentials: 'same-origin',\n headers: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': 'application/json',\n 'X-CSRF-Token': Rails.csrfToken(),\n },\n body: JSON.stringify(\n {\n permissionGroupName: this.searchUserTextareaTarget.dataset.permissionGroupName,\n newUserPermissions: newUserPermissions, \n }\n )\n }).then(response => {\n if (response.ok) {\n this.savePermissionGroupUsersButtonTarget.classList.add(\"button-success\");\n this.savePermissionGroupUsersButtonTarget.innerHTML = \"Fatto!\";\n var that = this;\n setTimeout(function(){ \n that.savePermissionGroupUsersButtonTarget.classList.remove(\"button-success\");\n that.savePermissionGroupUsersButtonTarget.innerHTML = ' Salva';\n }, 3000);\n }\n })\n\n\n }\n\n\n search() {\n var isUserSearch = !this.hasSearchUserTextareaTarget ? false : !this.searchUserTextareaTarget.classList.contains(\"is-hidden\")\n var isGroupSearch = !this.hasSearchGroupTextareaTarget ? false : !this.searchGroupTextareaTarget.classList.contains(\"is-hidden\")\n var permissionGroupName = null;\n if (isUserSearch) {\n if (!!this.searchUserTextareaTarget.dataset.permissionGroupName) {\n permissionGroupName = this.searchUserTextareaTarget.dataset.permissionGroupName;\n }\n }\n\n\n var queryRaw = isUserSearch ? this.searchUserTextareaTarget.value : this.searchGroupTextareaTarget.value\n if (queryRaw.length == 0) this.searchResultsTarget.innerHTML = \"\"\n \n if (!queryRaw) return;\n var currentItems = queryRaw.split(\";\").map(item => item.trim())\n var query = currentItems.pop().trim()\n \n if (query && query.length > 2) {\n fetch(`/admin/permissions/search?query=${query}¤tItems=${JSON.stringify(currentItems)}&searchType=${isUserSearch ? \"users\" : \"groups\"}${permissionGroupName != null ? `&permissionGroupName=${permissionGroupName}` : ''}`)\n .then(response => {\n return response.text()\n })\n .then(html => {\n this.searchResultsTarget.innerHTML = html\n })\n } else {\n this.searchResultsTarget.innerHTML = \"\"\n }\n }\n\n autocompleteItemInTextarea(event, keyboardSelectedItem=null) {\n var isUserSearch = this.hasSearchUserTextareaTarget && !this.searchUserTextareaTarget.classList.contains(\"is-hidden\")\n var isGroupSearch = this.hasSearchGroupTextareaTarget && !this.searchGroupTextareaTarget.classList.contains(\"is-hidden\")\n var searchTextareaTarget = isUserSearch ? this.searchUserTextareaTarget : this.searchGroupTextareaTarget\n\n\n var currentItems = searchTextareaTarget.value.split(\";\").map(item => item.trim())\n currentItems.pop()\n var selectedItem = keyboardSelectedItem == null ? event.target.dataset.itemname : keyboardSelectedItem\n currentItems.push(selectedItem)\n \n var currentItemsUnique = Array.from(new Set(currentItems.map(JSON.stringify)), JSON.parse)\n \n // if (searchTextareaTarget.value.trim().slice(-1) != \";\") {\n \n // }\n\n searchTextareaTarget.value = currentItemsUnique.join(\"; \").trim() + \"; \"\n \n this.searchResultsTarget.querySelector(`.results-list--result[data-itemname=\"${selectedItem}\"]`).classList.add(\"selected-item\")\n // this.searchResultsTarget.innerHTML = \"\"\n\n // searchTextareaTarget.focus()\n }\n\n selectResultWithKeyboard(event) {\n if (this.searchResultsTarget.innerHTML === \"\") return;\n\n var isKeyUp = event.keyCode == 38;\n var isKeyDown = event.keyCode == 40;\n var isKeyEnter = event.keyCode == 13;\n\n if (isKeyUp || isKeyDown) {\n event.preventDefault()\n\n var lastItemIndex = this.resultsListTarget.querySelectorAll('.results-list--result').length-1\n\n if (this.resultsListTarget.querySelectorAll('.results-list--result[data-arrows-selected=\"true\"]').length == 0) { // not selected\n \n if (isKeyDown) {\n this.resultsListTarget.querySelector('.results-list--result[data-arrows-selected=\"false\"][data-item-index=\"0\"]').dataset.arrowsSelected = true\n } else if (isKeyUp) {\n this.resultsListTarget.querySelector('.results-list--result[data-arrows-selected=\"false\"][data-item-index=\"' + lastItemIndex + '\"]').dataset.arrowsSelected = true\n }\n \n } else {\n var currentItemSelected = this.resultsListTarget.querySelector('.results-list--result[data-arrows-selected=\"true\"]')\n var currentItemSelectedIndex = parseInt(currentItemSelected.dataset.itemIndex)\n var nextItemIndex;\n\n if (isKeyDown) {\n nextItemIndex = currentItemSelectedIndex == lastItemIndex ? 0 : (currentItemSelectedIndex+1)\n } else if (isKeyUp) {\n nextItemIndex = currentItemSelectedIndex == 0 ? lastItemIndex : (currentItemSelectedIndex-1)\n }\n\n\n currentItemSelected.dataset.arrowsSelected = false\n this.resultsListTarget.querySelector('.results-list--result[data-arrows-selected=\"false\"][data-item-index=\"' + nextItemIndex + '\"]').dataset.arrowsSelected = true\n }\n }\n\n if (isKeyEnter) {\n var currentItemSelected = this.resultsListTarget.querySelector('.results-list--result[data-arrows-selected=\"true\"]')\n this.autocompleteItemInTextarea(event, currentItemSelected.dataset.itemname)\n event.preventDefault()\n }\n }\n\n}","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n\n static targets = [\"closeBtn\"];\n\n\n connect() {\n \n document.addEventListener('click', (e) => { \n if (this.element.contains(e.target)){\n } else{\n this.element.closest(\"turbo-frame\").src = \"\"\n this.close()\n }\n });\n\n }\n\n\n close() {\n this.element.classList.add(\"hidden\");\n }\n\n\n}","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n\n static targets = [\"input\", \"submit\"]\n\n reset() {\n if (this.inputTarget.value.length == 0) {\n this.submitTarget.click()\n }\n }\n \n \n}","import { Controller } from 'stimulus'\nimport Sortable from 'sortablejs'\nimport Rails, { start } from '@rails/ujs'\n\n\nexport default class extends Controller {\n static targets = [\"list\"]\n\n\n connect() {\n\n var prevItems = Number(document.querySelector(\".review-item\").dataset.position);\n var startingIndexOffset = prevItems-1;\n \n \n\n\n\n\n \n console.log(\"conn\")\n this.sortable = Sortable.create(this.element, {\n group: \"reviews\",\n animation: 300,\n ghostClass: \"bg-purple-100\",\n \n \n \n onMove: function(evt) {\n console.log(\"move\")\n },\n onEnd: function(evt) {\n let itemEl = evt.item;\n let itemNewIndex = evt.newIndex;\n if (!itemEl.dataset.sortableUpdateUrl || !window._rails_loaded) return\n\n\n var position = itemNewIndex+1;\n \n var pageParam = new URLSearchParams(document.location.search).get(\"page\");\n if (!!pageParam) {\n console.log(\"new offset\", startingIndexOffset);\n position = position+startingIndexOffset;\n console.log(\"new position\", position);\n }\n\n \n\n var params = {\n review: {\n position: position,\n },\n }\n\n fetch(itemEl.dataset.sortableUpdateUrl, {\n method: 'PATCH',\n credentials: 'same-origin',\n headers: {\n 'Accept': 'application/json, text/plain, */*',\n 'Content-Type': 'application/json',\n 'X-CSRF-Token': Rails.csrfToken(),\n },\n body: JSON.stringify(params)\n }).then(response => {\n if (response.ok) {\n console.log(\"position: updated\")\n }\n })\n\n\n }\n\n })\n }\n\n\n closeGallery(e) {\n console.log(\"a\");\n document.getElementById(\"photoGallery\").classList.add(\"hidden\");\n }\n\n\n zoomPhoto(e) {\n \n var imageUrl = e.target.src;\n var gallery = document.getElementById(\"photoGallery\");\n var galleryImage = document.getElementById(\"photoGalleryImage\");\n gallery.classList.remove(\"hidden\");\n console.log(galleryImage.style.backgroundImage);\n galleryImage.style.backgroundImage = `url(\"${imageUrl}\")`;\n }\n\n\n\n\n // disconnect () {\n // this.sortable.destroy()\n // this.sortable = undefined\n // }\n\n}","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n \n static targets = [\"chevron\", \"data\", \"articlesVisits\", \"pagesVisits\"]\n\n toggle() {\n this.element.classList.toggle('-translate-x-96')\n // if (this.hasDataTarget) this.dataTarget.classList.toggle('hidden')\n // this.chevronTarget.classList.toggle('-rotate-180')\n // if (this.element.classList.contains('h-2/6')) this.element.classList.toggle('h-2/6')\n // if (this.element.classList.contains('h-1/6')) this.element.classList.toggle('h-1/6')\n // this.element.classList.toggle('h-5')\n }\n\n switchList() {\n this.articlesVisitsTarget.classList.toggle('hidden')\n this.pagesVisitsTarget.classList.toggle('hidden')\n }\n\n\n}","import { Controller } from \"stimulus\";\nimport Sortable from \"sortablejs\";\n\nexport default class extends Controller {\n\n static targets = [\"toCloneQuestion\", \"toClone\", \"choicesFields\", \"questionArea\", \"editFormContainer\", \"resultsList\", \"questionsDataField\"];\n\n connect() {\n \n console.log(\"connect\");\n\n if (!!document.querySelector(\"#questions_list\")) {\n window.sortable = Sortable.create(document.querySelector(\"#questions_list\"), {\n group: \"surveylist\",\n sort: true,\n draggable: \".question-item\",\n handle: \".question-item-draggable\",\n onChoose: evt => { },\n onMove: evt => { },\n onEnd: evt => {\n\n this.updateQuestionPositions();\n\n }\n })\n }\n\n\n if (!!document.querySelector(\"#choicesFields\")) {\n window.sortable = Sortable.create(document.querySelector(\"#choicesFields\"), {\n group: \"name\",\n sort: true,\n draggable: \".parent-field\",\n handle: \".parent-field-draggable\",\n onChoose: evt => { },\n onMove: evt => { },\n onEnd: evt => { }\n })\n }\n\n \n }\n\n\n updateQuestionPositions() {\n var positions = [...document.querySelectorAll(\".question-item\")].map((el, i) => {\n let id = el.dataset.questionId;\n return {id: id, position: i+1};\n });\n\n document.querySelector(\"#questions_positions\").value = JSON.stringify(positions);\n console.log(\"positions updated.\")\n }\n\n\n\n addChoiceField(e) {\n e.preventDefault();\n let newField = this.toCloneTarget.cloneNode(true);\n newField.removeAttribute(\"data-survey-target\");\n newField.classList.remove(\"hidden\");\n this.choicesFieldsTarget.appendChild(newField);\n }\n\n deleteChoiceField(e) {\n e.preventDefault();\n e.target.closest(\".parent-field\").remove();\n }\n\n deleteQuestion(e) {\n e.preventDefault();\n if (confirm(\"Rimuovere dalla lista? Clicca su Salva per confermare\")) {\n e.target.closest(\".question-item\").remove();\n this.updateQuestionPositions();\n }\n }\n\n showEditForm(e) {\n e.preventDefault();\n this.editFormContainerTarget.classList.toggle(\"hidden\");\n this.resultsListTarget.classList.toggle(\"hidden\");\n }\n\n copyCode(e) {\n e.preventDefault();\n let text = e.target.textContent;\n this.copyRichText(text);\n }\n\n \n copyRichText(text) {\n const listener = function(ev) {\n ev.preventDefault();\n ev.clipboardData.setData('text/plain', text);\n ev.clipboardData.setData('text/html', text);\n };\n document.addEventListener('copy', listener);\n document.execCommand('copy');\n document.removeEventListener('copy', listener);\n }\n\n\n\n}","import { DirectUpload } from \"@rails/activestorage\"\nimport { Controller } from \"stimulus\"\n\nexport default class extends Controller {\n static targets = [\"input\"]\n\n connect() {\n this.setupDirectUploads()\n }\n\n setupDirectUploads() {\n const input = this.inputTarget\n\n const onDrop = (event) => {\n event.preventDefault()\n const files = event.dataTransfer.files;\n Array.from(files).forEach(file => uploadFile(file))\n }\n\n input.addEventListener('change', (event) => {\n Array.from(input.files).forEach(file => uploadFile(file))\n console.log(\"changed input\")\n input.value = null\n })\n\n const uploadFile = (file) => {\n \n const url = input.dataset.directUploadUrl\n const blobUrl = input.dataset.blobUrl\n const upload = new DirectUpload(file, url)\n\n upload.create((error, blob) => {\n if (error) {\n console.log(error)\n } else {\n // Add an appropriately-named hidden input to the form with a\n // value of blob.signed_id so that the blob ids will be\n // transmitted in the normal upload flow\n const hiddenField = document.createElement('input')\n hiddenField.setAttribute(\"type\", \"hidden\");\n hiddenField.setAttribute(\"value\", blob.signed_id);\n hiddenField.name = input.name\n this.element.appendChild(hiddenField)\n\n const imageBlobUrl = this.createBlobUrl(blobUrl, blob.signed_id, blob.filename)\n const imagePreview = document.createElement(\"img\")\n imagePreview.src = imageBlobUrl\n imagePreview.width = 50\n imagePreview.height = 50\n\n this.element.appendChild(imagePreview)\n }\n })\n }\n\n \n } // setup\n\n createBlobUrl(blobUrl, signedId, filename) {\n return blobUrl\n .replace(\":signed_id\", signedId)\n .replace(\":filename\", encodeURIComponent(filename))\n }\n\n}\n\n\n","import { Controller } from \"stimulus\";\n\nexport default class extends Controller {\n\n static targets = [\"updateInProgress\"]\n \n connect() {\n const queryString = window.location.search;\n const urlParams = new URLSearchParams(queryString);\n const addUserId = urlParams.get('add_user_id');\n if (!!addUserId) {\n var userCard = document.querySelector(`#user_${addUserId}_monitor_card`);\n userCard.classList.add(\"animate-pulse\");\n userCard.scrollIntoView({block: \"start\", behavior: \"smooth\"});\n \n setTimeout(() => {\n userCard.classList.remove(\"animate-pulse\");\n }, 3000);\n }\n }\n\n updateList() {\n this.updateInProgressTarget.classList.toggle(\"hidden\")\n }\n}","!function(t){const e=t.it=t.it||{};e.dictionary=Object.assign(e.dictionary||{},{\"%0 of %1\":\"%0 di %1\",\"Align cell text to the bottom\":\"Allinea il testo della cella in basso\",\"Align cell text to the center\":\"Allinea il testo della cella al centro\",\"Align cell text to the left\":\"Allinea il testo della cella a sinistra\",\"Align cell text to the middle\":\"Allinea il testo della cella in mezzo\",\"Align cell text to the right\":\"Allinea il testo della cella a destra\",\"Align cell text to the top\":\"Allinea il testo della cella in alto\",\"Align center\":\"Allinea al centro\",\"Align left\":\"Allinea a sinistra\",\"Align right\":\"Allinea a destra\",\"Align table to the left\":\"Allinea tabella a sinistra\",\"Align table to the right\":\"Allinea tabella a destra\",Alignment:\"Allineamento\",\"Almost equal to\":\"Quasi uguale a\",Angle:\"Angolo\",\"Approximately equal to\":\"Approssimativamente uguale a\",Aquamarine:\"Aquamarina\",\"Asterisk operator\":\"Operatore asterisco\",\"Austral sign\":\"Simbolo austral\",\"back with leftwards arrow above\":\"back con sopra freccia verso sinistra\",Background:\"Sfondo\",Big:\"Grandi\",\"Bitcoin sign\":\"Simbolo bitcoin\",Black:\"Nero\",\"Block quote\":\"Blocco citazione\",Blue:\"Blu\",\"Blue marker\":\"Contrassegno blu\",Bold:\"Grassetto\",Border:\"Bordo\",\"Break text\":\"\",\"Bulleted List\":\"Elenco puntato\",\"Bulleted list styles toolbar\":\"Barra degli strumenti con gli stili degli elenchi puntati\",Cancel:\"Annulla\",\"Cedi sign\":\"Simbolo cedi\",\"Cell properties\":\"Proprietà cella\",\"Cent sign\":\"Simbolo centesimo\",\"Center table\":\"Allinea tabella al centro\",\"Centered image\":\"Immagine centrata\",\"Change image text alternative\":\"Cambia testo alternativo dell'immagine\",\"Character categories\":\"Categorie di caratteri\",\"Characters: %0\":\"Caratteri: %0\",\"Choose heading\":\"Seleziona intestazione\",\"Choose language\":\"Seleziona lingua\",Circle:\"Cerchio\",\"Colon sign\":\"Simbolo colon\",Color:\"Colore\",\"Color picker\":\"Selezione colore\",Column:\"Colonna\",\"Contains as member\":\"Contiene\",\"Copyright sign\":\"Simbolo copyright\",\"Cruzeiro sign\":\"Simbolo cruzeiro\",\"Currency sign\":\"Simbolo valuta\",Dashed:\"Tratteggiato\",Decimal:\"Numero\",\"Decimal with leading zero\":\"Numero con zero anteposto\",\"Decrease indent\":\"Riduci rientro\",Default:\"Predefinito\",\"Degree sign\":\"Simbolo gradi\",\"Delete column\":\"Elimina colonna\",\"Delete row\":\"Elimina riga\",\"Dim grey\":\"Grigio tenue\",Dimensions:\"Dimensioni\",Disc:\"Disco\",\"Division sign\":\"Segno di divisione\",\"Document colors\":\"Colori del docmento\",\"Dollar sign\":\"Simbolo dollaro\",\"Dong sign\":\"Simbolo dong\",Dotted:\"Punteggiato\",Double:\"Doppio\",\"Double dagger\":\"Doppio obelisco\",\"Double exclamation mark\":\"Doppio punto esclamativo\",\"Double low-9 quotation mark\":\"Doppie virgolette basse\",\"Double question mark\":\"Doppio punto interrogativo\",Downloadable:\"Scaricabile\",\"downwards arrow to bar\":\"Freccia verso barra in basso\",\"downwards dashed arrow\":\"Freccia tratteggiata verso il basso\",\"downwards double arrow\":\"Freccia doppia verso il basso\",\"Drachma sign\":\"Simbolo dracma\",\"Dropdown toolbar\":\"Barra degli strumenti del menu a discesa\",\"Edit block\":\"Modifica blocco\",\"Edit link\":\"Modifica collegamento\",\"Edit source\":\"Modifica sorgente\",\"Editor toolbar\":\"Barra degli strumenti dell'editor\",\"Element of\":\"Elemento di\",\"Em dash\":\"Trattino lungo (em)\",\"Empty set\":\"Insieme vuoto\",\"Empty snippet content\":\"Contenuto frammento di codice vuoto\",\"En dash\":\"Trattino medio (en)\",\"end with leftwards arrow above\":\"end con sopra freccia verso sinistra\",\"Enter image caption\":\"inserire didascalia dell'immagine\",\"Enter table caption\":\"Inserire la didascalia della tabella\",\"Euro sign\":\"Simbolo euro\",\"Euro-currency sign\":\"Simbolo valuta euro\",\"Exclamation question mark\":\"Punti esclamativo e interrogativo\",\"Font Background Color\":\"Colore di sfondo caratteri\",\"Font Color\":\"Colore caratteri\",\"Font Family\":\"Tipo di caratteri\",\"Font Size\":\"Dimensione caratteri\",\"For all\":\"Per ogni\",\"Fraction slash\":\"Barra di frazione\",\"French franc sign\":\"Simbolo franco francese\",\"Full size image\":\"Immagine a dimensione intera\",\"German penny sign\":\"Simbolo pfennig tedesco\",\"Greater-than or equal to\":\"Maggiore o uguale a\",\"Greater-than sign\":\"Simbolo maggiore di\",Green:\"Verde\",\"Green marker\":\"Contrassegno verde\",\"Green pen\":\"Penna verde\",Grey:\"Grigio\",Groove:\"Scanalatura\",\"Guarani sign\":\"Simbolo guaraní\",\"Header column\":\"Intestazione colonna\",\"Header row\":\"Riga d'intestazione\",Heading:\"Intestazione\",\"Heading 1\":\"Intestazione 1\",\"Heading 2\":\"Intestazione 2\",\"Heading 3\":\"Intestazione 3\",\"Heading 4\":\"Intestazione 4\",\"Heading 5\":\"Intestazione 5\",\"Heading 6\":\"Intestazione 6\",Height:\"Altezza\",Highlight:\"Evidenzia\",\"Horizontal ellipsis\":\"Puntini di sospensione orizzontali\",\"Horizontal line\":\"Linea orizzontale\",\"Horizontal text alignment toolbar\":\"Barra degli strumenti dell'allineamento orizzontale del testo\",\"Hryvnia sign\":\"Simbolo grivnia\",\"HTML snippet\":\"Frammento HTML\",Huge:\"Grandissimi\",\"Identical to\":\"Identico a\",\"Image resize list\":\"Elenco ridimensionamenti immagine\",\"Image toolbar\":\"Barra degli strumenti dell'immagine\",\"image widget\":\"Widget immagine\",\"In line\":\"\",\"Increase indent\":\"Aumenta rientro\",\"Indian rupee sign\":\"Simbolo rupia indiana\",Infinity:\"Infinito\",Insert:\"Inserisci\",\"Insert column left\":\"Inserisci colonna a sinistra\",\"Insert column right\":\"Inserisci colonna a destra\",\"Insert HTML\":\"Inserisci HTML\",\"Insert image\":\"Inserisci immagine\",\"Insert image via URL\":\"Inserisci immagine tramite URL\",\"Insert media\":\"Inserisci media\",\"Insert paragraph after block\":\"Inserisci paragrafo dopo blocco\",\"Insert paragraph before block\":\"Inserisci paragrafo prima di blocco\",\"Insert row above\":\"Inserisci riga sopra\",\"Insert row below\":\"Inserisci riga sotto\",\"Insert table\":\"Inserisci tabella\",Inset:\"Incassato\",Integral:\"Integrale\",Intersection:\"Intersezione\",\"Inverted exclamation mark\":\"Punto esclamativo invertito\",\"Inverted question mark\":\"Punto interrogativo invertito\",Italic:\"Corsivo\",Justify:\"Giustifica\",\"Justify cell text\":\"Testo della cella giustificato\",\"Kip sign\":\"Simbolo kip\",Language:\"Lingua\",\"Latin capital letter a with breve\":\"Lettera A latina maiuscola con breve\",\"Latin capital letter a with macron\":\"Lettera A latina maiuscola con macron\",\"Latin capital letter a with ogonek\":\"Lettera A latina maiuscola con codetta\",\"Latin capital letter c with acute\":\"Lettera C latina maiuscola con accento acuto\",\"Latin capital letter c with caron\":\"Lettera C latina maiuscola con pipa\",\"Latin capital letter c with circumflex\":\"Lettera C latina maiuscola con accento circonflesso\",\"Latin capital letter c with dot above\":\"Lettera C latina maiuscola con punto sovrascritto\",\"Latin capital letter d with caron\":\"Lettera D latina maiuscola con pipa\",\"Latin capital letter d with stroke\":\"Lettera D latina maiuscola con barra\",\"Latin capital letter e with breve\":\"Lettera E latina maiuscola con accento breve\",\"Latin capital letter e with caron\":\"Lettera E latina maiuscola con pipa\",\"Latin capital letter e with dot above\":\"Lettera E latina maiuscola con punto sovrascritto\",\"Latin capital letter e with macron\":\"Lettera E latina maiuscola con macron\",\"Latin capital letter e with ogonek\":\"Lettera E latina maiuscola con codetta\",\"Latin capital letter eng\":\"Nasale velare maiuscola\",\"Latin capital letter g with breve\":\"Lettera G latina maiuscola con breve\",\"Latin capital letter g with cedilla\":\"Lettera G latina maiuscola con cediglia\",\"Latin capital letter g with circumflex\":\"Lettera G latina maiuscola con accento circonflesso\",\"Latin capital letter g with dot above\":\"Lettera G latina maiuscola con punto sovrascritto\",\"Latin capital letter h with circumflex\":\"Lettera H latina maiuscola con accento circonflesso\",\"Latin capital letter h with stroke\":\"Lettera H latina maiuscola con barra\",\"Latin capital letter i with breve\":\"Lettera I latina maiuscola con breve\",\"Latin capital letter i with dot above\":\"Lettera I latina maiuscola con punto sovrascritto\",\"Latin capital letter i with macron\":\"Lettera I latina maiuscola con macron\",\"Latin capital letter i with ogonek\":\"Lettera I latina maiuscola con codetta\",\"Latin capital letter i with tilde\":\"Lettera I latina maiuscola con tilde\",\"Latin capital letter j with circumflex\":\"Lettera J latina maiuscola con accento circonflesso\",\"Latin capital letter k with cedilla\":\"Lettera K latina maiuscola con cediglia\",\"Latin capital letter l with acute\":\"Lettera L latina maiuscola con accento acuto\",\"Latin capital letter l with caron\":\"Lettera L latina maiuscola con pipa\",\"Latin capital letter l with cedilla\":\"Lettera L latina maiuscola con cediglia\",\"Latin capital letter l with middle dot\":\"Lettera L latina maiuscola con punto in mezzo\",\"Latin capital letter l with stroke\":\"Lettera L latina maiuscola con barra\",\"Latin capital letter n with acute\":\"Lettera N latina maiuscola con accento acuto\",\"Latin capital letter n with caron\":\"Lettera N latina maiuscola con pipa\",\"Latin capital letter n with cedilla\":\"Lettera N latina maiuscola con cediglia\",\"Latin capital letter o with breve\":\"Lettera O latina maiuscola con breve\",\"Latin capital letter o with double acute\":\"Lettera O latina maiuscola con doppio accento acuto\",\"Latin capital letter o with macron\":\"Lettera O latina maiuscola con macron\",\"Latin capital letter r with acute\":\"Lettera R latina maiuscola con accento acuto\",\"Latin capital letter r with caron\":\"Lettera R latina maiuscola con pipa\",\"Latin capital letter r with cedilla\":\"Lettera R latina maiuscola con cediglia\",\"Latin capital letter s with acute\":\"Lettera S latina maiuscola con accento acuto\",\"Latin capital letter s with caron\":\"Lettera S latina maiuscola con pipa\",\"Latin capital letter s with cedilla\":\"Lettera S latina maiuscola con cediglia\",\"Latin capital letter s with circumflex\":\"Lettera S latina maiuscola con accento circonflesso\",\"Latin capital letter t with caron\":\"Lettera T latina maiuscola con pipa\",\"Latin capital letter t with cedilla\":\"Lettera T latina maiuscola con cediglia\",\"Latin capital letter t with stroke\":\"Lettera T latina maiuscola con barra\",\"Latin capital letter u with breve\":\"Lettera U latina maiuscola con breve\",\"Latin capital letter u with double acute\":\"Lettera U latina maiuscola con doppio accento acuto\",\"Latin capital letter u with macron\":\"Lettera U latina maiuscola con macron\",\"Latin capital letter u with ogonek\":\"Lettera U latina maiuscola con codetta\",\"Latin capital letter u with ring above\":\"Lettera U latina maiuscola con anello in alto\",\"Latin capital letter u with tilde\":\"Lettera U latina maiuscola con tilde\",\"Latin capital letter w with circumflex\":\"Lettera W latina maiuscola con accento circonflesso\",\"Latin capital letter y with circumflex\":\"Lettera Y latina maiuscola con accento circonflesso\",\"Latin capital letter y with diaeresis\":\"Lettera Y latina maiuscola con dieresi\",\"Latin capital letter z with acute\":\"Lettera Z latina maiuscola con accento acuto\",\"Latin capital letter z with caron\":\"Lettera Z latina maiuscola con pipa\",\"Latin capital letter z with dot above\":\"Lettera Z latina maiuscola con punto sovrascritto\",\"Latin capital ligature ij\":\"Legatura IJ latina maiuscola\",\"Latin capital ligature oe\":\"Legatura OE latina maiuscola\",\"Latin small letter a with breve\":\"Lettera A latina minuscola con breve\",\"Latin small letter a with macron\":\"Lettera A latina minuscola con macron\",\"Latin small letter a with ogonek\":\"Lettera A latina minuscola con codetta\",\"Latin small letter c with acute\":\"Lettera C latina minuscola con accento acuto\",\"Latin small letter c with caron\":\"Lettera C latina minuscola con pipa\",\"Latin small letter c with circumflex\":\"Lettera C latina minuscola con accento circonflesso\",\"Latin small letter c with dot above\":\"Lettera C latina minuscola con punto sovrascritto\",\"Latin small letter d with caron\":\"Lettera D latina minuscola con pipa\",\"Latin small letter d with stroke\":\"Lettera D latina minuscola con barra\",\"Latin small letter dotless i\":\"Lettera I latina minuscola senza punto\",\"Latin small letter e with breve\":\"Lettera E latina minuscola con accento breve\",\"Latin small letter e with caron\":\"Lettera E latina minuscola con pipa\",\"Latin small letter e with dot above\":\"Lettera E latina minuscola con punto sovrascritto\",\"Latin small letter e with macron\":\"Lettera E latina minuscola con macron\",\"Latin small letter e with ogonek\":\"Lettera E latina minuscola con codetta\",\"Latin small letter eng\":\"Nasale velare minuscola\",\"Latin small letter f with hook\":\"Lettera f latina minuscola con gancio\",\"Latin small letter g with breve\":\"Lettera G latina minuscola con breve\",\"Latin small letter g with cedilla\":\"Lettera G latina minuscola con cediglia\",\"Latin small letter g with circumflex\":\"Lettera G latina minuscola con accento circonflesso\",\"Latin small letter g with dot above\":\"Lettera G latina minuscola con punto sovrascritto\",\"Latin small letter h with circumflex\":\"Lettera H latina minuscola con accento circonflesso\",\"Latin small letter h with stroke\":\"Lettera H latina minuscola con barra\",\"Latin small letter i with breve\":\"Lettera I latina minuscola con breve\",\"Latin small letter i with macron\":\"Lettera I latina minuscola con macron\",\"Latin small letter i with ogonek\":\"Lettera I latina minuscola con codetta\",\"Latin small letter i with tilde\":\"Lettera I latina minuscola con tilde\",\"Latin small letter j with circumflex\":\"Lettera J latina minuscola con accento circonflesso\",\"Latin small letter k with cedilla\":\"Lettera K latina minuscola con cediglia\",\"Latin small letter kra\":\"Lettera Kra latina minuscola\",\"Latin small letter l with acute\":\"Lettera L latina minuscola con accento acuto\",\"Latin small letter l with caron\":\"Lettera L latina minuscola con pipa\",\"Latin small letter l with cedilla\":\"Lettera L latina minuscola con cediglia\",\"Latin small letter l with middle dot\":\"Lettera L latina minuscola con punto in mezzo\",\"Latin small letter l with stroke\":\"Lettera L latina minuscola con barra\",\"Latin small letter long s\":\"Lettera S latina lunga minuscola\",\"Latin small letter n preceded by apostrophe\":\"Lettera N latina minuscola preceduta da apostrofo\",\"Latin small letter n with acute\":\"Lettera N latina minuscola con accento acuto\",\"Latin small letter n with caron\":\"Lettera N latina minuscola con pipa\",\"Latin small letter n with cedilla\":\"Lettera N latina minuscola con cediglia\",\"Latin small letter o with breve\":\"Lettera O latina minuscola con breve\",\"Latin small letter o with double acute\":\"Lettera O latina minuscola con doppio accento acuto\",\"Latin small letter o with macron\":\"Lettera O latina minuscola con macron\",\"Latin small letter r with acute\":\"Lettera R latina minuscola con accento acuto\",\"Latin small letter r with caron\":\"Lettera R latina minuscola con pipa\",\"Latin small letter r with cedilla\":\"Lettera R latina minuscola con cediglia\",\"Latin small letter s with acute\":\"Lettera S latina minuscola con accento acuto\",\"Latin small letter s with caron\":\"Lettera S latina minuscola con pipa\",\"Latin small letter s with cedilla\":\"Lettera S latina minuscola con cediglia\",\"Latin small letter s with circumflex\":\"Lettera S latina minuscola con accento circonflesso\",\"Latin small letter t with caron\":\"Lettera T latina minuscola con pipa\",\"Latin small letter t with cedilla\":\"Lettera T latina minuscola con cediglia\",\"Latin small letter t with stroke\":\"Lettera T latina minuscola con barra\",\"Latin small letter u with breve\":\"Lettera U latina minuscola con breve\",\"Latin small letter u with double acute\":\"Lettera U latina minuscola con doppio accento acuto\",\"Latin small letter u with macron\":\"Lettera U latina minuscola con macron\",\"Latin small letter u with ogonek\":\"Lettera U latina minuscola con codetta\",\"Latin small letter u with ring above\":\"Lettera U latina minuscola con cerchio in alto\",\"Latin small letter u with tilde\":\"Lettera U latina minuscola con tilde\",\"Latin small letter w with circumflex\":\"Lettera W latina minuscola con accento circonflesso\",\"Latin small letter y with circumflex\":\"Lettera Y latina minuscola con accento circonflesso\",\"Latin small letter z with acute\":\"Lettera Z latina minuscola con accento acuto\",\"Latin small letter z with caron\":\"Lettera Z latina minuscola con pipa\",\"Latin small letter z with dot above\":\"Lettera Z latina minuscola con punto sovrascritto\",\"Latin small ligature ij\":\"Legatura IJ latina minuscola\",\"Latin small ligature oe\":\"Legatura OE latina minuscola\",\"Left aligned image\":\"Immagine allineata a sinistra\",\"Left double quotation mark\":\"Doppie virgolette a sinistra\",\"Left single quotation mark\":\"Virgoletta a sinistra\",\"Left-pointing double angle quotation mark\":\"Virgolette doppie angolari a sinistra\",\"leftwards arrow to bar\":\"Freccia verso barra a sinistra\",\"leftwards dashed arrow\":\"Freccia tratteggiata verso sinistra\",\"leftwards double arrow\":\"Freccia doppia verso sinistra\",\"Less-than or equal to\":\"Minore o uguale a\",\"Less-than sign\":\"Simbolo minore di\",\"Light blue\":\"Azzurro\",\"Light green\":\"Verde chiaro\",\"Light grey\":\"Grigio chiaro\",Link:\"Collegamento\",\"Link image\":\"Collega immagine\",\"Link URL\":\"URL del collegamento\",\"Lira sign\":\"Simbolo lira\",\"Livre tournois sign\":\"Simbolo livre tournois\",\"Logical and\":\"E logico\",\"Logical or\":\"O logico\",\"Lower-latin\":\"Lettera minuscola\",\"Lower–roman\":\"Numero romano minuscolo\",Macron:\"Macron\",\"Manat sign\":\"Simbolo manat\",\"Media toolbar\":\"Barra degli strumenti degli elementi multimediali\",\"Media URL\":\"URL media\",\"media widget\":\"widget media\",\"Merge cell down\":\"Unisci cella sotto\",\"Merge cell left\":\"Unisci cella a sinistra\",\"Merge cell right\":\"Unisci cella a destra\",\"Merge cell up\":\"Unisci cella sopra\",\"Merge cells\":\"Unisci celle\",\"Mill sign\":\"Simbolo millesimo\",\"Minus sign\":\"Segno di sottrazione\",\"Multiplication sign\":\"Segno di moltiplicazione\",\"N-ary product\":\"Prodotto ennesimo\",\"N-ary summation\":\"Sommatoria\",Nabla:\"Nabla\",\"Naira sign\":\"Simbolo naira\",\"New sheqel sign\":\"Simbolo nuovo shekel\",Next:\"Avanti\",\"No preview available\":\"Nessuna anteprima disponibile\",None:\"Nessuno\",\"Nordic mark sign\":\"Simbolo marco nordico\",\"Not an element of\":\"Non parte di\",\"Not equal to\":\"Non uguale a\",\"Not sign\":\"Simbolo Not\",\"Numbered List\":\"Elenco numerato\",\"Numbered list styles toolbar\":\"Barra degli strumenti con gli stili degli elenchi numerati\",\"on with exclamation mark with left right arrow above\":\"on! con sopra freccia verso sinistra\",\"Open in a new tab\":\"Apri in una nuova scheda\",\"Open link in new tab\":\"Apri collegamento in nuova scheda\",Orange:\"Arancio\",Original:\"Originale\",Outset:\"Rialzato\",Overline:\"Linea alta\",Padding:\"Spaziatura interna\",Paragraph:\"Paragrafo\",\"Paragraph sign\":\"Simbolo paragrafo\",\"Partial differential\":\"Derivata parziale\",\"Paste raw HTML here...\":\"Incolla qui HTML non elaborato...\",\"Paste the media URL in the input.\":\"Incolla l'URL del file multimediale nell'input.\",\"Per mille sign\":\"Simbolo per mille\",\"Per ten thousand sign\":\"Simbolo per diecimila\",\"Peseta sign\":\"Simbolo peseta\",\"Peso sign\":\"Simbolo peso\",\"Pink marker\":\"Contrassegno rosa\",\"Plus-minus sign\":\"Segno più o meno\",\"Pound sign\":\"Simbolo sterlina\",Previous:\"Indietro\",\"Proportional to\":\"Proporzionale a\",Purple:\"Porpora\",\"Question exclamation mark\":\"Punti interrogativo ed esclamativo\",Red:\"Rosso\",\"Red pen\":\"Penna rossa\",Redo:\"Ripristina\",\"Registered sign\":\"Simbolo marchio registrato\",\"Remove color\":\"Rimuovi colore\",\"Remove Format\":\"Rimuovi formato\",\"Remove highlight\":\"Rimuovi evidenziazione\",\"Remove language\":\"Rimuovi lingua\",\"Resize image\":\"Ridimensiona immagine\",\"Resize image to %0\":\"Ridimensiona immagine a %0\",\"Resize image to the original size\":\"Ridimensiona immagine alle dimensioni originali\",\"Restore default\":\"Ripristina predefinito\",\"Reversed paragraph sign\":\"Simbolo paragrafo invertito\",\"Rich Text Editor\":\"Editor di testo formattato\",\"Rich Text Editor, %0\":\"Editor di testo formattato, %0\",Ridge:\"Rilievo\",\"Right aligned image\":\"Immagine allineata a destra\",\"Right double quotation mark\":\"Doppie virgolette a destra\",\"Right single quotation mark\":\"Virgoletta a destra\",\"Right-pointing double angle quotation mark\":\"Virgolette doppie angolari a destra\",\"rightwards arrow to bar\":\"Freccia verso barra a destra\",\"rightwards dashed arrow\":\"Freccia tratteggiata verso destra\",\"rightwards double arrow\":\"Freccia doppia verso destra\",Row:\"Riga\",\"Ruble sign\":\"Simbolo rublo\",\"Rupee sign\":\"Simbolo rupia\",Save:\"Salva\",\"Save changes\":\"Salva modifiche\",\"Saving changes\":\"Salvataggio modifiche\",\"Section sign\":\"Simbolo sezione\",\"Select all\":\"Seleziona tutto\",\"Select column\":\"Seleziona colonna\",\"Select row\":\"Seleziona riga\",\"Show more items\":\"Mostra più elementi\",\"Side image\":\"Immagine laterale\",\"Single left-pointing angle quotation mark\":\"Virgoletta angolare a sinistra\",\"Single low-9 quotation mark\":\"Virgoletta bassa\",\"Single right-pointing angle quotation mark\":\"Virgoletta angolare a destra\",Small:\"Piccoli\",Solid:\"Solido\",\"soon with rightwards arrow above\":\"soon con sopra freccia verso destra\",\"Special characters\":\"Caratteri speciali\",\"Spesmilo sign\":\"Simbolo spesmilo\",\"Split cell horizontally\":\"Dividi cella orizzontalmente\",\"Split cell vertically\":\"Dividi cella verticalmente\",Square:\"Quadrato\",\"Square root\":\"Radice quadrata\",Strikethrough:\"Barrato\",Style:\"Stile\",\"Table alignment toolbar\":\"Barra degli strumenti dell'allineamento della tabella\",\"Table cell text alignment\":\"Allineamento del testo nella cella della tabella\",\"Table properties\":\"Proprietà tabella\",\"Table toolbar\":\"Barra degli strumenti della tabella\",\"Tenge sign\":\"Simbolo tenge\",\"Text alignment\":\"Allineamento del testo\",\"Text alignment toolbar\":\"Barra degli strumenti dell'allineamento\",\"Text alternative\":\"Testo alternativo\",\"Text highlight toolbar\":\"Barra degli strumenti dell'evidenziazione del testo\",'The color is invalid. Try \"#FF0000\" or \"rgb(255,0,0)\" or \"red\".':'Il colore non è valido. Provare \"#FF0000\" o \"rgb(255,0,0)\" o \"red\".',\"The URL must not be empty.\":\"L'URL non può essere vuoto.\",'The value is invalid. Try \"10px\" or \"2em\" or simply \"2\".':'Il valore non è valido. Provare \"10px\" o \"2em\" o semplicemente \"2\".',\"There exists\":\"Esiste\",\"This link has no URL\":\"Questo collegamento non ha un URL\",\"This media URL is not supported.\":\"Questo URL di file multimediali non è supportato.\",\"Tilde operator\":\"Operatore tilde\",Tiny:\"Piccolissimi\",\"Tip: Paste the URL into the content to embed faster.\":\"Consiglio: incolla l'URL nel contenuto per un'incorporazione più veloce.\",\"To-do List\":\"Elenco cose da fare\",\"Toggle caption off\":\"Attiva didascalia\",\"Toggle caption on\":\"Disattiva didascalia\",\"Toggle the circle list style\":\"Attiva/disattiva lo stile degli elenchi con cerchi\",\"Toggle the decimal list style\":\"Attiva/disattiva lo stile degli elenchi con numeri\",\"Toggle the decimal with leading zero list style\":\"Attiva/disattiva lo stile degli elenchi con numeri con zero anteposto\",\"Toggle the disc list style\":\"Attiva/disattiva lo stile degli elenchi con dischi\",\"Toggle the lower–latin list style\":\"Attiva/disattiva lo stile degli elenchi con lettere minuscole\",\"Toggle the lower–roman list style\":\"Attiva/disattiva lo stile degli elenchi con numeri romani minuscoli\",\"Toggle the square list style\":\"Attiva/disattiva lo stile degli elenchi con quadrati\",\"Toggle the upper–latin list style\":\"Attiva/disattiva lo stile degli elenchi con lettere maiuscole\",\"Toggle the upper–roman list style\":\"Attiva/disattiva lo stile degli elenchi con numeri romani maiuscoli\",\"top with upwards arrow above\":\"top con sopra freccia verso l'alto\",\"Trade mark sign\":\"Simbolo trademark\",\"Tugrik sign\":\"Simbolo tugrik\",\"Turkish lira sign\":\"Simbolo lira turca\",Turquoise:\"Turchese\",\"Two dot leader\":\"Due punti iniziali\",Underline:\"Sottolineato\",Undo:\"Annulla\",Union:\"Unione\",Unlink:\"Elimina collegamento\",\"up down arrow with base\":\"Doppia freccia verticale con base\",Update:\"Aggiorna\",\"Update image URL\":\"Aggiorna URL immagine\",\"Upload failed\":\"Caricamento fallito\",\"Upload in progress\":\"Caricamento in corso\",\"Upper-latin\":\"Lettera maiuscola\",\"Upper-roman\":\"Numero romano maiuscolo\",\"upwards arrow to bar\":\"Freccia verso barra in alto\",\"upwards dashed arrow\":\"Freccia tratteggiata verso l'alto\",\"upwards double arrow\":\"Freccia doppia verso l'alto\",\"Vertical text alignment toolbar\":\"Barra degli strumenti dell'allineamento verticale del testo\",\"Vulgar fraction one half\":\"Frazione semplice un mezzo\",\"Vulgar fraction one quarter\":\"Frazione semplice un quarto\",\"Vulgar fraction three quarters\":\"Frazione semplice tre quarti\",White:\"Bianco\",\"Widget toolbar\":\"Barra degli strumenti del widget\",Width:\"Larghezza\",\"Won sign\":\"Simbolo won\",\"Words: %0\":\"Parole: %0\",\"Wrap text\":\"\",Yellow:\"Giallo\",\"Yellow marker\":\"Contrassegno giallo\",\"Yen sign\":\"Simbolo yen\"}),e.getPluralForm=function(t){return 1!=t}}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),\n/*!\n * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\n * For licensing, see LICENSE.md.\n */\nfunction(t,e){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define([],e):\"object\"==typeof exports?exports.CKSource=e():t.CKSource=e()}(self,(function(){return(()=>{\"use strict\";var t={636:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck-content blockquote{overflow:hidden;padding-right:1.5em;padding-left:1.5em;margin-left:0;margin-right:0;font-style:italic;border-left:5px solid #ccc}.ck-content[dir=rtl] blockquote{border-left:0;border-right:5px solid #ccc}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-block-quote/theme/blockquote.css\"],names:[],mappings:\"AAKA,uBAEC,eAAgB,CAGhB,mBAAoB,CACpB,kBAAmB,CAEnB,aAAc,CACd,cAAe,CACf,iBAAkB,CAClB,0BACD,CAEA,gCACC,aAAc,CACd,2BACD\",sourcesContent:['/**\\n * @license Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck-content blockquote {\\n\\t/* See #12 */\\n\\toverflow: hidden;\\n\\n\\t/* https://github.com/ckeditor/ckeditor5-block-quote/issues/15 */\\n\\tpadding-right: 1.5em;\\n\\tpadding-left: 1.5em;\\n\\n\\tmargin-left: 0;\\n\\tmargin-right: 0;\\n\\tfont-style: italic;\\n\\tborder-left: solid 5px hsl(0, 0%, 80%);\\n}\\n\\n.ck-content[dir=\"rtl\"] blockquote {\\n\\tborder-left: 0;\\n\\tborder-right: solid 5px hsl(0, 0%, 80%);\\n}\\n'],sourceRoot:\"\"}]);const a=s},390:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,'.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position{display:inline;position:relative;pointer-events:none}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span{position:absolute;width:0}.ck.ck-editor__editable .ck-widget:-webkit-drag>.ck-widget__selection-handle,.ck.ck-editor__editable .ck-widget:-webkit-drag>.ck-widget__type-around{display:none}:root{--ck-clipboard-drop-target-dot-width:12px;--ck-clipboard-drop-target-dot-height:8px;--ck-clipboard-drop-target-color:var(--ck-color-focus-border)}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span{bottom:calc(var(--ck-clipboard-drop-target-dot-height)*-0.5);top:calc(var(--ck-clipboard-drop-target-dot-height)*-0.5);border:1px solid var(--ck-clipboard-drop-target-color);background:var(--ck-clipboard-drop-target-color);margin-left:-1px}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span:after{content:\"\";width:0;height:0;display:block;position:absolute;left:50%;top:calc(var(--ck-clipboard-drop-target-dot-height)*-0.5);transform:translateX(-50%);border-left:calc(var(--ck-clipboard-drop-target-dot-width)*0.5) solid transparent;border-bottom:0 solid transparent;border-right:calc(var(--ck-clipboard-drop-target-dot-width)*0.5) solid transparent;border-top:calc(var(--ck-clipboard-drop-target-dot-height)) solid var(--ck-clipboard-drop-target-color)}.ck.ck-editor__editable .ck-widget.ck-clipboard-drop-target-range{outline:var(--ck-widget-outline-thickness) solid var(--ck-clipboard-drop-target-color)!important}.ck.ck-editor__editable .ck-widget:-webkit-drag{zoom:.6;outline:none!important}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-clipboard/theme/clipboard.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-clipboard/clipboard.css\"],names:[],mappings:\"AASC,8DACC,cAAe,CACf,iBAAkB,CAClB,mBAMD,CAJC,mEACC,iBAAkB,CAClB,OACD,CAWA,qJACC,YACD,CCzBF,MACC,yCAA0C,CAC1C,yCAA0C,CAC1C,6DACD,CAOE,mEACC,4DAA8D,CAC9D,yDAA2D,CAC3D,sDAAuD,CACvD,gDAAiD,CACjD,gBAkBD,CAfC,yEACC,UAAW,CACX,OAAQ,CACR,QAAS,CAET,aAAc,CACd,iBAAkB,CAClB,QAAS,CACT,yDAA2D,CAE3D,0BAA2B,CAG3B,iFAAmB,CAAnB,iCAAmB,CAAnB,kFAAmB,CAAnB,uGACD,CA2DF,kEACC,gGACD,CAKA,gDACC,OAAS,CACT,sBACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-editor__editable {\\n\\t/*\\n\\t * Vertical drop target (in text).\\n\\t */\\n\\t& .ck.ck-clipboard-drop-target-position {\\n\\t\\tdisplay: inline;\\n\\t\\tposition: relative;\\n\\t\\tpointer-events: none;\\n\\n\\t\\t& span {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\twidth: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Styles of the widget being dragged (its preview).\\n\\t */\\n\\t& .ck-widget:-webkit-drag {\\n\\t\\t& > .ck-widget__selection-handle {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\n\\t\\t& > .ck-widget__type-around {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-clipboard-drop-target-dot-width: 12px;\\n\\t--ck-clipboard-drop-target-dot-height: 8px;\\n\\t--ck-clipboard-drop-target-color: var(--ck-color-focus-border)\\n}\\n\\n.ck.ck-editor__editable {\\n\\t/*\\n\\t * Vertical drop target (in text).\\n\\t */\\n\\t& .ck.ck-clipboard-drop-target-position {\\n\\t\\t& span {\\n\\t\\t\\tbottom: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));\\n\\t\\t\\ttop: calc(-.5 * var(--ck-clipboard-drop-target-dot-height));\\n\\t\\t\\tborder: 1px solid var(--ck-clipboard-drop-target-color);\\n\\t\\t\\tbackground: var(--ck-clipboard-drop-target-color);\\n\\t\\t\\tmargin-left: -1px;\\n\\n\\t\\t\\t/* The triangle above the marker */\\n\\t\\t\\t&::after {\\n\\t\\t\\t\\tcontent: \"\";\\n\\t\\t\\t\\twidth: 0;\\n\\t\\t\\t\\theight: 0;\\n\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\tleft: 50%;\\n\\t\\t\\t\\ttop: calc(var(--ck-clipboard-drop-target-dot-height) * -.5);\\n\\n\\t\\t\\t\\ttransform: translateX(-50%);\\n\\t\\t\\t\\tborder-color: var(--ck-clipboard-drop-target-color) transparent transparent transparent;\\n\\t\\t\\t\\tborder-width: calc(var(--ck-clipboard-drop-target-dot-height)) calc(.5 * var(--ck-clipboard-drop-target-dot-width)) 0 calc(.5 * var(--ck-clipboard-drop-target-dot-width));\\n\\t\\t\\t\\tborder-style: solid;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t// Horizontal drop target (between blocks).\\n\\t& .ck.ck-clipboard-drop-target-position {\\n\\t\\tdisplay: block;\\n\\t\\tposition: relative;\\n\\t\\twidth: 100%;\\n\\t\\theight: 0;\\n\\t\\tmargin: 0;\\n\\t\\ttext-align: initial;\\n\\n\\t\\t& .ck-clipboard-drop-target__line {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\theight: 0;\\n\\t\\t\\tborder: 1px solid var(--ck-clipboard-drop-target-color);\\n\\t\\t\\tmargin-top: -1px;\\n\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tcontent: \"\";\\n\\t\\t\\t\\twidth: 0;\\n\\t\\t\\t\\theight: 0;\\n\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\tleft: calc(-1 * var(--ck-clipboard-drop-target-dot-size));\\n\\t\\t\\t\\ttop: 0;\\n\\n\\t\\t\\t\\ttransform: translateY(-50%);\\n\\t\\t\\t\\tborder-color: transparent transparent transparent var(--ck-clipboard-drop-target-color);\\n\\t\\t\\t\\tborder-width: var(--ck-clipboard-drop-target-dot-size) 0 var(--ck-clipboard-drop-target-dot-size) calc(2 * var(--ck-clipboard-drop-target-dot-size));\\n\\t\\t\\t\\tborder-style: solid;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&::after {\\n\\t\\t\\t\\tcontent: \"\";\\n\\t\\t\\t\\twidth: 0;\\n\\t\\t\\t\\theight: 0;\\n\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\tright: calc(-1 * var(--ck-clipboard-drop-target-dot-size));\\n\\t\\t\\t\\ttop: 0;\\n\\n\\t\\t\\t\\ttransform: translateY(-50%);\\n\\t\\t\\t\\tborder-color: transparent var(--ck-clipboard-drop-target-color) transparent transparent;\\n\\t\\t\\t\\tborder-width: var(--ck-clipboard-drop-target-dot-size) calc(2 * var(--ck-clipboard-drop-target-dot-size)) var(--ck-clipboard-drop-target-dot-size) 0;\\n\\t\\t\\t\\tborder-style: solid;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\t*/\\n\\n\\t/*\\n\\t * Styles of the widget that it a drop target.\\n\\t */\\n\\t& .ck-widget.ck-clipboard-drop-target-range {\\n\\t\\toutline: var(--ck-widget-outline-thickness) solid var(--ck-clipboard-drop-target-color) !important;\\n\\t}\\n\\n\\t/*\\n\\t * Styles of the widget being dragged (its preview).\\n\\t */\\n\\t& .ck-widget:-webkit-drag {\\n\\t\\tzoom: 0.6;\\n\\t\\toutline: none !important;\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const a=s},3638:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-editor{position:relative}.ck.ck-editor .ck-editor__top .ck-sticky-panel .ck-toolbar{z-index:var(--ck-z-modal)}.ck.ck-editor__top .ck-sticky-panel .ck-toolbar{border-radius:0}.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-toolbar,.ck.ck-editor__top .ck-sticky-panel .ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius);border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-editor__top .ck-sticky-panel .ck-toolbar{border-bottom-width:0}.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar{border-bottom-width:1px;border-radius:0}.ck-rounded-corners .ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar,.ck.ck-editor__top .ck-sticky-panel .ck-sticky-panel__content_sticky .ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius);border-radius:0}.ck.ck-editor__main>.ck-editor__editable{background:var(--ck-color-base-background);border-radius:0}.ck-rounded-corners .ck.ck-editor__main>.ck-editor__editable,.ck.ck-editor__main>.ck-editor__editable.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}.ck.ck-editor__main>.ck-editor__editable:not(.ck-focused){border-color:var(--ck-color-base-border)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-editor-classic/theme/classiceditor.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-editor-classic/classiceditor.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAKA,cAIC,iBAMD,CAJC,2DAEC,yBACD,CCLC,gDCED,eDKC,CAPA,uICMA,qCAAsC,CDJpC,2BAA4B,CAC5B,4BAIF,CAPA,gDAMC,qBACD,CAEA,iFACC,uBAAwB,CCR1B,eDaC,CANA,yMCHA,qCAAsC,CDOpC,eAEF,CAKF,yCAEC,0CAA2C,CCpB3C,eD8BD,CAZA,yHCdE,qCAAsC,CDmBtC,wBAAyB,CACzB,yBAMF,CAHC,0DACC,wCACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-editor {\\n\\t/* All the elements within `.ck-editor` are positioned relatively to it.\\n\\t If any element needs to be positioned with respect to the , etc.,\\n\\t it must land outside of the `.ck-editor` in DOM. */\\n\\tposition: relative;\\n\\n\\t& .ck-editor__top .ck-sticky-panel .ck-toolbar {\\n\\t\\t/* https://github.com/ckeditor/ckeditor5-editor-classic/issues/62 */\\n\\t\\tz-index: var(--ck-z-modal);\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../mixins/_rounded.css\";\\n\\n.ck.ck-editor__top {\\n\\t& .ck-sticky-panel {\\n\\t\\t& .ck-toolbar {\\n\\t\\t\\t@mixin ck-rounded-corners {\\n\\t\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\tborder-bottom-width: 0;\\n\\t\\t}\\n\\n\\t\\t& .ck-sticky-panel__content_sticky .ck-toolbar {\\n\\t\\t\\tborder-bottom-width: 1px;\\n\\n\\t\\t\\t@mixin ck-rounded-corners {\\n\\t\\t\\t\\tborder-radius: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n/* Note: Use ck-editor__main to make sure these styles don\\'t apply to other editor types */\\n.ck.ck-editor__main > .ck-editor__editable {\\n\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/113 */\\n\\tbackground: var(--ck-color-base-background);\\n\\n\\t@mixin ck-rounded-corners {\\n\\t\\tborder-top-left-radius: 0;\\n\\t\\tborder-top-right-radius: 0;\\n\\t}\\n\\n\\t&:not(.ck-focused) {\\n\\t\\tborder-color: var(--ck-color-base-border);\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},8894:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-placeholder,.ck .ck-placeholder{position:relative}.ck.ck-placeholder:before,.ck .ck-placeholder:before{position:absolute;left:0;right:0;content:attr(data-placeholder);pointer-events:none}.ck.ck-read-only .ck-placeholder:before{display:none}.ck.ck-placeholder:before,.ck .ck-placeholder:before{cursor:text;color:var(--ck-color-engine-placeholder-text)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-engine/theme/placeholder.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-engine/placeholder.css\"],names:[],mappings:\"AAMA,uCAEC,iBAWD,CATC,qDACC,iBAAkB,CAClB,MAAO,CACP,OAAQ,CACR,8BAA+B,CAG/B,mBACD,CAKA,wCACC,YACD,CClBA,qDACC,WAAY,CACZ,6CACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/* See ckeditor/ckeditor5#936. */\\n.ck.ck-placeholder,\\n.ck .ck-placeholder {\\n\\tposition: relative;\\n\\n\\t&::before {\\n\\t\\tposition: absolute;\\n\\t\\tleft: 0;\\n\\t\\tright: 0;\\n\\t\\tcontent: attr(data-placeholder);\\n\\n\\t\\t/* See ckeditor/ckeditor5#469. */\\n\\t\\tpointer-events: none;\\n\\t}\\n}\\n\\n/* See ckeditor/ckeditor5#1987. */\\n.ck.ck-read-only .ck-placeholder {\\n\\t&::before {\\n\\t\\tdisplay: none;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/* See ckeditor/ckeditor5#936. */\\n.ck.ck-placeholder, .ck .ck-placeholder {\\n\\t&::before {\\n\\t\\tcursor: text;\\n\\t\\tcolor: var(--ck-color-engine-placeholder-text);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},5436:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck-find-result{background:#fff700;color:var(--ck-color-text)}.ck-find-result_selected{background:#fd0}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-find-and-replace/theme/findandreplace.css\"],names:[],mappings:\"AAKA,gBACC,kBAA8B,CAC9B,0BACD,CAEA,yBACC,eACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck-find-result {\\n\\tbackground: hsl(58, 100%, 50%);\\n\\tcolor: var(--ck-color-text);\\n}\\n\\n.ck-find-result_selected {\\n\\tbackground: hsl(52, 100%, 50%);\\n}\\n\"],sourceRoot:\"\"}]);const a=s},9289:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck .ck-find-and-replace-form .ck-find-form__wrapper,.ck .ck-find-and-replace-form .ck-replace-form__wrapper{display:flex;align-items:flex-start;flex-direction:row;flex-wrap:wrap}.ck .ck-find-and-replace-form .ck-find-form__wrapper .ck-button,.ck .ck-find-and-replace-form .ck-replace-form__wrapper .ck-button{margin-top:var(--ck-spacing-standard);background-color:var(--ck-color-base-active);padding:5px 10px;text-transform:uppercase}.ck .ck-find-and-replace-form .ck-find-form__wrapper .ck-button.ck-disabled,.ck .ck-find-and-replace-form .ck-replace-form__wrapper .ck-button.ck-disabled{background-color:var(--ck-color-switch-button-off-background)}.ck .ck-find-and-replace-form .ck-find-form__wrapper .ck-button:not(.ck-disabled),.ck .ck-find-and-replace-form .ck-replace-form__wrapper .ck-button:not(.ck-disabled){color:var(--ck-color-base-background)}.ck .ck-find-and-replace-form .ck-find-form__wrapper .ck-button:not(.ck-disabled):hover,.ck .ck-find-and-replace-form .ck-replace-form__wrapper .ck-button:not(.ck-disabled):hover{background-color:var(--ck-color-base-focus);cursor:pointer}.ck .ck-find-and-replace-form .ck-find-form__wrapper .ck-labeled-field-view__input-wrapper .ck.ck-input-text,.ck .ck-find-and-replace-form .ck-replace-form__wrapper .ck-labeled-field-view__input-wrapper .ck.ck-input-text{padding:var(--ck-spacing-extra-tiny) calc(var(--ck-spacing-medium)*8) var(--ck-spacing-extra-tiny) var(--ck-spacing-medium)}@media screen and (max-width:600px){.ck .ck-find-and-replace-form .ck-find-form__wrapper,.ck .ck-find-and-replace-form .ck-replace-form__wrapper{flex-wrap:wrap}.ck .ck-find-and-replace-form .ck-find-form__wrapper .ck-labeled-field-view,.ck .ck-find-and-replace-form .ck-replace-form__wrapper .ck-labeled-field-view{flex-basis:100%}.ck .ck-find-and-replace-form .ck-find-form__wrapper .ck-button,.ck .ck-find-and-replace-form .ck-replace-form__wrapper .ck-button{flex-basis:50%}}.ck .ck-find-and-replace-form .ck-replace-form__wrapper{justify-content:flex-end;border-top:1px solid var(--ck-color-base-border)}.ck .ck-find-and-replace-form .ck-replace-form__wrapper .ck-labeled-field-view__input-wrapper .ck.ck-input-text{padding:var(--ck-spacing-extra-tiny) var(--ck-spacing-medium) var(--ck-spacing-extra-tiny) var(--ck-spacing-medium)}.ck .ck-find-and-replace-form .ck-replace-form__wrapper .ck-button{border-radius:5px;font-size:calc(var(--ck-font-size-normal)*0.9)}.ck .ck-find-and-replace-form .ck-replace-form__wrapper .ck-button:last-child{margin-left:var(--ck-spacing-standard)}.ck .ck-find-and-replace-form .ck-replace-form__wrapper .ck-button .ck.ck-button__label{line-height:20px}.ck .ck-find-and-replace-form .ck-find-form__wrapper{justify-content:space-between}.ck .ck-find-and-replace-form .ck-find-form__wrapper .ck-button.ck-button-next,.ck .ck-find-and-replace-form .ck-find-form__wrapper .ck-button.ck-button-prev{margin-left:1px}.ck .ck-find-and-replace-form .ck-find-form__wrapper span.ck-results-counter{position:absolute;top:calc(var(--ck-spacing-standard)*2);right:calc(var(--ck-spacing-standard)*3);color:var(--ck-color-base-border)}.ck .ck-find-and-replace-form .ck-find-form__wrapper .ck-find-buttons{display:flex;align-items:center}.ck .ck-find-and-replace-form .ck-find-form__wrapper .ck-find-buttons .ck-button{border-radius:5px;padding:5px}.ck .ck-find-and-replace-form .ck-find-form__wrapper .ck-find-buttons .ck-button svg.ck-button__icon{margin:0}.ck .ck-find-and-replace-form .ck-find-form__wrapper .ck-find-buttons .ck-button.ck-button-find{padding:4px 16px}.ck .ck-find-and-replace-form .ck-find-form__wrapper .ck-find-buttons .ck-button.ck-button-prev{border-radius:5px 0 0 5px}.ck .ck-find-and-replace-form .ck-find-form__wrapper .ck-find-buttons .ck-button.ck-button-prev svg{transform:rotate(180deg) translateY(-2px)}.ck .ck-find-and-replace-form .ck-find-form__wrapper .ck-find-buttons .ck-button.ck-button-next{border-radius:0 5px 5px 0}.ck .ck-find-and-replace-form .ck-find-form__wrapper .ck-find-buttons .ck-button.ck-button-next svg{transform:translateY(-1px)}.ck .ck-find-and-replace-form .ck-find-form__wrapper.ck-is-searching .ck-button.ck-button-find,.ck .ck-find-and-replace-form .ck-find-form__wrapper:not(.ck-is-searching) .ck-button.ck-button-next,.ck .ck-find-and-replace-form .ck-find-form__wrapper:not(.ck-is-searching) .ck-button.ck-button-prev{display:none}.ck .ck-find-and-replace-form .ck-find-form__wrapper:not(.ck-is-searching) .ck-button.ck-button-find{display:flex}.ck .ck-find-and-replace-form .ck-find-form__wrapper.ck-responsive-form .ck-find-checkboxes{margin:0}.ck .ck-find-and-replace-form .ck-find-form__wrapper.ck-responsive-form .ck-find-checkboxes .ck-find-checkboxes__box{display:flex;align-items:center;max-width:150px;overflow:hidden}.ck .ck-find-and-replace-form .ck-find-form__wrapper.ck-responsive-form .ck-find-checkboxes .ck-find-checkboxes__box label{margin-left:5px;line-height:calc(var(--ck-spacing-standard)*2.2);overflow:hidden;text-overflow:ellipsis}.ck .ck-find-and-replace-form .ck-find-form__wrapper.ck-responsive-form .ck-find-checkboxes .ck-find-checkboxes__box input[type=checkbox]:hover,.ck .ck-find-and-replace-form .ck-find-form__wrapper.ck-responsive-form .ck-find-checkboxes .ck-find-checkboxes__box label:hover{cursor:pointer}.ck .ck-find-and-replace-form .ck-find-form__wrapper.ck-responsive-form .ck-find-checkboxes .ck-find-checkboxes__box:first-child{margin-top:var(--ck-spacing-medium)}.ck .ck-find-and-replace-form .ck-find-form__wrapper.ck-responsive-form .ck-find-checkboxes .ck-find-checkboxes__box input[type=checkbox]:disabled+label{color:var(--ck-color-switch-button-off-background)}.ck[dir=rtl] .ck .ck-find-and-replace-form .ck-find-form__wrapper .ck-labeled-field-view__input-wrapper .ck.ck-input-text{padding:var(--ck-spacing-extra-tiny) var(--ck-spacing-medium) var(--ck-spacing-extra-tiny) calc(var(--ck-spacing-medium)*8)}.ck[dir=rtl] .ck .ck-find-and-replace-form .ck-replace-form__wrapper .ck-replace-buttons{display:flex;flex-flow:row-reverse}.ck[dir=rtl] .ck .ck-find-and-replace-form .ck-replace-form__wrapper .ck-replace-buttons .ck-button:last-child{margin-left:var(--ck-spacing-standard)}.ck[dir=rtl] .ck .ck-find-and-replace-form .ck-replace-form__wrapper .ck-labeled-field-view__input-wrapper .ck.ck-input-text{padding:var(--ck-spacing-extra-tiny) var(--ck-spacing-medium)}.ck[dir=rtl] .ck.ck-responsive-form>:not(:last-child){margin-left:0}.ck[dir=rtl] .ck .ck-find-and-replace-form .ck-find-form__wrapper .ck-button.ck-button-next,.ck[dir=rtl] .ck .ck-find-and-replace-form .ck-find-form__wrapper .ck-button.ck-button-prev{margin-right:1px;margin-left:0}.ck[dir=rtl] .ck .ck-find-and-replace-form .ck-find-form__wrapper span.ck-results-counter{left:calc(var(--ck-spacing-standard)*3)}.ck[dir=rtl] .ck .ck-find-and-replace-form .ck-find-form__wrapper .ck-find-buttons{flex-flow:row-reverse}.ck[dir=rtl] .ck .ck-find-and-replace-form .ck-find-form__wrapper.ck-responsive-form .ck-find-checkboxes{margin:0}.ck[dir=rtl] .ck .ck-find-and-replace-form .ck-find-form__wrapper.ck-responsive-form .ck-find-checkboxes .ck-find-checkboxes__box label{margin-right:5px}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-find-and-replace/theme/findandreplaceform.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\"],names:[],mappings:\"AAYA,6GAEC,YAAa,CACb,sBAAuB,CACvB,kBAAmB,CACnB,cAqCD,CAnCC,mIACC,qCAAsC,CACtC,4CAA6C,CAC7C,gBAAiB,CACjB,wBAcD,CAZC,2JACC,6DACD,CAEA,uKACC,qCAMD,CAJC,mLACC,2CAA4C,CAC5C,cACD,CAIF,6NACC,2HACD,CCnCA,oCDMD,6GAgCE,cAUF,CARE,2JACC,eACD,CAEA,mIACC,cACD,CC5CD,CDgDD,wDACC,wBAAyB,CACzB,gDAkBD,CAhBC,gHACC,mHACD,CAEA,mEACC,iBAAkB,CAClB,8CASD,CAPC,8EACC,sCACD,CAEA,wFACC,gBACD,CAIF,qDACC,6BAgGD,CA9FC,8JAEC,eACD,CAEA,6EACC,iBAAkB,CAClB,sCAAyC,CACzC,wCAA2C,CAC3C,iCACD,CAEA,sEACC,YAAa,CACb,kBA8BD,CA5BC,iFACC,iBAAkB,CAClB,WAyBD,CAvBC,qGACC,QACD,CAEA,gGACC,gBACD,CAEA,gGACC,yBAKD,CAHC,oGACC,yCACD,CAGD,gGACC,yBAKD,CAHC,oGACC,0BACD,CAYF,ySAEC,YACD,CAEA,qGACC,YACD,CAGD,4FACC,QA6BD,CA3BC,qHACC,YAAa,CACb,kBAAmB,CACnB,eAAgB,CAChB,eAsBD,CApBC,2HACC,eAAgB,CAChB,gDAAmD,CACnD,eAAgB,CAChB,sBACD,CAEA,iRAGC,cACD,CAEA,iIACC,mCACD,CAEA,yJACC,kDACD,CAMF,0HACC,2HACD,CAGC,yFACC,YAAa,CACb,qBAKD,CAHC,+GACC,sCACD,CAED,6HACC,6DACD,CAGD,sDACC,aACD,CAGC,wLAEC,gBAAiB,CACjB,aACD,CAEA,0FACC,uCACD,CAEA,mFACC,qBACD,CAEA,yGACC,QAKD,CAHC,wIACC,gBACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/* stylelint-disable no-descending-specificity */\\n\\n/* disabled buttons bg color: #C3C3C3 */\\n/* button color #4E8AE4 */\\n\\n@import \\\"@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\\\";\\n\\n.ck .ck-find-and-replace-form .ck-find-form__wrapper,\\n.ck .ck-find-and-replace-form .ck-replace-form__wrapper {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\tflex-direction: row;\\n\\tflex-wrap: wrap;\\n\\n\\t& .ck-button {\\n\\t\\tmargin-top: var(--ck-spacing-standard);\\n\\t\\tbackground-color: var(--ck-color-base-active);\\n\\t\\tpadding: 5px 10px;\\n\\t\\ttext-transform: uppercase;\\n\\n\\t\\t&.ck-disabled {\\n\\t\\t\\tbackground-color: var(--ck-color-switch-button-off-background);\\n\\t\\t}\\n\\n\\t\\t&:not(.ck-disabled) {\\n\\t\\t\\tcolor: var(--ck-color-base-background);\\n\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\tbackground-color: var(--ck-color-base-focus);\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-labeled-field-view__input-wrapper .ck.ck-input-text{\\n\\t\\tpadding: var(--ck-spacing-extra-tiny) calc(var(--ck-spacing-medium) * 8) var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);\\n\\t}\\n\\n\\t@mixin ck-media-phone {\\n\\t\\tflex-wrap: wrap;\\n\\n\\t\\t& .ck-labeled-field-view {\\n\\t\\t\\tflex-basis: 100%;\\n\\t\\t}\\n\\n\\t\\t& .ck-button {\\n\\t\\t\\tflex-basis: 50%;\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck .ck-find-and-replace-form .ck-replace-form__wrapper {\\n\\tjustify-content: flex-end;\\n\\tborder-top: 1px solid var(--ck-color-base-border);\\n\\n\\t& .ck-labeled-field-view__input-wrapper .ck.ck-input-text{\\n\\t\\tpadding: var(--ck-spacing-extra-tiny) var(--ck-spacing-medium) var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);\\n\\t}\\n\\n\\t& .ck-button {\\n\\t\\tborder-radius: 5px;\\n\\t\\tfont-size: calc(var(--ck-font-size-normal) * 0.9);\\n\\n\\t\\t&:last-child {\\n\\t\\t\\tmargin-left: var(--ck-spacing-standard)\\n\\t\\t}\\n\\n\\t\\t& .ck.ck-button__label {\\n\\t\\t\\tline-height: 20px;\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck .ck-find-and-replace-form .ck-find-form__wrapper {\\n\\tjustify-content: space-between;\\n\\n\\t& .ck-button.ck-button-prev,\\n\\t& .ck-button.ck-button-next {\\n\\t\\tmargin-left: 1px;\\n\\t}\\n\\n\\t& span.ck-results-counter {\\n\\t\\tposition: absolute;\\n\\t\\ttop: calc(var(--ck-spacing-standard) * 2);\\n\\t\\tright: calc(var(--ck-spacing-standard) * 3);\\n\\t\\tcolor: var(--ck-color-base-border)\\n\\t}\\n\\n\\t& .ck-find-buttons {\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\n\\t\\t& .ck-button {\\n\\t\\t\\tborder-radius: 5px;\\n\\t\\t\\tpadding: 5px;\\n\\n\\t\\t\\t& svg.ck-button__icon {\\n\\t\\t\\t\\tmargin: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&.ck-button-find {\\n\\t\\t\\t\\tpadding: 4px 16px;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&.ck-button-prev {\\n\\t\\t\\t\\tborder-radius: 5px 0 0 5px;\\n\\n\\t\\t\\t\\t& svg {\\n\\t\\t\\t\\t\\ttransform: rotate(180deg) translateY(-2px);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t&.ck-button-next {\\n\\t\\t\\t\\tborder-radius: 0 5px 5px 0;\\n\\n\\t\\t\\t\\t& svg {\\n\\t\\t\\t\\t\\ttransform: translateY(-1px);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-is-searching {\\n\\t\\t& .ck-button.ck-button-find {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t&:not(.ck-is-searching) {\\n\\t\\t& .ck-button.ck-button-prev,\\n\\t\\t& .ck-button.ck-button-next {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\n\\t\\t& .ck-button.ck-button-find {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-responsive-form .ck-find-checkboxes {\\n\\t\\tmargin: 0;\\n\\n\\t\\t& .ck-find-checkboxes__box {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\talign-items: center;\\n\\t\\t\\tmax-width: 150px;\\n\\t\\t\\toverflow: hidden;\\n\\n\\t\\t\\t& label {\\n\\t\\t\\t\\tmargin-left: 5px;\\n\\t\\t\\t\\tline-height: calc(var(--ck-spacing-standard) * 2.2);\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\t}\\n\\n\\t\\t\\t& label:hover,\\n\\t\\t\\t& input[type=checkbox]:hover\\n\\t\\t\\t {\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&:first-child {\\n\\t\\t\\t\\tmargin-top: var(--ck-spacing-medium);\\n\\t\\t\\t}\\n\\n\\t\\t\\t& input[type=checkbox]:disabled+label {\\n\\t\\t\\t\\tcolor: var(--ck-color-switch-button-off-background);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck[dir='rtl'] {\\n\\t& .ck .ck-find-and-replace-form .ck-find-form__wrapper .ck-labeled-field-view__input-wrapper .ck.ck-input-text {\\n\\t\\tpadding: var(--ck-spacing-extra-tiny) var(--ck-spacing-medium) var(--ck-spacing-extra-tiny) calc(var(--ck-spacing-medium) * 8);\\n\\t}\\n\\n\\t& .ck .ck-find-and-replace-form .ck-replace-form__wrapper {\\n\\t\\t& .ck-replace-buttons {\\n\\t\\t\\tdisplay: flex;\\n\\t\\t\\tflex-flow: row-reverse;\\n\\n\\t\\t\\t& .ck-button:last-child {\\n\\t\\t\\t\\tmargin-left: var(--ck-spacing-standard);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t\\t& .ck-labeled-field-view__input-wrapper .ck.ck-input-text{\\n\\t\\t\\tpadding: var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck.ck-responsive-form > :not(:last-child) {\\n\\t\\tmargin-left: 0;\\n\\t}\\n\\n\\t& .ck .ck-find-and-replace-form .ck-find-form__wrapper {\\n\\t\\t& .ck-button.ck-button-prev,\\n\\t\\t& .ck-button.ck-button-next {\\n\\t\\t\\tmargin-right: 1px;\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\n\\t\\t& span.ck-results-counter {\\n\\t\\t\\tleft: calc(var(--ck-spacing-standard) * 3);\\n\\t\\t}\\n\\n\\t\\t& .ck-find-buttons {\\n\\t\\t\\tflex-flow: row-reverse;\\n\\t\\t}\\n\\n\\t\\t&.ck-responsive-form .ck-find-checkboxes {\\n\\t\\t\\tmargin: 0;\\n\\n\\t\\t\\t& .ck-find-checkboxes__box label {\\n\\t\\t\\t\\tmargin-right: 5px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n/* stylelint-enable no-descending-specificity */\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@define-mixin ck-media-phone {\\n\\t@media screen and (max-width: 600px) {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},2585:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck .ck-button.ck-color-table__remove-color{display:flex;align-items:center;width:100%}label.ck.ck-color-grid__label{font-weight:unset}.ck .ck-button.ck-color-table__remove-color{padding:calc(var(--ck-spacing-standard)/2) var(--ck-spacing-standard);border-bottom-left-radius:0;border-bottom-right-radius:0}.ck .ck-button.ck-color-table__remove-color:not(:focus){border-bottom:1px solid var(--ck-color-base-border)}[dir=ltr] .ck .ck-button.ck-color-table__remove-color .ck.ck-icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck .ck-button.ck-color-table__remove-color .ck.ck-icon{margin-left:var(--ck-spacing-standard)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-font/theme/fontcolor.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-font/fontcolor.css\"],names:[],mappings:\"AAKA,4CACC,YAAa,CACb,kBAAmB,CACnB,UACD,CAEA,8BACC,iBACD,CCNA,4CACC,qEAAyE,CACzE,2BAA4B,CAC5B,4BAeD,CAbC,wDACC,mDACD,CAEA,kEAEE,uCAMF,CARA,kEAME,sCAEF\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck .ck-button.ck-color-table__remove-color {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\twidth: 100%;\\n}\\n\\nlabel.ck.ck-color-grid__label {\\n\\tfont-weight: unset;\\n}\\n\",'/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n.ck .ck-button.ck-color-table__remove-color {\\n\\tpadding: calc(var(--ck-spacing-standard) / 2 ) var(--ck-spacing-standard);\\n\\tborder-bottom-left-radius: 0;\\n\\tborder-bottom-right-radius: 0;\\n\\n\\t&:not(:focus) {\\n\\t\\tborder-bottom: 1px solid var(--ck-color-base-border);\\n\\t}\\n\\n\\t& .ck.ck-icon {\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\tmargin-right: var(--ck-spacing-standard);\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\tmargin-left: var(--ck-spacing-standard);\\n\\t\\t}\\n\\t}\\n}\\n\\n'],sourceRoot:\"\"}]);const a=s},6203:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck-content .text-tiny{font-size:.7em}.ck-content .text-small{font-size:.85em}.ck-content .text-big{font-size:1.4em}.ck-content .text-huge{font-size:1.8em}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-font/theme/fontsize.css\"],names:[],mappings:\"AAUC,uBACC,cACD,CAEA,wBACC,eACD,CAEA,sBACC,eACD,CAEA,uBACC,eACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/* The values should be synchronized with the \"FONT_SIZE_PRESET_UNITS\" object in the \"/src/fontsize/utils.js\" file. */\\n\\n/* Styles should be prefixed with the `.ck-content` class.\\nSee https://github.com/ckeditor/ckeditor5/issues/6636 */\\n.ck-content {\\n\\t& .text-tiny {\\n\\t\\tfont-size: .7em;\\n\\t}\\n\\n\\t& .text-small {\\n\\t\\tfont-size: .85em;\\n\\t}\\n\\n\\t& .text-big {\\n\\t\\tfont-size: 1.4em;\\n\\t}\\n\\n\\t& .text-huge {\\n\\t\\tfont-size: 1.8em;\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const a=s},3230:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-heading_heading1{font-size:20px}.ck.ck-heading_heading2{font-size:17px}.ck.ck-heading_heading3{font-size:14px}.ck[class*=ck-heading_heading]{font-weight:700}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__button .ck-button__label{width:8em}.ck.ck-dropdown.ck-heading-dropdown .ck-dropdown__panel .ck-list__item{min-width:18em}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-heading/theme/heading.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-heading/heading.css\"],names:[],mappings:\"AAKA,wBACC,cACD,CAEA,wBACC,cACD,CAEA,wBACC,cACD,CAEA,+BACC,eACD,CCZC,2EACC,SACD,CAEA,uEACC,cACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-heading_heading1 {\\n\\tfont-size: 20px;\\n}\\n\\n.ck.ck-heading_heading2 {\\n\\tfont-size: 17px;\\n}\\n\\n.ck.ck-heading_heading3 {\\n\\tfont-size: 14px;\\n}\\n\\n.ck[class*=\"ck-heading_heading\"] {\\n\\tfont-weight: bold;\\n}\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/* Resize dropdown's button label. */\\n.ck.ck-dropdown.ck-heading-dropdown {\\n\\t& .ck-dropdown__button .ck-button__label {\\n\\t\\twidth: 8em;\\n\\t}\\n\\n\\t& .ck-dropdown__panel .ck-list__item {\\n\\t\\tmin-width: 18em;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},713:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\":root{--ck-highlight-marker-yellow:#fdfd77;--ck-highlight-marker-green:#62f962;--ck-highlight-marker-pink:#fc7899;--ck-highlight-marker-blue:#72ccfd;--ck-highlight-pen-red:#e71313;--ck-highlight-pen-green:#128a00}.ck-content .marker-yellow{background-color:var(--ck-highlight-marker-yellow)}.ck-content .marker-green{background-color:var(--ck-highlight-marker-green)}.ck-content .marker-pink{background-color:var(--ck-highlight-marker-pink)}.ck-content .marker-blue{background-color:var(--ck-highlight-marker-blue)}.ck-content .pen-red{color:var(--ck-highlight-pen-red);background-color:transparent}.ck-content .pen-green{color:var(--ck-highlight-pen-green);background-color:transparent}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-highlight/theme/highlight.css\"],names:[],mappings:\"AAKA,MACC,oCAA+C,CAC/C,mCAA+C,CAC/C,kCAA8C,CAC9C,kCAA8C,CAC9C,8BAAwC,CACxC,gCACD,CAGC,2BACC,kDACD,CAFA,0BACC,iDACD,CAFA,yBACC,gDACD,CAFA,yBACC,gDACD,CAIA,qBACC,iCAAqC,CAGrC,4BACD,CALA,uBACC,mCAAqC,CAGrC,4BACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-highlight-marker-yellow: hsl(60, 97%, 73%);\\n\\t--ck-highlight-marker-green: hsl(120, 93%, 68%);\\n\\t--ck-highlight-marker-pink: hsl(345, 96%, 73%);\\n\\t--ck-highlight-marker-blue: hsl(201, 97%, 72%);\\n\\t--ck-highlight-pen-red: hsl(0, 85%, 49%);\\n\\t--ck-highlight-pen-green: hsl(112, 100%, 27%);\\n}\\n\\n@define-mixin highlight-marker-color $color {\\n\\t.ck-content .marker-$color {\\n\\t\\tbackground-color: var(--ck-highlight-marker-$color);\\n\\t}\\n}\\n\\n@define-mixin highlight-pen-color $color {\\n\\t.ck-content .pen-$color {\\n\\t\\tcolor: var(--ck-highlight-pen-$color);\\n\\n\\t\\t/* Override default yellow background of `` from user agent stylesheet */\\n\\t\\tbackground-color: transparent;\\n\\t}\\n}\\n\\n@mixin highlight-marker-color yellow;\\n@mixin highlight-marker-color green;\\n@mixin highlight-marker-color pink;\\n@mixin highlight-marker-color blue;\\n\\n@mixin highlight-pen-color red;\\n@mixin highlight-pen-color green;\\n\"],sourceRoot:\"\"}]);const a=s},2536:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck-editor__editable .ck-horizontal-line{display:flow-root}.ck-content hr{margin:15px 0;height:4px;background:#dedede;border:0}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-horizontal-line/theme/horizontalline.css\"],names:[],mappings:\"AAMA,yCAEC,iBACD,CAEA,eACC,aAAc,CACd,UAAW,CACX,kBAA2B,CAC3B,QACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n\\n.ck-editor__editable .ck-horizontal-line {\\n\\t/* Necessary to render properly next to floated objects, e.g. side image case. */\\n\\tdisplay: flow-root;\\n}\\n\\n.ck-content hr {\\n\\tmargin: 15px 0;\\n\\theight: 4px;\\n\\tbackground: hsl(0, 0%, 87%);\\n\\tborder: 0;\\n}\\n\"],sourceRoot:\"\"}]);const a=s},3403:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck-widget.raw-html-embed{margin:.9em auto;position:relative;display:flow-root;min-width:15em;font-style:normal}.ck-widget.raw-html-embed:before{position:absolute;z-index:1}.ck-widget.raw-html-embed .raw-html-embed__buttons-wrapper{position:absolute;display:flex;flex-direction:column}.ck-widget.raw-html-embed .raw-html-embed__preview{position:relative;overflow:hidden;display:flex}.ck-widget.raw-html-embed .raw-html-embed__preview-content{width:100%;position:relative;margin:auto;display:table;border-collapse:separate;border-spacing:7px}.ck-widget.raw-html-embed .raw-html-embed__preview-placeholder{position:absolute;left:0;top:0;right:0;bottom:0;display:flex;align-items:center;justify-content:center}:root{--ck-html-embed-content-width:calc(100% - var(--ck-icon-size)*1.5);--ck-html-embed-source-height:10em;--ck-html-embed-unfocused-outline-width:1px;--ck-html-embed-content-min-height:calc(var(--ck-icon-size) + var(--ck-spacing-standard));--ck-html-embed-source-disabled-background:var(--ck-color-base-foreground);--ck-html-embed-source-disabled-color:#737373}.ck-widget.raw-html-embed{font-size:var(--ck-font-size-base);background-color:var(--ck-color-base-foreground)}.ck-widget.raw-html-embed:not(.ck-widget_selected):not(:hover){outline:var(--ck-html-embed-unfocused-outline-width) dashed var(--ck-color-widget-blurred-border)}.ck-widget.raw-html-embed[dir=ltr]{text-align:left}.ck-widget.raw-html-embed[dir=rtl]{text-align:right}.ck-widget.raw-html-embed:before{content:attr(data-html-embed-label);top:calc(var(--ck-html-embed-unfocused-outline-width)*-1);left:var(--ck-spacing-standard);background:#999;transition:background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);padding:calc(var(--ck-spacing-tiny) + var(--ck-html-embed-unfocused-outline-width)) var(--ck-spacing-small) var(--ck-spacing-tiny);border-radius:0 0 var(--ck-border-radius) var(--ck-border-radius);color:var(--ck-color-base-background);font-size:var(--ck-font-size-tiny);font-family:var(--ck-font-face)}.ck-widget.raw-html-embed[dir=rtl]:before{left:auto;right:var(--ck-spacing-standard)}.ck-widget.raw-html-embed[dir=ltr] .ck-widget__type-around .ck-widget__type-around__button.ck-widget__type-around__button_before{margin-left:50px}.ck.ck-editor__editable.ck-blurred .ck-widget.raw-html-embed.ck-widget_selected:before{top:0;padding:var(--ck-spacing-tiny) var(--ck-spacing-small)}.ck.ck-editor__editable:not(.ck-blurred) .ck-widget.raw-html-embed.ck-widget_selected:before{top:0;padding:var(--ck-spacing-tiny) var(--ck-spacing-small);background:var(--ck-color-focus-border)}.ck.ck-editor__editable .ck-widget.raw-html-embed:not(.ck-widget_selected):hover:before{top:0;padding:var(--ck-spacing-tiny) var(--ck-spacing-small)}.ck-widget.raw-html-embed .raw-html-embed__content-wrapper{padding:var(--ck-spacing-standard)}.ck-widget.raw-html-embed .raw-html-embed__buttons-wrapper{top:var(--ck-spacing-standard);right:var(--ck-spacing-standard)}.ck-widget.raw-html-embed .raw-html-embed__buttons-wrapper .ck-button.raw-html-embed__save-button{color:var(--ck-color-button-save)}.ck-widget.raw-html-embed .raw-html-embed__buttons-wrapper .ck-button.raw-html-embed__cancel-button{color:var(--ck-color-button-cancel)}.ck-widget.raw-html-embed .raw-html-embed__buttons-wrapper .ck-button:not(:first-child){margin-top:var(--ck-spacing-small)}.ck-widget.raw-html-embed[dir=rtl] .raw-html-embed__buttons-wrapper{left:var(--ck-spacing-standard);right:auto}.ck-widget.raw-html-embed .raw-html-embed__source{box-sizing:border-box;height:var(--ck-html-embed-source-height);width:var(--ck-html-embed-content-width);resize:none;min-width:0;padding:var(--ck-spacing-standard);font-family:monospace;tab-size:4;white-space:pre-wrap;font-size:var(--ck-font-size-base);text-align:left;direction:ltr}.ck-widget.raw-html-embed .raw-html-embed__source[disabled]{background:var(--ck-html-embed-source-disabled-background);color:var(--ck-html-embed-source-disabled-color);-webkit-text-fill-color:var(--ck-html-embed-source-disabled-color);opacity:1}.ck-widget.raw-html-embed .raw-html-embed__preview{min-height:var(--ck-html-embed-content-min-height);width:var(--ck-html-embed-content-width)}.ck-editor__editable:not(.ck-read-only) .ck-widget.raw-html-embed .raw-html-embed__preview{pointer-events:none}.ck-widget.raw-html-embed .raw-html-embed__preview-content{box-sizing:border-box;text-align:center;background-color:var(--ck-color-base-foreground)}.ck-widget.raw-html-embed .raw-html-embed__preview-content>*{margin-left:auto;margin-right:auto}.ck-widget.raw-html-embed .raw-html-embed__preview-placeholder{color:var(--ck-html-embed-source-disabled-color)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-html-embed/theme/htmlembed.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-html-embed/htmlembed.css\"],names:[],mappings:\"AAMA,0BAIC,gBAAkB,CAClB,iBAAkB,CAClB,iBAAkB,CAIlB,cAAe,CAGf,iBAgDD,CA5CC,iCACC,iBAAkB,CAGlB,SACD,CAKA,2DACC,iBAAkB,CAClB,YAAa,CACb,qBACD,CAEA,mDACC,iBAAkB,CAClB,eAAgB,CAChB,YACD,CAEA,2DACC,UAAW,CACX,iBAAkB,CAClB,WAAY,CAGZ,aAAc,CACd,wBAAyB,CACzB,kBACD,CAEA,+DACC,iBAAkB,CAClB,MAAO,CACP,KAAM,CACN,OAAQ,CACR,QAAS,CAET,YAAa,CACb,kBAAmB,CACnB,sBACD,CC7DD,MACC,kEAAqE,CACrE,kCAAmC,CACnC,2CAA4C,CAC5C,yFAA0F,CAE1F,0EAA2E,CAC3E,6CACD,CAGA,0BACC,kCAAmC,CACnC,gDA0ID,CAxIC,+DACC,iGACD,CAGA,mCACC,eACD,CAEA,mCACC,gBACD,CAIA,iCACC,mCAAoC,CACpC,yDAA4D,CAC5D,+BAAgC,CAChC,eAA4B,CAC5B,0GAA2G,CAC3G,kIAAmI,CACnI,iEAAkE,CAClE,qCAAsC,CACtC,kCAAmC,CACnC,+BACD,CAEA,0CACC,SAAU,CACV,gCACD,CAGA,iIACC,gBACD,CAxCD,uFA2CE,KAAQ,CACR,sDAgGF,CA5IA,6FAgDE,KAAM,CACN,sDAAuD,CACvD,uCA0FF,CA5IA,wFAsDE,KAAQ,CACR,sDAqFF,CAhFC,2DACC,kCACD,CAGA,2DACC,8BAA+B,CAC/B,gCAaD,CAXC,kGACC,iCACD,CAEA,oGACC,mCACD,CAEA,wFACC,kCACD,CAGD,oEACC,+BAAgC,CAChC,UACD,CAGA,kDACC,qBAAsB,CACtB,yCAA0C,CAC1C,wCAAyC,CACzC,WAAY,CACZ,WAAY,CACZ,kCAAmC,CAEnC,qBAAsB,CACtB,UAAW,CACX,oBAAqB,CACrB,kCAAmC,CAGnC,eAAgB,CAChB,aAUD,CARC,4DACC,0DAA2D,CAC3D,gDAAiD,CAGjD,kEAAmE,CACnE,SACD,CAID,mDACC,kDAAmD,CACnD,wCAMD,CARA,2FAME,mBAEF,CAEA,2DACC,qBAAsB,CACtB,iBAAkB,CAClB,gDAMD,CAJC,6DACC,gBAAiB,CACjB,iBACD,CAGD,+DACC,gDACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/* The feature container. */\\n.ck-widget.raw-html-embed {\\n\\t/* Give the embed some air. */\\n\\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\\n\\tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\\n\\tmargin: 0.9em auto;\\n\\tposition: relative;\\n\\tdisplay: flow-root;\\n\\n\\t/* Give the html embed some minimal width in the content to prevent them\\n\\tfrom being \"squashed\" in tight spaces, e.g. in table cells (https://github.com/ckeditor/ckeditor5/issues/8331) */\\n\\tmin-width: 15em;\\n\\n\\t/* Don\\'t inherit the style, e.g. when in a block quote. */\\n\\tfont-style: normal;\\n\\n\\t/* ----- Emebed label in the upper left corner ----------------------------------------------- */\\n\\n\\t&::before {\\n\\t\\tposition: absolute;\\n\\n\\t\\t/* Make sure the content does not cover the label. */\\n\\t\\tz-index: 1;\\n\\t}\\n\\n\\t/* ----- Emebed internals --------------------------------------------------------------------- */\\n\\n\\t/* The switch mode button wrapper. */\\n\\t& .raw-html-embed__buttons-wrapper {\\n\\t\\tposition: absolute;\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t}\\n\\n\\t& .raw-html-embed__preview {\\n\\t\\tposition: relative;\\n\\t\\toverflow: hidden;\\n\\t\\tdisplay: flex;\\n\\t}\\n\\n\\t& .raw-html-embed__preview-content {\\n\\t\\twidth: 100%;\\n\\t\\tposition: relative;\\n\\t\\tmargin: auto;\\n\\n\\t\\t/* Gives spacing to the small renderable elements, so they always cover the placeholder. */\\n\\t\\tdisplay: table;\\n\\t\\tborder-collapse: separate;\\n\\t\\tborder-spacing: 7px;\\n\\t}\\n\\n\\t& .raw-html-embed__preview-placeholder {\\n\\t\\tposition: absolute;\\n\\t\\tleft: 0;\\n\\t\\ttop: 0;\\n\\t\\tright: 0;\\n\\t\\tbottom: 0;\\n\\n\\t\\tdisplay: flex;\\n\\t\\talign-items: center;\\n\\t\\tjustify-content: center;\\n\\t}\\n}\\n','/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-html-embed-content-width: calc(100% - 1.5 * var(--ck-icon-size));\\n\\t--ck-html-embed-source-height: 10em;\\n\\t--ck-html-embed-unfocused-outline-width: 1px;\\n\\t--ck-html-embed-content-min-height: calc(var(--ck-icon-size) + var(--ck-spacing-standard));\\n\\n\\t--ck-html-embed-source-disabled-background: var(--ck-color-base-foreground);\\n\\t--ck-html-embed-source-disabled-color: hsl(0deg 0% 45%);\\n}\\n\\n/* The feature container. */\\n.ck-widget.raw-html-embed {\\n\\tfont-size: var(--ck-font-size-base);\\n\\tbackground-color: var(--ck-color-base-foreground);\\n\\n\\t&:not(.ck-widget_selected):not(:hover) {\\n\\t\\toutline: var(--ck-html-embed-unfocused-outline-width) dashed var(--ck-color-widget-blurred-border);\\n\\t}\\n\\n\\t/* HTML embed widget itself should respect UI language direction */\\n\\t&[dir=\"ltr\"] {\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\t&[dir=\"rtl\"] {\\n\\t\\ttext-align: right;\\n\\t}\\n\\n\\t/* ----- Embed label in the upper left corner ----------------------------------------------- */\\n\\n\\t&::before {\\n\\t\\tcontent: attr(data-html-embed-label);\\n\\t\\ttop: calc(-1 * var(--ck-html-embed-unfocused-outline-width));\\n\\t\\tleft: var(--ck-spacing-standard);\\n\\t\\tbackground: hsl(0deg 0% 60%);\\n\\t\\ttransition: background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\\n\\t\\tpadding: calc(var(--ck-spacing-tiny) + var(--ck-html-embed-unfocused-outline-width)) var(--ck-spacing-small) var(--ck-spacing-tiny);\\n\\t\\tborder-radius: 0 0 var(--ck-border-radius) var(--ck-border-radius);\\n\\t\\tcolor: var(--ck-color-base-background);\\n\\t\\tfont-size: var(--ck-font-size-tiny);\\n\\t\\tfont-family: var(--ck-font-face);\\n\\t}\\n\\n\\t&[dir=\"rtl\"]::before {\\n\\t\\tleft: auto;\\n\\t\\tright: var(--ck-spacing-standard);\\n\\t}\\n\\n\\t/* Make space for label but it only collides in LTR languages */\\n\\t&[dir=\"ltr\"] .ck-widget__type-around .ck-widget__type-around__button.ck-widget__type-around__button_before {\\n\\t\\tmargin-left: 50px;\\n\\t}\\n\\n\\t@nest .ck.ck-editor__editable.ck-blurred &.ck-widget_selected::before {\\n\\t\\ttop: 0px;\\n\\t\\tpadding: var(--ck-spacing-tiny) var(--ck-spacing-small);\\n\\t}\\n\\n\\t@nest .ck.ck-editor__editable:not(.ck-blurred) &.ck-widget_selected::before {\\n\\t\\ttop: 0;\\n\\t\\tpadding: var(--ck-spacing-tiny) var(--ck-spacing-small);\\n\\t\\tbackground: var(--ck-color-focus-border);\\n\\t}\\n\\n\\t@nest .ck.ck-editor__editable &:not(.ck-widget_selected):hover::before {\\n\\t\\ttop: 0px;\\n\\t\\tpadding: var(--ck-spacing-tiny) var(--ck-spacing-small);\\n\\t}\\n\\n\\t/* ----- Emebed internals --------------------------------------------------------------------- */\\n\\n\\t& .raw-html-embed__content-wrapper {\\n\\t\\tpadding: var(--ck-spacing-standard);\\n\\t}\\n\\n\\t/* The switch mode button wrapper. */\\n\\t& .raw-html-embed__buttons-wrapper {\\n\\t\\ttop: var(--ck-spacing-standard);\\n\\t\\tright: var(--ck-spacing-standard);\\n\\n\\t\\t& .ck-button.raw-html-embed__save-button {\\n\\t\\t\\tcolor: var(--ck-color-button-save);\\n\\t\\t}\\n\\n\\t\\t& .ck-button.raw-html-embed__cancel-button {\\n\\t\\t\\tcolor: var(--ck-color-button-cancel);\\n\\t\\t}\\n\\n\\t\\t& .ck-button:not(:first-child) {\\n\\t\\t\\tmargin-top: var(--ck-spacing-small);\\n\\t\\t}\\n\\t}\\n\\n\\t&[dir=\"rtl\"] .raw-html-embed__buttons-wrapper {\\n\\t\\tleft: var(--ck-spacing-standard);\\n\\t\\tright: auto;\\n\\t}\\n\\n\\t/* The edit source element. */\\n\\t& .raw-html-embed__source {\\n\\t\\tbox-sizing: border-box;\\n\\t\\theight: var(--ck-html-embed-source-height);\\n\\t\\twidth: var(--ck-html-embed-content-width);\\n\\t\\tresize: none;\\n\\t\\tmin-width: 0;\\n\\t\\tpadding: var(--ck-spacing-standard);\\n\\n\\t\\tfont-family: monospace;\\n\\t\\ttab-size: 4;\\n\\t\\twhite-space: pre-wrap;\\n\\t\\tfont-size: var(--ck-font-size-base); /* Safari needs this. */\\n\\n\\t\\t/* HTML code is direction–agnostic. */\\n\\t\\ttext-align: left;\\n\\t\\tdirection: ltr;\\n\\n\\t\\t&[disabled] {\\n\\t\\t\\tbackground: var(--ck-html-embed-source-disabled-background);\\n\\t\\t\\tcolor: var(--ck-html-embed-source-disabled-color);\\n\\n\\t\\t\\t/* Safari needs this for the proper text color in disabled input (https://github.com/ckeditor/ckeditor5/issues/8320). */\\n\\t\\t\\t-webkit-text-fill-color: var(--ck-html-embed-source-disabled-color);\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t}\\n\\n\\t/* The preview data container. */\\n\\t& .raw-html-embed__preview {\\n\\t\\tmin-height: var(--ck-html-embed-content-min-height);\\n\\t\\twidth: var(--ck-html-embed-content-width);\\n\\n\\t\\t/* Disable all mouse interaction as long as the editor is not read–only. */\\n\\t\\t@nest .ck-editor__editable:not(.ck-read-only) & {\\n\\t\\t\\tpointer-events: none;\\n\\t\\t}\\n\\t}\\n\\n\\t& .raw-html-embed__preview-content {\\n\\t\\tbox-sizing: border-box;\\n\\t\\ttext-align: center;\\n\\t\\tbackground-color: var(--ck-color-base-foreground);\\n\\n\\t\\t& > * {\\n\\t\\t\\tmargin-left: auto;\\n\\t\\t\\tmargin-right: auto;\\n\\t\\t}\\n\\t}\\n\\n\\t& .raw-html-embed__preview-placeholder {\\n\\t\\tcolor: var(--ck-html-embed-source-disabled-color)\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const a=s},8468:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\":root{--ck-html-object-embed-unfocused-outline-width:1px}.ck-widget.html-object-embed{font-size:var(--ck-font-size-base);background-color:var(--ck-color-base-foreground);padding:var(--ck-spacing-small);padding-top:calc(var(--ck-font-size-tiny) + var(--ck-spacing-large));min-width:calc(76px + var(--ck-spacing-standard))}.ck-widget.html-object-embed:not(.ck-widget_selected):not(:hover){outline:var(--ck-html-object-embed-unfocused-outline-width) dashed var(--ck-color-widget-blurred-border)}.ck-widget.html-object-embed:before{font-weight:400;font-style:normal;position:absolute;content:attr(data-html-object-embed-label);top:0;left:var(--ck-spacing-standard);background:#999;transition:background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);padding:calc(var(--ck-spacing-tiny) + var(--ck-html-object-embed-unfocused-outline-width)) var(--ck-spacing-small) var(--ck-spacing-tiny);border-radius:0 0 var(--ck-border-radius) var(--ck-border-radius);color:var(--ck-color-base-background);font-size:var(--ck-font-size-tiny);font-family:var(--ck-font-face)}.ck-widget.html-object-embed .ck-widget__type-around .ck-widget__type-around__button.ck-widget__type-around__button_before{margin-left:50px}.ck-widget.html-object-embed .html-object-embed__content{pointer-events:none}div.ck-widget.html-object-embed{margin:1em auto}span.ck-widget.html-object-embed{display:inline-block}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-html-support/theme/datafilter.css\"],names:[],mappings:\"AAAA,MACC,kDACD,CAEA,6BACC,kCAAmC,CACnC,gDAAiD,CACjD,+BAAgC,CAEhC,oEAAqE,CACrE,iDA+BD,CA7BC,kEACC,wGACD,CAEA,oCACC,eAAmB,CACnB,iBAAkB,CAClB,iBAAkB,CAClB,0CAA2C,CAC3C,KAAM,CACN,+BAAgC,CAChC,eAA4B,CAC5B,0GAA2G,CAC3G,yIAA0I,CAC1I,iEAAkE,CAClE,qCAAsC,CACtC,kCAAmC,CACnC,+BACD,CAGA,2HACC,gBACD,CAEA,yDAEC,mBACD,CAGD,gCACC,eACD,CAEA,iCACC,oBACD\",sourcesContent:[\":root {\\n\\t--ck-html-object-embed-unfocused-outline-width: 1px;\\n}\\n\\n.ck-widget.html-object-embed {\\n\\tfont-size: var(--ck-font-size-base);\\n\\tbackground-color: var(--ck-color-base-foreground);\\n\\tpadding: var(--ck-spacing-small);\\n\\t/* Leave space for label */\\n\\tpadding-top: calc(var(--ck-font-size-tiny) + var(--ck-spacing-large));\\n\\tmin-width: calc(76px + var(--ck-spacing-standard));\\n\\n\\t&:not(.ck-widget_selected):not(:hover) {\\n\\t\\toutline: var(--ck-html-object-embed-unfocused-outline-width) dashed var(--ck-color-widget-blurred-border);\\n\\t}\\n\\n\\t&::before {\\n\\t\\tfont-weight: normal;\\n\\t\\tfont-style: normal;\\n\\t\\tposition: absolute;\\n\\t\\tcontent: attr(data-html-object-embed-label);\\n\\t\\ttop: 0;\\n\\t\\tleft: var(--ck-spacing-standard);\\n\\t\\tbackground: hsl(0deg 0% 60%);\\n\\t\\ttransition: background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\\n\\t\\tpadding: calc(var(--ck-spacing-tiny) + var(--ck-html-object-embed-unfocused-outline-width)) var(--ck-spacing-small) var(--ck-spacing-tiny);\\n\\t\\tborder-radius: 0 0 var(--ck-border-radius) var(--ck-border-radius);\\n\\t\\tcolor: var(--ck-color-base-background);\\n\\t\\tfont-size: var(--ck-font-size-tiny);\\n\\t\\tfont-family: var(--ck-font-face);\\n\\t}\\n\\n\\t/* Make space for label. */\\n\\t& .ck-widget__type-around .ck-widget__type-around__button.ck-widget__type-around__button_before {\\n\\t\\tmargin-left: 50px;\\n\\t}\\n\\n\\t& .html-object-embed__content {\\n\\t\\t/* Disable user interaction with embed content */\\n\\t\\tpointer-events: none;\\n\\t}\\n}\\n\\ndiv.ck-widget.html-object-embed {\\n\\tmargin: 1em auto;\\n}\\n\\nspan.ck-widget.html-object-embed {\\n\\tdisplay: inline-block;\\n}\\n\\n\"],sourceRoot:\"\"}]);const a=s},9048:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck-content .image{display:table;clear:both;text-align:center;margin:.9em auto;min-width:50px}.ck-content .image img{display:block;margin:0 auto;max-width:100%;min-width:100%}.ck-content .image-inline{display:inline-flex;max-width:100%;align-items:flex-start}.ck-content .image-inline img{flex-grow:1;flex-shrink:1;max-width:100%}.ck.ck-editor__editable .image>figcaption.ck-placeholder:before{padding-left:inherit;padding-right:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ck.ck-editor__editable .image-inline.ck-widget_selected,.ck.ck-editor__editable .image.ck-widget_selected{z-index:1}.ck.ck-editor__editable .image-inline.ck-widget_selected ::selection{display:none}.ck.ck-editor__editable td .image-inline img,.ck.ck-editor__editable th .image-inline img{max-width:none}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/image.css\"],names:[],mappings:\"AAMC,mBACC,aAAc,CACd,UAAW,CACX,iBAAkB,CAKlB,gBAAkB,CAGlB,cAeD,CAbC,uBAEC,aAAc,CAGd,aAAc,CAGd,cAAe,CAGf,cACD,CAGD,0BAMC,mBAAoB,CAGpB,cAAe,CAGf,sBAUD,CARC,8BAEC,WAAY,CACZ,aAAc,CAGd,cACD,CAUD,gEACC,oBAAqB,CACrB,qBAAsB,CAMtB,kBAAmB,CACnB,eAAgB,CAChB,sBACD,CAWA,2GACC,SAUD,CAHC,qEACC,YACD,CAOA,0FACC,cACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck-content {\\n\\t& .image {\\n\\t\\tdisplay: table;\\n\\t\\tclear: both;\\n\\t\\ttext-align: center;\\n\\n\\t\\t/* Make sure there is some space between the content and the image. Center image by default. */\\n\\t\\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\\n\\t \\tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\\n\\t\\tmargin: 0.9em auto;\\n\\n\\t\\t/* Make sure the caption will be displayed properly (See: https://github.com/ckeditor/ckeditor5/issues/1870). */\\n\\t\\tmin-width: 50px;\\n\\n\\t\\t& img {\\n\\t\\t\\t/* Prevent unnecessary margins caused by line-height (see #44). */\\n\\t\\t\\tdisplay: block;\\n\\n\\t\\t\\t/* Center the image if its width is smaller than the content\\'s width. */\\n\\t\\t\\tmargin: 0 auto;\\n\\n\\t\\t\\t/* Make sure the image never exceeds the size of the parent container (ckeditor/ckeditor5-ui#67). */\\n\\t\\t\\tmax-width: 100%;\\n\\n\\t\\t\\t/* Make sure the image is never smaller than the parent container (See: https://github.com/ckeditor/ckeditor5/issues/9300). */\\n\\t\\t\\tmin-width: 100%\\n\\t\\t}\\n\\t}\\n\\n\\t& .image-inline {\\n\\t\\t/*\\n\\t\\t * Normally, the .image-inline would have \"display: inline-block\" and \"img { width: 100% }\" (to follow the wrapper while resizing).\\n\\t\\t * Unfortunately, together with \"srcset\", it gets automatically stretched up to the width of the editing root.\\n\\t\\t * This strange behavior does not happen with inline-flex.\\n\\t\\t */\\n\\t\\tdisplay: inline-flex;\\n\\n\\t\\t/* While being resized, don\\'t allow the image to exceed the width of the editing root. */\\n\\t\\tmax-width: 100%;\\n\\n\\t\\t/* This is required by Safari to resize images in a sensible way. Without this, the browser breaks the ratio. */\\n\\t\\talign-items: flex-start;\\n\\n\\t\\t& img {\\n\\t\\t\\t/* This is necessary for the img to span the entire .image-inline wrapper and to resize properly. */\\n\\t\\t\\tflex-grow: 1;\\n\\t\\t\\tflex-shrink: 1;\\n\\n\\t\\t\\t/* Prevents overflowing the editing root boundaries when an inline image is very wide. */\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck.ck-editor__editable {\\n\\t/*\\n\\t * Inhertit the content styles padding of the in case the integration overrides `text-align: center`\\n\\t * of `.image` (e.g. to the left/right). This ensures the placeholder stays at the padding just like the native\\n\\t * caret does, and not at the edge of .\\n\\t */\\n\\t& .image > figcaption.ck-placeholder::before {\\n\\t\\tpadding-left: inherit;\\n\\t\\tpadding-right: inherit;\\n\\n\\t\\t/*\\n\\t\\t * Make sure the image caption placeholder doesn\\'t overflow the placeholder area.\\n\\t\\t * See https://github.com/ckeditor/ckeditor5/issues/9162.\\n\\t\\t */\\n\\t\\twhite-space: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n\\n\\n\\t/*\\n\\t * Make sure the selected inline image always stays on top of its siblings.\\n\\t * See https://github.com/ckeditor/ckeditor5/issues/9108.\\n\\t */\\n\\t& .image.ck-widget_selected {\\n\\t\\tz-index: 1;\\n\\t}\\n\\n\\t& .image-inline.ck-widget_selected {\\n\\t\\tz-index: 1;\\n\\n\\t\\t/*\\n\\t\\t * Make sure the native browser selection style is not displayed.\\n\\t\\t * Inline image widgets have their own styles for the selected state and\\n\\t\\t * leaving this up to the browser is asking for a visual collision.\\n\\t\\t */\\n\\t\\t& ::selection {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t/* The inline image nested in the table should have its original size if not resized.\\n\\tSee https://github.com/ckeditor/ckeditor5/issues/9117. */\\n\\t& td,\\n\\t& th {\\n\\t\\t& .image-inline img {\\n\\t\\t\\tmax-width: none;\\n\\t\\t}\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const a=s},8662:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\":root{--ck-color-image-caption-background:#f7f7f7;--ck-color-image-caption-text:#333;--ck-color-image-caption-highligted-background:#fd0}.ck-content .image>figcaption{display:table-caption;caption-side:bottom;word-break:break-word;color:var(--ck-color-image-caption-text);background-color:var(--ck-color-image-caption-background);padding:.6em;font-size:.75em;outline-offset:-1px}.ck.ck-editor__editable .image>figcaption.image__caption_highlighted{animation:ck-image-caption-highlight .6s ease-out}@keyframes ck-image-caption-highlight{0%{background-color:var(--ck-color-image-caption-highligted-background)}to{background-color:var(--ck-color-image-caption-background)}}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imagecaption.css\"],names:[],mappings:\"AAKA,MACC,2CAAoD,CACpD,kCAA8C,CAC9C,mDACD,CAGA,8BACC,qBAAsB,CACtB,mBAAoB,CACpB,qBAAsB,CACtB,wCAAyC,CACzC,yDAA0D,CAC1D,YAAa,CACb,eAAgB,CAChB,mBACD,CAGA,qEACC,iDACD,CAEA,sCACC,GACC,oEACD,CAEA,GACC,yDACD,CACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-color-image-caption-background: hsl(0, 0%, 97%);\\n\\t--ck-color-image-caption-text: hsl(0, 0%, 20%);\\n\\t--ck-color-image-caption-highligted-background: hsl(52deg 100% 50%);\\n}\\n\\n/* Content styles */\\n.ck-content .image > figcaption {\\n\\tdisplay: table-caption;\\n\\tcaption-side: bottom;\\n\\tword-break: break-word;\\n\\tcolor: var(--ck-color-image-caption-text);\\n\\tbackground-color: var(--ck-color-image-caption-background);\\n\\tpadding: .6em;\\n\\tfont-size: .75em;\\n\\toutline-offset: -1px;\\n}\\n\\n/* Editing styles */\\n.ck.ck-editor__editable .image > figcaption.image__caption_highlighted {\\n\\tanimation: ck-image-caption-highlight .6s ease-out;\\n}\\n\\n@keyframes ck-image-caption-highlight {\\n\\t0% {\\n\\t\\tbackground-color: var(--ck-color-image-caption-highligted-background);\\n\\t}\\n\\n\\t100% {\\n\\t\\tbackground-color: var(--ck-color-image-caption-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},9292:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-image-insert__panel{padding:var(--ck-spacing-large)}.ck.ck-image-insert__ck-finder-button{display:block;width:100%;margin:var(--ck-spacing-standard) auto;border:1px solid #ccc;border-radius:var(--ck-border-radius)}.ck.ck-splitbutton>.ck-file-dialog-button.ck-button{padding:0;margin:0;border:none}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageinsert.css\"],names:[],mappings:\"AAKA,2BACC,+BACD,CAEA,sCACC,aAAc,CACd,UAAW,CACX,sCAAuC,CACvC,qBAAiC,CACjC,qCACD,CAGA,oDACC,SAAU,CACV,QAAS,CACT,WACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-image-insert__panel {\\n\\tpadding: var(--ck-spacing-large);\\n}\\n\\n.ck.ck-image-insert__ck-finder-button {\\n\\tdisplay: block;\\n\\twidth: 100%;\\n\\tmargin: var(--ck-spacing-standard) auto;\\n\\tborder: 1px solid hsl(0, 0%, 80%);\\n\\tborder-radius: var(--ck-border-radius);\\n}\\n\\n/* https://github.com/ckeditor/ckeditor5/issues/7986 */\\n.ck.ck-splitbutton > .ck-file-dialog-button.ck-button {\\n\\tpadding: 0;\\n\\tmargin: 0;\\n\\tborder: none;\\n}\\n\"],sourceRoot:\"\"}]);const a=s},5150:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-image-insert-form:focus{outline:none}.ck.ck-form__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.ck.ck-form__row>:not(.ck-label){flex-grow:1}.ck.ck-form__row.ck-image-insert-form__action-row{margin-top:var(--ck-spacing-standard)}.ck.ck-form__row.ck-image-insert-form__action-row .ck-button-cancel,.ck.ck-form__row.ck-image-insert-form__action-row .ck-button-save{justify-content:center}.ck.ck-form__row.ck-image-insert-form__action-row .ck-button .ck-button__label{color:var(--ck-color-text)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageinsertformrowview.css\"],names:[],mappings:\"AAMC,+BAEC,YACD,CAGD,iBACC,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CACjB,6BAmBD,CAhBC,iCACC,WACD,CAEA,kDACC,qCAUD,CARC,sIAEC,sBACD,CAEA,+EACC,0BACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-image-insert-form {\\n\\t&:focus {\\n\\t\\t/* See: https://github.com/ckeditor/ckeditor5/issues/4773 */\\n\\t\\toutline: none;\\n\\t}\\n}\\n\\n.ck.ck-form__row {\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-wrap: nowrap;\\n\\tjustify-content: space-between;\\n\\n\\t/* Ignore labels that work as fieldset legends */\\n\\t& > *:not(.ck-label) {\\n\\t\\tflex-grow: 1;\\n\\t}\\n\\n\\t&.ck-image-insert-form__action-row {\\n\\t\\tmargin-top: var(--ck-spacing-standard);\\n\\n\\t\\t& .ck-button-save,\\n\\t\\t& .ck-button-cancel {\\n\\t\\t\\tjustify-content: center;\\n\\t\\t}\\n\\n\\t\\t& .ck-button .ck-button__label {\\n\\t\\t\\tcolor: var(--ck-color-text);\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},1043:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck-content .image.image_resized{max-width:100%;display:block;box-sizing:border-box}.ck-content .image.image_resized img{width:100%}.ck-content .image.image_resized>figcaption{display:block}.ck.ck-editor__editable td .image-inline.image_resized img,.ck.ck-editor__editable th .image-inline.image_resized img{max-width:100%}[dir=ltr] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon{margin-left:var(--ck-spacing-standard)}.ck.ck-dropdown .ck-button.ck-resize-image-button .ck-button__label{width:4em}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageresize.css\"],names:[],mappings:\"AAKA,iCACC,cAAe,CAMf,aAAc,CACd,qBAWD,CATC,qCAEC,UACD,CAEA,4CAEC,aACD,CAQC,sHACC,cACD,CAIF,oFACC,uCACD,CAEA,oFACC,sCACD,CAEA,oEACC,SACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck-content .image.image_resized {\\n\\tmax-width: 100%;\\n\\t/*\\n\\tThe `` element for resized images must not use `display:table` as browsers do not support `max-width` for it well.\\n\\tSee https://stackoverflow.com/questions/4019604/chrome-safari-ignoring-max-width-in-table/14420691#14420691 for more.\\n\\tFortunately, since we control the width, there is no risk that the image will look bad.\\n\\t*/\\n\\tdisplay: block;\\n\\tbox-sizing: border-box;\\n\\n\\t& img {\\n\\t\\t/* For resized images it is the `` element that determines the image width. */\\n\\t\\twidth: 100%;\\n\\t}\\n\\n\\t& > figcaption {\\n\\t\\t/* The `` element uses `display:block`, so `` also has to. */\\n\\t\\tdisplay: block;\\n\\t}\\n}\\n\\n.ck.ck-editor__editable {\\n\\t/* The resized inline image nested in the table should respect its parent size.\\n\\tSee https://github.com/ckeditor/ckeditor5/issues/9117. */\\n\\t& td,\\n\\t& th {\\n\\t\\t& .image-inline.image_resized img {\\n\\t\\t\\tmax-width: 100%;\\n\\t\\t}\\n\\t}\\n}\\n\\n[dir=\"ltr\"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon {\\n\\tmargin-right: var(--ck-spacing-standard);\\n}\\n\\n[dir=\"rtl\"] .ck.ck-button.ck-button_with-text.ck-resize-image-button .ck-button__icon {\\n\\tmargin-left: var(--ck-spacing-standard);\\n}\\n\\n.ck.ck-dropdown .ck-button.ck-resize-image-button .ck-button__label {\\n\\twidth: 4em;\\n}\\n'],sourceRoot:\"\"}]);const a=s},4622:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\":root{--ck-image-style-spacing:1.5em;--ck-inline-image-style-spacing:calc(var(--ck-image-style-spacing)/2)}.ck-content .image-style-block-align-left,.ck-content .image-style-block-align-right{max-width:calc(100% - var(--ck-image-style-spacing))}.ck-content .image-style-align-left,.ck-content .image-style-align-right{clear:none}.ck-content .image-style-side{float:right;margin-left:var(--ck-image-style-spacing);max-width:50%}.ck-content .image-style-align-left{float:left;margin-right:var(--ck-image-style-spacing)}.ck-content .image-style-align-center{margin-left:auto;margin-right:auto}.ck-content .image-style-align-right{float:right;margin-left:var(--ck-image-style-spacing)}.ck-content .image-style-block-align-right{margin-right:0;margin-left:auto}.ck-content .image-style-block-align-left{margin-left:0;margin-right:auto}.ck-content p+.image-style-align-left,.ck-content p+.image-style-align-right,.ck-content p+.image-style-side{margin-top:0}.ck-content .image-inline.image-style-align-left,.ck-content .image-inline.image-style-align-right{margin-top:var(--ck-inline-image-style-spacing);margin-bottom:var(--ck-inline-image-style-spacing)}.ck-content .image-inline.image-style-align-left{margin-right:var(--ck-inline-image-style-spacing)}.ck-content .image-inline.image-style-align-right{margin-left:var(--ck-inline-image-style-spacing)}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover){background-color:var(--ck-color-button-on-background)}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__action:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__action:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton.ck-splitbutton_flatten:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover):after{display:none}.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__action:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__arrow:not(.ck-disabled),.ck.ck-splitbutton.ck-splitbutton_flatten.ck-splitbutton_open:hover>.ck-splitbutton__arrow:not(.ck-disabled):not(:hover){background-color:var(--ck-color-button-on-hover-background)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imagestyle.css\"],names:[],mappings:\"AAKA,MACC,8BAA+B,CAC/B,qEACD,CAMC,qFAEC,oDACD,CAIA,yEAEC,UACD,CAEA,8BACC,WAAY,CACZ,yCAA0C,CAC1C,aACD,CAEA,oCACC,UAAW,CACX,0CACD,CAEA,sCACC,gBAAiB,CACjB,iBACD,CAEA,qCACC,WAAY,CACZ,yCACD,CAEA,2CACC,cAAe,CACf,gBACD,CAEA,0CACC,aAAc,CACd,iBACD,CAGA,6GAGC,YACD,CAGC,mGAEC,+CAAgD,CAChD,kDACD,CAEA,iDACC,iDACD,CAEA,kDACC,gDACD,CAUC,0lBAGC,qDAKD,CAHC,8nBACC,YACD,CAKD,oVAGC,2DACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-image-style-spacing: 1.5em;\\n\\t--ck-inline-image-style-spacing: calc(var(--ck-image-style-spacing) / 2);\\n}\\n\\n.ck-content {\\n\\t/* Provides a minimal side margin for the left and right aligned images, so that the user has a visual feedback\\n\\tconfirming successful application of the style if image width exceeds the editor's size.\\n\\tSee https://github.com/ckeditor/ckeditor5/issues/9342 */\\n\\t& .image-style-block-align-left,\\n\\t& .image-style-block-align-right {\\n\\t\\tmax-width: calc(100% - var(--ck-image-style-spacing));\\n\\t}\\n\\n\\t/* Allows displaying multiple floating images in the same line.\\n\\tSee https://github.com/ckeditor/ckeditor5/issues/9183#issuecomment-804988132 */\\n\\t& .image-style-align-left,\\n\\t& .image-style-align-right {\\n\\t\\tclear: none;\\n\\t}\\n\\n\\t& .image-style-side {\\n\\t\\tfloat: right;\\n\\t\\tmargin-left: var(--ck-image-style-spacing);\\n\\t\\tmax-width: 50%;\\n\\t}\\n\\n\\t& .image-style-align-left {\\n\\t\\tfloat: left;\\n\\t\\tmargin-right: var(--ck-image-style-spacing);\\n\\t}\\n\\n\\t& .image-style-align-center {\\n\\t\\tmargin-left: auto;\\n\\t\\tmargin-right: auto;\\n\\t}\\n\\n\\t& .image-style-align-right {\\n\\t\\tfloat: right;\\n\\t\\tmargin-left: var(--ck-image-style-spacing);\\n\\t}\\n\\n\\t& .image-style-block-align-right {\\n\\t\\tmargin-right: 0;\\n\\t\\tmargin-left: auto;\\n\\t}\\n\\n\\t& .image-style-block-align-left {\\n\\t\\tmargin-left: 0;\\n\\t\\tmargin-right: auto;\\n\\t}\\n\\n\\t/* Simulates margin collapsing with the preceding paragraph, which does not work for the floating elements. */\\n\\t& p + .image-style-align-left,\\n\\t& p + .image-style-align-right,\\n\\t& p + .image-style-side {\\n\\t\\tmargin-top: 0;\\n\\t}\\n\\n\\t& .image-inline {\\n\\t\\t&.image-style-align-left,\\n\\t\\t&.image-style-align-right {\\n\\t\\t\\tmargin-top: var(--ck-inline-image-style-spacing);\\n\\t\\t\\tmargin-bottom: var(--ck-inline-image-style-spacing);\\n\\t\\t}\\n\\n\\t\\t&.image-style-align-left {\\n\\t\\t\\tmargin-right: var(--ck-inline-image-style-spacing);\\n\\t\\t}\\n\\n\\t\\t&.image-style-align-right {\\n\\t\\t\\tmargin-left: var(--ck-inline-image-style-spacing);\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck.ck-splitbutton {\\n\\t/* The button should display as a regular drop-down if the action button\\n\\tis forced to fire the same action as the arrow button. */\\n\\t&.ck-splitbutton_flatten {\\n\\t\\t&:hover,\\n\\t\\t&.ck-splitbutton_open {\\n\\t\\t\\t& > .ck-splitbutton__action:not(.ck-disabled),\\n\\t\\t\\t& > .ck-splitbutton__arrow:not(.ck-disabled),\\n\\t\\t\\t& > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) {\\n\\t\\t\\t\\tbackground-color: var(--ck-color-button-on-background);\\n\\n\\t\\t\\t\\t&::after {\\n\\t\\t\\t\\t\\tdisplay: none;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&.ck-splitbutton_open:hover {\\n\\t\\t\\t& > .ck-splitbutton__action:not(.ck-disabled),\\n\\t\\t\\t& > .ck-splitbutton__arrow:not(.ck-disabled),\\n\\t\\t\\t& > .ck-splitbutton__arrow:not(.ck-disabled):not(:hover) {\\n\\t\\t\\t\\tbackground-color: var(--ck-color-button-on-hover-background);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},9899:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,'.ck-image-upload-complete-icon{display:block;position:absolute;top:min(var(--ck-spacing-medium),6%);right:min(var(--ck-spacing-medium),6%);border-radius:50%;z-index:1}.ck-image-upload-complete-icon:after{content:\"\";position:absolute}:root{--ck-color-image-upload-icon:#fff;--ck-color-image-upload-icon-background:#008a00;--ck-image-upload-icon-size:20;--ck-image-upload-icon-width:2px;--ck-image-upload-icon-is-visible:clamp(0px,100% - 50px,1px)}.ck-image-upload-complete-icon{opacity:0;background:var(--ck-color-image-upload-icon-background);animation-name:ck-upload-complete-icon-show,ck-upload-complete-icon-hide;animation-fill-mode:forwards,forwards;animation-duration:.5s,.5s;font-size:calc(1px*var(--ck-image-upload-icon-size));animation-delay:0ms,3s;overflow:hidden;width:calc(var(--ck-image-upload-icon-is-visible)*var(--ck-image-upload-icon-size));height:calc(var(--ck-image-upload-icon-is-visible)*var(--ck-image-upload-icon-size))}.ck-image-upload-complete-icon:after{left:25%;top:50%;opacity:0;height:0;width:0;transform:scaleX(-1) rotate(135deg);transform-origin:left top;border-top:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);border-right:var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);animation-name:ck-upload-complete-icon-check;animation-duration:.5s;animation-delay:.5s;animation-fill-mode:forwards;box-sizing:border-box}@keyframes ck-upload-complete-icon-show{0%{opacity:0}to{opacity:1}}@keyframes ck-upload-complete-icon-hide{0%{opacity:1}to{opacity:0}}@keyframes ck-upload-complete-icon-check{0%{opacity:1;width:0;height:0}33%{width:.3em;height:0}to{opacity:1;width:.3em;height:.45em}}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadicon.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadicon.css\"],names:[],mappings:\"AAKA,+BACC,aAAc,CACd,iBAAkB,CAMlB,oCAAsC,CACtC,sCAAwC,CACxC,iBAAkB,CAClB,SAMD,CAJC,qCACC,UAAW,CACX,iBACD,CChBD,MACC,iCAA8C,CAC9C,+CAA4D,CAG5D,8BAA+B,CAC/B,gCAAiC,CACjC,4DACD,CAEA,+BACC,SAAU,CACV,uDAAwD,CACxD,wEAA0E,CAC1E,qCAAuC,CACvC,0BAAgC,CAGhC,oDAAuD,CAGvD,sBAA4B,CAM5B,eAAgB,CAChB,mFAAsF,CACtF,oFAyBD,CAtBC,qCAEC,QAAS,CAET,OAAQ,CACR,SAAU,CACV,QAAS,CACT,OAAQ,CAER,mCAAoC,CACpC,yBAA0B,CAC1B,oFAAqF,CACrF,sFAAuF,CAEvF,4CAA6C,CAC7C,sBAAyB,CACzB,mBAAsB,CACtB,4BAA6B,CAG7B,qBACD,CAGD,wCACC,GACC,SACD,CAEA,GACC,SACD,CACD,CAEA,wCACC,GACC,SACD,CAEA,GACC,SACD,CACD,CAEA,yCACC,GACC,SAAU,CACV,OAAQ,CACR,QACD,CACA,IACC,UAAY,CACZ,QACD,CACA,GACC,SAAU,CACV,UAAY,CACZ,YACD,CACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck-image-upload-complete-icon {\\n\\tdisplay: block;\\n\\tposition: absolute;\\n\\n\\t/*\\n\\t * Smaller images should have the icon closer to the border.\\n\\t * Match the icon position with the linked image indicator brought by the link image feature.\\n\\t */\\n\\ttop: min(var(--ck-spacing-medium), 6%);\\n\\tright: min(var(--ck-spacing-medium), 6%);\\n\\tborder-radius: 50%;\\n\\tz-index: 1;\\n\\n\\t&::after {\\n\\t\\tcontent: \"\";\\n\\t\\tposition: absolute;\\n\\t}\\n}\\n','/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-color-image-upload-icon: hsl(0, 0%, 100%);\\n\\t--ck-color-image-upload-icon-background: hsl(120, 100%, 27%);\\n\\n\\t/* Match the icon size with the linked image indicator brought by the link image feature. */\\n\\t--ck-image-upload-icon-size: 20;\\n\\t--ck-image-upload-icon-width: 2px;\\n\\t--ck-image-upload-icon-is-visible: clamp(0px, 100% - 50px, 1px);\\n}\\n\\n.ck-image-upload-complete-icon {\\n\\topacity: 0;\\n\\tbackground: var(--ck-color-image-upload-icon-background);\\n\\tanimation-name: ck-upload-complete-icon-show, ck-upload-complete-icon-hide;\\n\\tanimation-fill-mode: forwards, forwards;\\n\\tanimation-duration: 500ms, 500ms;\\n\\n\\t/* To make animation scalable. */\\n\\tfont-size: calc(1px * var(--ck-image-upload-icon-size));\\n\\n\\t/* Hide completed upload icon after 3 seconds. */\\n\\tanimation-delay: 0ms, 3000ms;\\n\\n\\t/*\\n\\t * Use CSS math to simulate container queries.\\n\\t * https://css-tricks.com/the-raven-technique-one-step-closer-to-container-queries/#what-about-showing-and-hiding-things\\n\\t */\\n\\toverflow: hidden;\\n\\twidth: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size));\\n\\theight: calc(var(--ck-image-upload-icon-is-visible) * var(--ck-image-upload-icon-size));\\n\\n\\t/* This is check icon element made from border-width mixed with animations. */\\n\\t&::after {\\n\\t\\t/* Because of border transformation we need to \"hard code\" left position. */\\n\\t\\tleft: 25%;\\n\\n\\t\\ttop: 50%;\\n\\t\\topacity: 0;\\n\\t\\theight: 0;\\n\\t\\twidth: 0;\\n\\n\\t\\ttransform: scaleX(-1) rotate(135deg);\\n\\t\\ttransform-origin: left top;\\n\\t\\tborder-top: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);\\n\\t\\tborder-right: var(--ck-image-upload-icon-width) solid var(--ck-color-image-upload-icon);\\n\\n\\t\\tanimation-name: ck-upload-complete-icon-check;\\n\\t\\tanimation-duration: 500ms;\\n\\t\\tanimation-delay: 500ms;\\n\\t\\tanimation-fill-mode: forwards;\\n\\n\\t\\t/* #1095. While reset is not providing proper box-sizing for pseudoelements, we need to handle it. */\\n\\t\\tbox-sizing: border-box;\\n\\t}\\n}\\n\\n@keyframes ck-upload-complete-icon-show {\\n\\tfrom {\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\tto {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\\n@keyframes ck-upload-complete-icon-hide {\\n\\tfrom {\\n\\t\\topacity: 1;\\n\\t}\\n\\n\\tto {\\n\\t\\topacity: 0;\\n\\t}\\n}\\n\\n@keyframes ck-upload-complete-icon-check {\\n\\t0% {\\n\\t\\topacity: 1;\\n\\t\\twidth: 0;\\n\\t\\theight: 0;\\n\\t}\\n\\t33% {\\n\\t\\twidth: 0.3em;\\n\\t\\theight: 0;\\n\\t}\\n\\t100% {\\n\\t\\topacity: 1;\\n\\t\\twidth: 0.3em;\\n\\t\\theight: 0.45em;\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const a=s},9825:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,'.ck .ck-upload-placeholder-loader{position:absolute;display:flex;align-items:center;justify-content:center;top:0;left:0}.ck .ck-upload-placeholder-loader:before{content:\"\";position:relative}:root{--ck-color-upload-placeholder-loader:#b3b3b3;--ck-upload-placeholder-loader-size:32px}.ck .ck-image-upload-placeholder{width:100%;margin:0}.ck .ck-upload-placeholder-loader{width:100%;height:100%}.ck .ck-upload-placeholder-loader:before{width:var(--ck-upload-placeholder-loader-size);height:var(--ck-upload-placeholder-loader-size);border-radius:50%;border-top:3px solid var(--ck-color-upload-placeholder-loader);border-right:2px solid transparent;animation:ck-upload-placeholder-loader 1s linear infinite}@keyframes ck-upload-placeholder-loader{to{transform:rotate(1turn)}}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadloader.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadloader.css\"],names:[],mappings:\"AAKA,kCACC,iBAAkB,CAClB,YAAa,CACb,kBAAmB,CACnB,sBAAuB,CACvB,KAAM,CACN,MAMD,CAJC,yCACC,UAAW,CACX,iBACD,CCXD,MACC,4CAAqD,CACrD,wCACD,CAEA,iCAEC,UAAW,CACX,QACD,CAEA,kCACC,UAAW,CACX,WAUD,CARC,yCACC,8CAA+C,CAC/C,+CAAgD,CAChD,iBAAkB,CAClB,8DAA+D,CAC/D,kCAAmC,CACnC,yDACD,CAGD,wCACC,GACC,uBACD,CACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck .ck-upload-placeholder-loader {\\n\\tposition: absolute;\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n\\ttop: 0;\\n\\tleft: 0;\\n\\n\\t&::before {\\n\\t\\tcontent: '';\\n\\t\\tposition: relative;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-color-upload-placeholder-loader: hsl(0, 0%, 70%);\\n\\t--ck-upload-placeholder-loader-size: 32px;\\n}\\n\\n.ck .ck-image-upload-placeholder {\\n\\t/* We need to control the full width of the SVG gray background. */\\n\\twidth: 100%;\\n\\tmargin: 0;\\n}\\n\\n.ck .ck-upload-placeholder-loader {\\n\\twidth: 100%;\\n\\theight: 100%;\\n\\n\\t&::before {\\n\\t\\twidth: var(--ck-upload-placeholder-loader-size);\\n\\t\\theight: var(--ck-upload-placeholder-loader-size);\\n\\t\\tborder-radius: 50%;\\n\\t\\tborder-top: 3px solid var(--ck-color-upload-placeholder-loader);\\n\\t\\tborder-right: 2px solid transparent;\\n\\t\\tanimation: ck-upload-placeholder-loader 1s linear infinite;\\n\\t}\\n}\\n\\n@keyframes ck-upload-placeholder-loader {\\n\\tto {\\n\\t\\ttransform: rotate( 360deg );\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},5870:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-editor__editable .image,.ck.ck-editor__editable .image-inline{position:relative}.ck.ck-editor__editable .image-inline .ck-progress-bar,.ck.ck-editor__editable .image .ck-progress-bar{position:absolute;top:0;left:0}.ck.ck-editor__editable .image-inline.ck-appear,.ck.ck-editor__editable .image.ck-appear{animation:fadeIn .7s}.ck.ck-editor__editable .image-inline .ck-progress-bar,.ck.ck-editor__editable .image .ck-progress-bar{height:2px;width:0;background:var(--ck-color-upload-bar-background);transition:width .1s}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/imageuploadprogress.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-image/imageuploadprogress.css\"],names:[],mappings:\"AAMC,qEAEC,iBACD,CAGA,uGAEC,iBAAkB,CAClB,KAAM,CACN,MACD,CCRC,yFACC,oBACD,CAID,uGAEC,UAAW,CACX,OAAQ,CACR,gDAAiD,CACjD,oBACD,CAGD,kBACC,GAAO,SAAY,CACnB,GAAO,SAAY,CACpB\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-editor__editable {\\n\\t& .image,\\n\\t& .image-inline {\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t/* Upload progress bar. */\\n\\t& .image .ck-progress-bar,\\n\\t& .image-inline .ck-progress-bar {\\n\\t\\tposition: absolute;\\n\\t\\ttop: 0;\\n\\t\\tleft: 0;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-editor__editable {\\n\\t& .image,\\n\\t& .image-inline {\\n\\t\\t/* Showing animation. */\\n\\t\\t&.ck-appear {\\n\\t\\t\\tanimation: fadeIn 700ms;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Upload progress bar. */\\n\\t& .image .ck-progress-bar,\\n\\t& .image-inline .ck-progress-bar {\\n\\t\\theight: 2px;\\n\\t\\twidth: 0;\\n\\t\\tbackground: var(--ck-color-upload-bar-background);\\n\\t\\ttransition: width 100ms;\\n\\t}\\n}\\n\\n@keyframes fadeIn {\\n\\tfrom { opacity: 0; }\\n\\tto { opacity: 1; }\\n}\\n\"],sourceRoot:\"\"}]);const a=s},6831:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-text-alternative-form{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-text-alternative-form .ck-labeled-field-view{display:inline-block}.ck.ck-text-alternative-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-text-alternative-form{flex-wrap:wrap}.ck.ck-text-alternative-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-text-alternative-form .ck-button{flex-basis:50%}}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-image/theme/textalternativeform.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\"],names:[],mappings:\"AAOA,6BACC,YAAa,CACb,kBAAmB,CACnB,gBAqBD,CAnBC,oDACC,oBACD,CAEA,uCACC,YACD,CCZA,oCDCD,6BAcE,cAUF,CARE,oDACC,eACD,CAEA,wCACC,cACD,CCrBD\",sourcesContent:['/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\";\\n\\n.ck.ck-text-alternative-form {\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-wrap: nowrap;\\n\\n\\t& .ck-labeled-field-view {\\n\\t\\tdisplay: inline-block;\\n\\t}\\n\\n\\t& .ck-label {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t@mixin ck-media-phone {\\n\\t\\tflex-wrap: wrap;\\n\\n\\t\\t& .ck-labeled-field-view {\\n\\t\\t\\tflex-basis: 100%;\\n\\t\\t}\\n\\n\\t\\t& .ck-button {\\n\\t\\t\\tflex-basis: 50%;\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@define-mixin ck-media-phone {\\n\\t@media screen and (max-width: 600px) {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},4704:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck-content span[lang]{font-style:italic}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-language/theme/language.css\"],names:[],mappings:\"AAAA,uBACC,iBACD\",sourcesContent:[\".ck-content span[lang] {\\n\\tfont-style: italic;\\n}\\n\"],sourceRoot:\"\"}]);const a=s},399:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck .ck-link_selected{background:var(--ck-color-link-selected-background)}.ck .ck-link_selected span.image-inline{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-link-selected-background)}.ck .ck-fake-link-selection{background:var(--ck-color-link-fake-selection)}.ck .ck-fake-link-selection_collapsed{height:100%;border-right:1px solid var(--ck-color-base-text);margin-right:-1px;outline:1px solid hsla(0,0%,100%,.5)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/link.css\"],names:[],mappings:\"AAMA,sBACC,mDAMD,CAHC,wCACC,yFACD,CAOD,4BACC,8CACD,CAGA,sCACC,WAAY,CACZ,gDAAiD,CACjD,iBAAkB,CAClB,oCACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/* Class added to span element surrounding currently selected link. */\\n.ck .ck-link_selected {\\n\\tbackground: var(--ck-color-link-selected-background);\\n\\n\\t/* Give linked inline images some outline to let the user know they are also part of the link. */\\n\\t& span.image-inline {\\n\\t\\toutline: var(--ck-widget-outline-thickness) solid var(--ck-color-link-selected-background);\\n\\t}\\n}\\n\\n/*\\n * Classes used by the \"fake visual selection\" displayed in the content when an input\\n * in the link UI has focus (the browser does not render the native selection in this state).\\n */\\n.ck .ck-fake-link-selection {\\n\\tbackground: var(--ck-color-link-fake-selection);\\n}\\n\\n/* A collapsed fake visual selection. */\\n.ck .ck-fake-link-selection_collapsed {\\n\\theight: 100%;\\n\\tborder-right: 1px solid var(--ck-color-base-text);\\n\\tmargin-right: -1px;\\n\\toutline: solid 1px hsla(0, 0%, 100%, .5);\\n}\\n'],sourceRoot:\"\"}]);const a=s},9465:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-link-actions{display:flex;flex-direction:row;flex-wrap:nowrap}.ck.ck-link-actions .ck-link-actions__preview{display:inline-block}.ck.ck-link-actions .ck-link-actions__preview .ck-button__label{overflow:hidden}@media screen and (max-width:600px){.ck.ck-link-actions{flex-wrap:wrap}.ck.ck-link-actions .ck-link-actions__preview{flex-basis:100%}.ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){flex-basis:50%}}.ck.ck-link-actions .ck-button.ck-link-actions__preview{padding-left:0;padding-right:0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{padding:0 var(--ck-spacing-medium);color:var(--ck-color-link-default);text-overflow:ellipsis;cursor:pointer;max-width:var(--ck-input-text-width);min-width:3em;text-align:center}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label:hover{text-decoration:underline}.ck.ck-link-actions .ck-button.ck-link-actions__preview,.ck.ck-link-actions .ck-button.ck-link-actions__preview:active,.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus,.ck.ck-link-actions .ck-button.ck-link-actions__preview:hover{background:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:active{box-shadow:none}.ck.ck-link-actions .ck-button.ck-link-actions__preview:focus .ck-button__label{text-decoration:underline}[dir=ltr] .ck.ck-link-actions .ck-button:not(:first-child),[dir=rtl] .ck.ck-link-actions .ck-button:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-link-actions .ck-button.ck-link-actions__preview{margin:var(--ck-spacing-standard) var(--ck-spacing-standard) 0}.ck.ck-link-actions .ck-button.ck-link-actions__preview .ck-button__label{min-width:0;max-width:100%}[dir=ltr] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview),[dir=rtl] .ck.ck-link-actions .ck-button:not(.ck-link-actions__preview){margin-left:0}}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-link/theme/linkactions.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/linkactions.css\"],names:[],mappings:\"AAOA,oBACC,YAAa,CACb,kBAAmB,CACnB,gBAqBD,CAnBC,8CACC,oBAKD,CAHC,gEACC,eACD,CCXD,oCDCD,oBAcE,cAUF,CARE,8CACC,eACD,CAEA,8DACC,cACD,CCrBD,CCKA,wDACC,cAAe,CACf,eAmCD,CAjCC,0EACC,kCAAmC,CACnC,kCAAmC,CACnC,sBAAuB,CACvB,cAAe,CAIf,oCAAqC,CACrC,aAAc,CACd,iBAKD,CAHC,gFACC,yBACD,CAGD,mPAIC,eACD,CAEA,+DACC,eACD,CAGC,gFACC,yBACD,CAWD,qHACC,sCACD,CDvDD,oCC2DC,wDACC,8DAMD,CAJC,0EACC,WAAY,CACZ,cACD,CAGD,gJAME,aAEF,CD1ED\",sourcesContent:['/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\";\\n\\n.ck.ck-link-actions {\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-wrap: nowrap;\\n\\n\\t& .ck-link-actions__preview {\\n\\t\\tdisplay: inline-block;\\n\\n\\t\\t& .ck-button__label {\\n\\t\\t\\toverflow: hidden;\\n\\t\\t}\\n\\t}\\n\\n\\t@mixin ck-media-phone {\\n\\t\\tflex-wrap: wrap;\\n\\n\\t\\t& .ck-link-actions__preview {\\n\\t\\t\\tflex-basis: 100%;\\n\\t\\t}\\n\\n\\t\\t& .ck-button:not(.ck-link-actions__preview) {\\n\\t\\t\\tflex-basis: 50%;\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@define-mixin ck-media-phone {\\n\\t@media screen and (max-width: 600px) {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/components/tooltip/mixins/_tooltip.css\";\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css\";\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n@import \"../mixins/_focus.css\";\\n@import \"../mixins/_shadow.css\";\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\";\\n\\n.ck.ck-link-actions {\\n\\t& .ck-button.ck-link-actions__preview {\\n\\t\\tpadding-left: 0;\\n\\t\\tpadding-right: 0;\\n\\n\\t\\t& .ck-button__label {\\n\\t\\t\\tpadding: 0 var(--ck-spacing-medium);\\n\\t\\t\\tcolor: var(--ck-color-link-default);\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\tcursor: pointer;\\n\\n\\t\\t\\t/* Match the box model of the link editor form\\'s input so the balloon\\n\\t\\t\\tdoes not change width when moving between actions and the form. */\\n\\t\\t\\tmax-width: var(--ck-input-text-width);\\n\\t\\t\\tmin-width: 3em;\\n\\t\\t\\ttext-align: center;\\n\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\ttext-decoration: underline;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&,\\n\\t\\t&:hover,\\n\\t\\t&:focus,\\n\\t\\t&:active {\\n\\t\\t\\tbackground: none;\\n\\t\\t}\\n\\n\\t\\t&:active {\\n\\t\\t\\tbox-shadow: none;\\n\\t\\t}\\n\\n\\t\\t&:focus {\\n\\t\\t\\t& .ck-button__label {\\n\\t\\t\\t\\ttext-decoration: underline;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t@mixin ck-dir ltr {\\n\\t\\t& .ck-button:not(:first-child) {\\n\\t\\t\\tmargin-left: var(--ck-spacing-standard);\\n\\t\\t}\\n\\t}\\n\\n\\t@mixin ck-dir rtl {\\n\\t\\t& .ck-button:not(:last-child) {\\n\\t\\t\\tmargin-left: var(--ck-spacing-standard);\\n\\t\\t}\\n\\t}\\n\\n\\t@mixin ck-media-phone {\\n\\t\\t& .ck-button.ck-link-actions__preview {\\n\\t\\t\\tmargin: var(--ck-spacing-standard) var(--ck-spacing-standard) 0;\\n\\n\\t\\t\\t& .ck-button__label {\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\tmax-width: 100%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t& .ck-button:not(.ck-link-actions__preview) {\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\tmargin-left: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tmargin-left: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const a=s},4827:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-link-form{display:flex}.ck.ck-link-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-link-form{flex-wrap:wrap}.ck.ck-link-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-link-form .ck-button{flex-basis:50%}}.ck.ck-link-form_layout-vertical{display:block}.ck.ck-link-form_layout-vertical .ck-button.ck-button-cancel,.ck.ck-link-form_layout-vertical .ck-button.ck-button-save{margin-top:var(--ck-spacing-medium)}.ck.ck-link-form_layout-vertical{padding:0;min-width:var(--ck-input-text-width)}.ck.ck-link-form_layout-vertical .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) var(--ck-spacing-small)}.ck.ck-link-form_layout-vertical .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-link-form_layout-vertical .ck-button{padding:var(--ck-spacing-standard);margin:0;border-radius:0;border:0;border-top:1px solid var(--ck-color-base-border);width:50%}[dir=ltr] .ck.ck-link-form_layout-vertical .ck-button,[dir=rtl] .ck.ck-link-form_layout-vertical .ck-button{margin-left:0}[dir=rtl] .ck.ck-link-form_layout-vertical .ck-button:last-of-type{border-right:1px solid var(--ck-color-base-border)}.ck.ck-link-form_layout-vertical .ck.ck-list{margin:var(--ck-spacing-standard) var(--ck-spacing-large)}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton{border:0;padding:0;width:100%}.ck.ck-link-form_layout-vertical .ck.ck-list .ck-button.ck-switchbutton:hover{background:none}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-link/theme/linkform.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/linkform.css\"],names:[],mappings:\"AAOA,iBACC,YAiBD,CAfC,2BACC,YACD,CCNA,oCDCD,iBAQE,cAUF,CARE,wCACC,eACD,CAEA,4BACC,cACD,CCfD,CDuBD,iCACC,aAYD,CALE,wHAEC,mCACD,CE/BF,iCACC,SAAU,CACV,oCA8CD,CA5CC,wDACC,8EAMD,CAJC,uEACC,WAAY,CACZ,UACD,CAGD,4CACC,kCAAmC,CACnC,QAAS,CACT,eAAgB,CAChB,QAAS,CACT,gDAAiD,CACjD,SAaD,CAnBA,4GAaE,aAMF,CAJE,mEACC,kDACD,CAKF,6CACC,yDAWD,CATC,wEACC,QAAS,CACT,SAAU,CACV,UAKD,CAHC,8EACC,eACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\";\\n\\n.ck.ck-link-form {\\n\\tdisplay: flex;\\n\\n\\t& .ck-label {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t@mixin ck-media-phone {\\n\\t\\tflex-wrap: wrap;\\n\\n\\t\\t& .ck-labeled-field-view {\\n\\t\\t\\tflex-basis: 100%;\\n\\t\\t}\\n\\n\\t\\t& .ck-button {\\n\\t\\t\\tflex-basis: 50%;\\n\\t\\t}\\n\\t}\\n}\\n\\n/*\\n * Style link form differently when manual decorators are available.\\n * See: https://github.com/ckeditor/ckeditor5-link/issues/186.\\n */\\n.ck.ck-link-form_layout-vertical {\\n\\tdisplay: block;\\n\\n\\t/*\\n\\t * Whether the form is in the responsive mode or not, if there are decorator buttons\\n\\t * keep the top margin of action buttons medium.\\n\\t */\\n\\t& .ck-button {\\n\\t\\t&.ck-button-save,\\n\\t\\t&.ck-button-cancel {\\n\\t\\t\\tmargin-top: var(--ck-spacing-medium);\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@define-mixin ck-media-phone {\\n\\t@media screen and (max-width: 600px) {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n/*\\n * Style link form differently when manual decorators are available.\\n * See: https://github.com/ckeditor/ckeditor5-link/issues/186.\\n */\\n.ck.ck-link-form_layout-vertical {\\n\\tpadding: 0;\\n\\tmin-width: var(--ck-input-text-width);\\n\\n\\t& .ck-labeled-field-view {\\n\\t\\tmargin: var(--ck-spacing-large) var(--ck-spacing-large) var(--ck-spacing-small);\\n\\n\\t\\t& .ck-input-text {\\n\\t\\t\\tmin-width: 0;\\n\\t\\t\\twidth: 100%;\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-button {\\n\\t\\tpadding: var(--ck-spacing-standard);\\n\\t\\tmargin: 0;\\n\\t\\tborder-radius: 0;\\n\\t\\tborder: 0;\\n\\t\\tborder-top: 1px solid var(--ck-color-base-border);\\n\\t\\twidth: 50%;\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\tmargin-left: 0;\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\tmargin-left: 0;\\n\\n\\t\\t\\t&:last-of-type {\\n\\t\\t\\t\\tborder-right: 1px solid var(--ck-color-base-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/* Using additional `.ck` class for stronger CSS specificity than `.ck.ck-link-form > :not(:first-child)`. */\\n\\t& .ck.ck-list {\\n\\t\\tmargin: var(--ck-spacing-standard) var(--ck-spacing-large);\\n\\n\\t\\t& .ck-button.ck-switchbutton {\\n\\t\\t\\tborder: 0;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\twidth: 100%;\\n\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\tbackground: none;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const a=s},3858:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,'.ck.ck-editor__editable a span.image-inline:after,.ck.ck-editor__editable figure.image>a:after{display:block;position:absolute}:root{--ck-link-image-indicator-icon-size:20;--ck-link-image-indicator-icon-is-visible:clamp(0px,100% - 50px,1px)}.ck.ck-editor__editable a span.image-inline:after,.ck.ck-editor__editable figure.image>a:after{content:\"\";top:min(var(--ck-spacing-medium),6%);right:min(var(--ck-spacing-medium),6%);background-color:rgba(0,0,0,.4);background-image:url(\"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0iTTExLjA3NyAxNWwuOTkxLTEuNDE2YS43NS43NSAwIDExMS4yMjkuODZsLTEuMTQ4IDEuNjRhLjc0OC43NDggMCAwMS0uMjE3LjIwNiA1LjI1MSA1LjI1MSAwIDAxLTguNTAzLTUuOTU1Ljc0MS43NDEgMCAwMS4xMi0uMjc0bDEuMTQ3LTEuNjM5YS43NS43NSAwIDExMS4yMjguODZMNC45MzMgMTAuN2wuMDA2LjAwM2EzLjc1IDMuNzUgMCAwMDYuMTMyIDQuMjk0bC4wMDYuMDA0em01LjQ5NC01LjMzNWEuNzQ4Ljc0OCAwIDAxLS4xMi4yNzRsLTEuMTQ3IDEuNjM5YS43NS43NSAwIDExLTEuMjI4LS44NmwuODYtMS4yM2EzLjc1IDMuNzUgMCAwMC02LjE0NC00LjMwMWwtLjg2IDEuMjI5YS43NS43NSAwIDAxLTEuMjI5LS44NmwxLjE0OC0xLjY0YS43NDguNzQ4IDAgMDEuMjE3LS4yMDYgNS4yNTEgNS4yNTEgMCAwMTguNTAzIDUuOTU1em0tNC41NjMtMi41MzJhLjc1Ljc1IDAgMDEuMTg0IDEuMDQ1bC0zLjE1NSA0LjUwNWEuNzUuNzUgMCAxMS0xLjIyOS0uODZsMy4xNTUtNC41MDZhLjc1Ljc1IDAgMDExLjA0NS0uMTg0eiIvPjwvc3ZnPg==\");background-size:14px;background-repeat:no-repeat;background-position:50%;border-radius:100%;overflow:hidden;width:calc(var(--ck-link-image-indicator-icon-is-visible)*var(--ck-link-image-indicator-icon-size));height:calc(var(--ck-link-image-indicator-icon-is-visible)*var(--ck-link-image-indicator-icon-size))}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-link/theme/linkimage.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-link/linkimage.css\"],names:[],mappings:\"AASE,+FACC,aAAc,CACd,iBACD,CCPF,MAEC,sCAAuC,CACvC,oEACD,CAME,+FACC,UAAW,CAMX,oCAAsC,CACtC,sCAAwC,CAExC,+BAAqC,CACrC,k2BAA+3B,CAC/3B,oBAAqB,CACrB,2BAA4B,CAC5B,uBAA2B,CAC3B,kBAAmB,CAMnB,eAAgB,CAChB,mGAAsG,CACtG,oGACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-editor__editable {\\n\\t/* Linked image indicator */\\n\\t& figure.image > a,\\n\\t& a span.image-inline {\\n\\t\\t&::after {\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\tposition: absolute;\\n\\t\\t}\\n\\t}\\n}\\n\\n\",'/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t/* Match the icon size with the upload indicator brought by the image upload feature. */\\n\\t--ck-link-image-indicator-icon-size: 20;\\n\\t--ck-link-image-indicator-icon-is-visible: clamp(0px, 100% - 50px, 1px);\\n}\\n\\n.ck.ck-editor__editable {\\n\\t/* Linked image indicator */\\n\\t& figure.image > a,\\n\\t& a span.image-inline {\\n\\t\\t&::after {\\n\\t\\t\\tcontent: \"\";\\n\\n\\t\\t\\t/*\\n\\t\\t\\t * Smaller images should have the icon closer to the border.\\n\\t\\t\\t * Match the icon position with the upload indicator brought by the image upload feature.\\n\\t\\t\\t */\\n\\t\\t\\ttop: min(var(--ck-spacing-medium), 6%);\\n\\t\\t\\tright: min(var(--ck-spacing-medium), 6%);\\n\\n\\t\\t\\tbackground-color: hsla(0, 0%, 0%, .4);\\n\\t\\t\\tbackground-image: url(\"data:image/svg+xml;base64,PHN2ZyB2aWV3Qm94PSIwIDAgMjAgMjAiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZmlsbD0iI2ZmZiIgZD0ibTExLjA3NyAxNSAuOTkxLTEuNDE2YS43NS43NSAwIDEgMSAxLjIyOS44NmwtMS4xNDggMS42NGEuNzQ4Ljc0OCAwIDAgMS0uMjE3LjIwNiA1LjI1MSA1LjI1MSAwIDAgMS04LjUwMy01Ljk1NS43NDEuNzQxIDAgMCAxIC4xMi0uMjc0bDEuMTQ3LTEuNjM5YS43NS43NSAwIDEgMSAxLjIyOC44Nkw0LjkzMyAxMC43bC4wMDYuMDAzYTMuNzUgMy43NSAwIDAgMCA2LjEzMiA0LjI5NGwuMDA2LjAwNHptNS40OTQtNS4zMzVhLjc0OC43NDggMCAwIDEtLjEyLjI3NGwtMS4xNDcgMS42MzlhLjc1Ljc1IDAgMSAxLTEuMjI4LS44NmwuODYtMS4yM2EzLjc1IDMuNzUgMCAwIDAtNi4xNDQtNC4zMDFsLS44NiAxLjIyOWEuNzUuNzUgMCAwIDEtMS4yMjktLjg2bDEuMTQ4LTEuNjRhLjc0OC43NDggMCAwIDEgLjIxNy0uMjA2IDUuMjUxIDUuMjUxIDAgMCAxIDguNTAzIDUuOTU1em0tNC41NjMtMi41MzJhLjc1Ljc1IDAgMCAxIC4xODQgMS4wNDVsLTMuMTU1IDQuNTA1YS43NS43NSAwIDEgMS0xLjIyOS0uODZsMy4xNTUtNC41MDZhLjc1Ljc1IDAgMCAxIDEuMDQ1LS4xODR6Ii8+PC9zdmc+\");\\n\\t\\t\\tbackground-size: 14px;\\n\\t\\t\\tbackground-repeat: no-repeat;\\n\\t\\t\\tbackground-position: center;\\n\\t\\t\\tborder-radius: 100%;\\n\\n\\t\\t\\t/*\\n\\t\\t\\t* Use CSS math to simulate container queries.\\n\\t\\t\\t* https://css-tricks.com/the-raven-technique-one-step-closer-to-container-queries/#what-about-showing-and-hiding-things\\n\\t\\t\\t*/\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\twidth: calc(var(--ck-link-image-indicator-icon-is-visible) * var(--ck-link-image-indicator-icon-size));\\n\\t\\t\\theight: calc(var(--ck-link-image-indicator-icon-is-visible) * var(--ck-link-image-indicator-icon-size));\\n\\t\\t}\\n\\t}\\n}\\n\\n'],sourceRoot:\"\"}]);const a=s},4553:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-list-styles-dropdown>.ck-dropdown__panel>.ck-toolbar>.ck-toolbar__items{display:grid}:root{--ck-list-style-button-size:44px}.ck.ck-list-styles-dropdown>.ck-dropdown__panel>.ck-toolbar{background:none;padding:0}.ck.ck-list-styles-dropdown>.ck-dropdown__panel>.ck-toolbar>.ck-toolbar__items{grid-template-columns:repeat(3,auto);row-gap:var(--ck-spacing-medium);column-gap:var(--ck-spacing-medium);padding:var(--ck-spacing-medium)}.ck.ck-list-styles-dropdown>.ck-dropdown__panel>.ck-toolbar>.ck-toolbar__items .ck-button{width:var(--ck-list-style-button-size);height:var(--ck-list-style-button-size);padding:0;margin:0;box-sizing:content-box}.ck.ck-list-styles-dropdown>.ck-dropdown__panel>.ck-toolbar>.ck-toolbar__items .ck-button .ck-icon{width:var(--ck-list-style-button-size);height:var(--ck-list-style-button-size)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-list/theme/liststyles.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-list/liststyles.css\"],names:[],mappings:\"AAKA,+EAKC,YACD,CCNA,MACC,gCACD,CAEA,4DACC,eAAgB,CAChB,SAiCD,CA/BC,+EACC,oCAAwC,CACxC,gCAAiC,CACjC,mCAAoC,CACpC,gCA0BD,CAxBC,0FAEC,sCAAuC,CACvC,uCAAwC,CACxC,SAAU,CAMV,QAAS,CAOT,sBAMD,CAJC,mGACC,sCAAuC,CACvC,uCACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-list-styles-dropdown > .ck-dropdown__panel > .ck-toolbar > .ck-toolbar__items {\\n\\t/*\\n\\t * Use the benefits of the toolbar (e.g. out-of-the-box keyboard navigation) but make it look\\n\\t * like a panel with thumbnails (previews).\\n\\t */\\n\\tdisplay: grid;\\n}\\n\",'/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-list-style-button-size: 44px;\\n}\\n\\n.ck.ck-list-styles-dropdown > .ck-dropdown__panel > .ck-toolbar {\\n\\tbackground: none;\\n\\tpadding: 0;\\n\\n\\t& > .ck-toolbar__items {\\n\\t\\tgrid-template-columns: repeat( 3, auto );\\n\\t\\trow-gap: var(--ck-spacing-medium);\\n\\t\\tcolumn-gap: var(--ck-spacing-medium);\\n\\t\\tpadding: var(--ck-spacing-medium);\\n\\n\\t\\t& .ck-button {\\n\\t\\t\\t/* Make the button look like a thumbnail (the icon \"takes it all\"). */\\n\\t\\t\\twidth: var(--ck-list-style-button-size);\\n\\t\\t\\theight: var(--ck-list-style-button-size);\\n\\t\\t\\tpadding: 0;\\n\\n\\t\\t\\t/*\\n\\t\\t\\t * Buttons are aligned by the grid so disable default button margins to not collide with the\\n\\t\\t\\t * gaps in the grid.\\n\\t\\t\\t */\\n\\t\\t\\tmargin: 0;\\n\\n\\t\\t\\t/*\\n\\t\\t\\t * Make sure the button border (which is displayed on focus, BTW) does not steal pixels\\n\\t\\t\\t * from the button dimensions and, as a result, decrease the size of the icon\\n\\t\\t\\t * (which becomes blurry as it scales down).\\n\\t\\t\\t */\\n\\t\\t\\tbox-sizing: content-box;\\n\\n\\t\\t\\t& .ck-icon {\\n\\t\\t\\t\\twidth: var(--ck-list-style-button-size);\\n\\t\\t\\t\\theight: var(--ck-list-style-button-size);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const a=s},1588:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,':root{--ck-todo-list-checkmark-size:16px}.ck-content .todo-list{list-style:none}.ck-content .todo-list li{margin-bottom:5px}.ck-content .todo-list li .todo-list{margin-top:5px}.ck-content .todo-list .todo-list__label>input{-webkit-appearance:none;display:inline-block;position:relative;width:var(--ck-todo-list-checkmark-size);height:var(--ck-todo-list-checkmark-size);vertical-align:middle;border:0;left:-25px;margin-right:-15px;right:0;margin-left:0}.ck-content .todo-list .todo-list__label>input:before{display:block;position:absolute;box-sizing:border-box;content:\"\";width:100%;height:100%;border:1px solid #333;border-radius:2px;transition:box-shadow .25s ease-in-out,background .25s ease-in-out,border .25s ease-in-out}.ck-content .todo-list .todo-list__label>input:after{display:block;position:absolute;box-sizing:content-box;pointer-events:none;content:\"\";left:calc(var(--ck-todo-list-checkmark-size)/3);top:calc(var(--ck-todo-list-checkmark-size)/5.3);width:calc(var(--ck-todo-list-checkmark-size)/5.3);height:calc(var(--ck-todo-list-checkmark-size)/2.6);border-left:0 solid transparent;border-bottom:calc(var(--ck-todo-list-checkmark-size)/8) solid transparent;border-right:calc(var(--ck-todo-list-checkmark-size)/8) solid transparent;border-top:0 solid transparent;transform:rotate(45deg)}.ck-content .todo-list .todo-list__label>input[checked]:before{background:#26ab33;border-color:#26ab33}.ck-content .todo-list .todo-list__label>input[checked]:after{border-color:#fff}.ck-content .todo-list .todo-list__label .todo-list__label__description{vertical-align:middle}[dir=rtl] .todo-list .todo-list__label>input{left:0;margin-right:0;right:-25px;margin-left:-15px}.ck-editor__editable .todo-list .todo-list__label>input{cursor:pointer}.ck-editor__editable .todo-list .todo-list__label>input:hover:before{box-shadow:0 0 0 5px rgba(0,0,0,.1)}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-list/theme/todolist.css\"],names:[],mappings:\"AAKA,MACC,kCACD,CAEA,uBACC,eA0ED,CAxEC,0BACC,iBAKD,CAHC,qCACC,cACD,CAIA,+CACC,uBAAwB,CACxB,oBAAqB,CACrB,iBAAkB,CAClB,wCAAyC,CACzC,yCAA0C,CAC1C,qBAAsB,CAGtB,QAAS,CAGT,UAAW,CACX,kBAAmB,CACnB,OAAQ,CACR,aA0CD,CAxCC,sDACC,aAAc,CACd,iBAAkB,CAClB,qBAAsB,CACtB,UAAW,CACX,UAAW,CACX,WAAY,CACZ,qBAAiC,CACjC,iBAAkB,CAClB,0FACD,CAEA,qDACC,aAAc,CACd,iBAAkB,CAClB,sBAAuB,CACvB,mBAAoB,CACpB,UAAW,CAGX,+CAAoD,CACpD,gDAAqD,CACrD,kDAAuD,CACvD,mDAAwD,CAGxD,+BAA+G,CAA/G,0EAA+G,CAA/G,yEAA+G,CAA/G,8BAA+G,CAC/G,uBACD,CAGC,+DACC,kBAA8B,CAC9B,oBACD,CAEA,8DACC,iBACD,CAIF,wEACC,qBACD,CAKF,6CACC,MAAO,CACP,cAAe,CACf,WAAY,CACZ,iBACD,CAMA,wDACC,cAKD,CAHC,qEACC,mCACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-todo-list-checkmark-size: 16px;\\n}\\n\\n.ck-content .todo-list {\\n\\tlist-style: none;\\n\\n\\t& li {\\n\\t\\tmargin-bottom: 5px;\\n\\n\\t\\t& .todo-list {\\n\\t\\t\\tmargin-top: 5px;\\n\\t\\t}\\n\\t}\\n\\n\\t& .todo-list__label {\\n\\t\\t& > input {\\n\\t\\t\\t-webkit-appearance: none;\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t\\tposition: relative;\\n\\t\\t\\twidth: var(--ck-todo-list-checkmark-size);\\n\\t\\t\\theight: var(--ck-todo-list-checkmark-size);\\n\\t\\t\\tvertical-align: middle;\\n\\n\\t\\t\\t/* Needed on iOS */\\n\\t\\t\\tborder: 0;\\n\\n\\t\\t\\t/* LTR styles */\\n\\t\\t\\tleft: -25px;\\n\\t\\t\\tmargin-right: -15px;\\n\\t\\t\\tright: 0;\\n\\t\\t\\tmargin-left: 0;\\n\\n\\t\\t\\t&::before {\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\tbox-sizing: border-box;\\n\\t\\t\\t\\tcontent: '';\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\theight: 100%;\\n\\t\\t\\t\\tborder: 1px solid hsl(0, 0%, 20%);\\n\\t\\t\\t\\tborder-radius: 2px;\\n\\t\\t\\t\\ttransition: 250ms ease-in-out box-shadow, 250ms ease-in-out background, 250ms ease-in-out border;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&::after {\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\tbox-sizing: content-box;\\n\\t\\t\\t\\tpointer-events: none;\\n\\t\\t\\t\\tcontent: '';\\n\\n\\t\\t\\t\\t/* Calculate tick position, size and border-width proportional to the checkmark size. */\\n\\t\\t\\t\\tleft: calc( var(--ck-todo-list-checkmark-size) / 3 );\\n\\t\\t\\t\\ttop: calc( var(--ck-todo-list-checkmark-size) / 5.3 );\\n\\t\\t\\t\\twidth: calc( var(--ck-todo-list-checkmark-size) / 5.3 );\\n\\t\\t\\t\\theight: calc( var(--ck-todo-list-checkmark-size) / 2.6 );\\n\\t\\t\\t\\tborder-style: solid;\\n\\t\\t\\t\\tborder-color: transparent;\\n\\t\\t\\t\\tborder-width: 0 calc( var(--ck-todo-list-checkmark-size) / 8 ) calc( var(--ck-todo-list-checkmark-size) / 8 ) 0;\\n\\t\\t\\t\\ttransform: rotate(45deg);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&[checked] {\\n\\t\\t\\t\\t&::before {\\n\\t\\t\\t\\t\\tbackground: hsl(126, 64%, 41%);\\n\\t\\t\\t\\t\\tborder-color: hsl(126, 64%, 41%);\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t&::after {\\n\\t\\t\\t\\t\\tborder-color: hsl(0, 0%, 100%);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t& .todo-list__label__description {\\n\\t\\t\\tvertical-align: middle;\\n\\t\\t}\\n\\t}\\n}\\n\\n/* RTL styles */\\n[dir=\\\"rtl\\\"] .todo-list .todo-list__label > input {\\n\\tleft: 0;\\n\\tmargin-right: 0;\\n\\tright: -25px;\\n\\tmargin-left: -15px;\\n}\\n\\n/*\\n * To-do list should be interactive only during the editing\\n * (https://github.com/ckeditor/ckeditor5/issues/2090).\\n */\\n.ck-editor__editable .todo-list .todo-list__label > input {\\n\\tcursor: pointer;\\n\\n\\t&:hover::before {\\n\\t\\tbox-shadow: 0 0 0 5px hsla(0, 0%, 0%, 0.1);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},5777:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck-content .media{clear:both;margin:.9em 0;display:block;min-width:15em}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-media-embed/theme/mediaembed.css\"],names:[],mappings:\"AAKA,mBAGC,UAAW,CAKX,aAAe,CAIf,aAAc,CAId,cACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck-content .media {\\n\\t/* Don\\'t allow floated content overlap the media.\\n\\thttps://github.com/ckeditor/ckeditor5-media-embed/issues/53 */\\n\\tclear: both;\\n\\n\\t/* Make sure there is some space between the content and the media. */\\n\\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\\n\\tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\\n\\tmargin: 0.9em 0;\\n\\n\\t/* Make sure media is not overriden with Bootstrap default `flex` value.\\n\\tSee: https://github.com/ckeditor/ckeditor5/issues/1373. */\\n\\tdisplay: block;\\n\\n\\t/* Give the media some minimal width in the content to prevent them\\n\\tfrom being \"squashed\" in tight spaces, e.g. in table cells (#44) */\\n\\tmin-width: 15em;\\n}\\n'],sourceRoot:\"\"}]);const a=s},952:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,'.ck-media__wrapper .ck-media__placeholder{display:flex;flex-direction:column;align-items:center}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-tooltip{display:block}@media (hover:none){.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-tooltip{display:none}}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url{max-width:100%;position:relative}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url:hover .ck-tooltip{visibility:visible;opacity:1}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url .ck-media__placeholder__url__text{overflow:hidden;display:block}.ck-media__wrapper[data-oembed-url*=\"facebook.com\"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*=\"goo.gl/maps\"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*=\"google.com/maps\"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*=\"instagram.com\"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*=\"maps.app.goo.gl\"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*=\"maps.google.com\"] .ck-media__placeholder__icon *,.ck-media__wrapper[data-oembed-url*=\"twitter.com\"] .ck-media__placeholder__icon *{display:none}.ck-editor__editable:not(.ck-read-only) .ck-media__wrapper>:not(.ck-media__placeholder),.ck-editor__editable:not(.ck-read-only) .ck-widget:not(.ck-widget_selected) .ck-media__placeholder{pointer-events:none}:root{--ck-media-embed-placeholder-icon-size:3em;--ck-color-media-embed-placeholder-url-text:#757575;--ck-color-media-embed-placeholder-url-text-hover:var(--ck-color-base-text)}.ck-media__wrapper{margin:0 auto}.ck-media__wrapper .ck-media__placeholder{padding:calc(var(--ck-spacing-standard)*3);background:var(--ck-color-base-foreground)}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon{min-width:var(--ck-media-embed-placeholder-icon-size);height:var(--ck-media-embed-placeholder-icon-size);margin-bottom:var(--ck-spacing-large);background-position:50%;background-size:cover}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__icon .ck-icon{width:100%;height:100%}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text{color:var(--ck-color-media-embed-placeholder-url-text);white-space:nowrap;text-align:center;font-style:italic;text-overflow:ellipsis}.ck-media__wrapper .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:var(--ck-color-media-embed-placeholder-url-text-hover);cursor:pointer;text-decoration:underline}.ck-media__wrapper[data-oembed-url*=\"open.spotify.com\"]{max-width:300px;max-height:380px}.ck-media__wrapper[data-oembed-url*=\"goo.gl/maps\"] .ck-media__placeholder__icon,.ck-media__wrapper[data-oembed-url*=\"google.com/maps\"] .ck-media__placeholder__icon,.ck-media__wrapper[data-oembed-url*=\"maps.app.goo.gl\"] .ck-media__placeholder__icon,.ck-media__wrapper[data-oembed-url*=\"maps.google.com\"] .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Ik0yMDYuNDc3IDI2MC45bC0yOC45ODcgMjguOTg3YTUuMjE4IDUuMjE4IDAgMDAzLjc4IDEuNjFoNDkuNjIxYzEuNjk0IDAgMy4xOS0uNzk4IDQuMTQ2LTIuMDM3eiIgZmlsbD0iIzVjODhjNSIvPjxwYXRoIGQ9Ik0yMjYuNzQyIDIyMi45ODhjLTkuMjY2IDAtMTYuNzc3IDcuMTctMTYuNzc3IDE2LjAxNC4wMDcgMi43NjIuNjYzIDUuNDc0IDIuMDkzIDcuODc1LjQzLjcwMy44MyAxLjQwOCAxLjE5IDIuMTA3LjMzMy41MDIuNjUgMS4wMDUuOTUgMS41MDguMzQzLjQ3Ny42NzMuOTU3Ljk4OCAxLjQ0IDEuMzEgMS43NjkgMi41IDMuNTAyIDMuNjM3IDUuMTY4Ljc5MyAxLjI3NSAxLjY4MyAyLjY0IDIuNDY2IDMuOTkgMi4zNjMgNC4wOTQgNC4wMDcgOC4wOTIgNC42IDEzLjkxNHYuMDEyYy4xODIuNDEyLjUxNi42NjYuODc5LjY2Ny40MDMtLjAwMS43NjgtLjMxNC45My0uNzk5LjYwMy01Ljc1NiAyLjIzOC05LjcyOSA0LjU4NS0xMy43OTQuNzgyLTEuMzUgMS42NzMtMi43MTUgMi40NjUtMy45OSAxLjEzNy0xLjY2NiAyLjMyOC0zLjQgMy42MzgtNS4xNjkuMzE1LS40ODIuNjQ1LS45NjIuOTg4LTEuNDM5LjMtLjUwMy42MTctMS4wMDYuOTUtMS41MDguMzU5LS43Ljc2LTEuNDA0IDEuMTktMi4xMDcgMS40MjYtMi40MDIgMi01LjExNCAyLjAwNC03Ljg3NSAwLTguODQ0LTcuNTExLTE2LjAxNC0xNi43NzYtMTYuMDE0eiIgZmlsbD0iI2RkNGIzZSIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48ZWxsaXBzZSByeT0iNS41NjQiIHJ4PSI1LjgyOCIgY3k9IjIzOS4wMDIiIGN4PSIyMjYuNzQyIiBmaWxsPSIjODAyZDI3IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Ik0xOTAuMzAxIDIzNy4yODNjLTQuNjcgMC04LjQ1NyAzLjg1My04LjQ1NyA4LjYwNnMzLjc4NiA4LjYwNyA4LjQ1NyA4LjYwN2MzLjA0MyAwIDQuODA2LS45NTggNi4zMzctMi41MTYgMS41My0xLjU1NyAyLjA4Ny0zLjkxMyAyLjA4Ny02LjI5IDAtLjM2Mi0uMDIzLS43MjItLjA2NC0xLjA3OWgtOC4yNTd2My4wNDNoNC44NWMtLjE5Ny43NTktLjUzMSAxLjQ1LTEuMDU4IDEuOTg2LS45NDIuOTU4LTIuMDI4IDEuNTQ4LTMuOTAxIDEuNTQ4LTIuODc2IDAtNS4yMDgtMi4zNzItNS4yMDgtNS4yOTkgMC0yLjkyNiAyLjMzMi01LjI5OSA1LjIwOC01LjI5OSAxLjM5OSAwIDIuNjE4LjQwNyAzLjU4NCAxLjI5M2wyLjM4MS0yLjM4YzAtLjAwMi0uMDAzLS4wMDQtLjAwNC0uMDA1LTEuNTg4LTEuNTI0LTMuNjItMi4yMTUtNS45NTUtMi4yMTV6bTQuNDMgNS42NmwuMDAzLjAwNnYtLjAwM3oiIGZpbGw9IiNmZmYiIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0iTTIxNS4xODQgMjUxLjkyOWwtNy45OCA3Ljk3OSAyOC40NzcgMjguNDc1YTUuMjMzIDUuMjMzIDAgMDAuNDQ5LTIuMTIzdi0zMS4xNjVjLS40NjkuNjc1LS45MzQgMS4zNDktMS4zODIgMi4wMDUtLjc5MiAxLjI3NS0xLjY4MiAyLjY0LTIuNDY1IDMuOTktMi4zNDcgNC4wNjUtMy45ODIgOC4wMzgtNC41ODUgMTMuNzk0LS4xNjIuNDg1LS41MjcuNzk4LS45My43OTktLjM2My0uMDAxLS42OTctLjI1NS0uODc5LS42Njd2LS4wMTJjLS41OTMtNS44MjItMi4yMzctOS44Mi00LjYtMTMuOTE0LS43ODMtMS4zNS0xLjY3My0yLjcxNS0yLjQ2Ni0zLjk5LTEuMTM3LTEuNjY2LTIuMzI3LTMuNC0zLjYzNy01LjE2OWwtLjAwMi0uMDAzeiIgZmlsbD0iI2MzYzNjMyIvPjxwYXRoIGQ9Ik0yMTIuOTgzIDI0OC40OTVsLTM2Ljk1MiAzNi45NTN2LjgxMmE1LjIyNyA1LjIyNyAwIDAwNS4yMzggNS4yMzhoMS4wMTVsMzUuNjY2LTM1LjY2NmExMzYuMjc1IDEzNi4yNzUgMCAwMC0yLjc2NC0zLjkgMzcuNTc1IDM3LjU3NSAwIDAwLS45ODktMS40NCAzNS4xMjcgMzUuMTI3IDAgMDAtLjk1LTEuNTA4Yy0uMDgzLS4xNjItLjE3Ni0uMzI2LS4yNjQtLjQ4OXoiIGZpbGw9IiNmZGRjNGYiIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0iTTIxMS45OTggMjYxLjA4M2wtNi4xNTIgNi4xNTEgMjQuMjY0IDI0LjI2NGguNzgxYTUuMjI3IDUuMjI3IDAgMDA1LjIzOS01LjIzOHYtMS4wNDV6IiBmaWxsPSIjZmZmIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjwvZz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*=\"facebook.com\"] .ck-media__placeholder{background:#4268b3}.ck-media__wrapper[data-oembed-url*=\"facebook.com\"] .ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMTAyNCIgaGVpZ2h0PSIxMDI0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciPjxwYXRoIGQ9Ik05NjcuNDg0IDBINTYuNTE3QzI1LjMwNCAwIDAgMjUuMzA0IDAgNTYuNTE3djkxMC45NjZDMCA5OTguNjk0IDI1LjI5NyAxMDI0IDU2LjUyMiAxMDI0SDU0N1Y2MjhINDE0VjQ3M2gxMzNWMzU5LjAyOWMwLTEzMi4yNjIgODAuNzczLTIwNC4yODIgMTk4Ljc1Ni0yMDQuMjgyIDU2LjUxMyAwIDEwNS4wODYgNC4yMDggMTE5LjI0NCA2LjA4OVYyOTlsLTgxLjYxNi4wMzdjLTYzLjk5MyAwLTc2LjM4NCAzMC40OTItNzYuMzg0IDc1LjIzNlY0NzNoMTUzLjQ4N2wtMTkuOTg2IDE1NUg3MDd2Mzk2aDI2MC40ODRjMzEuMjEzIDAgNTYuNTE2LTI1LjMwMyA1Ni41MTYtNTYuNTE2VjU2LjUxNUMxMDI0IDI1LjMwMyA5OTguNjk3IDAgOTY3LjQ4NCAwIiBmaWxsPSIjRkZGRkZFIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiLz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*=\"facebook.com\"] .ck-media__placeholder .ck-media__placeholder__url__text{color:#cdf}.ck-media__wrapper[data-oembed-url*=\"facebook.com\"] .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}.ck-media__wrapper[data-oembed-url*=\"instagram.com\"] .ck-media__placeholder{background:linear-gradient(-135deg,#1400c7,#b800b1,#f50000)}.ck-media__wrapper[data-oembed-url*=\"instagram.com\"] .ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTA0IiBoZWlnaHQ9IjUwNCIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+PGRlZnM+PHBhdGggaWQ9ImEiIGQ9Ik0wIC4xNTloNTAzLjg0MVY1MDMuOTRIMHoiLz48L2RlZnM+PGcgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj48bWFzayBpZD0iYiIgZmlsbD0iI2ZmZiI+PHVzZSB4bGluazpocmVmPSIjYSIvPjwvbWFzaz48cGF0aCBkPSJNMjUxLjkyMS4xNTljLTY4LjQxOCAwLTc2Ljk5Ny4yOS0xMDMuODY3IDEuNTE2LTI2LjgxNCAxLjIyMy00NS4xMjcgNS40ODItNjEuMTUxIDExLjcxLTE2LjU2NiA2LjQzNy0zMC42MTUgMTUuMDUxLTQ0LjYyMSAyOS4wNTYtMTQuMDA1IDE0LjAwNi0yMi42MTkgMjguMDU1LTI5LjA1NiA0NC42MjEtNi4yMjggMTYuMDI0LTEwLjQ4NyAzNC4zMzctMTEuNzEgNjEuMTUxQy4yOSAxNzUuMDgzIDAgMTgzLjY2MiAwIDI1Mi4wOGMwIDY4LjQxNy4yOSA3Ni45OTYgMS41MTYgMTAzLjg2NiAxLjIyMyAyNi44MTQgNS40ODIgNDUuMTI3IDExLjcxIDYxLjE1MSA2LjQzNyAxNi41NjYgMTUuMDUxIDMwLjYxNSAyOS4wNTYgNDQuNjIxIDE0LjAwNiAxNC4wMDUgMjguMDU1IDIyLjYxOSA0NC42MjEgMjkuMDU3IDE2LjAyNCA2LjIyNyAzNC4zMzcgMTAuNDg2IDYxLjE1MSAxMS43MDkgMjYuODcgMS4yMjYgMzUuNDQ5IDEuNTE2IDEwMy44NjcgMS41MTYgNjguNDE3IDAgNzYuOTk2LS4yOSAxMDMuODY2LTEuNTE2IDI2LjgxNC0xLjIyMyA0NS4xMjctNS40ODIgNjEuMTUxLTExLjcwOSAxNi41NjYtNi40MzggMzAuNjE1LTE1LjA1MiA0NC42MjEtMjkuMDU3IDE0LjAwNS0xNC4wMDYgMjIuNjE5LTI4LjA1NSAyOS4wNTctNDQuNjIxIDYuMjI3LTE2LjAyNCAxMC40ODYtMzQuMzM3IDExLjcwOS02MS4xNTEgMS4yMjYtMjYuODcgMS41MTYtMzUuNDQ5IDEuNTE2LTEwMy44NjYgMC02OC40MTgtLjI5LTc2Ljk5Ny0xLjUxNi0xMDMuODY3LTEuMjIzLTI2LjgxNC01LjQ4Mi00NS4xMjctMTEuNzA5LTYxLjE1MS02LjQzOC0xNi41NjYtMTUuMDUyLTMwLjYxNS0yOS4wNTctNDQuNjIxLTE0LjAwNi0xNC4wMDUtMjguMDU1LTIyLjYxOS00NC42MjEtMjkuMDU2LTE2LjAyNC02LjIyOC0zNC4zMzctMTAuNDg3LTYxLjE1MS0xMS43MUMzMjguOTE3LjQ0OSAzMjAuMzM4LjE1OSAyNTEuOTIxLjE1OXptMCA0NS4zOTFjNjcuMjY1IDAgNzUuMjMzLjI1NyAxMDEuNzk3IDEuNDY5IDI0LjU2MiAxLjEyIDM3LjkwMSA1LjIyNCA0Ni43NzggOC42NzQgMTEuNzU5IDQuNTcgMjAuMTUxIDEwLjAyOSAyOC45NjYgMTguODQ1IDguODE2IDguODE1IDE0LjI3NSAxNy4yMDcgMTguODQ1IDI4Ljk2NiAzLjQ1IDguODc3IDcuNTU0IDIyLjIxNiA4LjY3NCA0Ni43NzggMS4yMTIgMjYuNTY0IDEuNDY5IDM0LjUzMiAxLjQ2OSAxMDEuNzk4IDAgNjcuMjY1LS4yNTcgNzUuMjMzLTEuNDY5IDEwMS43OTctMS4xMiAyNC41NjItNS4yMjQgMzcuOTAxLTguNjc0IDQ2Ljc3OC00LjU3IDExLjc1OS0xMC4wMjkgMjAuMTUxLTE4Ljg0NSAyOC45NjYtOC44MTUgOC44MTYtMTcuMjA3IDE0LjI3NS0yOC45NjYgMTguODQ1LTguODc3IDMuNDUtMjIuMjE2IDcuNTU0LTQ2Ljc3OCA4LjY3NC0yNi41NiAxLjIxMi0zNC41MjcgMS40NjktMTAxLjc5NyAxLjQ2OS02Ny4yNzEgMC03NS4yMzctLjI1Ny0xMDEuNzk4LTEuNDY5LTI0LjU2Mi0xLjEyLTM3LjkwMS01LjIyNC00Ni43NzgtOC42NzQtMTEuNzU5LTQuNTctMjAuMTUxLTEwLjAyOS0yOC45NjYtMTguODQ1LTguODE1LTguODE1LTE0LjI3NS0xNy4yMDctMTguODQ1LTI4Ljk2Ni0zLjQ1LTguODc3LTcuNTU0LTIyLjIxNi04LjY3NC00Ni43NzgtMS4yMTItMjYuNTY0LTEuNDY5LTM0LjUzMi0xLjQ2OS0xMDEuNzk3IDAtNjcuMjY2LjI1Ny03NS4yMzQgMS40NjktMTAxLjc5OCAxLjEyLTI0LjU2MiA1LjIyNC0zNy45MDEgOC42NzQtNDYuNzc4IDQuNTctMTEuNzU5IDEwLjAyOS0yMC4xNTEgMTguODQ1LTI4Ljk2NiA4LjgxNS04LjgxNiAxNy4yMDctMTQuMjc1IDI4Ljk2Ni0xOC44NDUgOC44NzctMy40NSAyMi4yMTYtNy41NTQgNDYuNzc4LTguNjc0IDI2LjU2NC0xLjIxMiAzNC41MzItMS40NjkgMTAxLjc5OC0xLjQ2OXoiIGZpbGw9IiNGRkYiIG1hc2s9InVybCgjYikiLz48cGF0aCBkPSJNMjUxLjkyMSAzMzYuMDUzYy00Ni4zNzggMC04My45NzQtMzcuNTk2LTgzLjk3NC04My45NzMgMC00Ni4zNzggMzcuNTk2LTgzLjk3NCA4My45NzQtODMuOTc0IDQ2LjM3NyAwIDgzLjk3MyAzNy41OTYgODMuOTczIDgzLjk3NCAwIDQ2LjM3Ny0zNy41OTYgODMuOTczLTgzLjk3MyA4My45NzN6bTAtMjEzLjMzOGMtNzEuNDQ3IDAtMTI5LjM2NSA1Ny45MTgtMTI5LjM2NSAxMjkuMzY1IDAgNzEuNDQ2IDU3LjkxOCAxMjkuMzY0IDEyOS4zNjUgMTI5LjM2NCA3MS40NDYgMCAxMjkuMzY0LTU3LjkxOCAxMjkuMzY0LTEyOS4zNjQgMC03MS40NDctNTcuOTE4LTEyOS4zNjUtMTI5LjM2NC0xMjkuMzY1ek00MTYuNjI3IDExNy42MDRjMCAxNi42OTYtMTMuNTM1IDMwLjIzLTMwLjIzMSAzMC4yMy0xNi42OTUgMC0zMC4yMy0xMy41MzQtMzAuMjMtMzAuMjMgMC0xNi42OTYgMTMuNTM1LTMwLjIzMSAzMC4yMy0zMC4yMzEgMTYuNjk2IDAgMzAuMjMxIDEzLjUzNSAzMC4yMzEgMzAuMjMxIiBmaWxsPSIjRkZGIi8+PC9nPjwvc3ZnPg==)}.ck-media__wrapper[data-oembed-url*=\"instagram.com\"] .ck-media__placeholder .ck-media__placeholder__url__text{color:#ffe0fe}.ck-media__wrapper[data-oembed-url*=\"instagram.com\"] .ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}.ck-media__wrapper[data-oembed-url*=\"twitter.com\"] .ck.ck-media__placeholder{background:linear-gradient(90deg,#71c6f4,#0d70a5)}.ck-media__wrapper[data-oembed-url*=\"twitter.com\"] .ck.ck-media__placeholder .ck-media__placeholder__icon{background-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCA0MDAgNDAwIj48cGF0aCBkPSJNNDAwIDIwMGMwIDExMC41LTg5LjUgMjAwLTIwMCAyMDBTMCAzMTAuNSAwIDIwMCA4OS41IDAgMjAwIDBzMjAwIDg5LjUgMjAwIDIwMHpNMTYzLjQgMzA1LjVjODguNyAwIDEzNy4yLTczLjUgMTM3LjItMTM3LjIgMC0yLjEgMC00LjItLjEtNi4yIDkuNC02LjggMTcuNi0xNS4zIDI0LjEtMjUtOC42IDMuOC0xNy45IDYuNC0yNy43IDcuNiAxMC02IDE3LjYtMTUuNCAyMS4yLTI2LjctOS4zIDUuNS0xOS42IDkuNS0zMC42IDExLjctOC44LTkuNC0yMS4zLTE1LjItMzUuMi0xNS4yLTI2LjYgMC00OC4yIDIxLjYtNDguMiA0OC4yIDAgMy44LjQgNy41IDEuMyAxMS00MC4xLTItNzUuNi0yMS4yLTk5LjQtNTAuNC00LjEgNy4xLTYuNSAxNS40LTYuNSAyNC4yIDAgMTYuNyA4LjUgMzEuNSAyMS41IDQwLjEtNy45LS4yLTE1LjMtMi40LTIxLjgtNnYuNmMwIDIzLjQgMTYuNiA0Mi44IDM4LjcgNDcuMy00IDEuMS04LjMgMS43LTEyLjcgMS43LTMuMSAwLTYuMS0uMy05LjEtLjkgNi4xIDE5LjIgMjMuOSAzMy4xIDQ1IDMzLjUtMTYuNSAxMi45LTM3LjMgMjAuNi01OS45IDIwLjYtMy45IDAtNy43LS4yLTExLjUtLjcgMjEuMSAxMy44IDQ2LjUgMjEuOCA3My43IDIxLjgiIGZpbGw9IiNmZmYiLz48L3N2Zz4=)}.ck-media__wrapper[data-oembed-url*=\"twitter.com\"] .ck.ck-media__placeholder .ck-media__placeholder__url__text{color:#b8e6ff}.ck-media__wrapper[data-oembed-url*=\"twitter.com\"] .ck.ck-media__placeholder .ck-media__placeholder__url__text:hover{color:#fff}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-media-embed/theme/mediaembedediting.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/tooltip/mixins/_tooltip.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-media-embed/mediaembedediting.css\"],names:[],mappings:\"AAQC,0CACC,YAAa,CACb,qBAAsB,CACtB,kBAmBD,CCpBA,kFACC,aAqBD,CAHC,oBAnBD,kFAoBE,YAEF,CADC,CDlBA,sEAIC,cAAe,CAEf,iBAUD,CCoBD,wFACC,kBAAmB,CACnB,SACD,CD3BE,wGACC,eAAgB,CAChB,aACD,CAWD,6kBACC,YACD,CAYF,2LACC,mBACD,CElDA,MACC,0CAA2C,CAE3C,mDAA4D,CAC5D,2EACD,CAEA,mBACC,aA+FD,CA7FC,0CACC,0CAA+C,CAC/C,0CA4BD,CA1BC,uEACC,qDAAsD,CACtD,kDAAmD,CACnD,qCAAsC,CACtC,uBAA2B,CAC3B,qBAMD,CAJC,gFACC,UAAW,CACX,WACD,CAGD,4EACC,sDAAuD,CACvD,kBAAmB,CACnB,iBAAkB,CAClB,iBAAkB,CAClB,sBAOD,CALC,kFACC,4DAA6D,CAC7D,cAAe,CACf,yBACD,CAIF,wDACC,eAAgB,CAChB,gBACD,CAEA,4UAIC,gvGACD,CAEA,2EACC,kBAaD,CAXC,wGACC,orBACD,CAEA,6GACC,UAKD,CAHC,mHACC,UACD,CAIF,4EACC,2DAcD,CAZC,yGACC,4jHACD,CAGA,8GACC,aAKD,CAHC,oHACC,UACD,CAIF,6EAEC,iDAaD,CAXC,0GACC,48BACD,CAEA,+GACC,aAKD,CAHC,qHACC,UACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/components/tooltip/mixins/_tooltip.css\";\\n\\n.ck-media__wrapper {\\n\\t& .ck-media__placeholder {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-direction: column;\\n\\t\\talign-items: center;\\n\\n\\t\\t& .ck-media__placeholder__url {\\n\\t\\t\\t@mixin ck-tooltip_enabled;\\n\\n\\t\\t\\t/* Otherwise the URL will overflow when the content is very narrow. */\\n\\t\\t\\tmax-width: 100%;\\n\\n\\t\\t\\tposition: relative;\\n\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\t@mixin ck-tooltip_visible;\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck-media__placeholder__url__text {\\n\\t\\t\\t\\toverflow: hidden;\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&[data-oembed-url*=\"twitter.com\"],\\n\\t&[data-oembed-url*=\"google.com/maps\"],\\n\\t&[data-oembed-url*=\"goo.gl/maps\"],\\n\\t&[data-oembed-url*=\"maps.google.com\"],\\n\\t&[data-oembed-url*=\"maps.app.goo.gl\"],\\n\\t&[data-oembed-url*=\"facebook.com\"],\\n\\t&[data-oembed-url*=\"instagram.com\"] {\\n\\t\\t& .ck-media__placeholder__icon * {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n/* Disable all mouse interaction as long as the editor is not read–only.\\n https://github.com/ckeditor/ckeditor5-media-embed/issues/58 */\\n.ck-editor__editable:not(.ck-read-only) .ck-media__wrapper > *:not(.ck-media__placeholder) {\\n\\tpointer-events: none;\\n}\\n\\n/* Disable all mouse interaction when the widget is not selected (e.g. to avoid opening links by accident).\\n https://github.com/ckeditor/ckeditor5-media-embed/issues/18 */\\n.ck-editor__editable:not(.ck-read-only) .ck-widget:not(.ck-widget_selected) .ck-media__placeholder {\\n\\tpointer-events: none;\\n}\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Enables the tooltip, which is the tooltip is in DOM but\\n * not yet displayed.\\n */\\n@define-mixin ck-tooltip_enabled {\\n\\t& .ck-tooltip {\\n\\t\\tdisplay: block;\\n\\n\\t\\t/*\\n\\t\\t * Don't display tooltips in devices which don't support :hover.\\n\\t\\t * In fact, it's all about iOS, which forces user to click UI elements twice to execute\\n\\t\\t * the primary action, when tooltips are enabled.\\n\\t\\t *\\n\\t\\t * Q: OK, but why not the following query?\\n\\t\\t *\\n\\t\\t * @media (hover) {\\n\\t\\t * display: block;\\n\\t\\t * }\\n\\t\\t *\\n\\t\\t * A: Because FF does not support it and it would completely disable tooltips\\n\\t\\t * in that browser.\\n\\t\\t *\\n\\t\\t * More in https://github.com/ckeditor/ckeditor5/issues/920.\\n\\t\\t */\\n\\t\\t@media (hover:none) {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n/**\\n * Disables the tooltip making it disappear from DOM.\\n */\\n@define-mixin ck-tooltip_disabled {\\n\\t& .ck-tooltip {\\n\\t\\tdisplay: none;\\n\\t}\\n}\\n\\n/**\\n * Shows the tooltip, which is already in DOM.\\n * Requires `ck-tooltip_enabled` first.\\n */\\n@define-mixin ck-tooltip_visible {\\n\\t& .ck-tooltip {\\n\\t\\tvisibility: visible;\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-media-embed-placeholder-icon-size: 3em;\\n\\n\\t--ck-color-media-embed-placeholder-url-text: hsl(0, 0%, 46%);\\n\\t--ck-color-media-embed-placeholder-url-text-hover: var(--ck-color-base-text);\\n}\\n\\n.ck-media__wrapper {\\n\\tmargin: 0 auto;\\n\\n\\t& .ck-media__placeholder {\\n\\t\\tpadding: calc( 3 * var(--ck-spacing-standard) );\\n\\t\\tbackground: var(--ck-color-base-foreground);\\n\\n\\t\\t& .ck-media__placeholder__icon {\\n\\t\\t\\tmin-width: var(--ck-media-embed-placeholder-icon-size);\\n\\t\\t\\theight: var(--ck-media-embed-placeholder-icon-size);\\n\\t\\t\\tmargin-bottom: var(--ck-spacing-large);\\n\\t\\t\\tbackground-position: center;\\n\\t\\t\\tbackground-size: cover;\\n\\n\\t\\t\\t& .ck-icon {\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t\\theight: 100%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t& .ck-media__placeholder__url__text {\\n\\t\\t\\tcolor: var(--ck-color-media-embed-placeholder-url-text);\\n\\t\\t\\twhite-space: nowrap;\\n\\t\\t\\ttext-align: center;\\n\\t\\t\\tfont-style: italic;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\tcolor: var(--ck-color-media-embed-placeholder-url-text-hover);\\n\\t\\t\\t\\tcursor: pointer;\\n\\t\\t\\t\\ttext-decoration: underline;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&[data-oembed-url*=\"open.spotify.com\"] {\\n\\t\\tmax-width: 300px;\\n\\t\\tmax-height: 380px;\\n\\t}\\n\\n\\t&[data-oembed-url*=\"google.com/maps\"] .ck-media__placeholder__icon,\\n\\t&[data-oembed-url*=\"goo.gl/maps\"] .ck-media__placeholder__icon,\\n\\t&[data-oembed-url*=\"maps.google.com\"] .ck-media__placeholder__icon,\\n\\t&[data-oembed-url*=\"maps.app.goo.gl\"] .ck-media__placeholder__icon {\\n\\t\\tbackground-image: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNTAuMzc4IiBoZWlnaHQ9IjI1NC4xNjciIHZpZXdCb3g9IjAgMCA2Ni4yNDYgNjcuMjQ4Ij48ZyB0cmFuc2Zvcm09InRyYW5zbGF0ZSgtMTcyLjUzMSAtMjE4LjQ1NSkgc2NhbGUoLjk4MDEyKSI+PHJlY3Qgcnk9IjUuMjM4IiByeD0iNS4yMzgiIHk9IjIzMS4zOTkiIHg9IjE3Ni4wMzEiIGhlaWdodD0iNjAuMDk5IiB3aWR0aD0iNjAuMDk5IiBmaWxsPSIjMzRhNjY4IiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxwYXRoIGQ9Ik0yMDYuNDc3IDI2MC45bC0yOC45ODcgMjguOTg3YTUuMjE4IDUuMjE4IDAgMCAwIDMuNzggMS42MWg0OS42MjFjMS42OTQgMCAzLjE5LS43OTggNC4xNDYtMi4wMzd6IiBmaWxsPSIjNWM4OGM1Ii8+PHBhdGggZD0iTTIyNi43NDIgMjIyLjk4OGMtOS4yNjYgMC0xNi43NzcgNy4xNy0xNi43NzcgMTYuMDE0LjAwNyAyLjc2Mi42NjMgNS40NzQgMi4wOTMgNy44NzUuNDMuNzAzLjgzIDEuNDA4IDEuMTkgMi4xMDcuMzMzLjUwMi42NSAxLjAwNS45NSAxLjUwOC4zNDMuNDc3LjY3My45NTcuOTg4IDEuNDQgMS4zMSAxLjc2OSAyLjUgMy41MDIgMy42MzcgNS4xNjguNzkzIDEuMjc1IDEuNjgzIDIuNjQgMi40NjYgMy45OSAyLjM2MyA0LjA5NCA0LjAwNyA4LjA5MiA0LjYgMTMuOTE0di4wMTJjLjE4Mi40MTIuNTE2LjY2Ni44NzkuNjY3LjQwMy0uMDAxLjc2OC0uMzE0LjkzLS43OTkuNjAzLTUuNzU2IDIuMjM4LTkuNzI5IDQuNTg1LTEzLjc5NC43ODItMS4zNSAxLjY3My0yLjcxNSAyLjQ2NS0zLjk5IDEuMTM3LTEuNjY2IDIuMzI4LTMuNCAzLjYzOC01LjE2OS4zMTUtLjQ4Mi42NDUtLjk2Mi45ODgtMS40MzkuMy0uNTAzLjYxNy0xLjAwNi45NS0xLjUwOC4zNTktLjcuNzYtMS40MDQgMS4xOS0yLjEwNyAxLjQyNi0yLjQwMiAyLTUuMTE0IDIuMDA0LTcuODc1IDAtOC44NDQtNy41MTEtMTYuMDE0LTE2Ljc3Ni0xNi4wMTR6IiBmaWxsPSIjZGQ0YjNlIiBwYWludC1vcmRlcj0ibWFya2VycyBzdHJva2UgZmlsbCIvPjxlbGxpcHNlIHJ5PSI1LjU2NCIgcng9IjUuODI4IiBjeT0iMjM5LjAwMiIgY3g9IjIyNi43NDIiIGZpbGw9IiM4MDJkMjciIHBhaW50LW9yZGVyPSJtYXJrZXJzIHN0cm9rZSBmaWxsIi8+PHBhdGggZD0iTTE5MC4zMDEgMjM3LjI4M2MtNC42NyAwLTguNDU3IDMuODUzLTguNDU3IDguNjA2czMuNzg2IDguNjA3IDguNDU3IDguNjA3YzMuMDQzIDAgNC44MDYtLjk1OCA2LjMzNy0yLjUxNiAxLjUzLTEuNTU3IDIuMDg3LTMuOTEzIDIuMDg3LTYuMjkgMC0uMzYyLS4wMjMtLjcyMi0uMDY0LTEuMDc5aC04LjI1N3YzLjA0M2g0Ljg1Yy0uMTk3Ljc1OS0uNTMxIDEuNDUtMS4wNTggMS45ODYtLjk0Mi45NTgtMi4wMjggMS41NDgtMy45MDEgMS41NDgtMi44NzYgMC01LjIwOC0yLjM3Mi01LjIwOC01LjI5OSAwLTIuOTI2IDIuMzMyLTUuMjk5IDUuMjA4LTUuMjk5IDEuMzk5IDAgMi42MTguNDA3IDMuNTg0IDEuMjkzbDIuMzgxLTIuMzhjMC0uMDAyLS4wMDMtLjAwNC0uMDA0LS4wMDUtMS41ODgtMS41MjQtMy42Mi0yLjIxNS01Ljk1NS0yLjIxNXptNC40MyA1LjY2bC4wMDMuMDA2di0uMDAzeiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjE1LjE4NCAyNTEuOTI5bC03Ljk4IDcuOTc5IDI4LjQ3NyAyOC40NzVjLjI4Ny0uNjQ5LjQ0OS0xLjM2Ni40NDktMi4xMjN2LTMxLjE2NWMtLjQ2OS42NzUtLjkzNCAxLjM0OS0xLjM4MiAyLjAwNS0uNzkyIDEuMjc1LTEuNjgyIDIuNjQtMi40NjUgMy45OS0yLjM0NyA0LjA2NS0zLjk4MiA4LjAzOC00LjU4NSAxMy43OTQtLjE2Mi40ODUtLjUyNy43OTgtLjkzLjc5OS0uMzYzLS4wMDEtLjY5Ny0uMjU1LS44NzktLjY2N3YtLjAxMmMtLjU5My01LjgyMi0yLjIzNy05LjgyLTQuNi0xMy45MTQtLjc4My0xLjM1LTEuNjczLTIuNzE1LTIuNDY2LTMuOTktMS4xMzctMS42NjYtMi4zMjctMy40LTMuNjM3LTUuMTY5bC0uMDAyLS4wMDN6IiBmaWxsPSIjYzNjM2MzIi8+PHBhdGggZD0iTTIxMi45ODMgMjQ4LjQ5NWwtMzYuOTUyIDM2Ljk1M3YuODEyYTUuMjI3IDUuMjI3IDAgMCAwIDUuMjM4IDUuMjM4aDEuMDE1bDM1LjY2Ni0zNS42NjZhMTM2LjI3NSAxMzYuMjc1IDAgMCAwLTIuNzY0LTMuOSAzNy41NzUgMzcuNTc1IDAgMCAwLS45ODktMS40NGMtLjI5OS0uNTAzLS42MTYtMS4wMDYtLjk1LTEuNTA4LS4wODMtLjE2Mi0uMTc2LS4zMjYtLjI2NC0uNDg5eiIgZmlsbD0iI2ZkZGM0ZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48cGF0aCBkPSJNMjExLjk5OCAyNjEuMDgzbC02LjE1MiA2LjE1MSAyNC4yNjQgMjQuMjY0aC43ODFhNS4yMjcgNS4yMjcgMCAwIDAgNS4yMzktNS4yMzh2LTEuMDQ1eiIgZmlsbD0iI2ZmZiIgcGFpbnQtb3JkZXI9Im1hcmtlcnMgc3Ryb2tlIGZpbGwiLz48L2c+PC9zdmc+);\\n\\t}\\n\\n\\t&[data-oembed-url*=\"facebook.com\"] .ck-media__placeholder {\\n\\t\\tbackground: hsl(220, 46%, 48%);\\n\\n\\t\\t& .ck-media__placeholder__icon {\\n\\t\\t\\tbackground-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSIxMDI0cHgiIGhlaWdodD0iMTAyNHB4IiB2aWV3Qm94PSIwIDAgMTAyNCAxMDI0IiB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiPiAgICAgICAgPHRpdGxlPkZpbGwgMTwvdGl0bGU+ICAgIDxkZXNjPkNyZWF0ZWQgd2l0aCBTa2V0Y2guPC9kZXNjPiAgICA8ZGVmcz48L2RlZnM+ICAgIDxnIGlkPSJQYWdlLTEiIHN0cm9rZT0ibm9uZSIgc3Ryb2tlLXdpZHRoPSIxIiBmaWxsPSJub25lIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPiAgICAgICAgPGcgaWQ9ImZMb2dvX1doaXRlIiBmaWxsPSIjRkZGRkZFIj4gICAgICAgICAgICA8cGF0aCBkPSJNOTY3LjQ4NCwwIEw1Ni41MTcsMCBDMjUuMzA0LDAgMCwyNS4zMDQgMCw1Ni41MTcgTDAsOTY3LjQ4MyBDMCw5OTguNjk0IDI1LjI5NywxMDI0IDU2LjUyMiwxMDI0IEw1NDcsMTAyNCBMNTQ3LDYyOCBMNDE0LDYyOCBMNDE0LDQ3MyBMNTQ3LDQ3MyBMNTQ3LDM1OS4wMjkgQzU0NywyMjYuNzY3IDYyNy43NzMsMTU0Ljc0NyA3NDUuNzU2LDE1NC43NDcgQzgwMi4yNjksMTU0Ljc0NyA4NTAuODQyLDE1OC45NTUgODY1LDE2MC44MzYgTDg2NSwyOTkgTDc4My4zODQsMjk5LjAzNyBDNzE5LjM5MSwyOTkuMDM3IDcwNywzMjkuNTI5IDcwNywzNzQuMjczIEw3MDcsNDczIEw4NjAuNDg3LDQ3MyBMODQwLjUwMSw2MjggTDcwNyw2MjggTDcwNywxMDI0IEw5NjcuNDg0LDEwMjQgQzk5OC42OTcsMTAyNCAxMDI0LDk5OC42OTcgMTAyNCw5NjcuNDg0IEwxMDI0LDU2LjUxNSBDMTAyNCwyNS4zMDMgOTk4LjY5NywwIDk2Ny40ODQsMCIgaWQ9IkZpbGwtMSI+PC9wYXRoPiAgICAgICAgPC9nPiAgICA8L2c+PC9zdmc+);\\n\\t\\t}\\n\\n\\t\\t& .ck-media__placeholder__url__text {\\n\\t\\t\\tcolor: hsl(220, 100%, 90%);\\n\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\tcolor: hsl(0, 0%, 100%);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&[data-oembed-url*=\"instagram.com\"] .ck-media__placeholder {\\n\\t\\tbackground: linear-gradient(-135deg,hsl(246, 100%, 39%),hsl(302, 100%, 36%),hsl(0, 100%, 48%));\\n\\n\\t\\t& .ck-media__placeholder__icon {\\n\\t\\t\\tbackground-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz48c3ZnIHdpZHRoPSI1MDRweCIgaGVpZ2h0PSI1MDRweCIgdmlld0JveD0iMCAwIDUwNCA1MDQiIHZlcnNpb249IjEuMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiB4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayI+ICAgICAgICA8dGl0bGU+Z2x5cGgtbG9nb19NYXkyMDE2PC90aXRsZT4gICAgPGRlc2M+Q3JlYXRlZCB3aXRoIFNrZXRjaC48L2Rlc2M+ICAgIDxkZWZzPiAgICAgICAgPHBvbHlnb24gaWQ9InBhdGgtMSIgcG9pbnRzPSIwIDAuMTU5IDUwMy44NDEgMC4xNTkgNTAzLjg0MSA1MDMuOTQgMCA1MDMuOTQiPjwvcG9seWdvbj4gICAgPC9kZWZzPiAgICA8ZyBpZD0iZ2x5cGgtbG9nb19NYXkyMDE2IiBzdHJva2U9Im5vbmUiIHN0cm9rZS13aWR0aD0iMSIgZmlsbD0ibm9uZSIgZmlsbC1ydWxlPSJldmVub2RkIj4gICAgICAgIDxnIGlkPSJHcm91cC0zIj4gICAgICAgICAgICA8bWFzayBpZD0ibWFzay0yIiBmaWxsPSJ3aGl0ZSI+ICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj0iI3BhdGgtMSI+PC91c2U+ICAgICAgICAgICAgPC9tYXNrPiAgICAgICAgICAgIDxnIGlkPSJDbGlwLTIiPjwvZz4gICAgICAgICAgICA8cGF0aCBkPSJNMjUxLjkyMSwwLjE1OSBDMTgzLjUwMywwLjE1OSAxNzQuOTI0LDAuNDQ5IDE0OC4wNTQsMS42NzUgQzEyMS4yNCwyLjg5OCAxMDIuOTI3LDcuMTU3IDg2LjkwMywxMy4zODUgQzcwLjMzNywxOS44MjIgNTYuMjg4LDI4LjQzNiA0Mi4yODIsNDIuNDQxIEMyOC4yNzcsNTYuNDQ3IDE5LjY2Myw3MC40OTYgMTMuMjI2LDg3LjA2MiBDNi45OTgsMTAzLjA4NiAyLjczOSwxMjEuMzk5IDEuNTE2LDE0OC4yMTMgQzAuMjksMTc1LjA4MyAwLDE4My42NjIgMCwyNTIuMDggQzAsMzIwLjQ5NyAwLjI5LDMyOS4wNzYgMS41MTYsMzU1Ljk0NiBDMi43MzksMzgyLjc2IDYuOTk4LDQwMS4wNzMgMTMuMjI2LDQxNy4wOTcgQzE5LjY2Myw0MzMuNjYzIDI4LjI3Nyw0NDcuNzEyIDQyLjI4Miw0NjEuNzE4IEM1Ni4yODgsNDc1LjcyMyA3MC4zMzcsNDg0LjMzNyA4Ni45MDMsNDkwLjc3NSBDMTAyLjkyNyw0OTcuMDAyIDEyMS4yNCw1MDEuMjYxIDE0OC4wNTQsNTAyLjQ4NCBDMTc0LjkyNCw1MDMuNzEgMTgzLjUwMyw1MDQgMjUxLjkyMSw1MDQgQzMyMC4zMzgsNTA0IDMyOC45MTcsNTAzLjcxIDM1NS43ODcsNTAyLjQ4NCBDMzgyLjYwMSw1MDEuMjYxIDQwMC45MTQsNDk3LjAwMiA0MTYuOTM4LDQ5MC43NzUgQzQzMy41MDQsNDg0LjMzNyA0NDcuNTUzLDQ3NS43MjMgNDYxLjU1OSw0NjEuNzE4IEM0NzUuNTY0LDQ0Ny43MTIgNDg0LjE3OCw0MzMuNjYzIDQ5MC42MTYsNDE3LjA5NyBDNDk2Ljg0Myw0MDEuMDczIDUwMS4xMDIsMzgyLjc2IDUwMi4zMjUsMzU1Ljk0NiBDNTAzLjU1MSwzMjkuMDc2IDUwMy44NDEsMzIwLjQ5NyA1MDMuODQxLDI1Mi4wOCBDNTAzLjg0MSwxODMuNjYyIDUwMy41NTEsMTc1LjA4MyA1MDIuMzI1LDE0OC4yMTMgQzUwMS4xMDIsMTIxLjM5OSA0OTYuODQzLDEwMy4wODYgNDkwLjYxNiw4Ny4wNjIgQzQ4NC4xNzgsNzAuNDk2IDQ3NS41NjQsNTYuNDQ3IDQ2MS41NTksNDIuNDQxIEM0NDcuNTUzLDI4LjQzNiA0MzMuNTA0LDE5LjgyMiA0MTYuOTM4LDEzLjM4NSBDNDAwLjkxNCw3LjE1NyAzODIuNjAxLDIuODk4IDM1NS43ODcsMS42NzUgQzMyOC45MTcsMC40NDkgMzIwLjMzOCwwLjE1OSAyNTEuOTIxLDAuMTU5IFogTTI1MS45MjEsNDUuNTUgQzMxOS4xODYsNDUuNTUgMzI3LjE1NCw0NS44MDcgMzUzLjcxOCw0Ny4wMTkgQzM3OC4yOCw0OC4xMzkgMzkxLjYxOSw1Mi4yNDMgNDAwLjQ5Niw1NS42OTMgQzQxMi4yNTUsNjAuMjYzIDQyMC42NDcsNjUuNzIyIDQyOS40NjIsNzQuNTM4IEM0MzguMjc4LDgzLjM1MyA0NDMuNzM3LDkxLjc0NSA0NDguMzA3LDEwMy41MDQgQzQ1MS43NTcsMTEyLjM4MSA0NTUuODYxLDEyNS43MiA0NTYuOTgxLDE1MC4yODIgQzQ1OC4xOTMsMTc2Ljg0NiA0NTguNDUsMTg0LjgxNCA0NTguNDUsMjUyLjA4IEM0NTguNDUsMzE5LjM0NSA0NTguMTkzLDMyNy4zMTMgNDU2Ljk4MSwzNTMuODc3IEM0NTUuODYxLDM3OC40MzkgNDUxLjc1NywzOTEuNzc4IDQ0OC4zMDcsNDAwLjY1NSBDNDQzLjczNyw0MTIuNDE0IDQzOC4yNzgsNDIwLjgwNiA0MjkuNDYyLDQyOS42MjEgQzQyMC42NDcsNDM4LjQzNyA0MTIuMjU1LDQ0My44OTYgNDAwLjQ5Niw0NDguNDY2IEMzOTEuNjE5LDQ1MS45MTYgMzc4LjI4LDQ1Ni4wMiAzNTMuNzE4LDQ1Ny4xNCBDMzI3LjE1OCw0NTguMzUyIDMxOS4xOTEsNDU4LjYwOSAyNTEuOTIxLDQ1OC42MDkgQzE4NC42NSw0NTguNjA5IDE3Ni42ODQsNDU4LjM1MiAxNTAuMTIzLDQ1Ny4xNCBDMTI1LjU2MSw0NTYuMDIgMTEyLjIyMiw0NTEuOTE2IDEwMy4zNDUsNDQ4LjQ2NiBDOTEuNTg2LDQ0My44OTYgODMuMTk0LDQzOC40MzcgNzQuMzc5LDQyOS42MjEgQzY1LjU2NCw0MjAuODA2IDYwLjEwNCw0MTIuNDE0IDU1LjUzNCw0MDAuNjU1IEM1Mi4wODQsMzkxLjc3OCA0Ny45OCwzNzguNDM5IDQ2Ljg2LDM1My44NzcgQzQ1LjY0OCwzMjcuMzEzIDQ1LjM5MSwzMTkuMzQ1IDQ1LjM5MSwyNTIuMDggQzQ1LjM5MSwxODQuODE0IDQ1LjY0OCwxNzYuODQ2IDQ2Ljg2LDE1MC4yODIgQzQ3Ljk4LDEyNS43MiA1Mi4wODQsMTEyLjM4MSA1NS41MzQsMTAzLjUwNCBDNjAuMTA0LDkxLjc0NSA2NS41NjMsODMuMzUzIDc0LjM3OSw3NC41MzggQzgzLjE5NCw2NS43MjIgOTEuNTg2LDYwLjI2MyAxMDMuMzQ1LDU1LjY5MyBDMTEyLjIyMiw1Mi4yNDMgMTI1LjU2MSw0OC4xMzkgMTUwLjEyMyw0Ny4wMTkgQzE3Ni42ODcsNDUuODA3IDE4NC42NTUsNDUuNTUgMjUxLjkyMSw0NS41NSBaIiBpZD0iRmlsbC0xIiBmaWxsPSIjRkZGRkZGIiBtYXNrPSJ1cmwoI21hc2stMikiPjwvcGF0aD4gICAgICAgIDwvZz4gICAgICAgIDxwYXRoIGQ9Ik0yNTEuOTIxLDMzNi4wNTMgQzIwNS41NDMsMzM2LjA1MyAxNjcuOTQ3LDI5OC40NTcgMTY3Ljk0NywyNTIuMDggQzE2Ny45NDcsMjA1LjcwMiAyMDUuNTQzLDE2OC4xMDYgMjUxLjkyMSwxNjguMTA2IEMyOTguMjk4LDE2OC4xMDYgMzM1Ljg5NCwyMDUuNzAyIDMzNS44OTQsMjUyLjA4IEMzMzUuODk0LDI5OC40NTcgMjk4LjI5OCwzMzYuMDUzIDI1MS45MjEsMzM2LjA1MyBaIE0yNTEuOTIxLDEyMi43MTUgQzE4MC40NzQsMTIyLjcxNSAxMjIuNTU2LDE4MC42MzMgMTIyLjU1NiwyNTIuMDggQzEyMi41NTYsMzIzLjUyNiAxODAuNDc0LDM4MS40NDQgMjUxLjkyMSwzODEuNDQ0IEMzMjMuMzY3LDM4MS40NDQgMzgxLjI4NSwzMjMuNTI2IDM4MS4yODUsMjUyLjA4IEMzODEuMjg1LDE4MC42MzMgMzIzLjM2NywxMjIuNzE1IDI1MS45MjEsMTIyLjcxNSBaIiBpZD0iRmlsbC00IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgICAgICA8cGF0aCBkPSJNNDE2LjYyNywxMTcuNjA0IEM0MTYuNjI3LDEzNC4zIDQwMy4wOTIsMTQ3LjgzNCAzODYuMzk2LDE0Ny44MzQgQzM2OS43MDEsMTQ3LjgzNCAzNTYuMTY2LDEzNC4zIDM1Ni4xNjYsMTE3LjYwNCBDMzU2LjE2NiwxMDAuOTA4IDM2OS43MDEsODcuMzczIDM4Ni4zOTYsODcuMzczIEM0MDMuMDkyLDg3LjM3MyA0MTYuNjI3LDEwMC45MDggNDE2LjYyNywxMTcuNjA0IiBpZD0iRmlsbC01IiBmaWxsPSIjRkZGRkZGIj48L3BhdGg+ICAgIDwvZz48L3N2Zz4=);\\n\\t\\t}\\n\\n\\t\\t/* stylelint-disable-next-line no-descending-specificity */\\n\\t\\t& .ck-media__placeholder__url__text {\\n\\t\\t\\tcolor: hsl(302, 100%, 94%);\\n\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\tcolor: hsl(0, 0%, 100%);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&[data-oembed-url*=\"twitter.com\"] .ck.ck-media__placeholder {\\n\\t\\t/* Use gradient to contrast with focused widget (ckeditor/ckeditor5-media-embed#22). */\\n\\t\\tbackground: linear-gradient( to right, hsl(201, 85%, 70%), hsl(201, 85%, 35%) );\\n\\n\\t\\t& .ck-media__placeholder__icon {\\n\\t\\t\\tbackground-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz48c3ZnIHZlcnNpb249IjEuMSIgaWQ9IldoaXRlIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHhtbG5zOnhsaW5rPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rIiB4PSIwcHgiIHk9IjBweCIgdmlld0JveD0iMCAwIDQwMCA0MDAiIHN0eWxlPSJlbmFibGUtYmFja2dyb3VuZDpuZXcgMCAwIDQwMCA0MDA7IiB4bWw6c3BhY2U9InByZXNlcnZlIj48c3R5bGUgdHlwZT0idGV4dC9jc3MiPi5zdDB7ZmlsbDojRkZGRkZGO308L3N0eWxlPjxwYXRoIGNsYXNzPSJzdDAiIGQ9Ik00MDAsMjAwYzAsMTEwLjUtODkuNSwyMDAtMjAwLDIwMFMwLDMxMC41LDAsMjAwUzg5LjUsMCwyMDAsMFM0MDAsODkuNSw0MDAsMjAweiBNMTYzLjQsMzA1LjVjODguNywwLDEzNy4yLTczLjUsMTM3LjItMTM3LjJjMC0yLjEsMC00LjItMC4xLTYuMmM5LjQtNi44LDE3LjYtMTUuMywyNC4xLTI1Yy04LjYsMy44LTE3LjksNi40LTI3LjcsNy42YzEwLTYsMTcuNi0xNS40LDIxLjItMjYuN2MtOS4zLDUuNS0xOS42LDkuNS0zMC42LDExLjdjLTguOC05LjQtMjEuMy0xNS4yLTM1LjItMTUuMmMtMjYuNiwwLTQ4LjIsMjEuNi00OC4yLDQ4LjJjMCwzLjgsMC40LDcuNSwxLjMsMTFjLTQwLjEtMi03NS42LTIxLjItOTkuNC01MC40Yy00LjEsNy4xLTYuNSwxNS40LTYuNSwyNC4yYzAsMTYuNyw4LjUsMzEuNSwyMS41LDQwLjFjLTcuOS0wLjItMTUuMy0yLjQtMjEuOC02YzAsMC4yLDAsMC40LDAsMC42YzAsMjMuNCwxNi42LDQyLjgsMzguNyw0Ny4zYy00LDEuMS04LjMsMS43LTEyLjcsMS43Yy0zLjEsMC02LjEtMC4zLTkuMS0wLjljNi4xLDE5LjIsMjMuOSwzMy4xLDQ1LDMzLjVjLTE2LjUsMTIuOS0zNy4zLDIwLjYtNTkuOSwyMC42Yy0zLjksMC03LjctMC4yLTExLjUtMC43QzExMC44LDI5Ny41LDEzNi4yLDMwNS41LDE2My40LDMwNS41Ii8+PC9zdmc+);\\n\\t\\t}\\n\\n\\t\\t& .ck-media__placeholder__url__text {\\n\\t\\t\\tcolor: hsl(201, 100%, 86%);\\n\\n\\t\\t\\t&:hover {\\n\\t\\t\\t\\tcolor: hsl(0, 0%, 100%);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const a=s},3525:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-media-form{display:flex;align-items:flex-start;flex-direction:row;flex-wrap:nowrap}.ck.ck-media-form .ck-labeled-field-view{display:inline-block}.ck.ck-media-form .ck-label{display:none}@media screen and (max-width:600px){.ck.ck-media-form{flex-wrap:wrap}.ck.ck-media-form .ck-labeled-field-view{flex-basis:100%}.ck.ck-media-form .ck-button{flex-basis:50%}}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-media-embed/theme/mediaform.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\"],names:[],mappings:\"AAOA,kBACC,YAAa,CACb,sBAAuB,CACvB,kBAAmB,CACnB,gBAqBD,CAnBC,yCACC,oBACD,CAEA,4BACC,YACD,CCbA,oCDCD,kBAeE,cAUF,CARE,yCACC,eACD,CAEA,6BACC,cACD,CCtBD\",sourcesContent:['/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\";\\n\\n.ck.ck-media-form {\\n\\tdisplay: flex;\\n\\talign-items: flex-start;\\n\\tflex-direction: row;\\n\\tflex-wrap: nowrap;\\n\\n\\t& .ck-labeled-field-view {\\n\\t\\tdisplay: inline-block;\\n\\t}\\n\\n\\t& .ck-label {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t@mixin ck-media-phone {\\n\\t\\tflex-wrap: wrap;\\n\\n\\t\\t& .ck-labeled-field-view {\\n\\t\\t\\tflex-basis: 100%;\\n\\t\\t}\\n\\n\\t\\t& .ck-button {\\n\\t\\t\\tflex-basis: 50%;\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@define-mixin ck-media-phone {\\n\\t@media screen and (max-width: 600px) {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},671:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,'.ck-source-editing-area{display:inline-grid;width:100%;font-family:monospace}.ck-source-editing-area:after,.ck-source-editing-area textarea{grid-area:1/1;padding:var(--ck-spacing-large);margin:0;border:1px solid transparent;line-height:var(--ck-line-height-base);font-size:var(--ck-font-size-normal);white-space:pre-wrap}.ck-source-editing-area:after{content:attr(data-value) \" \";visibility:hidden}.ck-source-editing-area textarea{resize:none;outline:none;overflow:hidden;border-color:var(--ck-color-base-border);border-radius:0}.ck-rounded-corners .ck-source-editing-area textarea,.ck-source-editing-area textarea.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}.ck-source-editing-area textarea:not([readonly]):focus{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-source-editing/theme/sourceediting.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],names:[],mappings:\"AASA,wBACC,mBAAoB,CACpB,UAAW,CACX,qBACD,CAEA,+DAEC,aAAc,CACd,+BAAgC,CAChC,QAAS,CACT,4BAA6B,CAC7B,sCAAuC,CACvC,oCAAqC,CACrC,oBACD,CAEA,8BACC,4BAA6B,CAC7B,iBACD,CAEA,iCACC,WAAY,CACZ,YAAa,CACb,eAAgB,CAEhB,wCAAyC,CCzBzC,eDoCD,CAhBA,yGChBE,qCAAsC,CDwBtC,wBAAyB,CACzB,yBAOF,CAJC,uDEjCA,YAAa,CACb,2BAA2B,CCF3B,qCHqCA\",sourcesContent:['/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\";\\n@import \"@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css\";\\n@import \"@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\";\\n\\n.ck-source-editing-area {\\n\\tdisplay: inline-grid;\\n\\twidth: 100%;\\n\\tfont-family: monospace;\\n}\\n\\n.ck-source-editing-area::after,\\n.ck-source-editing-area textarea {\\n\\tgrid-area: 1/1;\\n\\tpadding: var(--ck-spacing-large);\\n\\tmargin: 0;\\n\\tborder: 1px solid transparent;\\n\\tline-height: var(--ck-line-height-base);\\n\\tfont-size: var(--ck-font-size-normal);\\n\\twhite-space: pre-wrap;\\n}\\n\\n.ck-source-editing-area::after {\\n\\tcontent: attr(data-value) \" \";\\n\\tvisibility: hidden;\\n}\\n\\n.ck-source-editing-area textarea {\\n\\tresize: none;\\n\\toutline: none;\\n\\toverflow: hidden;\\n\\n\\tborder-color: var(--ck-color-base-border);\\n\\n\\t@mixin ck-rounded-corners {\\n\\t\\tborder-top-left-radius: 0;\\n\\t\\tborder-top-right-radius: 0;\\n\\t}\\n\\n\\t&:not([readonly]):focus {\\n\\t\\t@mixin ck-focus-ring;\\n\\t\\t@mixin ck-box-shadow var(--ck-inner-shadow);\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A visual style of focused element's border.\\n */\\n@define-mixin ck-focus-ring {\\n\\t/* Disable native outline. */\\n\\toutline: none;\\n\\tborder: var(--ck-focus-ring)\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],sourceRoot:\"\"}]);const a=s},4046:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-character-grid{max-width:100%}.ck.ck-character-grid .ck-character-grid__tiles{display:grid}:root{--ck-character-grid-tile-size:24px}.ck.ck-character-grid{overflow-y:auto;overflow-x:hidden;width:350px;max-height:200px}.ck.ck-character-grid .ck-character-grid__tiles{grid-template-columns:repeat(auto-fit,minmax(var(--ck-character-grid-tile-size),1fr));margin:var(--ck-spacing-standard) var(--ck-spacing-large);grid-gap:var(--ck-spacing-standard)}.ck.ck-character-grid .ck-character-grid__tile{width:var(--ck-character-grid-tile-size);height:var(--ck-character-grid-tile-size);min-width:var(--ck-character-grid-tile-size);min-height:var(--ck-character-grid-tile-size);font-size:1.2em;padding:0;transition:box-shadow .2s ease;border:0}.ck.ck-character-grid .ck-character-grid__tile:focus:not(.ck-disabled),.ck.ck-character-grid .ck-character-grid__tile:hover:not(.ck-disabled){border:0;box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-focus-border)}.ck.ck-character-grid .ck-character-grid__tile .ck-button__label{line-height:var(--ck-character-grid-tile-size);width:100%;text-align:center}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-special-characters/theme/charactergrid.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-special-characters/charactergrid.css\"],names:[],mappings:\"AAKA,sBACC,cAKD,CAHC,gDACC,YACD,CCHD,MACC,kCACD,CAEA,sBACC,eAAgB,CAChB,iBAAkB,CAClB,WAAY,CACZ,gBAgCD,CA9BC,gDACC,qFAAwF,CACxF,yDAA0D,CAC1D,mCACD,CAEA,+CACC,wCAAyC,CACzC,yCAA0C,CAC1C,4CAA6C,CAC7C,6CAA8C,CAC9C,eAAgB,CAChB,SAAU,CACV,8BAA+B,CAC/B,QAeD,CAbC,8IAGC,QAAS,CACT,iGACD,CAGA,iEACC,8CAA+C,CAC/C,UAAW,CACX,iBACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-character-grid {\\n\\tmax-width: 100%;\\n\\t\\n\\t& .ck-character-grid__tiles {\\n\\t\\tdisplay: grid;\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../mixins/_rounded.css\";\\n\\n:root {\\n\\t--ck-character-grid-tile-size: 24px;\\n}\\n\\n.ck.ck-character-grid {\\n\\toverflow-y: auto;\\n\\toverflow-x: hidden;\\n\\twidth: 350px;\\n\\tmax-height: 200px;\\n\\n\\t& .ck-character-grid__tiles {\\n\\t\\tgrid-template-columns: repeat(auto-fit, minmax(var(--ck-character-grid-tile-size), 1fr));\\n\\t\\tmargin: var(--ck-spacing-standard) var(--ck-spacing-large);\\n\\t\\tgrid-gap: var(--ck-spacing-standard);\\n\\t}\\n\\n\\t& .ck-character-grid__tile {\\n\\t\\twidth: var(--ck-character-grid-tile-size);\\n\\t\\theight: var(--ck-character-grid-tile-size);\\n\\t\\tmin-width: var(--ck-character-grid-tile-size);\\n\\t\\tmin-height: var(--ck-character-grid-tile-size);\\n\\t\\tfont-size: 1.2em;\\n\\t\\tpadding: 0;\\n\\t\\ttransition: .2s ease box-shadow;\\n\\t\\tborder: 0;\\n\\n\\t\\t&:focus:not( .ck-disabled ),\\n\\t\\t&:hover:not( .ck-disabled ) {\\n\\t\\t\\t/* Disable the default .ck-button\\'s border ring. */\\n\\t\\t\\tborder: 0;\\n\\t\\t\\tbox-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-focus-border);\\n\\t\\t}\\n\\n\\t\\t/* Make sure the glyph is rendered in the center of the button */\\n\\t\\t& .ck-button__label {\\n\\t\\t\\tline-height: var(--ck-character-grid-tile-size);\\n\\t\\t\\twidth: 100%;\\n\\t\\t\\ttext-align: center;\\n\\t\\t}\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const a=s},4779:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-character-info{display:flex;justify-content:space-between;padding:var(--ck-spacing-small) var(--ck-spacing-large);border-top:1px solid var(--ck-color-base-border)}.ck.ck-character-info>*{text-transform:uppercase;font-size:var(--ck-font-size-small)}.ck.ck-character-info .ck-character-info__name{max-width:280px;text-overflow:ellipsis;overflow:hidden}.ck.ck-character-info .ck-character-info__code{opacity:.6}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-special-characters/theme/characterinfo.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-special-characters/characterinfo.css\"],names:[],mappings:\"AAKA,sBACC,YAAa,CACb,6BAA8B,CCD9B,uDAAwD,CACxD,gDDCD,CCCC,wBACC,wBAAyB,CACzB,mCACD,CAEA,+CACC,eAAgB,CAChB,sBAAuB,CACvB,eACD,CAEA,+CACC,UACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-character-info {\\n\\tdisplay: flex;\\n\\tjustify-content: space-between;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-character-info {\\n\\tpadding: var(--ck-spacing-small) var(--ck-spacing-large);\\n\\tborder-top: 1px solid var(--ck-color-base-border);\\n\\n\\t& > * {\\n\\t\\ttext-transform: uppercase;\\n\\t\\tfont-size: var(--ck-font-size-small);\\n\\t}\\n\\n\\t& .ck-character-info__name {\\n\\t\\tmax-width: 280px;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\toverflow: hidden;\\n\\t}\\n\\n\\t& .ck-character-info__code {\\n\\t\\topacity: .6;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},8170:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-special-characters-navigation>.ck-label{max-width:160px;text-overflow:ellipsis;overflow:hidden}.ck.ck-special-characters-navigation>.ck-dropdown .ck-dropdown__panel{max-height:250px;overflow-y:auto;overflow-x:hidden}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-special-characters/specialcharacters.css\"],names:[],mappings:\"AASC,+CACC,eAAgB,CAChB,sBAAuB,CACvB,eACD,CAEA,sEAEC,gBAAiB,CACjB,eAAgB,CAChB,iBACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n.ck.ck-special-characters-navigation {\\n\\n\\t& > .ck-label {\\n\\t\\tmax-width: 160px;\\n\\t\\ttext-overflow: ellipsis;\\n\\t\\toverflow: hidden;\\n\\t}\\n\\n\\t& > .ck-dropdown .ck-dropdown__panel {\\n\\t\\t/* There could be dozens of categories available. Use scroll to prevent a 10e6px dropdown. */\\n\\t\\tmax-height: 250px;\\n\\t\\toverflow-y: auto;\\n\\t\\toverflow-x: hidden;\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const a=s},4082:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-input-color{width:100%;display:flex;flex-direction:row-reverse}.ck.ck-input-color>input.ck.ck-input-text{min-width:auto;flex-grow:1}.ck.ck-input-color>div.ck.ck-dropdown{min-width:auto}.ck.ck-input-color>div.ck.ck-dropdown>.ck-input-color__button .ck-dropdown__arrow{display:none}.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview{position:relative;overflow:hidden}.ck.ck-input-color .ck.ck-input-color__button .ck.ck-input-color__button__preview>.ck.ck-input-color__button__preview__no-color-indicator{position:absolute;display:block}[dir=ltr] .ck.ck-input-color>.ck.ck-input-text{border-top-right-radius:0;border-bottom-right-radius:0}[dir=rtl] .ck.ck-input-color>.ck.ck-input-text{border-top-left-radius:0;border-bottom-left-radius:0}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{padding:0}[dir=ltr] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{border-left-width:0;border-top-left-radius:0;border-bottom-left-radius:0}[dir=rtl] .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button{border-right-width:0;border-top-right-radius:0;border-bottom-right-radius:0}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button.ck-disabled{background:var(--ck-color-input-disabled-background)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview{border-radius:0}.ck-rounded-corners .ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview,.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview{width:20px;height:20px;border:1px solid var(--ck-color-input-border)}.ck.ck-input-color>.ck.ck-dropdown>.ck.ck-button.ck-input-color__button>.ck.ck-input-color__button__preview>.ck.ck-input-color__button__preview__no-color-indicator{top:-30%;left:50%;height:150%;width:8%;background:red;border-radius:2px;transform:rotate(45deg);transform-origin:50%}.ck.ck-input-color .ck.ck-input-color__remove-color{width:100%;border-bottom:1px solid var(--ck-color-input-border);padding:calc(var(--ck-spacing-standard)/2) var(--ck-spacing-standard);border-bottom-left-radius:0;border-bottom-right-radius:0}[dir=ltr] .ck.ck-input-color .ck.ck-input-color__remove-color{border-top-right-radius:0}[dir=rtl] .ck.ck-input-color .ck.ck-input-color__remove-color{border-top-left-radius:0}.ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon{margin-right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-input-color .ck.ck-input-color__remove-color .ck.ck-icon{margin-right:0;margin-left:var(--ck-spacing-standard)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/colorinput.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/colorinput.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAKA,mBACC,UAAW,CACX,YAAa,CACb,0BA2BD,CAzBC,0CACC,cAAe,CACf,WACD,CAEA,sCACC,cAMD,CAHC,kFACC,YACD,CAIA,kFACC,iBAAkB,CAClB,eAMD,CAJC,0IACC,iBAAkB,CAClB,aACD,CCvBF,+CAEE,yBAA0B,CAC1B,4BAOF,CAVA,+CAOE,wBAAyB,CACzB,2BAEF,CAGC,wEACC,SAoCD,CArCA,kFAIE,mBAAoB,CACpB,wBAAyB,CACzB,2BA+BF,CArCA,kFAUE,oBAAqB,CACrB,yBAA0B,CAC1B,4BAyBF,CAtBC,oFACC,oDACD,CAEA,4GC9BF,eD+CE,CAjBA,+PC1BD,qCD2CC,CAjBA,4GAGC,UAAW,CACX,WAAY,CACZ,6CAYD,CAVC,oKACC,QAAS,CACT,QAAS,CACT,WAAY,CACZ,QAAS,CACT,cAA6B,CAC7B,iBAAkB,CAClB,uBAAwB,CACxB,oBACD,CAKH,oDACC,UAAW,CACX,oDAAqD,CACrD,qEAAwE,CAExE,2BAA4B,CAC5B,4BAkBD,CAxBA,8DASE,yBAeF,CAxBA,8DAaE,wBAWF,CARC,gEACC,uCAMD,CAPA,0EAIE,cAAe,CACf,sCAEF\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-input-color {\\n\\twidth: 100%;\\n\\tdisplay: flex;\\n\\tflex-direction: row-reverse;\\n\\n\\t& > input.ck.ck-input-text {\\n\\t\\tmin-width: auto;\\n\\t\\tflex-grow: 1;\\n\\t}\\n\\n\\t& > div.ck.ck-dropdown {\\n\\t\\tmin-width: auto;\\n\\n\\t\\t/* This dropdown has no arrow but a color preview instead. */\\n\\t\\t& > .ck-input-color__button .ck-dropdown__arrow {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck.ck-input-color__button {\\n\\t\\t& .ck.ck-input-color__button__preview {\\n\\t\\t\\tposition: relative;\\n\\t\\t\\toverflow: hidden;\\n\\n\\t\\t\\t& > .ck.ck-input-color__button__preview__no-color-indicator {\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\tdisplay: block;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n@import \"../mixins/_rounded.css\";\\n\\n.ck.ck-input-color {\\n\\t& > .ck.ck-input-text {\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\tborder-top-right-radius: 0;\\n\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck.ck-dropdown {\\n\\t\\t& > .ck.ck-button.ck-input-color__button {\\n\\t\\t\\tpadding: 0;\\n\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\tborder-left-width: 0;\\n\\t\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tborder-right-width: 0;\\n\\t\\t\\t\\tborder-top-right-radius: 0;\\n\\t\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&.ck-disabled {\\n\\t\\t\\t\\tbackground: var(--ck-color-input-disabled-background);\\n\\t\\t\\t}\\n\\n\\t\\t\\t& > .ck.ck-input-color__button__preview {\\n\\t\\t\\t\\t@mixin ck-rounded-corners;\\n\\n\\t\\t\\t\\twidth: 20px;\\n\\t\\t\\t\\theight: 20px;\\n\\t\\t\\t\\tborder: 1px solid var(--ck-color-input-border);\\n\\n\\t\\t\\t\\t& > .ck.ck-input-color__button__preview__no-color-indicator {\\n\\t\\t\\t\\t\\ttop: -30%;\\n\\t\\t\\t\\t\\tleft: 50%;\\n\\t\\t\\t\\t\\theight: 150%;\\n\\t\\t\\t\\t\\twidth: 8%;\\n\\t\\t\\t\\t\\tbackground: hsl(0, 100%, 50%);\\n\\t\\t\\t\\t\\tborder-radius: 2px;\\n\\t\\t\\t\\t\\ttransform: rotate(45deg);\\n\\t\\t\\t\\t\\ttransform-origin: 50%;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck.ck-input-color__remove-color {\\n\\t\\twidth: 100%;\\n\\t\\tborder-bottom: 1px solid var(--ck-color-input-border);\\n\\t\\tpadding: calc(var(--ck-spacing-standard) / 2) var(--ck-spacing-standard);\\n\\n\\t\\tborder-bottom-left-radius: 0;\\n\\t\\tborder-bottom-right-radius: 0;\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\tborder-top-right-radius: 0;\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t}\\n\\n\\t\\t& .ck.ck-icon {\\n\\t\\t\\tmargin-right: var(--ck-spacing-standard);\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tmargin-right: 0;\\n\\t\\t\\t\\tmargin-left: var(--ck-spacing-standard);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},4880:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-form{padding:0 0 var(--ck-spacing-large)}.ck.ck-form:focus{outline:none}.ck.ck-form .ck.ck-input-text{min-width:100%;width:0}.ck.ck-form .ck.ck-dropdown{min-width:100%}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button:not(:focus){border:1px solid var(--ck-color-base-border)}.ck.ck-form .ck.ck-dropdown .ck-dropdown__button .ck-button__label{width:100%}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/form.css\"],names:[],mappings:\"AAKA,YACC,mCAyBD,CAvBC,kBAEC,YACD,CAEA,8BACC,cAAe,CACf,OACD,CAEA,4BACC,cAWD,CARE,6DACC,4CACD,CAEA,mEACC,UACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-form {\\n\\tpadding: 0 0 var(--ck-spacing-large);\\n\\n\\t&:focus {\\n\\t\\t/* See: https://github.com/ckeditor/ckeditor5/issues/4773 */\\n\\t\\toutline: none;\\n\\t}\\n\\n\\t& .ck.ck-input-text {\\n\\t\\tmin-width: 100%;\\n\\t\\twidth: 0;\\n\\t}\\n\\n\\t& .ck.ck-dropdown {\\n\\t\\tmin-width: 100%;\\n\\n\\t\\t& .ck-dropdown__button {\\n\\t\\t\\t&:not(:focus) {\\n\\t\\t\\t\\tborder: 1px solid var(--ck-color-base-border);\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck-button__label {\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},9865:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-form__row{display:flex;flex-direction:row;flex-wrap:nowrap;justify-content:space-between}.ck.ck-form__row>:not(.ck-label){flex-grow:1}.ck.ck-form__row.ck-table-form__action-row .ck-button-cancel,.ck.ck-form__row.ck-table-form__action-row .ck-button-save{justify-content:center}.ck.ck-form__row{padding:var(--ck-spacing-standard) var(--ck-spacing-large) 0}[dir=ltr] .ck.ck-form__row>:not(.ck-label)+*{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-form__row>:not(.ck-label)+*{margin-right:var(--ck-spacing-large)}.ck.ck-form__row>.ck-label{width:100%;min-width:100%}.ck.ck-form__row.ck-table-form__action-row{margin-top:var(--ck-spacing-large)}.ck.ck-form__row.ck-table-form__action-row .ck-button .ck-button__label{color:var(--ck-color-text)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/formrow.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/formrow.css\"],names:[],mappings:\"AAKA,iBACC,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CACjB,6BAaD,CAVC,iCACC,WACD,CAGC,wHAEC,sBACD,CCbF,iBACC,4DA2BD,CAvBE,6CAEE,mCAMF,CARA,6CAME,oCAEF,CAGD,2BACC,UAAW,CACX,cACD,CAEA,2CACC,kCAKD,CAHC,wEACC,0BACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-form__row {\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-wrap: nowrap;\\n\\tjustify-content: space-between;\\n\\n\\t/* Ignore labels that work as fieldset legends */\\n\\t& > *:not(.ck-label) {\\n\\t\\tflex-grow: 1;\\n\\t}\\n\\n\\t&.ck-table-form__action-row {\\n\\t\\t& .ck-button-save,\\n\\t\\t& .ck-button-cancel {\\n\\t\\t\\tjustify-content: center;\\n\\t\\t}\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n.ck.ck-form__row {\\n\\tpadding: var(--ck-spacing-standard) var(--ck-spacing-large) 0;\\n\\n\\t/* Ignore labels that work as fieldset legends */\\n\\t& > *:not(.ck-label) {\\n\\t\\t& + * {\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\tmargin-left: var(--ck-spacing-large);\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tmargin-right: var(--ck-spacing-large);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck-label {\\n\\t\\twidth: 100%;\\n\\t\\tmin-width: 100%;\\n\\t}\\n\\n\\t&.ck-table-form__action-row {\\n\\t\\tmargin-top: var(--ck-spacing-large);\\n\\n\\t\\t& .ck-button .ck-button__label {\\n\\t\\t\\tcolor: var(--ck-color-text);\\n\\t\\t}\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const a=s},8085:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck .ck-insert-table-dropdown__grid{display:flex;flex-direction:row;flex-wrap:wrap}:root{--ck-insert-table-dropdown-padding:10px;--ck-insert-table-dropdown-box-height:11px;--ck-insert-table-dropdown-box-width:12px;--ck-insert-table-dropdown-box-margin:1px}.ck .ck-insert-table-dropdown__grid{width:calc(var(--ck-insert-table-dropdown-box-width)*10 + var(--ck-insert-table-dropdown-box-margin)*20 + var(--ck-insert-table-dropdown-padding)*2);padding:var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0}.ck .ck-insert-table-dropdown__label{text-align:center}.ck .ck-insert-table-dropdown-grid-box{width:var(--ck-insert-table-dropdown-box-width);height:var(--ck-insert-table-dropdown-box-height);margin:var(--ck-insert-table-dropdown-box-margin);border:1px solid var(--ck-color-base-border);border-radius:1px}.ck .ck-insert-table-dropdown-grid-box.ck-on{border-color:var(--ck-color-focus-border);background:var(--ck-color-focus-outer-shadow)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/inserttable.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/inserttable.css\"],names:[],mappings:\"AAKA,oCACC,YAAa,CACb,kBAAmB,CACnB,cACD,CCJA,MACC,uCAAwC,CACxC,0CAA2C,CAC3C,yCAA0C,CAC1C,yCACD,CAEA,oCAEC,oJAA2J,CAC3J,yFACD,CAEA,qCACC,iBACD,CAEA,uCACC,+CAAgD,CAChD,iDAAkD,CAClD,iDAAkD,CAClD,4CAA6C,CAC7C,iBAMD,CAJC,6CACC,yCAA0C,CAC1C,6CACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck .ck-insert-table-dropdown__grid {\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-wrap: wrap;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-insert-table-dropdown-padding: 10px;\\n\\t--ck-insert-table-dropdown-box-height: 11px;\\n\\t--ck-insert-table-dropdown-box-width: 12px;\\n\\t--ck-insert-table-dropdown-box-margin: 1px;\\n}\\n\\n.ck .ck-insert-table-dropdown__grid {\\n\\t/* The width of a container should match 10 items in a row so there will be a 10x10 grid. */\\n\\twidth: calc(var(--ck-insert-table-dropdown-box-width) * 10 + var(--ck-insert-table-dropdown-box-margin) * 20 + var(--ck-insert-table-dropdown-padding) * 2);\\n\\tpadding: var(--ck-insert-table-dropdown-padding) var(--ck-insert-table-dropdown-padding) 0;\\n}\\n\\n.ck .ck-insert-table-dropdown__label {\\n\\ttext-align: center;\\n}\\n\\n.ck .ck-insert-table-dropdown-grid-box {\\n\\twidth: var(--ck-insert-table-dropdown-box-width);\\n\\theight: var(--ck-insert-table-dropdown-box-height);\\n\\tmargin: var(--ck-insert-table-dropdown-box-margin);\\n\\tborder: 1px solid var(--ck-color-base-border);\\n\\tborder-radius: 1px;\\n\\n\\t&.ck-on {\\n\\t\\tborder-color: var(--ck-color-focus-border);\\n\\t\\tbackground: var(--ck-color-focus-outer-shadow);\\n\\t}\\n}\\n\\n\"],sourceRoot:\"\"}]);const a=s},4104:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck-content .table{margin:.9em auto;display:table}.ck-content .table table{border-collapse:collapse;border-spacing:0;width:100%;height:100%;border:1px double #b3b3b3}.ck-content .table table td,.ck-content .table table th{min-width:2em;padding:.4em;border:1px solid #bfbfbf}.ck-content .table table th{font-weight:700;background:hsla(0,0%,0%,5%)}.ck-content[dir=rtl] .table th{text-align:right}.ck-content[dir=ltr] .table th{text-align:left}.ck-editor__editable .ck-table-bogus-paragraph{display:inline-block;width:100%}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/table.css\"],names:[],mappings:\"AAKA,mBAIC,gBAAkB,CAClB,aAgCD,CA9BC,yBAEC,wBAAyB,CACzB,gBAAiB,CAIjB,UAAW,CACX,WAAY,CAIZ,yBAiBD,CAfC,wDAEC,aAAc,CACd,YAAa,CAKb,wBACD,CAEA,4BACC,eAAiB,CACjB,2BACD,CAMF,+BACC,gBACD,CAEA,+BACC,eACD,CAEA,+CAKC,oBAAqB,CAMrB,UACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck-content .table {\\n\\t/* Give the table widget some air and center it horizontally */\\n\\t/* The first value should be equal to --ck-spacing-large variable if used in the editor context\\n\\tto avoid the content jumping (See https://github.com/ckeditor/ckeditor5/issues/9825). */\\n\\tmargin: 0.9em auto;\\n\\tdisplay: table;\\n\\n\\t& table {\\n\\t\\t/* The table cells should have slight borders */\\n\\t\\tborder-collapse: collapse;\\n\\t\\tborder-spacing: 0;\\n\\n\\t\\t/* Table width and height are set on the parent . Make sure the table inside stretches\\n\\t\\tto the full dimensions of the container (https://github.com/ckeditor/ckeditor5/issues/6186). */\\n\\t\\twidth: 100%;\\n\\t\\theight: 100%;\\n\\n\\t\\t/* The outer border of the table should be slightly darker than the inner lines.\\n\\t\\tAlso see https://github.com/ckeditor/ckeditor5-table/issues/50. */\\n\\t\\tborder: 1px double hsl(0, 0%, 70%);\\n\\n\\t\\t& td,\\n\\t\\t& th {\\n\\t\\t\\tmin-width: 2em;\\n\\t\\t\\tpadding: .4em;\\n\\n\\t\\t\\t/* The border is inherited from .ck-editor__nested-editable styles, so theoretically it\\'s not necessary here.\\n\\t\\t\\tHowever, the border is a content style, so it should use .ck-content (so it works outside the editor).\\n\\t\\t\\tHence, the duplication. See https://github.com/ckeditor/ckeditor5/issues/6314 */\\n\\t\\t\\tborder: 1px solid hsl(0, 0%, 75%);\\n\\t\\t}\\n\\n\\t\\t& th {\\n\\t\\t\\tfont-weight: bold;\\n\\t\\t\\tbackground: hsla(0, 0%, 0%, 5%);\\n\\t\\t}\\n\\t}\\n}\\n\\n/* Text alignment of the table header should match the editor settings and override the native browser styling,\\nwhen content is available outside the ediitor. See https://github.com/ckeditor/ckeditor5/issues/6638 */\\n.ck-content[dir=\"rtl\"] .table th {\\n\\ttext-align: right;\\n}\\n\\n.ck-content[dir=\"ltr\"] .table th {\\n\\ttext-align: left;\\n}\\n\\n.ck-editor__editable .ck-table-bogus-paragraph {\\n\\t/*\\n\\t * Use display:inline-block to force Chrome/Safari to limit text mutations to this element.\\n\\t * See https://github.com/ckeditor/ckeditor5/issues/6062.\\n\\t */\\n\\tdisplay: inline-block;\\n\\n\\t/*\\n\\t * Inline HTML elements nested in the span should always be dimensioned in relation to the whole cell width.\\n\\t * See https://github.com/ckeditor/ckeditor5/issues/9117.\\n\\t */\\n\\twidth: 100%;\\n}\\n'],sourceRoot:\"\"}]);const a=s},9888:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\":root{--ck-color-table-caption-background:#f7f7f7;--ck-color-table-caption-text:#333;--ck-color-table-caption-highlighted-background:#fd0}.ck-content .table>figcaption{display:table-caption;caption-side:top;word-break:break-word;text-align:center;color:var(--ck-color-table-caption-text);background-color:var(--ck-color-table-caption-background);padding:.6em;font-size:.75em;outline-offset:-1px}.ck.ck-editor__editable .table>figcaption.table__caption_highlighted{animation:ck-table-caption-highlight .6s ease-out}.ck.ck-editor__editable .table>figcaption.ck-placeholder:before{padding-left:inherit;padding-right:inherit;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@keyframes ck-table-caption-highlight{0%{background-color:var(--ck-color-table-caption-highlighted-background)}to{background-color:var(--ck-color-table-caption-background)}}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tablecaption.css\"],names:[],mappings:\"AAKA,MACC,2CAAoD,CACpD,kCAA8C,CAC9C,oDACD,CAGA,8BACC,qBAAsB,CACtB,gBAAiB,CACjB,qBAAsB,CACtB,iBAAkB,CAClB,wCAAyC,CACzC,yDAA0D,CAC1D,YAAa,CACb,eAAgB,CAChB,mBACD,CAIC,qEACC,iDACD,CAEA,gEACC,oBAAqB,CACrB,qBAAsB,CAMtB,kBAAmB,CACnB,eAAgB,CAChB,sBACD,CAGD,sCACC,GACC,qEACD,CAEA,GACC,yDACD,CACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-color-table-caption-background: hsl(0, 0%, 97%);\\n\\t--ck-color-table-caption-text: hsl(0, 0%, 20%);\\n\\t--ck-color-table-caption-highlighted-background: hsl(52deg 100% 50%);\\n}\\n\\n/* Content styles */\\n.ck-content .table > figcaption {\\n\\tdisplay: table-caption;\\n\\tcaption-side: top;\\n\\tword-break: break-word;\\n\\ttext-align: center;\\n\\tcolor: var(--ck-color-table-caption-text);\\n\\tbackground-color: var(--ck-color-table-caption-background);\\n\\tpadding: .6em;\\n\\tfont-size: .75em;\\n\\toutline-offset: -1px;\\n}\\n\\n/* Editing styles */\\n.ck.ck-editor__editable .table > figcaption {\\n\\t&.table__caption_highlighted {\\n\\t\\tanimation: ck-table-caption-highlight .6s ease-out;\\n\\t}\\n\\n\\t&.ck-placeholder::before {\\n\\t\\tpadding-left: inherit;\\n\\t\\tpadding-right: inherit;\\n\\n\\t\\t/*\\n\\t\\t * Make sure the table caption placeholder doesn't overflow the placeholder area.\\n\\t\\t * See https://github.com/ckeditor/ckeditor5/issues/9162.\\n\\t\\t */\\n\\t\\twhite-space: nowrap;\\n\\t\\toverflow: hidden;\\n\\t\\ttext-overflow: ellipsis;\\n\\t}\\n}\\n\\n@keyframes ck-table-caption-highlight {\\n\\t0% {\\n\\t\\tbackground-color: var(--ck-color-table-caption-highlighted-background);\\n\\t}\\n\\n\\t100% {\\n\\t\\tbackground-color: var(--ck-color-table-caption-background);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},5737:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row{flex-wrap:wrap}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:first-of-type{flex-grow:0.57}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar:last-of-type{flex-grow:0.43}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar .ck-button{flex-grow:1}.ck.ck-table-cell-properties-form{width:320px}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__padding-row{align-self:flex-end;padding:0;width:25%}.ck.ck-table-cell-properties-form .ck-form__row.ck-table-cell-properties-form__alignment-row .ck.ck-toolbar{background:none;margin-top:var(--ck-spacing-standard)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tablecellproperties.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tablecellproperties.css\"],names:[],mappings:\"AAOE,6FACC,cAiBD,CAdE,0HAEC,cACD,CAEA,yHAEC,cACD,CAEA,uHACC,WACD,CClBJ,kCACC,WAkBD,CAfE,2FACC,mBAAoB,CACpB,SAAU,CACV,SACD,CAGC,4GACC,eAAgB,CAGhB,qCACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-table-cell-properties-form {\\n\\t& .ck-form__row {\\n\\t\\t&.ck-table-cell-properties-form__alignment-row {\\n\\t\\t\\tflex-wrap: wrap;\\n\\n\\t\\t\\t& .ck.ck-toolbar {\\n\\t\\t\\t\\t&:first-of-type {\\n\\t\\t\\t\\t\\t/* 4 buttons out of 7 (h-alignment + v-alignment) = 0.57 */\\n\\t\\t\\t\\t\\tflex-grow: 0.57;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t&:last-of-type {\\n\\t\\t\\t\\t\\t/* 3 buttons out of 7 (h-alignment + v-alignment) = 0.43 */\\n\\t\\t\\t\\t\\tflex-grow: 0.43;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t& .ck-button {\\n\\t\\t\\t\\t\\tflex-grow: 1;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-table-cell-properties-form {\\n\\twidth: 320px;\\n\\n\\t& .ck-form__row {\\n\\t\\t&.ck-table-cell-properties-form__padding-row {\\n\\t\\t\\talign-self: flex-end;\\n\\t\\t\\tpadding: 0;\\n\\t\\t\\twidth: 25%;\\n\\t\\t}\\n\\n\\t\\t&.ck-table-cell-properties-form__alignment-row {\\n\\t\\t\\t& .ck.ck-toolbar {\\n\\t\\t\\t\\tbackground: none;\\n\\n\\t\\t\\t\\t/* Compensate for missing input label that would push the margin (toolbar has no inputs). */\\n\\t\\t\\t\\tmargin-top: var(--ck-spacing-standard);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},4777:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\":root{--ck-color-table-focused-cell-background:rgba(158,207,250,0.3)}.ck-widget.table td.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table td.ck-editor__nested-editable:focus,.ck-widget.table th.ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck-widget.table th.ck-editor__nested-editable:focus{background:var(--ck-color-table-focused-cell-background);border-style:none;outline:1px solid var(--ck-color-focus-border);outline-offset:-1px}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableediting.css\"],names:[],mappings:\"AAKA,MACC,8DACD,CAKE,8QAGC,wDAAyD,CAKzD,iBAAkB,CAClB,8CAA+C,CAC/C,mBACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-color-table-focused-cell-background: hsla(208, 90%, 80%, .3);\\n}\\n\\n.ck-widget.table {\\n\\t& td,\\n\\t& th {\\n\\t\\t&.ck-editor__nested-editable.ck-editor__nested-editable_focused,\\n\\t\\t&.ck-editor__nested-editable:focus {\\n\\t\\t\\t/* A very slight background to highlight the focused cell */\\n\\t\\t\\tbackground: var(--ck-color-table-focused-cell-background);\\n\\n\\t\\t\\t/* Fixes the problem where surrounding cells cover the focused cell's border.\\n\\t\\t\\tIt does not fix the problem in all places but the UX is improved.\\n\\t\\t\\tSee https://github.com/ckeditor/ckeditor5-table/issues/29. */\\n\\t\\t\\tborder-style: none;\\n\\t\\t\\toutline: 1px solid var(--ck-color-focus-border);\\n\\t\\t\\toutline-offset: -1px; /* progressive enhancement - no IE support */\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},198:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,'.ck.ck-table-form .ck-form__row.ck-table-form__background-row,.ck.ck-table-form .ck-form__row.ck-table-form__border-row{flex-wrap:wrap}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{flex-wrap:wrap;align-items:center}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view{display:flex;flex-direction:column-reverse;align-items:center}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-labeled-field-view .ck.ck-dropdown,.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{flex-grow:0}.ck.ck-table-form .ck.ck-labeled-field-view{position:relative}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{position:absolute;left:50%;bottom:calc(var(--ck-table-properties-error-arrow-size)*-1);transform:translate(-50%,100%);z-index:1}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{content:\"\";position:absolute;top:calc(var(--ck-table-properties-error-arrow-size)*-1);left:50%;transform:translateX(-50%)}:root{--ck-table-properties-error-arrow-size:6px;--ck-table-properties-min-error-width:150px}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-labeled-field-view>.ck-label{font-size:var(--ck-font-size-tiny);text-align:center}.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-style,.ck.ck-table-form .ck-form__row.ck-table-form__border-row .ck-table-form__border-width{width:80px;min-width:80px;max-width:80px}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row{padding:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__height,.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimensions-row__width{margin:0}.ck.ck-table-form .ck-form__row.ck-table-form__dimensions-row .ck-table-form__dimension-operator{align-self:flex-end;display:inline-block;height:var(--ck-ui-component-min-height);line-height:var(--ck-ui-component-min-height);margin:0 var(--ck-spacing-small)}.ck.ck-table-form .ck.ck-labeled-field-view{padding-top:var(--ck-spacing-standard)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{border-radius:0}.ck-rounded-corners .ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status,.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{background:var(--ck-color-base-error);color:var(--ck-color-base-background);padding:var(--ck-spacing-small) var(--ck-spacing-medium);min-width:var(--ck-table-properties-min-error-width);text-align:center}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status:after{border-left:var(--ck-table-properties-error-arrow-size) solid transparent;border-bottom:var(--ck-table-properties-error-arrow-size) solid var(--ck-color-base-error);border-right:var(--ck-table-properties-error-arrow-size) solid transparent;border-top:0 solid transparent}.ck.ck-table-form .ck.ck-labeled-field-view .ck.ck-labeled-field-view__status{animation:ck-table-form-labeled-view-status-appear .15s ease both}.ck.ck-table-form .ck.ck-labeled-field-view .ck-input.ck-error:not(:focus)+.ck.ck-labeled-field-view__status{display:none}@keyframes ck-table-form-labeled-view-status-appear{0%{opacity:0}to{opacity:1}}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tableform.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableform.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAWE,wHACC,cACD,CAEA,8DACC,cAAe,CACf,kBAeD,CAbC,qFACC,YAAa,CACb,6BAA8B,CAC9B,kBAKD,CAEA,sMACC,WACD,CAIF,4CAEC,iBAoBD,CAlBC,8EACC,iBAAkB,CAClB,QAAS,CACT,2DAAgE,CAChE,8BAA+B,CAG/B,SAUD,CAPC,oFACC,UAAW,CACX,iBAAkB,CAClB,wDAA6D,CAC7D,QAAS,CACT,0BACD,CChDH,MACC,0CAA2C,CAC3C,2CACD,CAMI,2FACC,kCAAmC,CACnC,iBACD,CAGD,8KAEC,UAAW,CACX,cAAe,CACf,cACD,CAGD,8DACC,SAcD,CAZC,yMAEC,QACD,CAEA,iGACC,mBAAoB,CACpB,oBAAqB,CACrB,wCAAyC,CACzC,6CAA8C,CAC9C,gCACD,CAIF,4CACC,sCAyBD,CAvBC,8ECxCD,eDyDC,CAjBA,mMCpCA,qCDqDA,CAjBA,8EAGC,qCAAsC,CACtC,qCAAsC,CACtC,wDAAyD,CACzD,oDAAqD,CACrD,iBAUD,CAPC,oFAGC,yEAAmB,CAAnB,0FAAmB,CAAnB,0EAAmB,CAAnB,8BACD,CAdD,8EAgBC,iEACD,CAGA,6GACC,YACD,CAIF,oDACC,GACC,SACD,CAEA,GACC,SACD,CACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-table-form {\\n\\t& .ck-form__row {\\n\\t\\t&.ck-table-form__border-row {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t}\\n\\n\\t\\t&.ck-table-form__background-row {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t}\\n\\n\\t\\t&.ck-table-form__dimensions-row {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t& .ck-labeled-field-view {\\n\\t\\t\\t\\tdisplay: flex;\\n\\t\\t\\t\\tflex-direction: column-reverse;\\n\\t\\t\\t\\talign-items: center;\\n\\n\\t\\t\\t\\t& .ck.ck-dropdown {\\n\\t\\t\\t\\t\\tflex-grow: 0;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck-table-form__dimension-operator {\\n\\t\\t\\t\\tflex-grow: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck.ck-labeled-field-view {\\n\\t\\t/* Allow absolute positioning of the status (error) balloons. */\\n\\t\\tposition: relative;\\n\\n\\t\\t& .ck.ck-labeled-field-view__status {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tleft: 50%;\\n\\t\\t\\tbottom: calc( -1 * var(--ck-table-properties-error-arrow-size) );\\n\\t\\t\\ttransform: translate(-50%,100%);\\n\\n\\t\\t\\t/* Make sure the balloon status stays on top of other form elements. */\\n\\t\\t\\tz-index: 1;\\n\\n\\t\\t\\t/* The arrow pointing towards the field. */\\n\\t\\t\\t&::after {\\n\\t\\t\\t\\tcontent: \"\";\\n\\t\\t\\t\\tposition: absolute;\\n\\t\\t\\t\\ttop: calc( -1 * var(--ck-table-properties-error-arrow-size) );\\n\\t\\t\\t\\tleft: 50%;\\n\\t\\t\\t\\ttransform: translateX( -50% );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n','/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../mixins/_rounded.css\";\\n\\n:root {\\n\\t--ck-table-properties-error-arrow-size: 6px;\\n\\t--ck-table-properties-min-error-width: 150px;\\n}\\n\\n.ck.ck-table-form {\\n\\t& .ck-form__row {\\n\\t\\t&.ck-table-form__border-row {\\n\\t\\t\\t& .ck-labeled-field-view {\\n\\t\\t\\t\\t& > .ck-label {\\n\\t\\t\\t\\t\\tfont-size: var(--ck-font-size-tiny);\\n\\t\\t\\t\\t\\ttext-align: center;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck-table-form__border-style,\\n\\t\\t\\t& .ck-table-form__border-width {\\n\\t\\t\\t\\twidth: 80px;\\n\\t\\t\\t\\tmin-width: 80px;\\n\\t\\t\\t\\tmax-width: 80px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&.ck-table-form__dimensions-row {\\n\\t\\t\\tpadding: 0;\\n\\n\\t\\t\\t& .ck-table-form__dimensions-row__width,\\n\\t\\t\\t& .ck-table-form__dimensions-row__height {\\n\\t\\t\\t\\tmargin: 0\\n\\t\\t\\t}\\n\\n\\t\\t\\t& .ck-table-form__dimension-operator {\\n\\t\\t\\t\\talign-self: flex-end;\\n\\t\\t\\t\\tdisplay: inline-block;\\n\\t\\t\\t\\theight: var(--ck-ui-component-min-height);\\n\\t\\t\\t\\tline-height: var(--ck-ui-component-min-height);\\n\\t\\t\\t\\tmargin: 0 var(--ck-spacing-small);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck.ck-labeled-field-view {\\n\\t\\tpadding-top: var(--ck-spacing-standard);\\n\\n\\t\\t& .ck.ck-labeled-field-view__status {\\n\\t\\t\\t@mixin ck-rounded-corners;\\n\\n\\t\\t\\tbackground: var(--ck-color-base-error);\\n\\t\\t\\tcolor: var(--ck-color-base-background);\\n\\t\\t\\tpadding: var(--ck-spacing-small) var(--ck-spacing-medium);\\n\\t\\t\\tmin-width: var(--ck-table-properties-min-error-width);\\n\\t\\t\\ttext-align: center;\\n\\n\\t\\t\\t/* The arrow pointing towards the field. */\\n\\t\\t\\t&::after {\\n\\t\\t\\t\\tborder-color: transparent transparent var(--ck-color-base-error) transparent;\\n\\t\\t\\t\\tborder-width: 0 var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size) var(--ck-table-properties-error-arrow-size);\\n\\t\\t\\t\\tborder-style: solid;\\n\\t\\t\\t}\\n\\n\\t\\t\\tanimation: ck-table-form-labeled-view-status-appear .15s ease both;\\n\\t\\t}\\n\\n\\t\\t/* Hide the error balloon when the field is blurred. Makes the experience much more clear. */\\n\\t\\t& .ck-input.ck-error:not(:focus) + .ck.ck-labeled-field-view__status {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n@keyframes ck-table-form-labeled-view-status-appear {\\n\\t0% {\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t100% {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},9221:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{flex-wrap:wrap;flex-basis:0;align-content:baseline}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items{flex-wrap:nowrap}.ck.ck-table-properties-form{width:320px}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row{align-self:flex-end;padding:0}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar{background:none;margin-top:var(--ck-spacing-standard)}.ck.ck-table-properties-form .ck-form__row.ck-table-properties-form__alignment-row .ck.ck-toolbar .ck-toolbar__items>*{width:40px}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-table/theme/tableproperties.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableproperties.css\"],names:[],mappings:\"AAOE,mFACC,cAAe,CACf,YAAa,CACb,sBAKD,CAHC,qHACC,gBACD,CCTH,6BACC,WAmBD,CAhBE,mFACC,mBAAoB,CACpB,SAYD,CAVC,kGACC,eAAgB,CAGhB,qCAKD,CAHC,uHACC,UACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-table-properties-form {\\n\\t& .ck-form__row {\\n\\t\\t&.ck-table-properties-form__alignment-row {\\n\\t\\t\\tflex-wrap: wrap;\\n\\t\\t\\tflex-basis: 0;\\n\\t\\t\\talign-content: baseline;\\n\\n\\t\\t\\t& .ck.ck-toolbar .ck-toolbar__items {\\n\\t\\t\\t\\tflex-wrap: nowrap;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-table-properties-form {\\n\\twidth: 320px;\\n\\n\\t& .ck-form__row {\\n\\t\\t&.ck-table-properties-form__alignment-row {\\n\\t\\t\\talign-self: flex-end;\\n\\t\\t\\tpadding: 0;\\n\\n\\t\\t\\t& .ck.ck-toolbar {\\n\\t\\t\\t\\tbackground: none;\\n\\n\\t\\t\\t\\t/* Compensate for missing input label that would push the margin (toolbar has no inputs). */\\n\\t\\t\\t\\tmargin-top: var(--ck-spacing-standard);\\n\\n\\t\\t\\t\\t& .ck-toolbar__items > * {\\n\\t\\t\\t\\t\\twidth: 40px;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},5593:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,':root{--ck-table-selected-cell-background:rgba(158,207,250,0.3)}.ck.ck-editor__editable .table table td.ck-editor__editable_selected,.ck.ck-editor__editable .table table th.ck-editor__editable_selected{position:relative;caret-color:transparent;outline:unset;box-shadow:unset}.ck.ck-editor__editable .table table td.ck-editor__editable_selected:after,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:after{content:\"\";pointer-events:none;background-color:var(--ck-table-selected-cell-background);position:absolute;top:0;left:0;right:0;bottom:0}.ck.ck-editor__editable .table table td.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table td.ck-editor__editable_selected:focus,.ck.ck-editor__editable .table table th.ck-editor__editable_selected ::selection,.ck.ck-editor__editable .table table th.ck-editor__editable_selected:focus{background-color:transparent}.ck.ck-editor__editable .table table td.ck-editor__editable_selected .ck-widget_selected,.ck.ck-editor__editable .table table th.ck-editor__editable_selected .ck-widget_selected{outline:unset}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-table/tableselection.css\"],names:[],mappings:\"AAKA,MACC,yDACD,CAGC,0IAEC,iBAAkB,CAClB,uBAAwB,CACxB,aAAc,CACd,gBAsBD,CAnBC,sJACC,UAAW,CACX,mBAAoB,CACpB,yDAA0D,CAC1D,iBAAkB,CAClB,KAAM,CACN,MAAO,CACP,OAAQ,CACR,QACD,CAEA,wTAEC,4BACD,CAEA,kLACC,aACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-table-selected-cell-background: hsla(208, 90%, 80%, .3);\\n}\\n\\n.ck.ck-editor__editable .table table {\\n\\t& td.ck-editor__editable_selected,\\n\\t& th.ck-editor__editable_selected {\\n\\t\\tposition: relative;\\n\\t\\tcaret-color: transparent;\\n\\t\\toutline: unset;\\n\\t\\tbox-shadow: unset;\\n\\n\\t\\t/* https://github.com/ckeditor/ckeditor5/issues/6446 */\\n\\t\\t&:after {\\n\\t\\t\\tcontent: '';\\n\\t\\t\\tpointer-events: none;\\n\\t\\t\\tbackground-color: var(--ck-table-selected-cell-background);\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 0;\\n\\t\\t\\tleft: 0;\\n\\t\\t\\tright: 0;\\n\\t\\t\\tbottom: 0;\\n\\t\\t}\\n\\n\\t\\t& ::selection,\\n\\t\\t&:focus {\\n\\t\\t\\tbackground-color: transparent;\\n\\t\\t}\\n\\n\\t\\t& .ck-widget_selected {\\n\\t\\t\\toutline: unset;\\n\\t\\t}\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},4499:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-button,a.ck.ck-button{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-button .ck-tooltip,a.ck.ck-button .ck-tooltip{display:block}@media (hover:none){.ck.ck-button .ck-tooltip,a.ck.ck-button .ck-tooltip{display:none}}.ck.ck-button,a.ck.ck-button{position:relative;display:inline-flex;align-items:center;justify-content:left}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{display:none}.ck.ck-button.ck-button_with-text .ck-button__label,a.ck.ck-button.ck-button_with-text .ck-button__label{display:inline-block}.ck.ck-button:not(.ck-button_with-text),a.ck.ck-button:not(.ck-button_with-text){justify-content:center}.ck.ck-button:hover .ck-tooltip,a.ck.ck-button:hover .ck-tooltip{visibility:visible;opacity:1}.ck.ck-button:focus:not(:hover) .ck-tooltip,a.ck.ck-button:focus:not(:hover) .ck-tooltip{display:none}.ck.ck-button,a.ck.ck-button{background:var(--ck-color-button-default-background)}.ck.ck-button:not(.ck-disabled):hover,a.ck.ck-button:not(.ck-disabled):hover{background:var(--ck-color-button-default-hover-background)}.ck.ck-button:not(.ck-disabled):active,a.ck.ck-button:not(.ck-disabled):active{background:var(--ck-color-button-default-active-background);box-shadow:inset 0 2px 2px var(--ck-color-button-default-active-shadow)}.ck.ck-button.ck-disabled,a.ck.ck-button.ck-disabled{background:var(--ck-color-button-default-disabled-background)}.ck.ck-button,a.ck.ck-button{border-radius:0}.ck-rounded-corners .ck.ck-button,.ck-rounded-corners a.ck.ck-button,.ck.ck-button.ck-rounded-corners,a.ck.ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-button,a.ck.ck-button{white-space:nowrap;cursor:default;vertical-align:middle;padding:var(--ck-spacing-tiny);text-align:center;min-width:var(--ck-ui-component-min-height);min-height:var(--ck-ui-component-min-height);line-height:1;font-size:inherit;border:1px solid transparent;transition:box-shadow .2s ease-in-out,border .2s ease-in-out;-webkit-appearance:none}.ck.ck-button:active,.ck.ck-button:focus,a.ck.ck-button:active,a.ck.ck-button:focus{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0}.ck.ck-button .ck-button__icon use,.ck.ck-button .ck-button__icon use *,a.ck.ck-button .ck-button__icon use,a.ck.ck-button .ck-button__icon use *{color:inherit}.ck.ck-button .ck-button__label,a.ck.ck-button .ck-button__label{font-size:inherit;font-weight:inherit;color:inherit;cursor:inherit;vertical-align:middle}[dir=ltr] .ck.ck-button .ck-button__label,[dir=ltr] a.ck.ck-button .ck-button__label{text-align:left}[dir=rtl] .ck.ck-button .ck-button__label,[dir=rtl] a.ck.ck-button .ck-button__label{text-align:right}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{color:inherit}[dir=ltr] .ck.ck-button .ck-button__keystroke,[dir=ltr] a.ck.ck-button .ck-button__keystroke{margin-left:var(--ck-spacing-large)}[dir=rtl] .ck.ck-button .ck-button__keystroke,[dir=rtl] a.ck.ck-button .ck-button__keystroke{margin-right:var(--ck-spacing-large)}.ck.ck-button .ck-button__keystroke,a.ck.ck-button .ck-button__keystroke{font-weight:700;opacity:.7}.ck.ck-button.ck-disabled:active,.ck.ck-button.ck-disabled:focus,a.ck.ck-button.ck-disabled:active,a.ck.ck-button.ck-disabled:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-button.ck-disabled .ck-button__icon,a.ck.ck-button.ck-disabled .ck-button__icon{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-disabled .ck-button__label,a.ck.ck-button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-disabled .ck-button__keystroke,a.ck.ck-button.ck-disabled .ck-button__keystroke{opacity:.3}.ck.ck-button.ck-button_with-text,a.ck.ck-button.ck-button_with-text{padding:var(--ck-spacing-tiny) var(--ck-spacing-standard)}[dir=ltr] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=ltr] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-left:calc(var(--ck-spacing-small)*-1);margin-right:var(--ck-spacing-small)}[dir=rtl] .ck.ck-button.ck-button_with-text .ck-button__icon,[dir=rtl] a.ck.ck-button.ck-button_with-text .ck-button__icon{margin-right:calc(var(--ck-spacing-small)*-1);margin-left:var(--ck-spacing-small)}.ck.ck-button.ck-button_with-keystroke .ck-button__label,a.ck.ck-button.ck-button_with-keystroke .ck-button__label{flex-grow:1}.ck.ck-button.ck-on,a.ck.ck-button.ck-on{background:var(--ck-color-button-on-background)}.ck.ck-button.ck-on:not(.ck-disabled):hover,a.ck.ck-button.ck-on:not(.ck-disabled):hover{background:var(--ck-color-button-on-hover-background)}.ck.ck-button.ck-on:not(.ck-disabled):active,a.ck.ck-button.ck-on:not(.ck-disabled):active{background:var(--ck-color-button-on-active-background);box-shadow:inset 0 2px 2px var(--ck-color-button-on-active-shadow)}.ck.ck-button.ck-on.ck-disabled,a.ck.ck-button.ck-on.ck-disabled{background:var(--ck-color-button-on-disabled-background)}.ck.ck-button.ck-button-save,a.ck.ck-button.ck-button-save{color:var(--ck-color-button-save)}.ck.ck-button.ck-button-cancel,a.ck.ck-button.ck-button-cancel{color:var(--ck-color-button-cancel)}.ck.ck-button-action,a.ck.ck-button-action{background:var(--ck-color-button-action-background)}.ck.ck-button-action:not(.ck-disabled):hover,a.ck.ck-button-action:not(.ck-disabled):hover{background:var(--ck-color-button-action-hover-background)}.ck.ck-button-action:not(.ck-disabled):active,a.ck.ck-button-action:not(.ck-disabled):active{background:var(--ck-color-button-action-active-background);box-shadow:inset 0 2px 2px var(--ck-color-button-action-active-shadow)}.ck.ck-button-action.ck-disabled,a.ck.ck-button-action.ck-disabled{background:var(--ck-color-button-action-disabled-background)}.ck.ck-button-action,a.ck.ck-button-action{color:var(--ck-color-button-action-text)}.ck.ck-button-bold,a.ck.ck-button-bold{font-weight:700}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/button/button.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/tooltip/mixins/_tooltip.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/button.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/mixins/_button.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css\"],names:[],mappings:\"AAQA,6BCCC,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBD6BD,CE/BC,qDACC,aAqBD,CAHC,oBAnBD,qDAoBE,YAEF,CADC,CFvBF,6BAKC,iBAAkB,CAClB,mBAAoB,CACpB,kBAAmB,CACnB,oBAyBD,CAvBC,iEACC,YACD,CAGC,yGACC,oBACD,CAID,iFACC,sBACD,CEkBA,iEACC,kBAAmB,CACnB,SACD,CAbA,yFACC,YACD,CC7BD,6BCAC,oDD0ID,CCvIE,6EACC,0DACD,CAEA,+EACC,2DAA4C,CAC5C,uEACD,CAID,qDACC,6DACD,CDhBD,6BEDC,eF2ID,CA1IA,wIEGE,qCFuIF,CA1IA,6BAKC,kBAAmB,CACnB,cAAe,CACf,qBAAsB,CACtB,8BAA+B,CAC/B,iBAAkB,CAGlB,2CAA4C,CAC5C,4CAA6C,CAI7C,aAAc,CAGd,iBAAkB,CAGlB,4BAA6B,CAG7B,4DAA8D,CAG9D,uBA6GD,CA3GC,oFGjCA,YAAa,CACb,2BAA2B,CCF3B,2CJsCA,CAIC,kJAEC,aACD,CAGD,iEAEC,iBAAkB,CAClB,mBAAoB,CACpB,aAAc,CACd,cAAe,CAIf,qBASD,CAlBA,qFAYE,eAMF,CAlBA,qFAgBE,gBAEF,CAEA,yEACC,aAYD,CAbA,6FAIE,mCASF,CAbA,6FAQE,oCAKF,CAbA,yEAWC,eAAiB,CACjB,UACD,CAIC,oIIrFD,oDJyFC,CAEA,uFK3FD,kCL6FC,CAGA,yFKhGD,kCLkGC,CAEA,iGACC,UACD,CAGD,qEACC,yDAcD,CAXC,2HAEE,4CAA+C,CAC/C,oCAOF,CAVA,2HAOE,6CAAgD,CAChD,mCAEF,CAKA,mHACC,WACD,CAID,yCC/HA,+CDiIA,CC9HC,yFACC,qDACD,CAEA,2FACC,sDAA4C,CAC5C,kEACD,CAID,iEACC,wDACD,CDmHA,2DACC,iCACD,CAEA,+DACC,mCACD,CAID,2CC7IC,mDDkJD,CC/IE,2FACC,yDACD,CAEA,6FACC,0DAA4C,CAC5C,sEACD,CAID,mEACC,4DACD,CD6HD,2CAIC,wCACD,CAEA,uCAEC,eACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../mixins/_unselectable.css\";\\n@import \"../tooltip/mixins/_tooltip.css\";\\n\\n.ck.ck-button,\\na.ck.ck-button {\\n\\t@mixin ck-unselectable;\\n\\t@mixin ck-tooltip_enabled;\\n\\n\\tposition: relative;\\n\\tdisplay: inline-flex;\\n\\talign-items: center;\\n\\tjustify-content: left;\\n\\n\\t& .ck-button__label {\\n\\t\\tdisplay: none;\\n\\t}\\n\\n\\t&.ck-button_with-text {\\n\\t\\t& .ck-button__label {\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Center the icon horizontally in a button without text. */\\n\\t&:not(.ck-button_with-text) {\\n\\t\\tjustify-content: center;\\n\\t}\\n\\n\\t&:hover {\\n\\t\\t@mixin ck-tooltip_visible;\\n\\t}\\n\\n\\t/* Get rid of the native focus outline around the tooltip when focused (but not :hover). */\\n\\t&:focus:not(:hover) {\\n\\t\\t@mixin ck-tooltip_disabled;\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Makes element unselectable.\\n */\\n@define-mixin ck-unselectable {\\n\\t-moz-user-select: none;\\n\\t-webkit-user-select: none;\\n\\t-ms-user-select: none;\\n\\tuser-select: none\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Enables the tooltip, which is the tooltip is in DOM but\\n * not yet displayed.\\n */\\n@define-mixin ck-tooltip_enabled {\\n\\t& .ck-tooltip {\\n\\t\\tdisplay: block;\\n\\n\\t\\t/*\\n\\t\\t * Don't display tooltips in devices which don't support :hover.\\n\\t\\t * In fact, it's all about iOS, which forces user to click UI elements twice to execute\\n\\t\\t * the primary action, when tooltips are enabled.\\n\\t\\t *\\n\\t\\t * Q: OK, but why not the following query?\\n\\t\\t *\\n\\t\\t * @media (hover) {\\n\\t\\t * display: block;\\n\\t\\t * }\\n\\t\\t *\\n\\t\\t * A: Because FF does not support it and it would completely disable tooltips\\n\\t\\t * in that browser.\\n\\t\\t *\\n\\t\\t * More in https://github.com/ckeditor/ckeditor5/issues/920.\\n\\t\\t */\\n\\t\\t@media (hover:none) {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n/**\\n * Disables the tooltip making it disappear from DOM.\\n */\\n@define-mixin ck-tooltip_disabled {\\n\\t& .ck-tooltip {\\n\\t\\tdisplay: none;\\n\\t}\\n}\\n\\n/**\\n * Shows the tooltip, which is already in DOM.\\n * Requires `ck-tooltip_enabled` first.\\n */\\n@define-mixin ck-tooltip_visible {\\n\\t& .ck-tooltip {\\n\\t\\tvisibility: visible;\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_focus.css\";\\n@import \"../../../mixins/_shadow.css\";\\n@import \"../../../mixins/_disabled.css\";\\n@import \"../../../mixins/_rounded.css\";\\n@import \"../../mixins/_button.css\";\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n.ck.ck-button,\\na.ck.ck-button {\\n\\t@mixin ck-button-colors --ck-color-button-default;\\n\\t@mixin ck-rounded-corners;\\n\\n\\twhite-space: nowrap;\\n\\tcursor: default;\\n\\tvertical-align: middle;\\n\\tpadding: var(--ck-spacing-tiny);\\n\\ttext-align: center;\\n\\n\\t/* A very important piece of styling. Go to variable declaration to learn more. */\\n\\tmin-width: var(--ck-ui-component-min-height);\\n\\tmin-height: var(--ck-ui-component-min-height);\\n\\n\\t/* Normalize the height of the line. Removing this will break consistent height\\n\\tamong text and text-less buttons (with icons). */\\n\\tline-height: 1;\\n\\n\\t/* Enable font size inheritance, which allows fluid UI scaling. */\\n\\tfont-size: inherit;\\n\\n\\t/* Avoid flickering when the foucs border shows up. */\\n\\tborder: 1px solid transparent;\\n\\n\\t/* Apply some smooth transition to the box-shadow and border. */\\n\\ttransition: box-shadow .2s ease-in-out, border .2s ease-in-out;\\n\\n\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/189 */\\n\\t-webkit-appearance: none;\\n\\n\\t&:active,\\n\\t&:focus {\\n\\t\\t@mixin ck-focus-ring;\\n\\t\\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\\n\\t}\\n\\n\\t/* Allow icon coloring using the text \"color\" property. */\\n\\t& .ck-button__icon {\\n\\t\\t& use,\\n\\t\\t& use * {\\n\\t\\t\\tcolor: inherit;\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-button__label {\\n\\t\\t/* Enable font size inheritance, which allows fluid UI scaling. */\\n\\t\\tfont-size: inherit;\\n\\t\\tfont-weight: inherit;\\n\\t\\tcolor: inherit;\\n\\t\\tcursor: inherit;\\n\\n\\t\\t/* Must be consistent with .ck-icon\\'s vertical align. Otherwise, buttons with and\\n\\t\\twithout labels (but with icons) have different sizes in Chrome */\\n\\t\\tvertical-align: middle;\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\ttext-align: left;\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\ttext-align: right;\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-button__keystroke {\\n\\t\\tcolor: inherit;\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\tmargin-left: var(--ck-spacing-large);\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\tmargin-right: var(--ck-spacing-large);\\n\\t\\t}\\n\\n\\t\\tfont-weight: bold;\\n\\t\\topacity: .7;\\n\\t}\\n\\n\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */\\n\\t&.ck-disabled {\\n\\t\\t&:active,\\n\\t\\t&:focus {\\n\\t\\t\\t/* The disabled button should have a slightly less visible shadow when focused. */\\n\\t\\t\\t@mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow);\\n\\t\\t}\\n\\n\\t\\t& .ck-button__icon {\\n\\t\\t\\t@mixin ck-disabled;\\n\\t\\t}\\n\\n\\t\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */\\n\\t\\t& .ck-button__label {\\n\\t\\t\\t@mixin ck-disabled;\\n\\t\\t}\\n\\n\\t\\t& .ck-button__keystroke {\\n\\t\\t\\topacity: .3;\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-button_with-text {\\n\\t\\tpadding: var(--ck-spacing-tiny) var(--ck-spacing-standard);\\n\\n\\t\\t/* stylelint-disable-next-line no-descending-specificity */\\n\\t\\t& .ck-button__icon {\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\tmargin-left: calc(-1 * var(--ck-spacing-small));\\n\\t\\t\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tmargin-right: calc(-1 * var(--ck-spacing-small));\\n\\t\\t\\t\\tmargin-left: var(--ck-spacing-small);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-button_with-keystroke {\\n\\t\\t/* stylelint-disable-next-line no-descending-specificity */\\n\\t\\t& .ck-button__label {\\n\\t\\t\\tflex-grow: 1;\\n\\t\\t}\\n\\t}\\n\\n\\t/* A style of the button which is currently on, e.g. its feature is active. */\\n\\t&.ck-on {\\n\\t\\t@mixin ck-button-colors --ck-color-button-on;\\n\\t}\\n\\n\\t&.ck-button-save {\\n\\t\\tcolor: var(--ck-color-button-save);\\n\\t}\\n\\n\\t&.ck-button-cancel {\\n\\t\\tcolor: var(--ck-color-button-cancel);\\n\\t}\\n}\\n\\n/* A style of the button which handles the primary action. */\\n.ck.ck-button-action,\\na.ck.ck-button-action {\\n\\t@mixin ck-button-colors --ck-color-button-action;\\n\\n\\tcolor: var(--ck-color-button-action-text);\\n}\\n\\n.ck.ck-button-bold,\\na.ck.ck-button-bold {\\n\\tfont-weight: bold;\\n}\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements a button of given background color.\\n *\\n * @param {String} $background - Background color of the button.\\n * @param {String} $border - Border color of the button.\\n */\\n@define-mixin ck-button-colors $prefix {\\n\\tbackground: var($(prefix)-background);\\n\\n\\t&:not(.ck-disabled) {\\n\\t\\t&:hover {\\n\\t\\t\\tbackground: var($(prefix)-hover-background);\\n\\t\\t}\\n\\n\\t\\t&:active {\\n\\t\\t\\tbackground: var($(prefix)-active-background);\\n\\t\\t\\tbox-shadow: inset 0 2px 2px var($(prefix)-active-shadow);\\n\\t\\t}\\n\\t}\\n\\n\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/98 */\\n\\t&.ck-disabled {\\n\\t\\tbackground: var($(prefix)-disabled-background);\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A visual style of focused element's border.\\n */\\n@define-mixin ck-focus-ring {\\n\\t/* Disable native outline. */\\n\\toutline: none;\\n\\tborder: var(--ck-focus-ring)\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A class which indicates that an element holding it is disabled.\\n */\\n@define-mixin ck-disabled {\\n\\topacity: var(--ck-disabled-opacity);\\n}\\n\"],sourceRoot:\"\"}]);const a=s},9681:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{display:block}:root{--ck-switch-button-toggle-width:2.6153846154em;--ck-switch-button-toggle-inner-size:1.0769230769em;--ck-switch-button-toggle-spacing:1px;--ck-switch-button-translation:calc(var(--ck-switch-button-toggle-width) - var(--ck-switch-button-toggle-inner-size) - var(--ck-switch-button-toggle-spacing)*2)}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__label{margin-right:calc(var(--ck-spacing-large)*2)}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__label{margin-left:calc(var(--ck-spacing-large)*2)}.ck.ck-button.ck-switchbutton .ck-button__toggle{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle,.ck.ck-button.ck-switchbutton .ck-button__toggle.ck-rounded-corners{border-radius:var(--ck-border-radius)}[dir=ltr] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-left:auto}[dir=rtl] .ck.ck-button.ck-switchbutton .ck-button__toggle{margin-right:auto}.ck.ck-button.ck-switchbutton .ck-button__toggle{transition:background .4s ease;width:var(--ck-switch-button-toggle-width);background:var(--ck-color-switch-button-off-background)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{border-radius:0}.ck-rounded-corners .ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner,.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner.ck-rounded-corners{border-radius:var(--ck-border-radius);border-radius:calc(var(--ck-border-radius)*0.5)}.ck.ck-button.ck-switchbutton .ck-button__toggle .ck-button__toggle__inner{margin:var(--ck-switch-button-toggle-spacing);width:var(--ck-switch-button-toggle-inner-size);height:var(--ck-switch-button-toggle-inner-size);background:var(--ck-color-switch-button-inner-background);transition:all .3s ease}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover{background:var(--ck-color-switch-button-off-hover-background)}.ck.ck-button.ck-switchbutton .ck-button__toggle:hover .ck-button__toggle__inner{box-shadow:0 0 0 5px var(--ck-color-switch-button-inner-shadow)}.ck.ck-button.ck-switchbutton.ck-disabled .ck-button__toggle{opacity:var(--ck-disabled-opacity)}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle{background:var(--ck-color-switch-button-on-background)}.ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle:hover{background:var(--ck-color-switch-button-on-hover-background)}[dir=ltr] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(var(--ck-switch-button-translation))}[dir=rtl] .ck.ck-button.ck-switchbutton.ck-on .ck-button__toggle .ck-button__toggle__inner{transform:translateX(calc(var(--ck-switch-button-translation)*-1))}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/button/switchbutton.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/button/switchbutton.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css\"],names:[],mappings:\"AASE,4HACC,aACD,CCCF,MAEC,8CAA+C,CAE/C,mDAAoD,CACpD,qCAAsC,CACtC,gKAKD,CAGC,0DAGE,4CAOF,CAVA,0DAQE,2CAEF,CAEA,iDC3BA,eDoEA,CAzCA,yICvBC,qCDgED,CAzCA,2DAKE,gBAoCF,CAzCA,2DAUE,iBA+BF,CAzCA,iDAcC,8BAAiC,CAEjC,0CAA2C,CAC3C,uDAwBD,CAtBC,2EC9CD,eD2DC,CAbA,6LC1CA,qCAAsC,CD4CpC,+CAWF,CAbA,2EAMC,6CAA8C,CAC9C,+CAAgD,CAChD,gDAAiD,CACjD,yDAA0D,CAG1D,uBACD,CAEA,uDACC,6DAKD,CAHC,iFACC,+DACD,CAIF,6DExEA,kCF0EA,CAEA,uDACC,sDAkBD,CAhBC,6DACC,4DACD,CAEA,2FAKE,yDAMF,CAXA,2FASE,kEAEF\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-button.ck-switchbutton {\\n\\t& .ck-button__toggle {\\n\\t\\tdisplay: block;\\n\\n\\t\\t& .ck-button__toggle__inner {\\n\\t\\t\\tdisplay: block;\\n\\t\\t}\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n@import \"../../../mixins/_disabled.css\";\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n/* Note: To avoid rendering issues (aliasing) but to preserve the responsive nature\\nof the component, floating–point numbers have been used which, for the default font size\\n(see: --ck-font-size-base), will generate simple integers. */\\n:root {\\n\\t/* 34px at 13px font-size */\\n\\t--ck-switch-button-toggle-width: 2.6153846154em;\\n\\t/* 14px at 13px font-size */\\n\\t--ck-switch-button-toggle-inner-size: 1.0769230769em;\\n\\t--ck-switch-button-toggle-spacing: 1px;\\n\\t--ck-switch-button-translation: calc(\\n\\t\\tvar(--ck-switch-button-toggle-width) -\\n\\t\\tvar(--ck-switch-button-toggle-inner-size) -\\n\\t\\t2 * var(--ck-switch-button-toggle-spacing)\\n\\t);\\n}\\n\\n.ck.ck-button.ck-switchbutton {\\n\\t& .ck-button__label {\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t/* Separate the label from the switch */\\n\\t\\t\\tmargin-right: calc(2 * var(--ck-spacing-large));\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t/* Separate the label from the switch */\\n\\t\\t\\tmargin-left: calc(2 * var(--ck-spacing-large));\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-button__toggle {\\n\\t\\t@mixin ck-rounded-corners;\\n\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t/* Make sure the toggle is always to the right as far as possible. */\\n\\t\\t\\tmargin-left: auto;\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t/* Make sure the toggle is always to the left as far as possible. */\\n\\t\\t\\tmargin-right: auto;\\n\\t\\t}\\n\\n\\t\\t/* Gently animate the background color of the toggle switch */\\n\\t\\ttransition: background 400ms ease;\\n\\n\\t\\twidth: var(--ck-switch-button-toggle-width);\\n\\t\\tbackground: var(--ck-color-switch-button-off-background);\\n\\n\\t\\t& .ck-button__toggle__inner {\\n\\t\\t\\t@mixin ck-rounded-corners {\\n\\t\\t\\t\\tborder-radius: calc(.5 * var(--ck-border-radius));\\n\\t\\t\\t}\\n\\n\\t\\t\\t/* Leave some tiny bit of space around the inner part of the switch */\\n\\t\\t\\tmargin: var(--ck-switch-button-toggle-spacing);\\n\\t\\t\\twidth: var(--ck-switch-button-toggle-inner-size);\\n\\t\\t\\theight: var(--ck-switch-button-toggle-inner-size);\\n\\t\\t\\tbackground: var(--ck-color-switch-button-inner-background);\\n\\n\\t\\t\\t/* Gently animate the inner part of the toggle switch */\\n\\t\\t\\ttransition: all 300ms ease;\\n\\t\\t}\\n\\n\\t\\t&:hover {\\n\\t\\t\\tbackground: var(--ck-color-switch-button-off-hover-background);\\n\\n\\t\\t\\t& .ck-button__toggle__inner {\\n\\t\\t\\t\\tbox-shadow: 0 0 0 5px var(--ck-color-switch-button-inner-shadow);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-disabled .ck-button__toggle {\\n\\t\\t@mixin ck-disabled;\\n\\t}\\n\\n\\t&.ck-on .ck-button__toggle {\\n\\t\\tbackground: var(--ck-color-switch-button-on-background);\\n\\n\\t\\t&:hover {\\n\\t\\t\\tbackground: var(--ck-color-switch-button-on-hover-background);\\n\\t\\t}\\n\\n\\t\\t& .ck-button__toggle__inner {\\n\\t\\t\\t/*\\n\\t\\t\\t * Move the toggle switch to the right. It will be animated.\\n\\t\\t\\t */\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\ttransform: translateX( var( --ck-switch-button-translation ) );\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\ttransform: translateX( calc( -1 * var( --ck-switch-button-translation ) ) );\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A class which indicates that an element holding it is disabled.\\n */\\n@define-mixin ck-disabled {\\n\\topacity: var(--ck-disabled-opacity);\\n}\\n\"],sourceRoot:\"\"}]);const a=s},4923:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-color-grid{display:grid}:root{--ck-color-grid-tile-size:24px;--ck-color-color-grid-check-icon:#000}.ck.ck-color-grid{grid-gap:5px;padding:8px}.ck.ck-color-grid__tile{width:var(--ck-color-grid-tile-size);height:var(--ck-color-grid-tile-size);min-width:var(--ck-color-grid-tile-size);min-height:var(--ck-color-grid-tile-size);padding:0;transition:box-shadow .2s ease;border:0}.ck.ck-color-grid__tile.ck-disabled{cursor:unset;transition:unset}.ck.ck-color-grid__tile.ck-color-table__color-tile_bordered{box-shadow:0 0 0 1px var(--ck-color-base-border)}.ck.ck-color-grid__tile .ck.ck-icon{display:none;color:var(--ck-color-color-grid-check-icon)}.ck.ck-color-grid__tile.ck-on{box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-base-text)}.ck.ck-color-grid__tile.ck-on .ck.ck-icon{display:block}.ck.ck-color-grid__tile.ck-on,.ck.ck-color-grid__tile:focus:not(.ck-disabled),.ck.ck-color-grid__tile:hover:not(.ck-disabled){border:0}.ck.ck-color-grid__tile:focus:not(.ck-disabled),.ck.ck-color-grid__tile:hover:not(.ck-disabled){box-shadow:inset 0 0 0 1px var(--ck-color-base-background),0 0 0 2px var(--ck-color-focus-border)}.ck.ck-color-grid__label{padding:0 var(--ck-spacing-standard)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/colorgrid/colorgrid.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/colorgrid/colorgrid.css\"],names:[],mappings:\"AAKA,kBACC,YACD,CCAA,MACC,8BAA+B,CAK/B,qCACD,CAEA,kBACC,YAAa,CACb,WACD,CAEA,wBACC,oCAAqC,CACrC,qCAAsC,CACtC,wCAAyC,CACzC,yCAA0C,CAC1C,SAAU,CACV,8BAA+B,CAC/B,QAmCD,CAjCC,oCACC,YAAa,CACb,gBACD,CAEA,4DACC,gDACD,CAEA,oCACC,YAAa,CACb,2CACD,CAEA,8BACC,8FAKD,CAHC,0CACC,aACD,CAGD,8HAIC,QACD,CAEA,gGAEC,iGACD,CAGD,yBACC,oCACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-color-grid {\\n\\tdisplay: grid;\\n}\\n\",'/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n\\n:root {\\n\\t--ck-color-grid-tile-size: 24px;\\n\\n\\t/* Not using global colors here because these may change but some colors in a pallette\\n\\t * require special treatment. For instance, this ensures no matter what the UI text color is,\\n\\t * the check icon will look good on the black color tile. */\\n\\t--ck-color-color-grid-check-icon: hsl(0, 0%, 0%);\\n}\\n\\n.ck.ck-color-grid {\\n\\tgrid-gap: 5px;\\n\\tpadding: 8px;\\n}\\n\\n.ck.ck-color-grid__tile {\\n\\twidth: var(--ck-color-grid-tile-size);\\n\\theight: var(--ck-color-grid-tile-size);\\n\\tmin-width: var(--ck-color-grid-tile-size);\\n\\tmin-height: var(--ck-color-grid-tile-size);\\n\\tpadding: 0;\\n\\ttransition: .2s ease box-shadow;\\n\\tborder: 0;\\n\\n\\t&.ck-disabled {\\n\\t\\tcursor: unset;\\n\\t\\ttransition: unset;\\n\\t}\\n\\n\\t&.ck-color-table__color-tile_bordered {\\n\\t\\tbox-shadow: 0 0 0 1px var(--ck-color-base-border);\\n\\t}\\n\\n\\t& .ck.ck-icon {\\n\\t\\tdisplay: none;\\n\\t\\tcolor: var(--ck-color-color-grid-check-icon);\\n\\t}\\n\\n\\t&.ck-on {\\n\\t\\tbox-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-base-text);\\n\\n\\t\\t& .ck.ck-icon {\\n\\t\\t\\tdisplay: block;\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-on,\\n\\t&:focus:not( .ck-disabled ),\\n\\t&:hover:not( .ck-disabled ) {\\n\\t\\t/* Disable the default .ck-button\\'s border ring. */\\n\\t\\tborder: 0;\\n\\t}\\n\\n\\t&:focus:not( .ck-disabled ),\\n\\t&:hover:not( .ck-disabled ) {\\n\\t\\tbox-shadow: inset 0 0 0 1px var(--ck-color-base-background), 0 0 0 2px var(--ck-color-focus-border);\\n\\t}\\n}\\n\\n.ck.ck-color-grid__label {\\n\\tpadding: 0 var(--ck-spacing-standard);\\n}\\n'],sourceRoot:\"\"}]);const a=s},3488:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\":root{--ck-dropdown-max-width:75vw}.ck.ck-dropdown{display:inline-block;position:relative}.ck.ck-dropdown .ck-dropdown__arrow{pointer-events:none;z-index:var(--ck-z-default)}.ck.ck-dropdown .ck-button.ck-dropdown__button{width:100%}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on .ck-tooltip{display:none}.ck.ck-dropdown .ck-dropdown__panel{-webkit-backface-visibility:hidden;display:none;z-index:var(--ck-z-modal);max-width:var(--ck-dropdown-max-width);position:absolute}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel-visible{display:inline-block}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw{bottom:100%}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{top:100%;bottom:auto}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_ne,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_se{left:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sw{right:0}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_n,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_s{left:50%;transform:translateX(-50%)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nmw,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_smw{left:75%;transform:translateX(-75%)}.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_nme,.ck.ck-dropdown .ck-dropdown__panel.ck-dropdown__panel_sme{left:25%;transform:translateX(-25%)}.ck.ck-toolbar .ck-dropdown__panel{z-index:calc(var(--ck-z-modal) + 1)}:root{--ck-dropdown-arrow-size:calc(var(--ck-icon-size)*0.5)}.ck.ck-dropdown{font-size:inherit}.ck.ck-dropdown .ck-dropdown__arrow{width:var(--ck-dropdown-arrow-size)}[dir=ltr] .ck.ck-dropdown .ck-dropdown__arrow{right:var(--ck-spacing-standard);margin-left:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-dropdown .ck-dropdown__arrow{left:var(--ck-spacing-standard);margin-right:var(--ck-spacing-small)}.ck.ck-dropdown.ck-disabled .ck-dropdown__arrow{opacity:var(--ck-disabled-opacity)}[dir=ltr] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-left:var(--ck-spacing-small)}[dir=rtl] .ck.ck-dropdown .ck-button.ck-dropdown__button:not(.ck-button_with-text){padding-right:var(--ck-spacing-small)}.ck.ck-dropdown .ck-button.ck-dropdown__button .ck-button__label{width:7em;overflow:hidden;text-overflow:ellipsis}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-disabled .ck-button__label{opacity:var(--ck-disabled-opacity)}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on{border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-dropdown__button_label-width_auto .ck-button__label{width:auto}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active,.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active{box-shadow:none}.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-off:active:focus,.ck.ck-dropdown .ck-button.ck-dropdown__button.ck-on:active:focus{box-shadow:var(--ck-focus-outer-shadow),0 0}.ck.ck-dropdown__panel{border-radius:0}.ck-rounded-corners .ck.ck-dropdown__panel,.ck.ck-dropdown__panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-dropdown__panel{box-shadow:var(--ck-drop-shadow),0 0;background:var(--ck-color-dropdown-panel-background);border:1px solid var(--ck-color-dropdown-panel-border);bottom:0;min-width:100%}.ck.ck-dropdown__panel.ck-dropdown__panel_se{border-top-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_sw{border-top-right-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_ne{border-bottom-left-radius:0}.ck.ck-dropdown__panel.ck-dropdown__panel_nw{border-bottom-right-radius:0}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/dropdown.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/tooltip/mixins/_tooltip.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/dropdown.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_disabled.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAOA,MACC,4BACD,CAEA,gBACC,oBAAqB,CACrB,iBAqFD,CAnFC,oCACC,mBAAoB,CACpB,2BACD,CAGA,+CACC,UAOD,CCUA,iEACC,YACD,CDVA,oCAGC,kCAAmC,CAEnC,YAAa,CACb,yBAA0B,CAC1B,sCAAuC,CAEvC,iBAyDD,CAvDC,+DACC,oBACD,CAEA,mSAKC,WACD,CAEA,mSASC,QAAS,CACT,WACD,CAEA,oHAEC,MACD,CAEA,oHAEC,OACD,CAEA,kHAGC,QAAS,CACT,0BACD,CAEA,sHAGC,QAAS,CACT,0BACD,CAEA,sHAGC,QAAS,CACT,0BACD,CAQF,mCACC,mCACD,CEhGA,MACC,sDACD,CAEA,gBAEC,iBA2ED,CAzEC,oCACC,mCACD,CAGC,8CACC,gCAAiC,CAGjC,sCACD,CAIA,8CACC,+BAAgC,CAGhC,oCACD,CAGD,gDC/BA,kCDiCA,CAIE,mFAEC,oCACD,CAIA,mFAEC,qCACD,CAID,iEACC,SAAU,CACV,eAAgB,CAChB,sBACD,CAGA,6EC1DD,kCD4DC,CAGA,qDACC,2BAA4B,CAC5B,4BACD,CAEA,sGACC,UACD,CAGA,yHAEC,eAKD,CAHC,qIE7EF,2CF+EE,CAKH,uBGlFC,eH8GD,CA5BA,qFG9EE,qCH0GF,CA5BA,uBEpFC,oCAA8B,CFwF9B,oDAAqD,CACrD,sDAAuD,CACvD,QAAS,CAGT,cAmBD,CAfC,6CACC,wBACD,CAEA,6CACC,yBACD,CAEA,6CACC,2BACD,CAEA,6CACC,4BACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \\\"../tooltip/mixins/_tooltip.css\\\";\\n\\n:root {\\n\\t--ck-dropdown-max-width: 75vw;\\n}\\n\\n.ck.ck-dropdown {\\n\\tdisplay: inline-block;\\n\\tposition: relative;\\n\\n\\t& .ck-dropdown__arrow {\\n\\t\\tpointer-events: none;\\n\\t\\tz-index: var(--ck-z-default);\\n\\t}\\n\\n\\t/* Dropdown button should span horizontally, e.g. in vertical toolbars */\\n\\t& .ck-button.ck-dropdown__button {\\n\\t\\twidth: 100%;\\n\\n\\t\\t/* Disable main button's tooltip when the dropdown is open. Otherwise the panel may\\n\\t\\tpartially cover the tooltip */\\n\\t\\t&.ck-on {\\n\\t\\t\\t@mixin ck-tooltip_disabled;\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-dropdown__panel {\\n\\t\\t/* This is to get rid of flickering when the tooltip is shown under the panel,\\n\\t\\twhich looks like the panel moves vertically a pixel down and up. */\\n\\t\\t-webkit-backface-visibility: hidden;\\n\\n\\t\\tdisplay: none;\\n\\t\\tz-index: var(--ck-z-modal);\\n\\t\\tmax-width: var(--ck-dropdown-max-width);\\n\\n\\t\\tposition: absolute;\\n\\n\\t\\t&.ck-dropdown__panel-visible {\\n\\t\\t\\tdisplay: inline-block;\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_ne,\\n\\t\\t&.ck-dropdown__panel_nw,\\n\\t\\t&.ck-dropdown__panel_n,\\n\\t\\t&.ck-dropdown__panel_nmw,\\n\\t\\t&.ck-dropdown__panel_nme {\\n\\t\\t\\tbottom: 100%;\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_se,\\n\\t\\t&.ck-dropdown__panel_sw,\\n\\t\\t&.ck-dropdown__panel_smw,\\n\\t\\t&.ck-dropdown__panel_sme,\\n\\t\\t&.ck-dropdown__panel_s {\\n\\t\\t\\t/*\\n\\t\\t\\t * Using transform: translate3d( 0, 100%, 0 ) causes blurry dropdown on Chrome 67-78+ on non-retina displays.\\n\\t\\t\\t * See https://github.com/ckeditor/ckeditor5/issues/1053.\\n\\t\\t\\t */\\n\\t\\t\\ttop: 100%;\\n\\t\\t\\tbottom: auto;\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_ne,\\n\\t\\t&.ck-dropdown__panel_se {\\n\\t\\t\\tleft: 0px;\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_nw,\\n\\t\\t&.ck-dropdown__panel_sw {\\n\\t\\t\\tright: 0px;\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_s,\\n\\t\\t&.ck-dropdown__panel_n {\\n\\t\\t\\t/* Positioning panels relative to the center of the button */\\n\\t\\t\\tleft: 50%;\\n\\t\\t\\ttransform: translateX(-50%);\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_nmw,\\n\\t\\t&.ck-dropdown__panel_smw {\\n\\t\\t\\t/* Positioning panels relative to the middle-west of the button */\\n\\t\\t\\tleft: 75%;\\n\\t\\t\\ttransform: translateX(-75%);\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__panel_nme,\\n\\t\\t&.ck-dropdown__panel_sme {\\n\\t\\t\\t/* Positioning panels relative to the middle-east of the button */\\n\\t\\t\\tleft: 25%;\\n\\t\\t\\ttransform: translateX(-25%);\\n\\t\\t}\\n\\t}\\n}\\n\\n/*\\n * Toolbar dropdown panels should be always above the UI (eg. other dropdown panels) from the editor's content.\\n * See https://github.com/ckeditor/ckeditor5/issues/7874\\n */\\n.ck.ck-toolbar .ck-dropdown__panel {\\n\\tz-index: calc( var(--ck-z-modal) + 1 );\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Enables the tooltip, which is the tooltip is in DOM but\\n * not yet displayed.\\n */\\n@define-mixin ck-tooltip_enabled {\\n\\t& .ck-tooltip {\\n\\t\\tdisplay: block;\\n\\n\\t\\t/*\\n\\t\\t * Don't display tooltips in devices which don't support :hover.\\n\\t\\t * In fact, it's all about iOS, which forces user to click UI elements twice to execute\\n\\t\\t * the primary action, when tooltips are enabled.\\n\\t\\t *\\n\\t\\t * Q: OK, but why not the following query?\\n\\t\\t *\\n\\t\\t * @media (hover) {\\n\\t\\t * display: block;\\n\\t\\t * }\\n\\t\\t *\\n\\t\\t * A: Because FF does not support it and it would completely disable tooltips\\n\\t\\t * in that browser.\\n\\t\\t *\\n\\t\\t * More in https://github.com/ckeditor/ckeditor5/issues/920.\\n\\t\\t */\\n\\t\\t@media (hover:none) {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n/**\\n * Disables the tooltip making it disappear from DOM.\\n */\\n@define-mixin ck-tooltip_disabled {\\n\\t& .ck-tooltip {\\n\\t\\tdisplay: none;\\n\\t}\\n}\\n\\n/**\\n * Shows the tooltip, which is already in DOM.\\n * Requires `ck-tooltip_enabled` first.\\n */\\n@define-mixin ck-tooltip_visible {\\n\\t& .ck-tooltip {\\n\\t\\tvisibility: visible;\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n@import \"../../../mixins/_disabled.css\";\\n@import \"../../../mixins/_shadow.css\";\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n:root {\\n\\t--ck-dropdown-arrow-size: calc(0.5 * var(--ck-icon-size));\\n}\\n\\n.ck.ck-dropdown {\\n\\t/* Enable font size inheritance, which allows fluid UI scaling. */\\n\\tfont-size: inherit;\\n\\n\\t& .ck-dropdown__arrow {\\n\\t\\twidth: var(--ck-dropdown-arrow-size);\\n\\t}\\n\\n\\t@mixin ck-dir ltr {\\n\\t\\t& .ck-dropdown__arrow {\\n\\t\\t\\tright: var(--ck-spacing-standard);\\n\\n\\t\\t\\t/* A space to accommodate the triangle. */\\n\\t\\t\\tmargin-left: var(--ck-spacing-standard);\\n\\t\\t}\\n\\t}\\n\\n\\t@mixin ck-dir rtl {\\n\\t\\t& .ck-dropdown__arrow {\\n\\t\\t\\tleft: var(--ck-spacing-standard);\\n\\n\\t\\t\\t/* A space to accommodate the triangle. */\\n\\t\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-disabled .ck-dropdown__arrow {\\n\\t\\t@mixin ck-disabled;\\n\\t}\\n\\n\\t& .ck-button.ck-dropdown__button {\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t&:not(.ck-button_with-text) {\\n\\t\\t\\t\\t/* Make sure dropdowns with just an icon have the right inner spacing */\\n\\t\\t\\t\\tpadding-left: var(--ck-spacing-small);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t&:not(.ck-button_with-text) {\\n\\t\\t\\t\\t/* Make sure dropdowns with just an icon have the right inner spacing */\\n\\t\\t\\t\\tpadding-right: var(--ck-spacing-small);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* #23 */\\n\\t\\t& .ck-button__label {\\n\\t\\t\\twidth: 7em;\\n\\t\\t\\toverflow: hidden;\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t}\\n\\n\\t\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/70 */\\n\\t\\t&.ck-disabled .ck-button__label {\\n\\t\\t\\t@mixin ck-disabled;\\n\\t\\t}\\n\\n\\t\\t/* https://github.com/ckeditor/ckeditor5/issues/816 */\\n\\t\\t&.ck-on {\\n\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t}\\n\\n\\t\\t&.ck-dropdown__button_label-width_auto .ck-button__label {\\n\\t\\t\\twidth: auto;\\n\\t\\t}\\n\\n\\t\\t/* https://github.com/ckeditor/ckeditor5/issues/8699 */\\n\\t\\t&.ck-off:active,\\n\\t\\t&.ck-on:active {\\n\\t\\t\\tbox-shadow: none;\\n\\t\\t\\t\\n\\t\\t\\t&:focus {\\n\\t\\t\\t\\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck.ck-dropdown__panel {\\n\\t@mixin ck-rounded-corners;\\n\\t@mixin ck-drop-shadow;\\n\\n\\tbackground: var(--ck-color-dropdown-panel-background);\\n\\tborder: 1px solid var(--ck-color-dropdown-panel-border);\\n\\tbottom: 0;\\n\\n\\t/* Make sure the panel is at least as wide as the drop-down\\'s button. */\\n\\tmin-width: 100%;\\n\\n\\t/* Disabled corner border radius to be consistent with the .dropdown__button\\n\\thttps://github.com/ckeditor/ckeditor5/issues/816 */\\n\\t&.ck-dropdown__panel_se {\\n\\t\\tborder-top-left-radius: 0;\\n\\t}\\n\\n\\t&.ck-dropdown__panel_sw {\\n\\t\\tborder-top-right-radius: 0;\\n\\t}\\n\\n\\t&.ck-dropdown__panel_ne {\\n\\t\\tborder-bottom-left-radius: 0;\\n\\t}\\n\\n\\t&.ck-dropdown__panel_nw {\\n\\t\\tborder-bottom-right-radius: 0;\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A class which indicates that an element holding it is disabled.\\n */\\n@define-mixin ck-disabled {\\n\\topacity: var(--ck-disabled-opacity);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},6875:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-dropdown .ck-dropdown__panel .ck-list{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list,.ck.ck-dropdown .ck-dropdown__panel .ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0}.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button,.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:first-child .ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-bottom-left-radius:0;border-bottom-right-radius:0}.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button{border-radius:0}.ck-rounded-corners .ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button,.ck.ck-dropdown .ck-dropdown__panel .ck-list .ck-list__item:last-child .ck-button.ck-rounded-corners{border-radius:var(--ck-border-radius);border-top-left-radius:0;border-top-right-radius:0}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/listdropdown.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAOA,6CCIC,eDqBD,CAzBA,iICQE,qCAAsC,CDJtC,wBAqBF,CAfE,mFCND,eDYC,CANA,6MCFA,qCAAsC,CDIpC,wBAAyB,CACzB,2BAA4B,CAC5B,4BAEF,CAEA,kFCdD,eDmBC,CALA,2MCVA,qCAAsC,CDYpC,wBAAyB,CACzB,yBAEF\",sourcesContent:['/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n\\n.ck.ck-dropdown .ck-dropdown__panel .ck-list {\\n\\t/* Disabled radius of top-left border to be consistent with .dropdown__button\\n\\thttps://github.com/ckeditor/ckeditor5/issues/816 */\\n\\t@mixin ck-rounded-corners {\\n\\t\\tborder-top-left-radius: 0;\\n\\t}\\n\\n\\t/* Make sure the button belonging to the first/last child of the list goes well with the\\n\\tborder radius of the entire panel. */\\n\\t& .ck-list__item {\\n\\t\\t&:first-child .ck-button {\\n\\t\\t\\t@mixin ck-rounded-corners {\\n\\t\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&:last-child .ck-button {\\n\\t\\t\\t@mixin ck-rounded-corners {\\n\\t\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\t\\tborder-top-right-radius: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},66:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,'.ck.ck-splitbutton{font-size:inherit}.ck.ck-splitbutton .ck-splitbutton__action:focus{z-index:calc(var(--ck-z-default) + 1)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-button .ck-tooltip{display:none}:root{--ck-color-split-button-hover-background:#ebebeb;--ck-color-split-button-hover-border:#b3b3b3}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__action{border-top-right-radius:unset;border-bottom-right-radius:unset}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__action{border-top-left-radius:unset;border-bottom-left-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow{min-width:unset}[dir=ltr] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-top-left-radius:unset;border-bottom-left-radius:unset}[dir=rtl] .ck.ck-splitbutton>.ck-splitbutton__arrow{border-top-right-radius:unset;border-bottom-right-radius:unset}.ck.ck-splitbutton>.ck-splitbutton__arrow svg{width:var(--ck-dropdown-arrow-size)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover),.ck.ck-splitbutton:hover>.ck-button:not(.ck-on):not(.ck-disabled):not(:hover){background:var(--ck-color-split-button-hover-background)}.ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,.ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{content:\"\";position:absolute;width:1px;height:100%;background-color:var(--ck-color-split-button-hover-border)}[dir=ltr] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,[dir=ltr] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{left:-1px}[dir=rtl] .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow:not(.ck-disabled):after,[dir=rtl] .ck.ck-splitbutton:hover>.ck-splitbutton__arrow:not(.ck-disabled):after{right:-1px}.ck.ck-splitbutton.ck-splitbutton_open{border-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__action,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__action{border-bottom-left-radius:0}.ck-rounded-corners .ck.ck-splitbutton.ck-splitbutton_open>.ck-splitbutton__arrow,.ck.ck-splitbutton.ck-splitbutton_open.ck-rounded-corners>.ck-splitbutton__arrow{border-bottom-right-radius:0}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/splitbutton.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/tooltip/mixins/_tooltip.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/splitbutton.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAOA,mBAEC,iBAUD,CARC,iDACC,qCACD,CC0BA,8DACC,YACD,CClCD,MACC,gDAAyD,CACzD,4CACD,CAMC,oIAIE,6BAA8B,CAC9B,gCAQF,CAbA,oIAUE,4BAA6B,CAC7B,+BAEF,CAEA,0CAGC,eAiBD,CApBA,oDAOE,4BAA6B,CAC7B,+BAYF,CApBA,oDAaE,6BAA8B,CAC9B,gCAMF,CAHC,8CACC,mCACD,CASA,0KACC,wDACD,CAIA,8JACC,UAAW,CACX,iBAAkB,CAClB,SAAU,CACV,WAAY,CACZ,0DACD,CAGC,kLACC,SACD,CAIA,kLACC,UACD,CAMF,uCC7EA,eDuFA,CAVA,qHCzEC,qCDmFD,CARE,qKACC,2BACD,CAEA,mKACC,4BACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../tooltip/mixins/_tooltip.css\";\\n\\n.ck.ck-splitbutton {\\n\\t/* Enable font size inheritance, which allows fluid UI scaling. */\\n\\tfont-size: inherit;\\n\\n\\t& .ck-splitbutton__action:focus {\\n\\t\\tz-index: calc(var(--ck-z-default) + 1);\\n\\t}\\n\\n\\t/* Disable tooltips for the buttons when the button is \"open\" */\\n\\t&.ck-splitbutton_open > .ck-button {\\n\\t\\t@mixin ck-tooltip_disabled;\\n\\t}\\n}\\n\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Enables the tooltip, which is the tooltip is in DOM but\\n * not yet displayed.\\n */\\n@define-mixin ck-tooltip_enabled {\\n\\t& .ck-tooltip {\\n\\t\\tdisplay: block;\\n\\n\\t\\t/*\\n\\t\\t * Don't display tooltips in devices which don't support :hover.\\n\\t\\t * In fact, it's all about iOS, which forces user to click UI elements twice to execute\\n\\t\\t * the primary action, when tooltips are enabled.\\n\\t\\t *\\n\\t\\t * Q: OK, but why not the following query?\\n\\t\\t *\\n\\t\\t * @media (hover) {\\n\\t\\t * display: block;\\n\\t\\t * }\\n\\t\\t *\\n\\t\\t * A: Because FF does not support it and it would completely disable tooltips\\n\\t\\t * in that browser.\\n\\t\\t *\\n\\t\\t * More in https://github.com/ckeditor/ckeditor5/issues/920.\\n\\t\\t */\\n\\t\\t@media (hover:none) {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n\\n/**\\n * Disables the tooltip making it disappear from DOM.\\n */\\n@define-mixin ck-tooltip_disabled {\\n\\t& .ck-tooltip {\\n\\t\\tdisplay: none;\\n\\t}\\n}\\n\\n/**\\n * Shows the tooltip, which is already in DOM.\\n * Requires `ck-tooltip_enabled` first.\\n */\\n@define-mixin ck-tooltip_visible {\\n\\t& .ck-tooltip {\\n\\t\\tvisibility: visible;\\n\\t\\topacity: 1;\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n\\n:root {\\n\\t--ck-color-split-button-hover-background: hsl(0, 0%, 92%);\\n\\t--ck-color-split-button-hover-border: hsl(0, 0%, 70%);\\n}\\n\\n.ck.ck-splitbutton {\\n\\t/*\\n\\t * Note: ck-rounded and ck-dir mixins don\\'t go together (because they both use @nest).\\n\\t */\\n\\t&:hover > .ck-splitbutton__action,\\n\\t&.ck-splitbutton_open > .ck-splitbutton__action {\\n\\t\\t@nest [dir=\"ltr\"] & {\\n\\t\\t\\t/* Don\\'t round the action button on the right side */\\n\\t\\t\\tborder-top-right-radius: unset;\\n\\t\\t\\tborder-bottom-right-radius: unset;\\n\\t\\t}\\n\\n\\t\\t@nest [dir=\"rtl\"] & {\\n\\t\\t\\t/* Don\\'t round the action button on the left side */\\n\\t\\t\\tborder-top-left-radius: unset;\\n\\t\\t\\tborder-bottom-left-radius: unset;\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck-splitbutton__arrow {\\n\\t\\t/* It\\'s a text-less button and since the icon is positioned absolutely in such situation,\\n\\t\\tit must get some arbitrary min-width. */\\n\\t\\tmin-width: unset;\\n\\n\\t\\t@nest [dir=\"ltr\"] & {\\n\\t\\t\\t/* Don\\'t round the arrow button on the left side */\\n\\t\\t\\tborder-top-left-radius: unset;\\n\\t\\t\\tborder-bottom-left-radius: unset;\\n\\t\\t}\\n\\n\\t\\t@nest [dir=\"rtl\"] & {\\n\\t\\t\\t/* Don\\'t round the arrow button on the right side */\\n\\t\\t\\tborder-top-right-radius: unset;\\n\\t\\t\\tborder-bottom-right-radius: unset;\\n\\t\\t}\\n\\n\\t\\t& svg {\\n\\t\\t\\twidth: var(--ck-dropdown-arrow-size);\\n\\t\\t}\\n\\t}\\n\\n\\t/* When the split button is \"open\" (the arrow is on) or being hovered, it should get some styling\\n\\tas a whole. The background of both buttons should stand out and there should be a visual\\n\\tseparation between both buttons. */\\n\\t&.ck-splitbutton_open,\\n\\t&:hover {\\n\\t\\t/* When the split button hovered as a whole, not as individual buttons. */\\n\\t\\t& > .ck-button:not(.ck-on):not(.ck-disabled):not(:hover) {\\n\\t\\t\\tbackground: var(--ck-color-split-button-hover-background);\\n\\t\\t}\\n\\n\\t\\t/* Splitbutton separator needs to be set with the ::after pseudoselector\\n\\t\\tto display properly the borders on focus */\\n\\t\\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\\n\\t\\t\\tcontent: \\'\\';\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\twidth: 1px;\\n\\t\\t\\theight: 100%;\\n\\t\\t\\tbackground-color: var(--ck-color-split-button-hover-border);\\n\\t\\t}\\n\\n\\t\\t@nest [dir=\"ltr\"] & {\\n\\t\\t\\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\\n\\t\\t\\t\\tleft: -1px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t@nest [dir=\"rtl\"] & {\\n\\t\\t\\t& > .ck-splitbutton__arrow:not(.ck-disabled)::after {\\n\\t\\t\\t\\tright: -1px;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/* Don\\'t round the bottom left and right corners of the buttons when \"open\"\\n\\thttps://github.com/ckeditor/ckeditor5/issues/816 */\\n\\t&.ck-splitbutton_open {\\n\\t\\t@mixin ck-rounded-corners {\\n\\t\\t\\t& > .ck-splitbutton__action {\\n\\t\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t& > .ck-splitbutton__arrow {\\n\\t\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},5075:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\":root{--ck-toolbar-dropdown-max-width:60vw}.ck.ck-toolbar-dropdown>.ck-dropdown__panel{width:max-content;max-width:var(--ck-toolbar-dropdown-max-width)}.ck.ck-toolbar-dropdown>.ck-dropdown__panel .ck-button:focus{z-index:calc(var(--ck-z-default) + 1)}.ck.ck-toolbar-dropdown .ck-toolbar{border:0}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/dropdown/toolbardropdown.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/dropdown/toolbardropdown.css\"],names:[],mappings:\"AAKA,MACC,oCACD,CAEA,4CAEC,iBAAkB,CAClB,8CAOD,CAJE,6DACC,qCACD,CCZF,oCACC,QACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-toolbar-dropdown-max-width: 60vw;\\n}\\n\\n.ck.ck-toolbar-dropdown > .ck-dropdown__panel {\\n\\t/* https://github.com/ckeditor/ckeditor5/issues/5586 */\\n\\twidth: max-content;\\n\\tmax-width: var(--ck-toolbar-dropdown-max-width);\\n\\n\\t& .ck-button {\\n\\t\\t&:focus {\\n\\t\\t\\tz-index: calc(var(--ck-z-default) + 1);\\n\\t\\t}\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-toolbar-dropdown .ck-toolbar {\\n\\tborder: 0;\\n}\\n\"],sourceRoot:\"\"}]);const a=s},4547:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\":root{--ck-color-editable-blur-selection:#d9d9d9}.ck.ck-editor__editable:not(.ck-editor__nested-editable){border-radius:0}.ck-rounded-corners .ck.ck-editor__editable:not(.ck-editor__nested-editable),.ck.ck-editor__editable:not(.ck-editor__nested-editable).ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-editor__editable:not(.ck-editor__nested-editable).ck-focused{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0}.ck.ck-editor__editable_inline{overflow:auto;padding:0 var(--ck-spacing-standard);border:1px solid transparent}.ck.ck-editor__editable_inline[dir=ltr]{text-align:left}.ck.ck-editor__editable_inline[dir=rtl]{text-align:right}.ck.ck-editor__editable_inline>:first-child{margin-top:var(--ck-spacing-large)}.ck.ck-editor__editable_inline>:last-child{margin-bottom:var(--ck-spacing-large)}.ck.ck-editor__editable_inline.ck-blurred ::selection{background:var(--ck-color-editable-blur-selection)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_n]:after{border-bottom-color:var(--ck-color-base-foreground)}.ck.ck-balloon-panel.ck-toolbar-container[class*=arrow_s]:after{border-top-color:var(--ck-color-base-foreground)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/editorui/editorui.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],names:[],mappings:\"AAWA,MACC,0CACD,CAEA,yDCJC,eDWD,CAPA,yJCAE,qCDOF,CAJC,oEERA,YAAa,CACb,2BAA2B,CCF3B,qCHYA,CAGD,+BACC,aAAc,CACd,oCAAqC,CACrC,4BA4BD,CA1BC,wCACC,eACD,CAEA,wCACC,gBACD,CAGA,4CACC,kCACD,CAGA,2CAKC,qCACD,CAGA,sDACC,kDACD,CAKA,gEACC,mDACD,CAIA,gEACC,gDACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n@import \"../../../mixins/_disabled.css\";\\n@import \"../../../mixins/_shadow.css\";\\n@import \"../../../mixins/_focus.css\";\\n@import \"../../mixins/_button.css\";\\n\\n:root {\\n\\t--ck-color-editable-blur-selection: hsl(0, 0%, 85%);\\n}\\n\\n.ck.ck-editor__editable:not(.ck-editor__nested-editable) {\\n\\t@mixin ck-rounded-corners;\\n\\n\\t&.ck-focused {\\n\\t\\t@mixin ck-focus-ring;\\n\\t\\t@mixin ck-box-shadow var(--ck-inner-shadow);\\n\\t}\\n}\\n\\n.ck.ck-editor__editable_inline {\\n\\toverflow: auto;\\n\\tpadding: 0 var(--ck-spacing-standard);\\n\\tborder: 1px solid transparent;\\n\\n\\t&[dir=\"ltr\"] {\\n\\t\\ttext-align: left;\\n\\t}\\n\\n\\t&[dir=\"rtl\"] {\\n\\t\\ttext-align: right;\\n\\t}\\n\\n\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/116 */\\n\\t& > *:first-child {\\n\\t\\tmargin-top: var(--ck-spacing-large);\\n\\t}\\n\\n\\t/* https://github.com/ckeditor/ckeditor5/issues/847 */\\n\\t& > *:last-child {\\n\\t\\t/*\\n\\t\\t * This value should match with the default margins of the block elements (like .media or .image)\\n\\t\\t * to avoid a content jumping when the fake selection container shows up (See https://github.com/ckeditor/ckeditor5/issues/9825).\\n\\t\\t */\\n\\t\\tmargin-bottom: var(--ck-spacing-large);\\n\\t}\\n\\n\\t/* https://github.com/ckeditor/ckeditor5/issues/6517 */\\n\\t&.ck-blurred ::selection {\\n\\t\\tbackground: var(--ck-color-editable-blur-selection);\\n\\t}\\n}\\n\\n/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/111 */\\n.ck.ck-balloon-panel.ck-toolbar-container[class*=\"arrow_n\"] {\\n\\t&::after {\\n\\t\\tborder-bottom-color: var(--ck-color-base-foreground);\\n\\t}\\n}\\n\\n.ck.ck-balloon-panel.ck-toolbar-container[class*=\"arrow_s\"] {\\n\\t&::after {\\n\\t\\tborder-top-color: var(--ck-color-base-foreground);\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A visual style of focused element's border.\\n */\\n@define-mixin ck-focus-ring {\\n\\t/* Disable native outline. */\\n\\toutline: none;\\n\\tborder: var(--ck-focus-ring)\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],sourceRoot:\"\"}]);const a=s},5523:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-form__header{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between}:root{--ck-form-header-height:38px}.ck.ck-form__header{padding:var(--ck-spacing-small) var(--ck-spacing-large);height:var(--ck-form-header-height);line-height:var(--ck-form-header-height);border-bottom:1px solid var(--ck-color-base-border)}.ck.ck-form__header .ck-form__header__label{font-weight:700}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/formheader/formheader.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/formheader/formheader.css\"],names:[],mappings:\"AAKA,oBACC,YAAa,CACb,kBAAmB,CACnB,gBAAiB,CACjB,kBAAmB,CACnB,6BACD,CCNA,MACC,4BACD,CAEA,oBACC,uDAAwD,CACxD,mCAAoC,CACpC,wCAAyC,CACzC,mDAKD,CAHC,4CACC,eACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-form__header {\\n\\tdisplay: flex;\\n\\tflex-direction: row;\\n\\tflex-wrap: nowrap;\\n\\talign-items: center;\\n\\tjustify-content: space-between;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-form-header-height: 38px;\\n}\\n\\n.ck.ck-form__header {\\n\\tpadding: var(--ck-spacing-small) var(--ck-spacing-large);\\n\\theight: var(--ck-form-header-height);\\n\\tline-height: var(--ck-form-header-height);\\n\\tborder-bottom: 1px solid var(--ck-color-base-border);\\n\\n\\t& .ck-form__header__label {\\n\\t\\tfont-weight: bold;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},1174:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-icon{vertical-align:middle}:root{--ck-icon-size:calc(var(--ck-line-height-base)*var(--ck-font-size-normal))}.ck.ck-icon{width:var(--ck-icon-size);height:var(--ck-icon-size);font-size:.8333350694em;will-change:transform}.ck.ck-icon,.ck.ck-icon *{color:inherit;cursor:inherit}.ck.ck-icon :not([fill]){fill:currentColor}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/icon/icon.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/icon/icon.css\"],names:[],mappings:\"AAKA,YACC,qBACD,CCFA,MACC,0EACD,CAEA,YACC,yBAA0B,CAC1B,0BAA2B,CAG3B,uBAAwB,CAQxB,qBAcD,CAZC,0BARA,aAAc,CAGd,cAgBA,CAJC,yBAEC,iBACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-icon {\\n\\tvertical-align: middle;\\n}\\n\",'/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-icon-size: calc(var(--ck-line-height-base) * var(--ck-font-size-normal));\\n}\\n\\n.ck.ck-icon {\\n\\twidth: var(--ck-icon-size);\\n\\theight: var(--ck-icon-size);\\n\\n\\t/* Multiplied by the height of the line in \"px\" should give SVG \"viewport\" dimensions */\\n\\tfont-size: .8333350694em;\\n\\n\\tcolor: inherit;\\n\\n\\t/* Inherit cursor style (#5). */\\n\\tcursor: inherit;\\n\\n\\t/* This will prevent blurry icons on Firefox. See #340. */\\n\\twill-change: transform;\\n\\n\\t& * {\\n\\t\\t/* Inherit cursor style (#5). */\\n\\t\\tcursor: inherit;\\n\\n\\t\\t/* Allows dynamic coloring of the icons. */\\n\\t\\tcolor: inherit;\\n\\n\\t\\t&:not([fill]) {\\n\\t\\t\\t/* Needed by FF. */\\n\\t\\t\\tfill: currentColor;\\n\\t\\t}\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const a=s},7661:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\":root{--ck-input-text-width:18em}.ck.ck-input-text{border-radius:0}.ck-rounded-corners .ck.ck-input-text,.ck.ck-input-text.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-input-text{background:var(--ck-color-input-background);border:1px solid var(--ck-color-input-border);padding:var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);min-width:var(--ck-input-text-width);min-height:var(--ck-ui-component-min-height);transition:box-shadow .1s ease-in-out,border .1s ease-in-out}.ck.ck-input-text:focus{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-focus-outer-shadow),0 0}.ck.ck-input-text[readonly]{border:1px solid var(--ck-color-input-disabled-border);background:var(--ck-color-input-disabled-background);color:var(--ck-color-input-disabled-text)}.ck.ck-input-text[readonly]:focus{box-shadow:var(--ck-focus-disabled-outer-shadow),0 0}.ck.ck-input-text.ck-error{border-color:var(--ck-color-input-error-border);animation:ck-text-input-shake .3s ease both}.ck.ck-input-text.ck-error:focus{box-shadow:var(--ck-focus-error-outer-shadow),0 0}@keyframes ck-text-input-shake{20%{transform:translateX(-2px)}40%{transform:translateX(2px)}60%{transform:translateX(-1px)}80%{transform:translateX(1px)}}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/inputtext/inputtext.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],names:[],mappings:\"AASA,MACC,0BACD,CAEA,kBCFC,eDwCD,CAtCA,2ECEE,qCDoCF,CAtCA,kBAGC,2CAA4C,CAC5C,6CAA8C,CAC9C,6DAA8D,CAC9D,oCAAqC,CAGrC,4CAA6C,CAG7C,4DA0BD,CAxBC,wBEjBA,YAAa,CACb,2BAA2B,CCF3B,2CHqBA,CAEA,4BACC,sDAAuD,CACvD,oDAAqD,CACrD,yCAMD,CAJC,kCG5BD,oDH+BC,CAGD,2BACC,+CAAgD,CAChD,2CAKD,CAHC,iCGtCD,iDHwCC,CAIF,+BACC,IACC,0BACD,CAEA,IACC,yBACD,CAEA,IACC,0BACD,CAEA,IACC,yBACD,CACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n@import \"../../../mixins/_focus.css\";\\n@import \"../../../mixins/_shadow.css\";\\n\\n:root {\\n\\t--ck-input-text-width: 18em;\\n}\\n\\n.ck.ck-input-text {\\n\\t@mixin ck-rounded-corners;\\n\\n\\tbackground: var(--ck-color-input-background);\\n\\tborder: 1px solid var(--ck-color-input-border);\\n\\tpadding: var(--ck-spacing-extra-tiny) var(--ck-spacing-medium);\\n\\tmin-width: var(--ck-input-text-width);\\n\\n\\t/* This is important to stay of the same height as surrounding buttons */\\n\\tmin-height: var(--ck-ui-component-min-height);\\n\\n\\t/* Apply some smooth transition to the box-shadow and border. */\\n\\ttransition: box-shadow .1s ease-in-out, border .1s ease-in-out;\\n\\n\\t&:focus {\\n\\t\\t@mixin ck-focus-ring;\\n\\t\\t@mixin ck-box-shadow var(--ck-focus-outer-shadow);\\n\\t}\\n\\n\\t&[readonly] {\\n\\t\\tborder: 1px solid var(--ck-color-input-disabled-border);\\n\\t\\tbackground: var(--ck-color-input-disabled-background);\\n\\t\\tcolor: var(--ck-color-input-disabled-text);\\n\\n\\t\\t&:focus {\\n\\t\\t\\t/* The read-only input should have a slightly less visible shadow when focused. */\\n\\t\\t\\t@mixin ck-box-shadow var(--ck-focus-disabled-outer-shadow);\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-error {\\n\\t\\tborder-color: var(--ck-color-input-error-border);\\n\\t\\tanimation: ck-text-input-shake .3s ease both;\\n\\n\\t\\t&:focus {\\n\\t\\t\\t@mixin ck-box-shadow var(--ck-focus-error-outer-shadow);\\n\\t\\t}\\n\\t}\\n}\\n\\n@keyframes ck-text-input-shake {\\n\\t20% {\\n\\t\\ttransform: translateX(-2px);\\n\\t}\\n\\n\\t40% {\\n\\t\\ttransform: translateX(2px);\\n\\t}\\n\\n\\t60% {\\n\\t\\ttransform: translateX(-1px);\\n\\t}\\n\\n\\t80% {\\n\\t\\ttransform: translateX(1px);\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A visual style of focused element's border.\\n */\\n@define-mixin ck-focus-ring {\\n\\t/* Disable native outline. */\\n\\toutline: none;\\n\\tborder: var(--ck-focus-ring)\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],sourceRoot:\"\"}]);const a=s},2751:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-label{display:block}.ck.ck-voice-label{display:none}.ck.ck-label{font-weight:700}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/label/label.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/label/label.css\"],names:[],mappings:\"AAKA,aACC,aACD,CAEA,mBACC,YACD,CCNA,aACC,eACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-label {\\n\\tdisplay: block;\\n}\\n\\n.ck.ck-voice-label {\\n\\tdisplay: none;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-label {\\n\\tfont-weight: bold;\\n}\\n\"],sourceRoot:\"\"}]);const a=s},8111:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper{display:flex;position:relative}.ck.ck-labeled-field-view .ck.ck-label{display:block;position:absolute}:root{--ck-labeled-field-view-transition:.1s cubic-bezier(0,0,0.24,0.95);--ck-labeled-field-empty-unfocused-max-width:100% - 2 * var(--ck-spacing-medium);--ck-color-labeled-field-label-background:var(--ck-color-base-background)}.ck.ck-labeled-field-view{border-radius:0}.ck-rounded-corners .ck.ck-labeled-field-view,.ck.ck-labeled-field-view.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper{width:100%}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{top:0}[dir=ltr] .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{left:0}[dir=rtl] .ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{right:0}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{pointer-events:none;transform-origin:0 0;transform:translate(var(--ck-spacing-medium),-6px) scale(.75);background:var(--ck-color-labeled-field-label-background);padding:0 calc(var(--ck-font-size-tiny)*0.5);line-height:normal;font-weight:400;text-overflow:ellipsis;overflow:hidden;max-width:100%;transition:transform var(--ck-labeled-field-view-transition),padding var(--ck-labeled-field-view-transition),background var(--ck-labeled-field-view-transition)}.ck.ck-labeled-field-view.ck-error .ck-input:not([readonly])+.ck.ck-label,.ck.ck-labeled-field-view.ck-error>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view .ck-labeled-field-view__status{font-size:var(--ck-font-size-small);margin-top:var(--ck-spacing-small);white-space:normal}.ck.ck-labeled-field-view .ck-labeled-field-view__status.ck-labeled-field-view__status_error{color:var(--ck-color-base-error)}.ck.ck-labeled-field-view.ck-disabled>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{color:var(--ck-color-input-disabled-text)}[dir=ltr] .ck.ck-labeled-field-view.ck-disabled>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,[dir=ltr] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transform:translate(var(--ck-spacing-medium),calc(var(--ck-font-size-base)*0.6)) scale(1)}[dir=rtl] .ck.ck-labeled-field-view.ck-disabled>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,[dir=rtl] .ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{transform:translate(calc(var(--ck-spacing-medium)*-1),calc(var(--ck-font-size-base)*0.6)) scale(1)}.ck.ck-labeled-field-view.ck-disabled>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label,.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck.ck-label{max-width:calc(var(--ck-labeled-field-empty-unfocused-max-width));background:transparent;padding:0}.ck.ck-labeled-field-view>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown>.ck.ck-button{background:transparent}.ck.ck-labeled-field-view.ck-labeled-field-view_empty>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown>.ck-button>.ck-button__label{opacity:0}.ck.ck-labeled-field-view.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder)>.ck.ck-labeled-field-view__input-wrapper>.ck-dropdown+.ck-label{max-width:calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard))}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/labeledfield/labeledfieldview.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/labeledfield/labeledfieldview.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAMC,mEACC,YAAa,CACb,iBACD,CAEA,uCACC,aAAc,CACd,iBACD,CCND,MACC,kEAAsE,CACtE,gFAAiF,CACjF,yEACD,CAEA,0BCHC,eD4GD,CAzGA,2FCCE,qCDwGF,CAtGC,mEACC,UAmCD,CAjCC,gFACC,KA+BD,CAhCA,0FAIE,MA4BF,CAhCA,0FAQE,OAwBF,CAhCA,gFAWC,mBAAoB,CACpB,oBAAqB,CAGrB,6DAA+D,CAE/D,yDAA0D,CAC1D,4CAA8C,CAC9C,kBAAoB,CACpB,eAAmB,CAGnB,sBAAuB,CACvB,eAAgB,CAEhB,cAAe,CAEf,+JAID,CAQA,mKACC,gCACD,CAGD,yDACC,mCAAoC,CACpC,kCAAmC,CAInC,kBAKD,CAHC,6FACC,gCACD,CAID,4OAEC,yCACD,CAIA,wSAGE,yFAYF,CAfA,wSAOE,kGAQF,CAfA,oRAWC,iEAAkE,CAElE,sBAAuB,CACvB,SACD,CAKA,8FACC,sBACD,CAGA,yIACC,SACD,CAGA,kMACC,8HACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-labeled-field-view {\\n\\t& > .ck.ck-labeled-field-view__input-wrapper {\\n\\t\\tdisplay: flex;\\n\\t\\tposition: relative;\\n\\t}\\n\\n\\t& .ck.ck-label {\\n\\t\\tdisplay: block;\\n\\t\\tposition: absolute;\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n@import \"../../../mixins/_rounded.css\";\\n\\n:root {\\n\\t--ck-labeled-field-view-transition: .1s cubic-bezier(0, 0, 0.24, 0.95);\\n\\t--ck-labeled-field-empty-unfocused-max-width: 100% - 2 * var(--ck-spacing-medium);\\n\\t--ck-color-labeled-field-label-background: var(--ck-color-base-background);\\n}\\n\\n.ck.ck-labeled-field-view {\\n\\t@mixin ck-rounded-corners;\\n\\n\\t& > .ck.ck-labeled-field-view__input-wrapper {\\n\\t\\twidth: 100%;\\n\\n\\t\\t& > .ck.ck-label {\\n\\t\\t\\ttop: 0px;\\n\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\tleft: 0px;\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tright: 0px;\\n\\t\\t\\t}\\n\\n\\t\\t\\tpointer-events: none;\\n\\t\\t\\ttransform-origin: 0 0;\\n\\n\\t\\t\\t/* By default, display the label scaled down above the field. */\\n\\t\\t\\ttransform: translate(var(--ck-spacing-medium), -6px) scale(.75);\\n\\n\\t\\t\\tbackground: var(--ck-color-labeled-field-label-background);\\n\\t\\t\\tpadding: 0 calc(.5 * var(--ck-font-size-tiny));\\n\\t\\t\\tline-height: initial;\\n\\t\\t\\tfont-weight: normal;\\n\\n\\t\\t\\t/* Prevent overflow when the label is longer than the input */\\n\\t\\t\\ttext-overflow: ellipsis;\\n\\t\\t\\toverflow: hidden;\\n\\n\\t\\t\\tmax-width: 100%;\\n\\n\\t\\t\\ttransition:\\n\\t\\t\\t\\ttransform var(--ck-labeled-field-view-transition),\\n\\t\\t\\t\\tpadding var(--ck-labeled-field-view-transition),\\n\\t\\t\\t\\tbackground var(--ck-labeled-field-view-transition);\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-error {\\n\\t\\t& > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\\n\\t\\t\\tcolor: var(--ck-color-base-error);\\n\\t\\t}\\n\\n\\t\\t& .ck-input:not([readonly]) + .ck.ck-label {\\n\\t\\t\\tcolor: var(--ck-color-base-error);\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-labeled-field-view__status {\\n\\t\\tfont-size: var(--ck-font-size-small);\\n\\t\\tmargin-top: var(--ck-spacing-small);\\n\\n\\t\\t/* Let the info wrap to the next line to avoid stretching the layout horizontally.\\n\\t\\tThe status could be very long. */\\n\\t\\twhite-space: normal;\\n\\n\\t\\t&.ck-labeled-field-view__status_error {\\n\\t\\t\\tcolor: var(--ck-color-base-error);\\n\\t\\t}\\n\\t}\\n\\n\\t/* Disabled fields and fields that have no focus should fade out. */\\n\\t&.ck-disabled > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label,\\n\\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\\n\\t\\tcolor: var(--ck-color-input-disabled-text);\\n\\t}\\n\\n\\t/* Fields that are disabled or not focused and without a placeholder should have full-sized labels. */\\n\\t/* stylelint-disable-next-line no-descending-specificity */\\n\\t&.ck-disabled > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label,\\n\\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck.ck-label {\\n\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\ttransform: translate(var(--ck-spacing-medium), calc(0.6 * var(--ck-font-size-base))) scale(1);\\n\\t\\t}\\n\\n\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\ttransform: translate(calc(-1 * var(--ck-spacing-medium)), calc(0.6 * var(--ck-font-size-base))) scale(1);\\n\\t\\t}\\n\\n\\t\\t/* Compensate for the default translate position. */\\n\\t\\tmax-width: calc(var(--ck-labeled-field-empty-unfocused-max-width));\\n\\n\\t\\tbackground: transparent;\\n\\t\\tpadding: 0;\\n\\t}\\n\\n\\t/*------ DropdownView integration ----------------------------------------------------------------------------------- */\\n\\n\\t/* Make sure dropdown\\' background color in any of dropdown\\'s state does not collide with labeled field. */\\n\\t& > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck.ck-button {\\n\\t\\tbackground: transparent;\\n\\t}\\n\\n\\t/* When the dropdown is \"empty\", the labeled field label replaces its label. */\\n\\t&.ck-labeled-field-view_empty > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown > .ck-button > .ck-button__label {\\n\\t\\topacity: 0;\\n\\t}\\n\\n\\t/* Make sure the label of the empty, unfocused input does not cover the dropdown arrow. */\\n\\t&.ck-labeled-field-view_empty:not(.ck-labeled-field-view_focused):not(.ck-labeled-field-view_placeholder) > .ck.ck-labeled-field-view__input-wrapper > .ck-dropdown + .ck-label {\\n\\t\\tmax-width: calc(var(--ck-labeled-field-empty-unfocused-max-width) - var(--ck-dropdown-arrow-size) - var(--ck-spacing-standard));\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},1162:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-list{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-direction:column}.ck.ck-list .ck-list__item,.ck.ck-list .ck-list__separator{display:block}.ck.ck-list .ck-list__item>:focus{position:relative;z-index:var(--ck-z-default)}.ck.ck-list{border-radius:0}.ck-rounded-corners .ck.ck-list,.ck.ck-list.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-list{list-style-type:none;background:var(--ck-color-list-background)}.ck.ck-list__item{cursor:default;min-width:12em}.ck.ck-list__item .ck-button{min-height:unset;width:100%;text-align:left;border-radius:0;padding:calc(var(--ck-line-height-base)*0.2*var(--ck-font-size-base)) calc(var(--ck-line-height-base)*0.4*var(--ck-font-size-base))}.ck.ck-list__item .ck-button .ck-button__label{line-height:calc(var(--ck-line-height-base)*1.2*var(--ck-font-size-base))}.ck.ck-list__item .ck-button:active{box-shadow:none}.ck.ck-list__item .ck-button.ck-on{background:var(--ck-color-list-button-on-background);color:var(--ck-color-list-button-on-text)}.ck.ck-list__item .ck-button.ck-on:active{box-shadow:none}.ck.ck-list__item .ck-button.ck-on:hover:not(.ck-disabled){background:var(--ck-color-list-button-on-background-focus)}.ck.ck-list__item .ck-button.ck-on:focus:not(.ck-disabled){border-color:var(--ck-color-base-background)}.ck.ck-list__item .ck-button:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background)}.ck.ck-list__item .ck-switchbutton.ck-on{background:var(--ck-color-list-background);color:inherit}.ck.ck-list__item .ck-switchbutton.ck-on:hover:not(.ck-disabled){background:var(--ck-color-list-button-hover-background);color:inherit}.ck.ck-list__separator{height:1px;width:100%;background:var(--ck-color-base-border)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/list/list.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/list/list.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAOA,YCEC,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBAAgB,CDFhB,YAAa,CACb,qBAcD,CAZC,2DAEC,aACD,CAKA,kCACC,iBAAkB,CAClB,2BACD,CEfD,YCEC,eDGD,CALA,+DCME,qCDDF,CALA,YAGC,oBAAqB,CACrB,0CACD,CAEA,kBACC,cAAe,CACf,cA2DD,CAzDC,6BACC,gBAAiB,CACjB,UAAW,CACX,eAAgB,CAChB,eAAgB,CAKhB,mIAiCD,CA7BC,+CAEC,yEACD,CAEA,oCACC,eACD,CAEA,mCACC,oDAAqD,CACrD,yCAaD,CAXC,0CACC,eACD,CAEA,2DACC,0DACD,CAEA,2DACC,4CACD,CAGD,qDACC,uDACD,CAMA,yCACC,0CAA2C,CAC3C,aAMD,CAJC,iEACC,uDAAwD,CACxD,aACD,CAKH,uBACC,UAAW,CACX,UAAW,CACX,sCACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../mixins/_unselectable.css\";\\n\\n.ck.ck-list {\\n\\t@mixin ck-unselectable;\\n\\n\\tdisplay: flex;\\n\\tflex-direction: column;\\n\\n\\t& .ck-list__item,\\n\\t& .ck-list__separator {\\n\\t\\tdisplay: block;\\n\\t}\\n\\n\\t/* Make sure that whatever child of the list item gets focus, it remains on the\\n\\ttop. Thanks to that, styles like box-shadow, outline, etc. are not masked by\\n\\tadjacent list items. */\\n\\t& .ck-list__item > *:focus {\\n\\t\\tposition: relative;\\n\\t\\tz-index: var(--ck-z-default);\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Makes element unselectable.\\n */\\n@define-mixin ck-unselectable {\\n\\t-moz-user-select: none;\\n\\t-webkit-user-select: none;\\n\\t-ms-user-select: none;\\n\\tuser-select: none\\n}\\n\",'/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_disabled.css\";\\n@import \"../../../mixins/_rounded.css\";\\n@import \"../../../mixins/_shadow.css\";\\n\\n.ck.ck-list {\\n\\t@mixin ck-rounded-corners;\\n\\n\\tlist-style-type: none;\\n\\tbackground: var(--ck-color-list-background);\\n}\\n\\n.ck.ck-list__item {\\n\\tcursor: default;\\n\\tmin-width: 12em;\\n\\n\\t& .ck-button {\\n\\t\\tmin-height: unset;\\n\\t\\twidth: 100%;\\n\\t\\ttext-align: left;\\n\\t\\tborder-radius: 0;\\n\\n\\t\\t/* List items should have the same height. Use absolute units to make sure it is so\\n\\t\\t because e.g. different heading styles may have different height\\n\\t\\t https://github.com/ckeditor/ckeditor5-heading/issues/63 */\\n\\t\\tpadding:\\n\\t\\t\\tcalc(.2 * var(--ck-line-height-base) * var(--ck-font-size-base))\\n\\t\\t\\tcalc(.4 * var(--ck-line-height-base) * var(--ck-font-size-base));\\n\\n\\t\\t& .ck-button__label {\\n\\t\\t\\t/* https://github.com/ckeditor/ckeditor5-heading/issues/63 */\\n\\t\\t\\tline-height: calc(1.2 * var(--ck-line-height-base) * var(--ck-font-size-base));\\n\\t\\t}\\n\\n\\t\\t&:active {\\n\\t\\t\\tbox-shadow: none;\\n\\t\\t}\\n\\n\\t\\t&.ck-on {\\n\\t\\t\\tbackground: var(--ck-color-list-button-on-background);\\n\\t\\t\\tcolor: var(--ck-color-list-button-on-text);\\n\\n\\t\\t\\t&:active {\\n\\t\\t\\t\\tbox-shadow: none;\\n\\t\\t\\t}\\n\\n\\t\\t\\t&:hover:not(.ck-disabled) {\\n\\t\\t\\t\\tbackground: var(--ck-color-list-button-on-background-focus);\\n\\t\\t\\t}\\n\\n\\t\\t\\t&:focus:not(.ck-disabled) {\\n\\t\\t\\t\\tborder-color: var(--ck-color-base-background);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&:hover:not(.ck-disabled) {\\n\\t\\t\\tbackground: var(--ck-color-list-button-hover-background);\\n\\t\\t}\\n\\t}\\n\\n\\t/* It\\'s unnecessary to change the background/text of a switch toggle; it has different ways\\n\\tof conveying its state (like the switcher) */\\n\\t& .ck-switchbutton {\\n\\t\\t&.ck-on {\\n\\t\\t\\tbackground: var(--ck-color-list-background);\\n\\t\\t\\tcolor: inherit;\\n\\n\\t\\t\\t&:hover:not(.ck-disabled) {\\n\\t\\t\\t\\tbackground: var(--ck-color-list-button-hover-background);\\n\\t\\t\\t\\tcolor: inherit;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck.ck-list__separator {\\n\\theight: 1px;\\n\\twidth: 100%;\\n\\tbackground: var(--ck-color-base-border);\\n}\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},8245:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,':root{--ck-balloon-panel-arrow-z-index:calc(var(--ck-z-default) - 3)}.ck.ck-balloon-panel{display:none;position:absolute;z-index:var(--ck-z-modal)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{content:\"\";position:absolute}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_n]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_n]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel[class*=arrow_s]:before{z-index:var(--ck-balloon-panel-arrow-z-index)}.ck.ck-balloon-panel[class*=arrow_s]:after{z-index:calc(var(--ck-balloon-panel-arrow-z-index) + 1)}.ck.ck-balloon-panel.ck-balloon-panel_visible{display:block}:root{--ck-balloon-arrow-offset:2px;--ck-balloon-arrow-height:10px;--ck-balloon-arrow-half-width:8px;--ck-balloon-arrow-drop-shadow:0 2px 2px var(--ck-color-shadow-drop)}.ck.ck-balloon-panel{border-radius:0}.ck-rounded-corners .ck.ck-balloon-panel,.ck.ck-balloon-panel.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-balloon-panel{box-shadow:var(--ck-drop-shadow),0 0;min-height:15px;background:var(--ck-color-panel-background);border:1px solid var(--ck-color-panel-border)}.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:after,.ck.ck-balloon-panel.ck-balloon-panel_with-arrow:before{width:0;height:0;border-style:solid}.ck.ck-balloon-panel[class*=arrow_n]:after,.ck.ck-balloon-panel[class*=arrow_n]:before{border-left-width:var(--ck-balloon-arrow-half-width);border-bottom-width:var(--ck-balloon-arrow-height);border-right-width:var(--ck-balloon-arrow-half-width);border-top-width:0}.ck.ck-balloon-panel[class*=arrow_n]:before{border-bottom-color:var(--ck-color-panel-border)}.ck.ck-balloon-panel[class*=arrow_n]:after,.ck.ck-balloon-panel[class*=arrow_n]:before{border-left-color:transparent;border-right-color:transparent;border-top-color:transparent}.ck.ck-balloon-panel[class*=arrow_n]:after{border-bottom-color:var(--ck-color-panel-background);margin-top:var(--ck-balloon-arrow-offset)}.ck.ck-balloon-panel[class*=arrow_s]:after,.ck.ck-balloon-panel[class*=arrow_s]:before{border-left-width:var(--ck-balloon-arrow-half-width);border-bottom-width:0;border-right-width:var(--ck-balloon-arrow-half-width);border-top-width:var(--ck-balloon-arrow-height)}.ck.ck-balloon-panel[class*=arrow_s]:before{border-top-color:var(--ck-color-panel-border);filter:drop-shadow(var(--ck-balloon-arrow-drop-shadow))}.ck.ck-balloon-panel[class*=arrow_s]:after,.ck.ck-balloon-panel[class*=arrow_s]:before{border-left-color:transparent;border-bottom-color:transparent;border-right-color:transparent}.ck.ck-balloon-panel[class*=arrow_s]:after{border-top-color:var(--ck-color-panel-background);margin-bottom:var(--ck-balloon-arrow-offset)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_n:before{left:50%;margin-left:calc(var(--ck-balloon-arrow-half-width)*-1);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nw:before{left:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_ne:before{right:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_s:before{left:50%;margin-left:calc(var(--ck-balloon-arrow-half-width)*-1);bottom:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sw:before{left:calc(var(--ck-balloon-arrow-half-width)*2);bottom:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_se:before{right:calc(var(--ck-balloon-arrow-half-width)*2);bottom:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_sme:before{right:25%;margin-right:calc(var(--ck-balloon-arrow-half-width)*2);bottom:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_smw:before{left:25%;margin-left:calc(var(--ck-balloon-arrow-half-width)*2);bottom:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nme:before{right:25%;margin-right:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:after,.ck.ck-balloon-panel.ck-balloon-panel_arrow_nmw:before{left:25%;margin-left:calc(var(--ck-balloon-arrow-half-width)*2);top:calc(var(--ck-balloon-arrow-height)*-1)}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/balloonpanel.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/balloonpanel.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],names:[],mappings:\"AAKA,MAEC,8DACD,CAEA,qBACC,YAAa,CACb,iBAAkB,CAElB,yBAyCD,CAtCE,+GAEC,UAAW,CACX,iBACD,CAEA,wDACC,6CACD,CAEA,uDACC,uDACD,CAIA,4CACC,6CACD,CAEA,2CACC,uDACD,CAIA,4CACC,6CACD,CAEA,2CACC,uDACD,CAGD,8CACC,aACD,CC9CD,MACC,6BAA8B,CAC9B,8BAA+B,CAC/B,iCAAkC,CAClC,oEACD,CAEA,qBCJC,eD4ID,CAxIA,iFCAE,qCDwIF,CAxIA,qBENC,oCAA8B,CFU9B,eAAgB,CAEhB,2CAA4C,CAC5C,6CAiID,CA9HE,+GAEC,OAAQ,CACR,QAAS,CACT,kBACD,CAIA,uFAEC,oDAAoH,CAApH,kDAAoH,CAApH,qDAAoH,CAApH,kBACD,CAEA,4CACC,gDACD,CAEA,uFAHC,6BAA8E,CAA9E,8BAA8E,CAA9E,4BAMD,CAHA,2CACC,oDAAkF,CAClF,yCACD,CAIA,uFAEC,oDAAoH,CAApH,qBAAoH,CAApH,qDAAoH,CAApH,+CACD,CAEA,4CACC,6CAAkE,CAClE,uDACD,CAEA,uFAJC,6BAAkE,CAAlE,+BAAkE,CAAlE,8BAOD,CAHA,2CACC,iDAAkF,CAClF,4CACD,CAIA,yGAEC,QAAS,CACT,uDAA0D,CAC1D,2CACD,CAIA,2GAEC,+CAAkD,CAClD,2CACD,CAIA,2GAEC,gDAAmD,CACnD,2CACD,CAIA,yGAEC,QAAS,CACT,uDAA0D,CAC1D,8CACD,CAIA,2GAEC,+CAAkD,CAClD,8CACD,CAIA,2GAEC,gDAAmD,CACnD,8CACD,CAIA,6GAEC,SAAU,CACV,uDAA0D,CAC1D,8CACD,CAIA,6GAEC,QAAS,CACT,sDAAyD,CACzD,8CACD,CAIA,6GAEC,SAAU,CACV,uDAA0D,CAC1D,2CACD,CAIA,6GAEC,QAAS,CACT,sDAAyD,CACzD,2CACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t/* Make sure the balloon arrow does not float over its children. */\\n\\t--ck-balloon-panel-arrow-z-index: calc(var(--ck-z-default) - 3);\\n}\\n\\n.ck.ck-balloon-panel {\\n\\tdisplay: none;\\n\\tposition: absolute;\\n\\n\\tz-index: var(--ck-z-modal);\\n\\n\\t&.ck-balloon-panel_with-arrow {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tcontent: \"\";\\n\\t\\t\\tposition: absolute;\\n\\t\\t}\\n\\n\\t\\t&::before {\\n\\t\\t\\tz-index: var(--ck-balloon-panel-arrow-z-index);\\n\\t\\t}\\n\\n\\t\\t&::after {\\n\\t\\t\\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\\n\\t\\t}\\n\\t}\\n\\n\\t&[class*=\"arrow_n\"] {\\n\\t\\t&::before {\\n\\t\\t\\tz-index: var(--ck-balloon-panel-arrow-z-index);\\n\\t\\t}\\n\\n\\t\\t&::after {\\n\\t\\t\\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\\n\\t\\t}\\n\\t}\\n\\n\\t&[class*=\"arrow_s\"] {\\n\\t\\t&::before {\\n\\t\\t\\tz-index: var(--ck-balloon-panel-arrow-z-index);\\n\\t\\t}\\n\\n\\t\\t&::after {\\n\\t\\t\\tz-index: calc(var(--ck-balloon-panel-arrow-z-index) + 1);\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_visible {\\n\\t\\tdisplay: block;\\n\\t}\\n}\\n','/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n@import \"../../../mixins/_shadow.css\";\\n\\n:root {\\n\\t--ck-balloon-arrow-offset: 2px;\\n\\t--ck-balloon-arrow-height: 10px;\\n\\t--ck-balloon-arrow-half-width: 8px;\\n\\t--ck-balloon-arrow-drop-shadow: 0 2px 2px var(--ck-color-shadow-drop);\\n}\\n\\n.ck.ck-balloon-panel {\\n\\t@mixin ck-rounded-corners;\\n\\t@mixin ck-drop-shadow;\\n\\n\\tmin-height: 15px;\\n\\n\\tbackground: var(--ck-color-panel-background);\\n\\tborder: 1px solid var(--ck-color-panel-border);\\n\\n\\t&.ck-balloon-panel_with-arrow {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\twidth: 0;\\n\\t\\t\\theight: 0;\\n\\t\\t\\tborder-style: solid;\\n\\t\\t}\\n\\t}\\n\\n\\t&[class*=\"arrow_n\"] {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tborder-width: 0 var(--ck-balloon-arrow-half-width) var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width);\\n\\t\\t}\\n\\n\\t\\t&::before {\\n\\t\\t\\tborder-color: transparent transparent var(--ck-color-panel-border) transparent;\\n\\t\\t}\\n\\n\\t\\t&::after {\\n\\t\\t\\tborder-color: transparent transparent var(--ck-color-panel-background) transparent;\\n\\t\\t\\tmargin-top: var(--ck-balloon-arrow-offset);\\n\\t\\t}\\n\\t}\\n\\n\\t&[class*=\"arrow_s\"] {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tborder-width: var(--ck-balloon-arrow-height) var(--ck-balloon-arrow-half-width) 0 var(--ck-balloon-arrow-half-width);\\n\\t\\t}\\n\\n\\t\\t&::before {\\n\\t\\t\\tborder-color: var(--ck-color-panel-border) transparent transparent;\\n\\t\\t\\tfilter: drop-shadow(var(--ck-balloon-arrow-drop-shadow));\\n\\t\\t}\\n\\n\\t\\t&::after {\\n\\t\\t\\tborder-color: var(--ck-color-panel-background) transparent transparent transparent;\\n\\t\\t\\tmargin-bottom: var(--ck-balloon-arrow-offset);\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_n {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tleft: 50%;\\n\\t\\t\\tmargin-left: calc(-1 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\ttop: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_nw {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tleft: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\ttop: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_ne {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tright: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\ttop: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_s {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tleft: 50%;\\n\\t\\t\\tmargin-left: calc(-1 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_sw {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tleft: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_se {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tright: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_sme {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tright: 25%;\\n\\t\\t\\tmargin-right: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_smw {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tleft: 25%;\\n\\t\\t\\tmargin-left: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\tbottom: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_nme {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tright: 25%;\\n\\t\\t\\tmargin-right: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\ttop: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-balloon-panel_arrow_nmw {\\n\\t\\t&::before,\\n\\t\\t&::after {\\n\\t\\t\\tleft: 25%;\\n\\t\\t\\tmargin-left: calc(2 * var(--ck-balloon-arrow-half-width));\\n\\t\\t\\ttop: calc(-1 * var(--ck-balloon-arrow-height));\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],sourceRoot:\"\"}]);const a=s},1757:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck .ck-balloon-rotator__navigation{display:flex;align-items:center;justify-content:center}.ck .ck-balloon-rotator__content .ck-toolbar{justify-content:center}.ck .ck-balloon-rotator__navigation{background:var(--ck-color-toolbar-background);border-bottom:1px solid var(--ck-color-toolbar-border);padding:0 var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation>*{margin-right:var(--ck-spacing-small);margin-top:var(--ck-spacing-small);margin-bottom:var(--ck-spacing-small)}.ck .ck-balloon-rotator__navigation .ck-balloon-rotator__counter{margin-right:var(--ck-spacing-standard);margin-left:var(--ck-spacing-small)}.ck .ck-balloon-rotator__content .ck.ck-annotation-wrapper{box-shadow:none}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/balloonrotator.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/balloonrotator.css\"],names:[],mappings:\"AAKA,oCACC,YAAa,CACb,kBAAmB,CACnB,sBACD,CAKA,6CACC,sBACD,CCXA,oCACC,6CAA8C,CAC9C,sDAAuD,CACvD,iCAgBD,CAbC,sCACC,oCAAqC,CACrC,kCAAmC,CACnC,qCACD,CAGA,iEACC,uCAAwC,CAGxC,mCACD,CAMA,2DACC,eACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck .ck-balloon-rotator__navigation {\\n\\tdisplay: flex;\\n\\talign-items: center;\\n\\tjustify-content: center;\\n}\\n\\n/* Buttons inside a toolbar should be centered when rotator bar is wider.\\n * See: https://github.com/ckeditor/ckeditor5-ui/issues/495\\n */\\n.ck .ck-balloon-rotator__content .ck-toolbar {\\n\\tjustify-content: center;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck .ck-balloon-rotator__navigation {\\n\\tbackground: var(--ck-color-toolbar-background);\\n\\tborder-bottom: 1px solid var(--ck-color-toolbar-border);\\n\\tpadding: 0 var(--ck-spacing-small);\\n\\n\\t/* Let's keep similar appearance to `ck-toolbar`. */\\n\\t& > * {\\n\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t\\tmargin-top: var(--ck-spacing-small);\\n\\t\\tmargin-bottom: var(--ck-spacing-small);\\n\\t}\\n\\n\\t/* Gives counter more breath than buttons. */\\n\\t& .ck-balloon-rotator__counter {\\n\\t\\tmargin-right: var(--ck-spacing-standard);\\n\\n\\t\\t/* We need to use smaller margin because of previous button's right margin. */\\n\\t\\tmargin-left: var(--ck-spacing-small);\\n\\t}\\n}\\n\\n.ck .ck-balloon-rotator__content {\\n\\n\\t/* Disable default annotation shadow inside rotator with fake panels. */\\n\\t& .ck.ck-annotation-wrapper {\\n\\t\\tbox-shadow: none;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},3553:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck .ck-fake-panel{position:absolute;z-index:calc(var(--ck-z-modal) - 1)}.ck .ck-fake-panel div{position:absolute}.ck .ck-fake-panel div:first-child{z-index:2}.ck .ck-fake-panel div:nth-child(2){z-index:1}:root{--ck-balloon-fake-panel-offset-horizontal:6px;--ck-balloon-fake-panel-offset-vertical:6px}.ck .ck-fake-panel div{box-shadow:var(--ck-drop-shadow),0 0;min-height:15px;background:var(--ck-color-panel-background);border:1px solid var(--ck-color-panel-border);border-radius:var(--ck-border-radius);width:100%;height:100%}.ck .ck-fake-panel div:first-child{margin-left:var(--ck-balloon-fake-panel-offset-horizontal);margin-top:var(--ck-balloon-fake-panel-offset-vertical)}.ck .ck-fake-panel div:nth-child(2){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*2);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*2)}.ck .ck-fake-panel div:nth-child(3){margin-left:calc(var(--ck-balloon-fake-panel-offset-horizontal)*3);margin-top:calc(var(--ck-balloon-fake-panel-offset-vertical)*3)}.ck .ck-balloon-panel_arrow_s+.ck-fake-panel,.ck .ck-balloon-panel_arrow_se+.ck-fake-panel,.ck .ck-balloon-panel_arrow_sw+.ck-fake-panel{--ck-balloon-fake-panel-offset-vertical:-6px}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/fakepanel.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/fakepanel.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],names:[],mappings:\"AAKA,mBACC,iBAAkB,CAGlB,mCACD,CAEA,uBACC,iBACD,CAEA,mCACC,SACD,CAEA,oCACC,SACD,CCfA,MACC,6CAA8C,CAC9C,2CACD,CAGA,uBCJC,oCAA8B,CDO9B,eAAgB,CAEhB,2CAA4C,CAC5C,6CAA8C,CAC9C,qCAAsC,CAEtC,UAAW,CACX,WACD,CAEA,mCACC,0DAA2D,CAC3D,uDACD,CAEA,oCACC,kEAAqE,CACrE,+DACD,CACA,oCACC,kEAAqE,CACrE,+DACD,CAGA,yIAGC,4CACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck .ck-fake-panel {\\n\\tposition: absolute;\\n\\n\\t/* Fake panels should be placed under main balloon content. */\\n\\tz-index: calc(var(--ck-z-modal) - 1);\\n}\\n\\n.ck .ck-fake-panel div {\\n\\tposition: absolute;\\n}\\n\\n.ck .ck-fake-panel div:nth-child( 1 ) {\\n\\tz-index: 2;\\n}\\n\\n.ck .ck-fake-panel div:nth-child( 2 ) {\\n\\tz-index: 1;\\n}\\n\",'/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_shadow.css\";\\n\\n:root {\\n\\t--ck-balloon-fake-panel-offset-horizontal: 6px;\\n\\t--ck-balloon-fake-panel-offset-vertical: 6px;\\n}\\n\\n/* Let\\'s use `.ck-balloon-panel` appearance. See: balloonpanel.css. */\\n.ck .ck-fake-panel div {\\n\\t@mixin ck-drop-shadow;\\n\\n\\tmin-height: 15px;\\n\\n\\tbackground: var(--ck-color-panel-background);\\n\\tborder: 1px solid var(--ck-color-panel-border);\\n\\tborder-radius: var(--ck-border-radius);\\n\\n\\twidth: 100%;\\n\\theight: 100%;\\n}\\n\\n.ck .ck-fake-panel div:nth-child( 1 ) {\\n\\tmargin-left: var(--ck-balloon-fake-panel-offset-horizontal);\\n\\tmargin-top: var(--ck-balloon-fake-panel-offset-vertical);\\n}\\n\\n.ck .ck-fake-panel div:nth-child( 2 ) {\\n\\tmargin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 2);\\n\\tmargin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 2);\\n}\\n.ck .ck-fake-panel div:nth-child( 3 ) {\\n\\tmargin-left: calc(var(--ck-balloon-fake-panel-offset-horizontal) * 3);\\n\\tmargin-top: calc(var(--ck-balloon-fake-panel-offset-vertical) * 3);\\n}\\n\\n/* If balloon is positioned above element, we need to move fake panel to the top. */\\n.ck .ck-balloon-panel_arrow_s + .ck-fake-panel,\\n.ck .ck-balloon-panel_arrow_se + .ck-fake-panel,\\n.ck .ck-balloon-panel_arrow_sw + .ck-fake-panel {\\n\\t--ck-balloon-fake-panel-offset-vertical: -6px;\\n}\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],sourceRoot:\"\"}]);const a=s},3609:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-sticky-panel .ck-sticky-panel__content_sticky{z-index:var(--ck-z-modal);position:fixed;top:0}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky_bottom-limit{top:auto;position:absolute}.ck.ck-sticky-panel .ck-sticky-panel__content_sticky{box-shadow:var(--ck-drop-shadow),0 0;border-width:0 1px 1px;border-top-left-radius:0;border-top-right-radius:0}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/panel/stickypanel.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/panel/stickypanel.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],names:[],mappings:\"AAMC,qDACC,yBAA0B,CAC1B,cAAe,CACf,KACD,CAEA,kEACC,QAAS,CACT,iBACD,CCPA,qDCCA,oCAA8B,CDE7B,sBAAuB,CACvB,wBAAyB,CACzB,yBACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-sticky-panel {\\n\\t& .ck-sticky-panel__content_sticky {\\n\\t\\tz-index: var(--ck-z-modal); /* #315 */\\n\\t\\tposition: fixed;\\n\\t\\ttop: 0;\\n\\t}\\n\\n\\t& .ck-sticky-panel__content_sticky_bottom-limit {\\n\\t\\ttop: auto;\\n\\t\\tposition: absolute;\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_shadow.css\";\\n\\n.ck.ck-sticky-panel {\\n\\t& .ck-sticky-panel__content_sticky {\\n\\t\\t@mixin ck-drop-shadow;\\n\\n\\t\\tborder-width: 0 1px 1px;\\n\\t\\tborder-top-left-radius: 0;\\n\\t\\tborder-top-right-radius: 0;\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],sourceRoot:\"\"}]);const a=s},1590:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,'.ck-vertical-form .ck-button:after{content:\"\";width:0;position:absolute;right:-1px;top:var(--ck-spacing-small);bottom:var(--ck-spacing-small);z-index:1}@media screen and (max-width:600px){.ck.ck-responsive-form .ck-button:after{content:\"\";width:0;position:absolute;right:-1px;top:var(--ck-spacing-small);bottom:var(--ck-spacing-small);z-index:1}}.ck-vertical-form>.ck-button:nth-last-child(2):after{border-right:1px solid var(--ck-color-base-border)}.ck.ck-responsive-form{padding:var(--ck-spacing-large)}.ck.ck-responsive-form:focus{outline:none}[dir=ltr] .ck.ck-responsive-form>:not(:first-child),[dir=rtl] .ck.ck-responsive-form>:not(:last-child){margin-left:var(--ck-spacing-standard)}@media screen and (max-width:600px){.ck.ck-responsive-form{padding:0;width:calc(var(--ck-input-text-width)*0.8)}.ck.ck-responsive-form .ck-labeled-field-view{margin:var(--ck-spacing-large) var(--ck-spacing-large) 0}.ck.ck-responsive-form .ck-labeled-field-view .ck-input-text{min-width:0;width:100%}.ck.ck-responsive-form .ck-labeled-field-view .ck-labeled-field-view__error{white-space:normal}.ck.ck-responsive-form>.ck-button:last-child,.ck.ck-responsive-form>.ck-button:nth-last-child(2){padding:var(--ck-spacing-standard);margin-top:var(--ck-spacing-large);border-radius:0;border:0;border-top:1px solid var(--ck-color-base-border)}[dir=ltr] .ck.ck-responsive-form>.ck-button:last-child,[dir=ltr] .ck.ck-responsive-form>.ck-button:nth-last-child(2),[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2){margin-left:0}.ck.ck-responsive-form>.ck-button:nth-last-child(2):after,[dir=rtl] .ck.ck-responsive-form>.ck-button:last-child:last-of-type,[dir=rtl] .ck.ck-responsive-form>.ck-button:nth-last-child(2):last-of-type{border-right:1px solid var(--ck-color-base-border)}}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/responsive-form/responsiveform.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/responsive-form/responsiveform.css\"],names:[],mappings:\"AAOA,mCACC,UAAW,CACX,OAAQ,CACR,iBAAkB,CAClB,UAAW,CACX,2BAA4B,CAC5B,8BAA+B,CAC/B,SACD,CCTC,oCDaC,wCACC,UAAW,CACX,OAAQ,CACR,iBAAkB,CAClB,UAAW,CACX,2BAA4B,CAC5B,8BAA+B,CAC/B,SACD,CCnBD,CCAD,qDACC,kDACD,CAEA,uBACC,+BAkED,CAhEC,6BAEC,YACD,CASC,uGACC,sCACD,CDvBD,oCCMD,uBAqBE,SAAU,CACV,0CA6CF,CA3CE,8CACC,wDAWD,CATC,6DACC,WAAY,CACZ,UACD,CAGA,4EACC,kBACD,CAID,iGAEC,kCAAmC,CACnC,kCAAmC,CAEnC,eAAgB,CAChB,QAAS,CACT,gDAaD,CApBA,0OAcE,aAMF,CAGC,yMACC,kDACD,CDpEF\",sourcesContent:['/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\";\\n\\n.ck-vertical-form .ck-button::after {\\n\\tcontent: \"\";\\n\\twidth: 0;\\n\\tposition: absolute;\\n\\tright: -1px;\\n\\ttop: var(--ck-spacing-small);\\n\\tbottom: var(--ck-spacing-small);\\n\\tz-index: 1;\\n}\\n\\n.ck.ck-responsive-form {\\n\\t@mixin ck-media-phone {\\n\\t\\t& .ck-button::after {\\n\\t\\t\\tcontent: \"\";\\n\\t\\t\\twidth: 0;\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\tright: -1px;\\n\\t\\t\\ttop: var(--ck-spacing-small);\\n\\t\\t\\tbottom: var(--ck-spacing-small);\\n\\t\\t\\tz-index: 1;\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@define-mixin ck-media-phone {\\n\\t@media screen and (max-width: 600px) {\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css\";\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n.ck-vertical-form > .ck-button:nth-last-child(2)::after {\\n\\tborder-right: 1px solid var(--ck-color-base-border);\\n}\\n\\n.ck.ck-responsive-form {\\n\\tpadding: var(--ck-spacing-large);\\n\\n\\t&:focus {\\n\\t\\t/* See: https://github.com/ckeditor/ckeditor5/issues/4773 */\\n\\t\\toutline: none;\\n\\t}\\n\\n\\t@mixin ck-dir ltr {\\n\\t\\t& > :not(:first-child) {\\n\\t\\t\\tmargin-left: var(--ck-spacing-standard);\\n\\t\\t}\\n\\t}\\n\\n\\t@mixin ck-dir rtl {\\n\\t\\t& > :not(:last-child) {\\n\\t\\t\\tmargin-left: var(--ck-spacing-standard);\\n\\t\\t}\\n\\t}\\n\\n\\t@mixin ck-media-phone {\\n\\t\\tpadding: 0;\\n\\t\\twidth: calc(.8 * var(--ck-input-text-width));\\n\\n\\t\\t& .ck-labeled-field-view {\\n\\t\\t\\tmargin: var(--ck-spacing-large) var(--ck-spacing-large) 0;\\n\\n\\t\\t\\t& .ck-input-text {\\n\\t\\t\\t\\tmin-width: 0;\\n\\t\\t\\t\\twidth: 100%;\\n\\t\\t\\t}\\n\\n\\t\\t\\t/* Let the long error messages wrap in the narrow form. */\\n\\t\\t\\t& .ck-labeled-field-view__error {\\n\\t\\t\\t\\twhite-space: normal;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* Styles for two last buttons in the form (save&cancel, edit&unlink, etc.). */\\n\\t\\t& > .ck-button:nth-last-child(1),\\n\\t\\t& > .ck-button:nth-last-child(2) {\\n\\t\\t\\tpadding: var(--ck-spacing-standard);\\n\\t\\t\\tmargin-top: var(--ck-spacing-large);\\n\\n\\t\\t\\tborder-radius: 0;\\n\\t\\t\\tborder: 0;\\n\\t\\t\\tborder-top: 1px solid var(--ck-color-base-border);\\n\\n\\t\\t\\t@mixin ck-dir ltr {\\n\\t\\t\\t\\tmargin-left: 0;\\n\\t\\t\\t}\\n\\n\\t\\t\\t@mixin ck-dir rtl {\\n\\t\\t\\t\\tmargin-left: 0;\\n\\n\\t\\t\\t\\t&:last-of-type {\\n\\t\\t\\t\\t\\tborder-right: 1px solid var(--ck-color-base-border);\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t& > .ck-button:nth-last-child(2) {\\n\\t\\t\\t&::after {\\n\\t\\t\\t\\tborder-right: 1px solid var(--ck-color-base-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const a=s},6706:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-block-toolbar-button{position:absolute;z-index:var(--ck-z-default)}:root{--ck-color-block-toolbar-button:var(--ck-color-text);--ck-block-toolbar-button-size:var(--ck-font-size-normal)}.ck.ck-block-toolbar-button{color:var(--ck-color-block-toolbar-button);font-size:var(--ck-block-toolbar-size)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/toolbar/blocktoolbar.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/toolbar/blocktoolbar.css\"],names:[],mappings:\"AAKA,4BACC,iBAAkB,CAClB,2BACD,CCHA,MACC,oDAAqD,CACrD,yDACD,CAEA,4BACC,0CAA2C,CAC3C,sCACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-block-toolbar-button {\\n\\tposition: absolute;\\n\\tz-index: var(--ck-z-default);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-color-block-toolbar-button: var(--ck-color-text);\\n\\t--ck-block-toolbar-button-size: var(--ck-font-size-normal);\\n}\\n\\n.ck.ck-block-toolbar-button {\\n\\tcolor: var(--ck-color-block-toolbar-button);\\n\\tfont-size: var(--ck-block-toolbar-size);\\n}\\n\"],sourceRoot:\"\"}]);const a=s},5571:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck.ck-toolbar{-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none;display:flex;flex-flow:row nowrap;align-items:center}.ck.ck-toolbar>.ck-toolbar__items{display:flex;flex-flow:row wrap;align-items:center;flex-grow:1}.ck.ck-toolbar .ck.ck-toolbar__separator{display:inline-block}.ck.ck-toolbar .ck.ck-toolbar__separator:first-child,.ck.ck-toolbar .ck.ck-toolbar__separator:last-child{display:none}.ck.ck-toolbar .ck-toolbar__line-break{flex-basis:100%}.ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items{flex-direction:column}.ck.ck-toolbar.ck-toolbar_floating>.ck-toolbar__items{flex-wrap:nowrap}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck-dropdown__button .ck-dropdown__arrow{display:none}.ck.ck-toolbar{border-radius:0}.ck-rounded-corners .ck.ck-toolbar,.ck.ck-toolbar.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-toolbar{background:var(--ck-color-toolbar-background);padding:0 var(--ck-spacing-small);border:1px solid var(--ck-color-toolbar-border)}.ck.ck-toolbar .ck.ck-toolbar__separator{align-self:stretch;width:1px;min-width:1px;background:var(--ck-color-toolbar-border);margin-top:var(--ck-spacing-small);margin-bottom:var(--ck-spacing-small)}.ck.ck-toolbar .ck-toolbar__line-break{height:0}.ck.ck-toolbar>.ck-toolbar__items>:not(.ck-toolbar__line-break){margin-right:var(--ck-spacing-small)}.ck.ck-toolbar>.ck-toolbar__items:empty+.ck.ck-toolbar__separator{display:none}.ck.ck-toolbar>.ck-toolbar__items>:not(.ck-toolbar__line-break),.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown{margin-top:var(--ck-spacing-small);margin-bottom:var(--ck-spacing-small)}.ck.ck-toolbar.ck-toolbar_vertical{padding:0}.ck.ck-toolbar.ck-toolbar_vertical>.ck-toolbar__items>.ck{width:100%;margin:0;border-radius:0;border:0}.ck.ck-toolbar.ck-toolbar_compact{padding:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>*{margin:0}.ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>:not(:first-child):not(:last-child){border-radius:0}.ck.ck-toolbar>.ck.ck-toolbar__grouped-dropdown>.ck.ck-button.ck-dropdown__button{padding-left:var(--ck-spacing-tiny)}.ck-toolbar-container .ck.ck-toolbar{border:0}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck{margin-right:0}.ck.ck-toolbar[dir=rtl]:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck,[dir=rtl] .ck.ck-toolbar:not(.ck-toolbar_compact)>.ck-toolbar__items>.ck{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=rtl]>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-left:0}.ck.ck-toolbar[dir=rtl].ck-toolbar_compact>.ck-toolbar__items>.ck:first-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-top-left-radius:0;border-bottom-left-radius:0}.ck.ck-toolbar[dir=rtl].ck-toolbar_compact>.ck-toolbar__items>.ck:last-child,[dir=rtl] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-top-right-radius:0;border-bottom-right-radius:0}.ck.ck-toolbar[dir=rtl]>.ck.ck-toolbar__separator,[dir=rtl] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=rtl].ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=rtl] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child){margin-left:var(--ck-spacing-small)}.ck.ck-toolbar[dir=ltr]>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar>.ck-toolbar__items>.ck:last-child{margin-right:0}.ck.ck-toolbar[dir=ltr].ck-toolbar_compact>.ck-toolbar__items>.ck:first-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.ck.ck-toolbar[dir=ltr].ck-toolbar_compact>.ck-toolbar__items>.ck:last-child,[dir=ltr] .ck.ck-toolbar.ck-toolbar_compact>.ck-toolbar__items>.ck:last-child{border-top-left-radius:0;border-bottom-left-radius:0}.ck.ck-toolbar[dir=ltr]>.ck.ck-toolbar__separator,[dir=ltr] .ck.ck-toolbar>.ck.ck-toolbar__separator{margin-right:var(--ck-spacing-small)}.ck.ck-toolbar[dir=ltr].ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child),[dir=ltr] .ck.ck-toolbar.ck-toolbar_grouping>.ck-toolbar__items:not(:empty):not(:only-child){margin-right:var(--ck-spacing-small)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/toolbar/toolbar.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/toolbar/toolbar.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAOA,eCEC,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBAAgB,CDFhB,YAAa,CACb,oBAAqB,CACrB,kBA6CD,CA3CC,kCACC,YAAa,CACb,kBAAmB,CACnB,kBAAmB,CACnB,WAED,CAEA,yCACC,oBAWD,CAJC,yGAEC,YACD,CAGD,uCACC,eACD,CAEA,sDACC,gBACD,CAEA,sDACC,qBACD,CAEA,sDACC,gBACD,CAGC,yFACC,YACD,CE/CF,eCGC,eD0FD,CA7FA,qECOE,qCDsFF,CA7FA,eAGC,6CAA8C,CAC9C,iCAAkC,CAClC,+CAwFD,CAtFC,yCACC,kBAAmB,CACnB,SAAU,CACV,aAAc,CACd,yCAA0C,CAM1C,kCAAmC,CACnC,qCACD,CAEA,uCACC,QACD,CAGC,gEAEC,oCACD,CAIA,kEACC,YACD,CAGD,gHAGC,kCAAmC,CACnC,qCACD,CAEA,mCAEC,SAgBD,CAbC,0DAEC,UAAW,CAGX,QAAS,CAGT,eAAgB,CAGhB,QACD,CAGD,kCAEC,SAWD,CATC,uDAEC,QAMD,CAHC,yFACC,eACD,CASD,kFACC,mCACD,CAvFF,qCA2FE,QAEF,CAYC,+FACC,cACD,CAEA,iJAEC,mCACD,CAEA,qHACC,aACD,CAIC,6JACC,wBAAyB,CACzB,2BACD,CAGA,2JACC,yBAA0B,CAC1B,4BACD,CAID,qGACC,mCACD,CAGA,yLACC,mCACD,CAWA,qHACC,cACD,CAIC,6JACC,yBAA0B,CAC1B,4BACD,CAGA,2JACC,wBAAyB,CACzB,2BACD,CAID,qGACC,oCACD,CAGA,yLACC,oCACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../mixins/_unselectable.css\";\\n\\n.ck.ck-toolbar {\\n\\t@mixin ck-unselectable;\\n\\n\\tdisplay: flex;\\n\\tflex-flow: row nowrap;\\n\\talign-items: center;\\n\\n\\t& > .ck-toolbar__items {\\n\\t\\tdisplay: flex;\\n\\t\\tflex-flow: row wrap;\\n\\t\\talign-items: center;\\n\\t\\tflex-grow: 1;\\n\\n\\t}\\n\\n\\t& .ck.ck-toolbar__separator {\\n\\t\\tdisplay: inline-block;\\n\\n\\t\\t/*\\n\\t\\t * A leading or trailing separator makes no sense (separates from nothing on one side).\\n\\t\\t * For instance, it can happen when toolbar items (also separators) are getting grouped one by one and\\n\\t\\t * moved to another toolbar in the dropdown.\\n\\t\\t */\\n\\t\\t&:first-child,\\n\\t\\t&:last-child {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t& .ck-toolbar__line-break {\\n\\t\\tflex-basis: 100%;\\n\\t}\\n\\n\\t&.ck-toolbar_grouping > .ck-toolbar__items {\\n\\t\\tflex-wrap: nowrap;\\n\\t}\\n\\n\\t&.ck-toolbar_vertical > .ck-toolbar__items {\\n\\t\\tflex-direction: column;\\n\\t}\\n\\n\\t&.ck-toolbar_floating > .ck-toolbar__items {\\n\\t\\tflex-wrap: nowrap;\\n\\t}\\n\\n\\t& > .ck.ck-toolbar__grouped-dropdown {\\n\\t\\t& > .ck-dropdown__button .ck-dropdown__arrow {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Makes element unselectable.\\n */\\n@define-mixin ck-unselectable {\\n\\t-moz-user-select: none;\\n\\t-webkit-user-select: none;\\n\\t-ms-user-select: none;\\n\\tuser-select: none\\n}\\n\",'/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n@import \"@ckeditor/ckeditor5-ui/theme/mixins/_dir.css\";\\n\\n.ck.ck-toolbar {\\n\\t@mixin ck-rounded-corners;\\n\\n\\tbackground: var(--ck-color-toolbar-background);\\n\\tpadding: 0 var(--ck-spacing-small);\\n\\tborder: 1px solid var(--ck-color-toolbar-border);\\n\\n\\t& .ck.ck-toolbar__separator {\\n\\t\\talign-self: stretch;\\n\\t\\twidth: 1px;\\n\\t\\tmin-width: 1px;\\n\\t\\tbackground: var(--ck-color-toolbar-border);\\n\\n\\t\\t/*\\n\\t\\t * These margins make the separators look better in balloon toolbars (when aligned with the \"tip\").\\n\\t\\t * See https://github.com/ckeditor/ckeditor5/issues/7493.\\n\\t\\t */\\n\\t\\tmargin-top: var(--ck-spacing-small);\\n\\t\\tmargin-bottom: var(--ck-spacing-small);\\n\\t}\\n\\n\\t& .ck-toolbar__line-break {\\n\\t\\theight: 0;\\n\\t}\\n\\n\\t& > .ck-toolbar__items {\\n\\t\\t& > *:not(.ck-toolbar__line-break) {\\n\\t\\t\\t/* (#11) Separate toolbar items. */\\n\\t\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t\\t}\\n\\n\\t\\t/* Don\\'t display a separator after an empty items container, for instance,\\n\\t\\twhen all items were grouped */\\n\\t\\t&:empty + .ck.ck-toolbar__separator {\\n\\t\\t\\tdisplay: none;\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck-toolbar__items > *:not(.ck-toolbar__line-break),\\n\\t& > .ck.ck-toolbar__grouped-dropdown {\\n\\t\\t/* Make sure items wrapped to the next line have v-spacing */\\n\\t\\tmargin-top: var(--ck-spacing-small);\\n\\t\\tmargin-bottom: var(--ck-spacing-small);\\n\\t}\\n\\n\\t&.ck-toolbar_vertical {\\n\\t\\t/* Items in a vertical toolbar span the entire width. */\\n\\t\\tpadding: 0;\\n\\n\\t\\t/* Specificity matters here. See https://github.com/ckeditor/ckeditor5-theme-lark/issues/168. */\\n\\t\\t& > .ck-toolbar__items > .ck {\\n\\t\\t\\t/* Items in a vertical toolbar should span the horizontal space. */\\n\\t\\t\\twidth: 100%;\\n\\n\\t\\t\\t/* Items in a vertical toolbar should have no margin. */\\n\\t\\t\\tmargin: 0;\\n\\n\\t\\t\\t/* Items in a vertical toolbar span the entire width so rounded corners are pointless. */\\n\\t\\t\\tborder-radius: 0;\\n\\n\\t\\t\\t/* Items in a vertical toolbar span the entire width so any border is pointless. */\\n\\t\\t\\tborder: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-toolbar_compact {\\n\\t\\t/* No spacing around items. */\\n\\t\\tpadding: 0;\\n\\n\\t\\t& > .ck-toolbar__items > * {\\n\\t\\t\\t/* Compact toolbar items have no spacing between them. */\\n\\t\\t\\tmargin: 0;\\n\\n\\t\\t\\t/* \"Middle\" children should have no rounded corners. */\\n\\t\\t\\t&:not(:first-child):not(:last-child) {\\n\\t\\t\\t\\tborder-radius: 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t& > .ck.ck-toolbar__grouped-dropdown {\\n\\t\\t/*\\n\\t\\t * Dropdown button has asymmetric padding to fit the arrow.\\n\\t\\t * This button has no arrow so let\\'s revert that padding back to normal.\\n\\t\\t */\\n\\t\\t& > .ck.ck-button.ck-dropdown__button {\\n\\t\\t\\tpadding-left: var(--ck-spacing-tiny);\\n\\t\\t}\\n\\t}\\n\\n\\t@nest .ck-toolbar-container & {\\n\\t\\tborder: 0;\\n\\t}\\n}\\n\\n/* stylelint-disable */\\n\\n/*\\n * Styles for RTL toolbars.\\n *\\n * Note: In some cases (e.g. a decoupled editor), the toolbar has its own \"dir\"\\n * because its parent is not controlled by the editor framework.\\n */\\n[dir=\"rtl\"] .ck.ck-toolbar,\\n.ck.ck-toolbar[dir=\"rtl\"] {\\n\\t& > .ck-toolbar__items > .ck {\\n\\t\\tmargin-right: 0;\\n\\t}\\n\\n\\t&:not(.ck-toolbar_compact) > .ck-toolbar__items > .ck {\\n\\t\\t/* (#11) Separate toolbar items. */\\n\\t\\tmargin-left: var(--ck-spacing-small);\\n\\t}\\n\\n\\t& > .ck-toolbar__items > .ck:last-child {\\n\\t\\tmargin-left: 0;\\n\\t}\\n\\n\\t&.ck-toolbar_compact > .ck-toolbar__items > .ck {\\n\\t\\t/* No rounded corners on the right side of the first child. */\\n\\t\\t&:first-child {\\n\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t}\\n\\n\\t\\t/* No rounded corners on the left side of the last child. */\\n\\t\\t&:last-child {\\n\\t\\t\\tborder-top-right-radius: 0;\\n\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Separate the the separator form the grouping dropdown when some items are grouped. */\\n\\t& > .ck.ck-toolbar__separator {\\n\\t\\tmargin-left: var(--ck-spacing-small);\\n\\t}\\n\\n\\t/* Some spacing between the items and the separator before the grouped items dropdown. */\\n\\t&.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) {\\n\\t\\tmargin-left: var(--ck-spacing-small);\\n\\t}\\n}\\n\\n/*\\n * Styles for LTR toolbars.\\n *\\n * Note: In some cases (e.g. a decoupled editor), the toolbar has its own \"dir\"\\n * because its parent is not controlled by the editor framework.\\n */\\n[dir=\"ltr\"] .ck.ck-toolbar,\\n.ck.ck-toolbar[dir=\"ltr\"] {\\n\\t& > .ck-toolbar__items > .ck:last-child {\\n\\t\\tmargin-right: 0;\\n\\t}\\n\\n\\t&.ck-toolbar_compact > .ck-toolbar__items > .ck {\\n\\t\\t/* No rounded corners on the right side of the first child. */\\n\\t\\t&:first-child {\\n\\t\\t\\tborder-top-right-radius: 0;\\n\\t\\t\\tborder-bottom-right-radius: 0;\\n\\t\\t}\\n\\n\\t\\t/* No rounded corners on the left side of the last child. */\\n\\t\\t&:last-child {\\n\\t\\t\\tborder-top-left-radius: 0;\\n\\t\\t\\tborder-bottom-left-radius: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Separate the the separator form the grouping dropdown when some items are grouped. */\\n\\t& > .ck.ck-toolbar__separator {\\n\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t}\\n\\n\\t/* Some spacing between the items and the separator before the grouped items dropdown. */\\n\\t&.ck-toolbar_grouping > .ck-toolbar__items:not(:empty):not(:only-child) {\\n\\t\\tmargin-right: var(--ck-spacing-small);\\n\\t}\\n}\\n\\n/* stylelint-enable */\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},9948:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,'.ck.ck-tooltip,.ck.ck-tooltip .ck-tooltip__text:after{position:absolute;pointer-events:none;-webkit-backface-visibility:hidden}.ck.ck-tooltip{visibility:hidden;opacity:0;display:none;z-index:var(--ck-z-modal)}.ck.ck-tooltip .ck-tooltip__text{display:inline-block}.ck.ck-tooltip .ck-tooltip__text:after{content:\"\";width:0;height:0}:root{--ck-tooltip-arrow-size:5px}.ck.ck-tooltip{left:50%;top:0;transition:opacity .2s ease-in-out .2s}.ck.ck-tooltip .ck-tooltip__text{border-radius:0}.ck-rounded-corners .ck.ck-tooltip .ck-tooltip__text,.ck.ck-tooltip .ck-tooltip__text.ck-rounded-corners{border-radius:var(--ck-border-radius)}.ck.ck-tooltip .ck-tooltip__text{font-size:.9em;line-height:1.5;color:var(--ck-color-tooltip-text);padding:var(--ck-spacing-small) var(--ck-spacing-medium);background:var(--ck-color-tooltip-background);position:relative;left:-50%}.ck.ck-tooltip .ck-tooltip__text:after{transition:opacity .2s ease-in-out .2s;border-style:solid;left:50%}.ck.ck-tooltip.ck-tooltip_s,.ck.ck-tooltip.ck-tooltip_se,.ck.ck-tooltip.ck-tooltip_sw{bottom:calc(var(--ck-tooltip-arrow-size)*-1);transform:translateY(100%)}.ck.ck-tooltip.ck-tooltip_s .ck-tooltip__text:after,.ck.ck-tooltip.ck-tooltip_se .ck-tooltip__text:after,.ck.ck-tooltip.ck-tooltip_sw .ck-tooltip__text:after{top:calc(var(--ck-tooltip-arrow-size)*-1 + 1px);transform:translateX(-50%);border-left-color:transparent;border-bottom-color:var(--ck-color-tooltip-background);border-right-color:transparent;border-top-color:transparent;border-left-width:var(--ck-tooltip-arrow-size);border-bottom-width:var(--ck-tooltip-arrow-size);border-right-width:var(--ck-tooltip-arrow-size);border-top-width:0}.ck.ck-tooltip.ck-tooltip_sw{right:50%;left:auto}.ck.ck-tooltip.ck-tooltip_sw .ck-tooltip__text{left:auto;right:calc(var(--ck-tooltip-arrow-size)*-2)}.ck.ck-tooltip.ck-tooltip_sw .ck-tooltip__text:after{left:auto;right:0}.ck.ck-tooltip.ck-tooltip_se{left:50%;right:auto}.ck.ck-tooltip.ck-tooltip_se .ck-tooltip__text{right:auto;left:calc(var(--ck-tooltip-arrow-size)*-2)}.ck.ck-tooltip.ck-tooltip_se .ck-tooltip__text:after{right:auto;left:0;transform:translateX(50%)}.ck.ck-tooltip.ck-tooltip_n{top:calc(var(--ck-tooltip-arrow-size)*-1);transform:translateY(-100%)}.ck.ck-tooltip.ck-tooltip_n .ck-tooltip__text:after{bottom:calc(var(--ck-tooltip-arrow-size)*-1);transform:translateX(-50%);border-left-color:transparent;border-bottom-color:transparent;border-right-color:transparent;border-top-color:var(--ck-color-tooltip-background);border-left-width:var(--ck-tooltip-arrow-size);border-bottom-width:0;border-right-width:var(--ck-tooltip-arrow-size);border-top-width:var(--ck-tooltip-arrow-size)}.ck.ck-tooltip.ck-tooltip_e{left:calc(100% + var(--ck-tooltip-arrow-size));top:50%}.ck.ck-tooltip.ck-tooltip_e .ck-tooltip__text{left:0;transform:translateY(-50%)}.ck.ck-tooltip.ck-tooltip_e .ck-tooltip__text:after{left:calc(var(--ck-tooltip-arrow-size)*-1);top:calc(50% - var(--ck-tooltip-arrow-size)*1);border-left-color:transparent;border-bottom-color:transparent;border-right-color:var(--ck-color-tooltip-background);border-top-color:transparent;border-left-width:0;border-bottom-width:var(--ck-tooltip-arrow-size);border-right-width:var(--ck-tooltip-arrow-size);border-top-width:var(--ck-tooltip-arrow-size)}.ck.ck-tooltip.ck-tooltip_w{right:calc(100% + var(--ck-tooltip-arrow-size));left:auto;top:50%}.ck.ck-tooltip.ck-tooltip_w .ck-tooltip__text{left:0;transform:translateY(-50%)}.ck.ck-tooltip.ck-tooltip_w .ck-tooltip__text:after{left:100%;top:calc(50% - var(--ck-tooltip-arrow-size)*1);border-left-color:var(--ck-color-tooltip-background);border-bottom-color:transparent;border-right-color:transparent;border-top-color:transparent;border-left-width:var(--ck-tooltip-arrow-size);border-bottom-width:var(--ck-tooltip-arrow-size);border-right-width:0;border-top-width:var(--ck-tooltip-arrow-size)}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/components/tooltip/tooltip.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/components/tooltip/tooltip.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_rounded.css\"],names:[],mappings:\"AAKA,sDAEC,iBAAkB,CAGlB,mBAAoB,CAIpB,kCACD,CAEA,eAEC,iBAAkB,CAClB,SAAU,CACV,YAAa,CACb,yBAWD,CATC,iCACC,oBAOD,CALC,uCACC,UAAW,CACX,OAAQ,CACR,QACD,CCxBF,MACC,2BACD,CAEA,eACC,QAAS,CAMT,KAAM,CAON,sCAwKD,CAtKC,iCChBA,eDqCA,CArBA,yGCZC,qCDiCD,CArBA,iCAGC,cAAe,CACf,eAAgB,CAChB,kCAAmC,CACnC,wDAAyD,CACzD,6CAA8C,CAC9C,iBAAkB,CAClB,SAYD,CAVC,uCAMC,sCAAuC,CACvC,kBAAmB,CACnB,QACD,CAYD,sFAGC,4CAA+C,CAC/C,0BASD,CAPC,8JAEC,+CAAkD,CAClD,0BAA6B,CAC7B,6BAAoF,CAApF,sDAAoF,CAApF,8BAAoF,CAApF,4BAAoF,CACpF,8CAAsG,CAAtG,gDAAsG,CAAtG,+CAAsG,CAAtG,kBACD,CAaD,6BACC,SAAU,CACV,SAWD,CATC,+CACC,SAAU,CACV,2CACD,CAEA,qDACC,SAAU,CACV,OACD,CAYD,6BACC,QAAS,CACT,UAYD,CAVC,+CACC,UAAW,CACX,0CACD,CAEA,qDACC,UAAW,CACX,MAAO,CACP,yBACD,CAYD,4BACC,yCAA4C,CAC5C,2BAQD,CANC,oDACC,4CAA+C,CAC/C,0BAA6B,CAC7B,6BAAoF,CAApF,+BAAoF,CAApF,8BAAoF,CAApF,mDAAoF,CACpF,8CAAsG,CAAtG,qBAAsG,CAAtG,+CAAsG,CAAtG,6CACD,CAUD,4BACC,8CAA+C,CAC/C,OAaD,CAXC,8CACC,MAAO,CACP,0BAQD,CANC,oDACC,0CAA6C,CAC7C,8CAAiD,CACjD,6BAAoF,CAApF,+BAAoF,CAApF,qDAAoF,CAApF,4BAAoF,CACpF,mBAAsG,CAAtG,gDAAsG,CAAtG,+CAAsG,CAAtG,6CACD,CAWF,4BACC,+CAAgD,CAChD,SAAU,CACV,OAaD,CAXC,8CACC,MAAO,CACP,0BAQD,CANC,oDACC,SAAU,CACV,8CAAiD,CACjD,oDAAoF,CAApF,+BAAoF,CAApF,8BAAoF,CAApF,4BAAoF,CACpF,8CAAsG,CAAtG,gDAAsG,CAAtG,oBAAsG,CAAtG,6CACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-tooltip,\\n.ck.ck-tooltip .ck-tooltip__text::after {\\n\\tposition: absolute;\\n\\n\\t/* Without this, hovering the tooltip could keep it visible. */\\n\\tpointer-events: none;\\n\\n\\t/* This is to get rid of flickering when transitioning opacity in Chrome.\\n\\tIt\\'s weird but it works. */\\n\\t-webkit-backface-visibility: hidden;\\n}\\n\\n.ck.ck-tooltip {\\n\\t/* Tooltip is hidden by default. */\\n\\tvisibility: hidden;\\n\\topacity: 0;\\n\\tdisplay: none;\\n\\tz-index: var(--ck-z-modal);\\n\\n\\t& .ck-tooltip__text {\\n\\t\\tdisplay: inline-block;\\n\\n\\t\\t&::after {\\n\\t\\t\\tcontent: \"\";\\n\\t\\t\\twidth: 0;\\n\\t\\t\\theight: 0;\\n\\t\\t}\\n\\t}\\n}\\n','/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../../../mixins/_rounded.css\";\\n\\n:root {\\n\\t--ck-tooltip-arrow-size: 5px;\\n}\\n\\n.ck.ck-tooltip {\\n\\tleft: 50%;\\n\\n\\t/*\\n\\t * Prevent blurry tooltips in LoDPI environments.\\n\\t * See https://github.com/ckeditor/ckeditor5/issues/1802.\\n\\t */\\n\\ttop: 0;\\n\\n\\t/*\\n\\t * For the transition to work, the tooltip must be controlled\\n\\t * using visibility+opacity. A delay prevents a \"tooltip avalanche\"\\n\\t * i.e. when scanning the toolbar with mouse cursor.\\n\\t */\\n\\ttransition: opacity .2s ease-in-out .2s;\\n\\n\\t& .ck-tooltip__text {\\n\\t\\t@mixin ck-rounded-corners;\\n\\n\\t\\tfont-size: .9em;\\n\\t\\tline-height: 1.5;\\n\\t\\tcolor: var(--ck-color-tooltip-text);\\n\\t\\tpadding: var(--ck-spacing-small) var(--ck-spacing-medium);\\n\\t\\tbackground: var(--ck-color-tooltip-background);\\n\\t\\tposition: relative;\\n\\t\\tleft: -50%;\\n\\n\\t\\t&::after {\\n\\t\\t\\t/*\\n\\t\\t\\t * For the transition to work, the tooltip must be controlled\\n\\t\\t\\t * using visibility+opacity. A delay prevents a \"tooltip avalanche\"\\n\\t\\t\\t * i.e. when scanning the toolbar with mouse cursor.\\n\\t\\t\\t */\\n\\t\\t\\ttransition: opacity .2s ease-in-out .2s;\\n\\t\\t\\tborder-style: solid;\\n\\t\\t\\tleft: 50%;\\n\\t\\t}\\n\\t}\\n\\n\\t/**\\n\\t * A class that displays the tooltip south of the element.\\n\\t *\\n\\t * [element]\\n\\t * ^\\n\\t * +-----------+\\n\\t * | Tooltip |\\n\\t * +-----------+\\n\\t */\\n\\t&.ck-tooltip_s,\\n\\t&.ck-tooltip_sw,\\n\\t&.ck-tooltip_se {\\n\\t\\tbottom: calc(-1 * var(--ck-tooltip-arrow-size));\\n\\t\\ttransform: translateY( 100% );\\n\\n\\t\\t& .ck-tooltip__text::after {\\n\\t\\t\\t/* 1px addresses gliches in rendering causing gap between the triangle and the text */\\n\\t\\t\\ttop: calc(-1 * var(--ck-tooltip-arrow-size) + 1px);\\n\\t\\t\\ttransform: translateX( -50% );\\n\\t\\t\\tborder-color: transparent transparent var(--ck-color-tooltip-background) transparent;\\n\\t\\t\\tborder-width: 0 var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size);\\n\\t\\t}\\n\\t}\\n\\n\\t/**\\n\\t * A class that displays the tooltip south-west of the element.\\n\\t *\\n\\t * [element]\\n\\t * ^\\n\\t * +-----------+\\n\\t * | Tooltip |\\n\\t * +-----------+\\n\\t */\\n\\n\\t&.ck-tooltip_sw {\\n\\t\\tright: 50%;\\n\\t\\tleft: auto;\\n\\n\\t\\t& .ck-tooltip__text {\\n\\t\\t\\tleft: auto;\\n\\t\\t\\tright: calc( -2 * var(--ck-tooltip-arrow-size));\\n\\t\\t}\\n\\n\\t\\t& .ck-tooltip__text::after {\\n\\t\\t\\tleft: auto;\\n\\t\\t\\tright: 0;\\n\\t\\t}\\n\\t}\\n\\n\\t/**\\n\\t * A class that displays the tooltip south-east of the element.\\n\\t *\\n\\t * [element]\\n\\t * ^\\n\\t * +-----------+\\n\\t * | Tooltip |\\n\\t * +-----------+\\n\\t */\\n\\t&.ck-tooltip_se {\\n\\t\\tleft: 50%;\\n\\t\\tright: auto;\\n\\n\\t\\t& .ck-tooltip__text {\\n\\t\\t\\tright: auto;\\n\\t\\t\\tleft: calc( -2 * var(--ck-tooltip-arrow-size));\\n\\t\\t}\\n\\n\\t\\t& .ck-tooltip__text::after {\\n\\t\\t\\tright: auto;\\n\\t\\t\\tleft: 0;\\n\\t\\t\\ttransform: translateX( 50% );\\n\\t\\t}\\n\\t}\\n\\n\\t/**\\n\\t * A class that displays the tooltip north of the element.\\n\\t *\\n\\t * +-----------+\\n\\t * | Tooltip |\\n\\t * +-----------+\\n\\t * V\\n\\t * [element]\\n\\t */\\n\\t&.ck-tooltip_n {\\n\\t\\ttop: calc(-1 * var(--ck-tooltip-arrow-size));\\n\\t\\ttransform: translateY( -100% );\\n\\n\\t\\t& .ck-tooltip__text::after {\\n\\t\\t\\tbottom: calc(-1 * var(--ck-tooltip-arrow-size));\\n\\t\\t\\ttransform: translateX( -50% );\\n\\t\\t\\tborder-color: var(--ck-color-tooltip-background) transparent transparent transparent;\\n\\t\\t\\tborder-width: var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size) 0 var(--ck-tooltip-arrow-size);\\n\\t\\t}\\n\\t}\\n\\n\\t/**\\n\\t * A class that displays the tooltip east of the element.\\n\\t *\\n\\t * +----------+\\n\\t * [element] < | east |\\n\\t * +----------+\\n\\t */\\n\\t&.ck-tooltip_e {\\n\\t\\tleft: calc(100% + var(--ck-tooltip-arrow-size));\\n\\t\\ttop: 50%;\\n\\n\\t\\t& .ck-tooltip__text {\\n\\t\\t\\tleft: 0;\\n\\t\\t\\ttransform: translateY( -50% );\\n\\n\\t\\t\\t&::after {\\n\\t\\t\\t\\tleft: calc(-1 * var(--ck-tooltip-arrow-size));\\n\\t\\t\\t\\ttop: calc(50% - 1 * var(--ck-tooltip-arrow-size));\\n\\t\\t\\t\\tborder-color: transparent var(--ck-color-tooltip-background) transparent transparent;\\n\\t\\t\\t\\tborder-width: var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size) 0;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/**\\n\\t * A class that displays the tooltip west of the element.\\n\\t *\\n\\t * +----------+\\n\\t * | west | > [element]\\n\\t * +----------+\\n\\t */\\n\\t&.ck-tooltip_w {\\n\\t\\tright: calc(100% + var(--ck-tooltip-arrow-size));\\n\\t\\tleft: auto;\\n\\t\\ttop: 50%;\\n\\n\\t\\t& .ck-tooltip__text {\\n\\t\\t\\tleft: 0;\\n\\t\\t\\ttransform: translateY( -50% );\\n\\n\\t\\t\\t&::after {\\n\\t\\t\\t\\tleft: 100%;\\n\\t\\t\\t\\ttop: calc(50% - 1 * var(--ck-tooltip-arrow-size));\\n\\t\\t\\t\\tborder-color: transparent transparent transparent var(--ck-color-tooltip-background);\\n\\t\\t\\t\\tborder-width: var(--ck-tooltip-arrow-size) 0 var(--ck-tooltip-arrow-size) var(--ck-tooltip-arrow-size);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Implements rounded corner interface for .ck-rounded-corners class.\\n *\\n * @see $ck-border-radius\\n */\\n@define-mixin ck-rounded-corners {\\n\\tborder-radius: 0;\\n\\n\\t@nest .ck-rounded-corners &,\\n\\t&.ck-rounded-corners {\\n\\t\\tborder-radius: var(--ck-border-radius);\\n\\t\\t@mixin-content;\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},6150:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck-hidden{display:none!important}.ck.ck-reset,.ck.ck-reset_all,.ck.ck-reset_all *{box-sizing:border-box;width:auto;height:auto;position:static}:root{--ck-z-default:1;--ck-z-modal:calc(var(--ck-z-default) + 999)}.ck-transitions-disabled,.ck-transitions-disabled *{transition:none!important}:root{--ck-color-base-foreground:#fafafa;--ck-color-base-background:#fff;--ck-color-base-border:#c4c4c4;--ck-color-base-action:#61b045;--ck-color-base-focus:#6cb5f9;--ck-color-base-text:#333;--ck-color-base-active:#198cf0;--ck-color-base-active-focus:#0e7fe1;--ck-color-base-error:#db3700;--ck-color-focus-border-coordinates:208,79%,51%;--ck-color-focus-border:hsl(var(--ck-color-focus-border-coordinates));--ck-color-focus-outer-shadow:#bcdefb;--ck-color-focus-disabled-shadow:rgba(119,186,248,0.3);--ck-color-focus-error-shadow:rgba(255,64,31,0.3);--ck-color-text:var(--ck-color-base-text);--ck-color-shadow-drop:rgba(0,0,0,0.15);--ck-color-shadow-drop-active:rgba(0,0,0,0.2);--ck-color-shadow-inner:rgba(0,0,0,0.1);--ck-color-button-default-background:transparent;--ck-color-button-default-hover-background:#e6e6e6;--ck-color-button-default-active-background:#d9d9d9;--ck-color-button-default-active-shadow:#bfbfbf;--ck-color-button-default-disabled-background:transparent;--ck-color-button-on-background:#dedede;--ck-color-button-on-hover-background:#c4c4c4;--ck-color-button-on-active-background:#bababa;--ck-color-button-on-active-shadow:#a1a1a1;--ck-color-button-on-disabled-background:#dedede;--ck-color-button-action-background:var(--ck-color-base-action);--ck-color-button-action-hover-background:#579e3d;--ck-color-button-action-active-background:#53973b;--ck-color-button-action-active-shadow:#498433;--ck-color-button-action-disabled-background:#7ec365;--ck-color-button-action-text:var(--ck-color-base-background);--ck-color-button-save:#008a00;--ck-color-button-cancel:#db3700;--ck-color-switch-button-off-background:#b0b0b0;--ck-color-switch-button-off-hover-background:#a3a3a3;--ck-color-switch-button-on-background:var(--ck-color-button-action-background);--ck-color-switch-button-on-hover-background:#579e3d;--ck-color-switch-button-inner-background:var(--ck-color-base-background);--ck-color-switch-button-inner-shadow:rgba(0,0,0,0.1);--ck-color-dropdown-panel-background:var(--ck-color-base-background);--ck-color-dropdown-panel-border:var(--ck-color-base-border);--ck-color-input-background:var(--ck-color-base-background);--ck-color-input-border:#c7c7c7;--ck-color-input-error-border:var(--ck-color-base-error);--ck-color-input-text:var(--ck-color-base-text);--ck-color-input-disabled-background:#f2f2f2;--ck-color-input-disabled-border:#c7c7c7;--ck-color-input-disabled-text:#757575;--ck-color-list-background:var(--ck-color-base-background);--ck-color-list-button-hover-background:var(--ck-color-button-default-hover-background);--ck-color-list-button-on-background:var(--ck-color-base-active);--ck-color-list-button-on-background-focus:var(--ck-color-base-active-focus);--ck-color-list-button-on-text:var(--ck-color-base-background);--ck-color-panel-background:var(--ck-color-base-background);--ck-color-panel-border:var(--ck-color-base-border);--ck-color-toolbar-background:var(--ck-color-base-foreground);--ck-color-toolbar-border:var(--ck-color-base-border);--ck-color-tooltip-background:var(--ck-color-base-text);--ck-color-tooltip-text:var(--ck-color-base-background);--ck-color-engine-placeholder-text:#707070;--ck-color-upload-bar-background:#6cb5f9;--ck-color-link-default:#0000f0;--ck-color-link-selected-background:rgba(31,177,255,0.1);--ck-color-link-fake-selection:rgba(31,177,255,0.3);--ck-disabled-opacity:.5;--ck-focus-outer-shadow-geometry:0 0 0 3px;--ck-focus-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);--ck-focus-disabled-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);--ck-focus-error-outer-shadow:var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);--ck-focus-ring:1px solid var(--ck-color-focus-border);--ck-font-size-base:13px;--ck-line-height-base:1.84615;--ck-font-face:Helvetica,Arial,Tahoma,Verdana,Sans-Serif;--ck-font-size-tiny:0.7em;--ck-font-size-small:0.75em;--ck-font-size-normal:1em;--ck-font-size-big:1.4em;--ck-font-size-large:1.8em;--ck-ui-component-min-height:2.3em}.ck.ck-reset,.ck.ck-reset_all,.ck.ck-reset_all *{margin:0;padding:0;border:0;background:transparent;text-decoration:none;vertical-align:middle;transition:none;word-wrap:break-word}.ck.ck-reset_all,.ck.ck-reset_all *{border-collapse:collapse;font:normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);color:var(--ck-color-text);text-align:left;white-space:nowrap;cursor:auto;float:none}.ck.ck-reset_all .ck-rtl *{text-align:right}.ck.ck-reset_all iframe{vertical-align:inherit}.ck.ck-reset_all textarea{white-space:pre-wrap}.ck.ck-reset_all input[type=password],.ck.ck-reset_all input[type=text],.ck.ck-reset_all textarea{cursor:text}.ck.ck-reset_all input[type=password][disabled],.ck.ck-reset_all input[type=text][disabled],.ck.ck-reset_all textarea[disabled]{cursor:default}.ck.ck-reset_all fieldset{padding:10px;border:2px groove #dfdee3}.ck.ck-reset_all button::-moz-focus-inner{padding:0;border:0}.ck[dir=rtl],.ck[dir=rtl] .ck{text-align:right}:root{--ck-border-radius:2px;--ck-inner-shadow:2px 2px 3px var(--ck-color-shadow-inner) inset;--ck-drop-shadow:0 1px 2px 1px var(--ck-color-shadow-drop);--ck-drop-shadow-active:0 3px 6px 1px var(--ck-color-shadow-drop-active);--ck-spacing-unit:0.6em;--ck-spacing-large:calc(var(--ck-spacing-unit)*1.5);--ck-spacing-standard:var(--ck-spacing-unit);--ck-spacing-medium:calc(var(--ck-spacing-unit)*0.8);--ck-spacing-small:calc(var(--ck-spacing-unit)*0.5);--ck-spacing-tiny:calc(var(--ck-spacing-unit)*0.3);--ck-spacing-extra-tiny:calc(var(--ck-spacing-unit)*0.16)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_hidden.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_reset.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_zindex.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/globals/_transition.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_colors.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_disabled.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_focus.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_fonts.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_reset.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_rounded.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_shadow.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-ui/globals/_spacing.css\"],names:[],mappings:\"AAQA,WAGC,sBACD,CCPA,iDAGC,qBAAsB,CACtB,UAAW,CACX,WAAY,CACZ,eACD,CCPA,MACC,gBAAiB,CACjB,4CACD,CCAA,oDAEC,yBACD,CCNA,MACC,kCAAmD,CACnD,+BAAoD,CACpD,8BAAgD,CAChD,8BAAmD,CACnD,6BAAmD,CACnD,yBAA+C,CAC/C,8BAAmD,CACnD,oCAAuD,CACvD,6BAAkD,CAIlD,+CAAwD,CACxD,qEAA+E,CAC/E,qCAAwD,CACxD,sDAA8D,CAC9D,iDAAyD,CACzD,yCAAqD,CACrD,uCAAsD,CACtD,6CAA0D,CAC1D,uCAAsD,CAItD,gDAAuD,CACvD,kDAA+D,CAC/D,mDAAgE,CAChE,+CAA6D,CAC7D,yDAA8D,CAE9D,uCAAuD,CACvD,6CAA4D,CAC5D,8CAA4D,CAC5D,0CAAyD,CACzD,gDAA8D,CAE9D,+DAAsE,CACtE,iDAAkE,CAClE,kDAAkE,CAClE,8CAA+D,CAC/D,oDAAoE,CACpE,6DAAsE,CAEtE,8BAAoD,CACpD,gCAAqD,CAErD,+CAA4D,CAC5D,qDAAiE,CACjE,+EAAqF,CACrF,oDAAmE,CACnE,yEAA8E,CAC9E,qDAAgE,CAIhE,oEAA2E,CAC3E,4DAAoE,CAIpE,2DAAoE,CACpE,+BAAiD,CACjD,wDAAgE,CAChE,+CAA0D,CAC1D,4CAA2D,CAC3D,wCAAwD,CACxD,sCAAsD,CAItD,0DAAmE,CACnE,uFAA6F,CAC7F,gEAAuE,CACvE,4EAAiF,CACjF,8DAAsE,CAItE,2DAAoE,CACpE,mDAA6D,CAI7D,6DAAsE,CACtE,qDAA+D,CAI/D,uDAAgE,CAChE,uDAAiE,CAIjE,0CAAyD,CAIzD,wCAA2D,CAI3D,+BAAoD,CACpD,wDAAmE,CACnE,mDAAgE,CCpGhE,wBAAyB,CCAzB,0CAA2C,CAK3C,gGAAiG,CAKjG,4GAA6G,CAK7G,sGAAuG,CAKvG,sDAAuD,CCvBvD,wBAAyB,CACzB,6BAA8B,CAC9B,wDAA6D,CAE7D,yBAA0B,CAC1B,2BAA4B,CAC5B,yBAA0B,CAC1B,wBAAyB,CACzB,0BAA2B,CCJ3B,kCJoGD,CI9FA,iDAIC,QAAS,CACT,SAAU,CACV,QAAS,CACT,sBAAuB,CACvB,oBAAqB,CACrB,qBAAsB,CACtB,eAAgB,CAGhB,oBACD,CAKA,oCAGC,wBAAyB,CACzB,iGAAkG,CAClG,0BAA2B,CAC3B,eAAgB,CAChB,kBAAmB,CACnB,WAAY,CACZ,UACD,CAGC,2BACC,gBACD,CAEA,wBAEC,sBACD,CAEA,0BACC,oBACD,CAEA,kGAGC,WACD,CAEA,gIAGC,cACD,CAEA,0BACC,YAAa,CACb,yBACD,CAEA,0CAEC,SAAU,CACV,QACD,CAMD,8BAEC,gBACD,CCnFA,MACC,sBAAuB,CCAvB,gEAAiE,CAKjE,0DAA2D,CAK3D,wEAAyE,CCbzE,uBAA8B,CAC9B,mDAA2D,CAC3D,4CAAkD,CAClD,oDAA4D,CAC5D,mDAA2D,CAC3D,kDAA2D,CAC3D,yDFFD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A class which hides an element in DOM.\\n */\\n.ck-hidden {\\n\\t/* Override selector specificity. Otherwise, all elements with some display\\n\\tstyle defined will override this one, which is not a desired result. */\\n\\tdisplay: none !important;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck.ck-reset,\\n.ck.ck-reset_all,\\n.ck.ck-reset_all * {\\n\\tbox-sizing: border-box;\\n\\twidth: auto;\\n\\theight: auto;\\n\\tposition: static;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-z-default: 1;\\n\\t--ck-z-modal: calc( var(--ck-z-default) + 999 );\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A class that disables all transitions of the element and its children.\\n */\\n.ck-transitions-disabled,\\n.ck-transitions-disabled * {\\n\\ttransition: none !important;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-color-base-foreground: \\t\\t\\t\\t\\t\\t\\t\\thsl(0, 0%, 98%);\\n\\t--ck-color-base-background: \\t\\t\\t\\t\\t\\t\\t\\thsl(0, 0%, 100%);\\n\\t--ck-color-base-border: \\t\\t\\t\\t\\t\\t\\t\\t\\thsl(0, 0%, 77%);\\n\\t--ck-color-base-action: \\t\\t\\t\\t\\t\\t\\t\\t\\thsl(104, 44%, 48%);\\n\\t--ck-color-base-focus: \\t\\t\\t\\t\\t\\t\\t\\t\\t\\thsl(209, 92%, 70%);\\n\\t--ck-color-base-text: \\t\\t\\t\\t\\t\\t\\t\\t\\t\\thsl(0, 0%, 20%);\\n\\t--ck-color-base-active: \\t\\t\\t\\t\\t\\t\\t\\t\\thsl(208, 88%, 52%);\\n\\t--ck-color-base-active-focus:\\t\\t\\t\\t\\t\\t\\t\\thsl(208, 88%, 47%);\\n\\t--ck-color-base-error:\\t\\t\\t\\t\\t\\t\\t\\t\\t\\thsl(15, 100%, 43%);\\n\\n\\t/* -- Generic colors ------------------------------------------------------------------------ */\\n\\n\\t--ck-color-focus-border-coordinates: \\t\\t\\t\\t\\t\\t208, 79%, 51%;\\n\\t--ck-color-focus-border: \\t\\t\\t\\t\\t\\t\\t\\t\\thsl(var(--ck-color-focus-border-coordinates));\\n\\t--ck-color-focus-outer-shadow:\\t\\t\\t\\t\\t\\t\\t\\thsl(207, 89%, 86%);\\n\\t--ck-color-focus-disabled-shadow:\\t\\t\\t\\t\\t\\t\\thsla(209, 90%, 72%,.3);\\n\\t--ck-color-focus-error-shadow:\\t\\t\\t\\t\\t\\t\\t\\thsla(9,100%,56%,.3);\\n\\t--ck-color-text: \\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-text);\\n\\t--ck-color-shadow-drop: \\t\\t\\t\\t\\t\\t\\t\\t\\thsla(0, 0%, 0%, 0.15);\\n\\t--ck-color-shadow-drop-active:\\t\\t\\t\\t\\t\\t\\t\\thsla(0, 0%, 0%, 0.2);\\n\\t--ck-color-shadow-inner: \\t\\t\\t\\t\\t\\t\\t\\t\\thsla(0, 0%, 0%, 0.1);\\n\\n\\t/* -- Buttons ------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-button-default-background: \\t\\t\\t\\t\\t\\ttransparent;\\n\\t--ck-color-button-default-hover-background: \\t\\t\\t\\thsl(0, 0%, 90%);\\n\\t--ck-color-button-default-active-background: \\t\\t\\t\\thsl(0, 0%, 85%);\\n\\t--ck-color-button-default-active-shadow: \\t\\t\\t\\t\\thsl(0, 0%, 75%);\\n\\t--ck-color-button-default-disabled-background: \\t\\t\\t\\ttransparent;\\n\\n\\t--ck-color-button-on-background: \\t\\t\\t\\t\\t\\t\\thsl(0, 0%, 87%);\\n\\t--ck-color-button-on-hover-background: \\t\\t\\t\\t\\t\\thsl(0, 0%, 77%);\\n\\t--ck-color-button-on-active-background: \\t\\t\\t\\t\\thsl(0, 0%, 73%);\\n\\t--ck-color-button-on-active-shadow: \\t\\t\\t\\t\\t\\thsl(0, 0%, 63%);\\n\\t--ck-color-button-on-disabled-background: \\t\\t\\t\\t\\thsl(0, 0%, 87%);\\n\\n\\t--ck-color-button-action-background: \\t\\t\\t\\t\\t\\tvar(--ck-color-base-action);\\n\\t--ck-color-button-action-hover-background: \\t\\t\\t\\t\\thsl(104, 44%, 43%);\\n\\t--ck-color-button-action-active-background: \\t\\t\\t\\thsl(104, 44%, 41%);\\n\\t--ck-color-button-action-active-shadow: \\t\\t\\t\\t\\thsl(104, 44%, 36%);\\n\\t--ck-color-button-action-disabled-background: \\t\\t\\t\\thsl(104, 44%, 58%);\\n\\t--ck-color-button-action-text: \\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\n\\t--ck-color-button-save: \\t\\t\\t\\t\\t\\t\\t\\t\\thsl(120, 100%, 27%);\\n\\t--ck-color-button-cancel: \\t\\t\\t\\t\\t\\t\\t\\t\\thsl(15, 100%, 43%);\\n\\n\\t--ck-color-switch-button-off-background:\\t\\t\\t\\t\\thsl(0, 0%, 69%);\\n\\t--ck-color-switch-button-off-hover-background:\\t\\t\\t\\thsl(0, 0%, 64%);\\n\\t--ck-color-switch-button-on-background:\\t\\t\\t\\t\\t\\tvar(--ck-color-button-action-background);\\n\\t--ck-color-switch-button-on-hover-background:\\t\\t\\t\\thsl(104, 44%, 43%);\\n\\t--ck-color-switch-button-inner-background:\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\t--ck-color-switch-button-inner-shadow:\\t\\t\\t\\t\\t\\thsla(0, 0%, 0%, 0.1);\\n\\n\\t/* -- Dropdown ------------------------------------------------------------------------------ */\\n\\n\\t--ck-color-dropdown-panel-background: \\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\t--ck-color-dropdown-panel-border: \\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-border);\\n\\n\\t/* -- Input --------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-input-background: \\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\t--ck-color-input-border: \\t\\t\\t\\t\\t\\t\\t\\t\\thsl(0, 0%, 78%);\\n\\t--ck-color-input-error-border:\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-error);\\n\\t--ck-color-input-text: \\t\\t\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-text);\\n\\t--ck-color-input-disabled-background: \\t\\t\\t\\t\\t\\thsl(0, 0%, 95%);\\n\\t--ck-color-input-disabled-border: \\t\\t\\t\\t\\t\\t\\thsl(0, 0%, 78%);\\n\\t--ck-color-input-disabled-text: \\t\\t\\t\\t\\t\\t\\thsl(0, 0%, 46%);\\n\\n\\t/* -- List ---------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-list-background: \\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\t--ck-color-list-button-hover-background: \\t\\t\\t\\t\\tvar(--ck-color-button-default-hover-background);\\n\\t--ck-color-list-button-on-background: \\t\\t\\t\\t\\t\\tvar(--ck-color-base-active);\\n\\t--ck-color-list-button-on-background-focus: \\t\\t\\t\\tvar(--ck-color-base-active-focus);\\n\\t--ck-color-list-button-on-text:\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\n\\t/* -- Panel --------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-panel-background: \\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\t--ck-color-panel-border: \\t\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-border);\\n\\n\\t/* -- Toolbar ------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-toolbar-background: \\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-foreground);\\n\\t--ck-color-toolbar-border: \\t\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-border);\\n\\n\\t/* -- Tooltip ------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-tooltip-background: \\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-text);\\n\\t--ck-color-tooltip-text: \\t\\t\\t\\t\\t\\t\\t\\t\\tvar(--ck-color-base-background);\\n\\n\\t/* -- Engine -------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-engine-placeholder-text: \\t\\t\\t\\t\\t\\thsl(0, 0%, 44%);\\n\\n\\t/* -- Upload -------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-upload-bar-background:\\t\\t \\t\\t\\t\\t\\thsl(209, 92%, 70%);\\n\\n\\t/* -- Link -------------------------------------------------------------------------------- */\\n\\n\\t--ck-color-link-default:\\t\\t\\t\\t\\t\\t\\t\\t\\thsl(240, 100%, 47%);\\n\\t--ck-color-link-selected-background:\\t\\t\\t\\t\\t\\thsla(201, 100%, 56%, 0.1);\\n\\t--ck-color-link-fake-selection:\\t\\t\\t\\t\\t\\t\\t\\thsla(201, 100%, 56%, 0.3);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t/**\\n\\t * An opacity value of disabled UI item.\\n\\t */\\n\\t--ck-disabled-opacity: .5;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t/**\\n\\t * The geometry of the of focused element's outer shadow.\\n\\t */\\n\\t--ck-focus-outer-shadow-geometry: 0 0 0 3px;\\n\\n\\t/**\\n\\t * A visual style of focused element's outer shadow.\\n\\t */\\n\\t--ck-focus-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-outer-shadow);\\n\\n\\t/**\\n\\t * A visual style of focused element's outer shadow (when disabled).\\n\\t */\\n\\t--ck-focus-disabled-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-disabled-shadow);\\n\\n\\t/**\\n\\t * A visual style of focused element's outer shadow (when has errors).\\n\\t */\\n\\t--ck-focus-error-outer-shadow: var(--ck-focus-outer-shadow-geometry) var(--ck-color-focus-error-shadow);\\n\\n\\t/**\\n\\t * A visual style of focused element's border or outline.\\n\\t */\\n\\t--ck-focus-ring: 1px solid var(--ck-color-focus-border);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-font-size-base: 13px;\\n\\t--ck-line-height-base: 1.84615;\\n\\t--ck-font-face: Helvetica, Arial, Tahoma, Verdana, Sans-Serif;\\n\\n\\t--ck-font-size-tiny: 0.7em;\\n\\t--ck-font-size-small: 0.75em;\\n\\t--ck-font-size-normal: 1em;\\n\\t--ck-font-size-big: 1.4em;\\n\\t--ck-font-size-large: 1.8em;\\n}\\n\",'/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t/* This is super-important. This is **manually** adjusted so a button without an icon\\n\\tis never smaller than a button with icon, additionally making sure that text-less buttons\\n\\tare perfect squares. The value is also shared by other components which should stay \"in-line\"\\n\\twith buttons. */\\n\\t--ck-ui-component-min-height: 2.3em;\\n}\\n\\n/**\\n * Resets an element, ignoring its children.\\n */\\n.ck.ck-reset,\\n.ck.ck-reset_all,\\n.ck.ck-reset_all * {\\n\\t/* Do not include inheritable rules here. */\\n\\tmargin: 0;\\n\\tpadding: 0;\\n\\tborder: 0;\\n\\tbackground: transparent;\\n\\ttext-decoration: none;\\n\\tvertical-align: middle;\\n\\ttransition: none;\\n\\n\\t/* https://github.com/ckeditor/ckeditor5-theme-lark/issues/105 */\\n\\tword-wrap: break-word;\\n}\\n\\n/**\\n * Resets an element AND its children.\\n */\\n.ck.ck-reset_all,\\n.ck.ck-reset_all * {\\n\\t/* These are rule inherited by all children elements. */\\n\\tborder-collapse: collapse;\\n\\tfont: normal normal normal var(--ck-font-size-base)/var(--ck-line-height-base) var(--ck-font-face);\\n\\tcolor: var(--ck-color-text);\\n\\ttext-align: left;\\n\\twhite-space: nowrap;\\n\\tcursor: auto;\\n\\tfloat: none;\\n}\\n\\n.ck.ck-reset_all {\\n\\t& .ck-rtl * {\\n\\t\\ttext-align: right;\\n\\t}\\n\\n\\t& iframe {\\n\\t\\t/* For IE */\\n\\t\\tvertical-align: inherit;\\n\\t}\\n\\n\\t& textarea {\\n\\t\\twhite-space: pre-wrap;\\n\\t}\\n\\n\\t& textarea,\\n\\t& input[type=\"text\"],\\n\\t& input[type=\"password\"] {\\n\\t\\tcursor: text;\\n\\t}\\n\\n\\t& textarea[disabled],\\n\\t& input[type=\"text\"][disabled],\\n\\t& input[type=\"password\"][disabled] {\\n\\t\\tcursor: default;\\n\\t}\\n\\n\\t& fieldset {\\n\\t\\tpadding: 10px;\\n\\t\\tborder: 2px groove hsl(255, 7%, 88%);\\n\\t}\\n\\n\\t& button::-moz-focus-inner {\\n\\t\\t/* See http://stackoverflow.com/questions/5517744/remove-extra-button-spacing-padding-in-firefox */\\n\\t\\tpadding: 0;\\n\\t\\tborder: 0\\n\\t}\\n}\\n\\n/**\\n * Default UI rules for RTL languages.\\n */\\n.ck[dir=\"rtl\"],\\n.ck[dir=\"rtl\"] .ck {\\n\\ttext-align: right;\\n}\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * Default border-radius value.\\n */\\n:root{\\n\\t--ck-border-radius: 2px;\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t/**\\n\\t * A visual style of element's inner shadow (i.e. input).\\n\\t */\\n\\t--ck-inner-shadow: 2px 2px 3px var(--ck-color-shadow-inner) inset;\\n\\n\\t/**\\n\\t * A visual style of element's drop shadow (i.e. panel).\\n\\t */\\n\\t--ck-drop-shadow: 0 1px 2px 1px var(--ck-color-shadow-drop);\\n\\n\\t/**\\n\\t * A visual style of element's active shadow (i.e. comment or suggestion).\\n\\t */\\n\\t--ck-drop-shadow-active: 0 3px 6px 1px var(--ck-color-shadow-drop-active);\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-spacing-unit: \\t\\t\\t\\t\\t\\t0.6em;\\n\\t--ck-spacing-large: \\t\\t\\t\\t\\tcalc(var(--ck-spacing-unit) * 1.5);\\n\\t--ck-spacing-standard: \\t\\t\\t\\t\\tvar(--ck-spacing-unit);\\n\\t--ck-spacing-medium: \\t\\t\\t\\t\\tcalc(var(--ck-spacing-unit) * 0.8);\\n\\t--ck-spacing-small: \\t\\t\\t\\t\\tcalc(var(--ck-spacing-unit) * 0.5);\\n\\t--ck-spacing-tiny: \\t\\t\\t\\t\\t\\tcalc(var(--ck-spacing-unit) * 0.3);\\n\\t--ck-spacing-extra-tiny: \\t\\t\\t\\tcalc(var(--ck-spacing-unit) * 0.16);\\n}\\n\"],sourceRoot:\"\"}]);const a=s},6507:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\":root{--ck-color-resizer:var(--ck-color-focus-border);--ck-color-resizer-tooltip-background:#262626;--ck-color-resizer-tooltip-text:#f2f2f2;--ck-resizer-border-radius:var(--ck-border-radius);--ck-resizer-tooltip-offset:10px;--ck-resizer-tooltip-height:calc(var(--ck-spacing-small)*2 + 10px)}.ck .ck-widget,.ck .ck-widget.ck-widget_with-selection-handle{position:relative}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{position:absolute}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{display:block}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle{visibility:visible}.ck .ck-size-view{background:var(--ck-color-resizer-tooltip-background);color:var(--ck-color-resizer-tooltip-text);border:1px solid var(--ck-color-resizer-tooltip-text);border-radius:var(--ck-resizer-border-radius);font-size:var(--ck-font-size-tiny);display:block;padding:0 var(--ck-spacing-small);height:var(--ck-resizer-tooltip-height);line-height:var(--ck-resizer-tooltip-height)}.ck .ck-size-view.ck-orientation-above-center,.ck .ck-size-view.ck-orientation-bottom-left,.ck .ck-size-view.ck-orientation-bottom-right,.ck .ck-size-view.ck-orientation-top-left,.ck .ck-size-view.ck-orientation-top-right{position:absolute}.ck .ck-size-view.ck-orientation-top-left{top:var(--ck-resizer-tooltip-offset);left:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-top-right{top:var(--ck-resizer-tooltip-offset);right:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-right{bottom:var(--ck-resizer-tooltip-offset);right:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-bottom-left{bottom:var(--ck-resizer-tooltip-offset);left:var(--ck-resizer-tooltip-offset)}.ck .ck-size-view.ck-orientation-above-center{top:calc(var(--ck-resizer-tooltip-height)*-1);left:50%;transform:translate(-50%)}:root{--ck-widget-outline-thickness:3px;--ck-widget-handler-icon-size:16px;--ck-widget-handler-animation-duration:200ms;--ck-widget-handler-animation-curve:ease;--ck-color-widget-blurred-border:#dedede;--ck-color-widget-hover-border:#ffc83d;--ck-color-widget-editable-focus-background:var(--ck-color-base-background);--ck-color-widget-drag-handler-icon-color:var(--ck-color-base-background)}.ck .ck-widget{outline-width:var(--ck-widget-outline-thickness);outline-style:solid;outline-color:transparent;transition:outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_selected,.ck .ck-widget.ck-widget_selected:hover{outline:var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border)}.ck .ck-widget:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-editor__nested-editable{border:1px solid transparent}.ck .ck-editor__nested-editable.ck-editor__nested-editable_focused,.ck .ck-editor__nested-editable:focus{outline:none;border:var(--ck-focus-ring);box-shadow:var(--ck-inner-shadow),0 0;background-color:var(--ck-color-widget-editable-focus-background)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{padding:4px;box-sizing:border-box;background-color:transparent;opacity:0;transition:background-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),visibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);border-radius:var(--ck-border-radius) var(--ck-border-radius) 0 0;transform:translateY(-100%);left:calc(0px - var(--ck-widget-outline-thickness));top:0}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon{width:var(--ck-widget-handler-icon-size);height:var(--ck-widget-handler-icon-size);color:var(--ck-color-widget-drag-handler-icon-color)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:0;transition:opacity .3s var(--ck-widget-handler-animation-curve)}.ck .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover .ck-icon .ck-icon__selected-indicator{opacity:1}.ck .ck-widget.ck-widget_with-selection-handle:hover>.ck-widget__selection-handle{opacity:1;background-color:var(--ck-color-widget-hover-border)}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle{opacity:1;background-color:var(--ck-color-focus-border)}.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator,.ck .ck-widget.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle .ck-icon .ck-icon__selected-indicator{opacity:1}.ck[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle{left:auto;right:calc(0px - var(--ck-widget-outline-thickness))}.ck.ck-editor__editable.ck-read-only .ck-widget{transition:none}.ck.ck-editor__editable.ck-read-only .ck-widget:not(.ck-widget_selected){--ck-widget-outline-thickness:0px}.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle,.ck.ck-editor__editable.ck-read-only .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover{outline-color:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle>.ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected.ck-widget_with-selection-handle>.ck-widget__selection-handle:hover,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover.ck-widget_with-selection-handle>.ck-widget__selection-handle,.ck.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected:hover.ck-widget_with-selection-handle>.ck-widget__selection-handle:hover{background:var(--ck-color-widget-blurred-border)}.ck.ck-editor__editable>.ck-widget.ck-widget_with-selection-handle:first-child,.ck.ck-editor__editable blockquote>.ck-widget.ck-widget_with-selection-handle:first-child{margin-top:calc(1em + var(--ck-widget-handler-icon-size))}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-widget/theme/widget.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widget.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_focus.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/mixins/_shadow.css\"],names:[],mappings:\"AAKA,MACC,+CAAgD,CAChD,6CAAsD,CACtD,uCAAgD,CAEhD,kDAAmD,CACnD,gCAAiC,CACjC,kEACD,CAOA,8DAEC,iBAqBD,CAnBC,4EACC,iBAOD,CALC,qFAGC,aACD,CASD,iLACC,kBACD,CAGD,kBACC,qDAAsD,CACtD,0CAA2C,CAC3C,qDAAsD,CACtD,6CAA8C,CAC9C,kCAAmC,CACnC,aAAc,CACd,iCAAkC,CAClC,uCAAwC,CACxC,4CAoCD,CAlCC,8NAKC,iBACD,CAEA,0CACC,oCAAqC,CACrC,qCACD,CAEA,2CACC,oCAAqC,CACrC,sCACD,CAEA,8CACC,uCAAwC,CACxC,sCACD,CAEA,6CACC,uCAAwC,CACxC,qCACD,CAGA,8CACC,6CAAgD,CAChD,QAAS,CACT,yBACD,CCjFD,MACC,iCAAkC,CAClC,kCAAmC,CACnC,4CAA6C,CAC7C,wCAAyC,CAEzC,wCAAiD,CACjD,sCAAkD,CAClD,2EAA4E,CAC5E,yEACD,CAEA,eACC,gDAAiD,CACjD,mBAAoB,CACpB,yBAA0B,CAC1B,6GAUD,CARC,0EAEC,6EACD,CAEA,qBACC,iDACD,CAGD,gCACC,4BAWD,CAPC,yGC/BA,YAAa,CACb,2BAA2B,CCF3B,qCAA8B,CFqC7B,iEACD,CAIA,4EACC,WAAY,CACZ,qBAAsB,CAGtB,4BAA6B,CAC7B,SAAU,CAMV,6SAG6F,CAG7F,iEAAkE,CAGlE,2BAA4B,CAC5B,mDAAoD,CACpD,KAqBD,CAnBC,qFAEC,wCAAyC,CACzC,yCAA0C,CAC1C,oDASD,CANC,kHACC,SAAU,CAGV,+DACD,CAID,wHACC,SACD,CAID,kFACC,SAAU,CACV,oDACD,CAKC,oMACC,SAAU,CACV,6CAMD,CAHC,gRACC,SACD,CAOH,qFACC,SAAU,CACV,oDACD,CAGA,gDAEC,eAkBD,CAhBC,yEAOC,iCACD,CAGC,gOAEC,gDACD,CAOD,wIAEC,mDAQD,CALE,ghBAEC,gDACD,CAKH,yKAOC,yDACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-color-resizer: var(--ck-color-focus-border);\\n\\t--ck-color-resizer-tooltip-background: hsl(0, 0%, 15%);\\n\\t--ck-color-resizer-tooltip-text: hsl(0, 0%, 95%);\\n\\n\\t--ck-resizer-border-radius: var(--ck-border-radius);\\n\\t--ck-resizer-tooltip-offset: 10px;\\n\\t--ck-resizer-tooltip-height: calc(var(--ck-spacing-small) * 2 + 10px);\\n}\\n\\n.ck .ck-widget {\\n\\t/* This is neccessary for type around UI to be positioned properly. */\\n\\tposition: relative;\\n}\\n\\n.ck .ck-widget.ck-widget_with-selection-handle {\\n\\t/* Make the widget wrapper a relative positioning container for the drag handle. */\\n\\tposition: relative;\\n\\n\\t& .ck-widget__selection-handle {\\n\\t\\tposition: absolute;\\n\\n\\t\\t& .ck-icon {\\n\\t\\t\\t/* Make sure the icon in not a subject to font-size or line-height to avoid\\n\\t\\t\\tunnecessary spacing around it. */\\n\\t\\t\\tdisplay: block;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Show the selection handle on mouse hover over the widget, but not for nested widgets. */\\n\\t&:hover > .ck-widget__selection-handle {\\n\\t\\tvisibility: visible;\\n\\t}\\n\\n\\t/* Show the selection handle when the widget is selected, but not for nested widgets. */\\n\\t&.ck-widget_selected > .ck-widget__selection-handle {\\n\\t\\tvisibility: visible;\\n\\t}\\n}\\n\\n.ck .ck-size-view {\\n\\tbackground: var(--ck-color-resizer-tooltip-background);\\n\\tcolor: var(--ck-color-resizer-tooltip-text);\\n\\tborder: 1px solid var(--ck-color-resizer-tooltip-text);\\n\\tborder-radius: var(--ck-resizer-border-radius);\\n\\tfont-size: var(--ck-font-size-tiny);\\n\\tdisplay: block;\\n\\tpadding: 0 var(--ck-spacing-small);\\n\\theight: var(--ck-resizer-tooltip-height);\\n\\tline-height: var(--ck-resizer-tooltip-height);\\n\\n\\t&.ck-orientation-top-left,\\n\\t&.ck-orientation-top-right,\\n\\t&.ck-orientation-bottom-right,\\n\\t&.ck-orientation-bottom-left,\\n\\t&.ck-orientation-above-center {\\n\\t\\tposition: absolute;\\n\\t}\\n\\n\\t&.ck-orientation-top-left {\\n\\t\\ttop: var(--ck-resizer-tooltip-offset);\\n\\t\\tleft: var(--ck-resizer-tooltip-offset);\\n\\t}\\n\\n\\t&.ck-orientation-top-right {\\n\\t\\ttop: var(--ck-resizer-tooltip-offset);\\n\\t\\tright: var(--ck-resizer-tooltip-offset);\\n\\t}\\n\\n\\t&.ck-orientation-bottom-right {\\n\\t\\tbottom: var(--ck-resizer-tooltip-offset);\\n\\t\\tright: var(--ck-resizer-tooltip-offset);\\n\\t}\\n\\n\\t&.ck-orientation-bottom-left {\\n\\t\\tbottom: var(--ck-resizer-tooltip-offset);\\n\\t\\tleft: var(--ck-resizer-tooltip-offset);\\n\\t}\\n\\n\\t/* Class applied if the widget is too small to contain the size label */\\n\\t&.ck-orientation-above-center {\\n\\t\\ttop: calc(var(--ck-resizer-tooltip-height) * -1);\\n\\t\\tleft: 50%;\\n\\t\\ttransform: translate(-50%);\\n\\t}\\n}\\n\",'/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n@import \"../mixins/_focus.css\";\\n@import \"../mixins/_shadow.css\";\\n\\n:root {\\n\\t--ck-widget-outline-thickness: 3px;\\n\\t--ck-widget-handler-icon-size: 16px;\\n\\t--ck-widget-handler-animation-duration: 200ms;\\n\\t--ck-widget-handler-animation-curve: ease;\\n\\n\\t--ck-color-widget-blurred-border: hsl(0, 0%, 87%);\\n\\t--ck-color-widget-hover-border: hsl(43, 100%, 62%);\\n\\t--ck-color-widget-editable-focus-background: var(--ck-color-base-background);\\n\\t--ck-color-widget-drag-handler-icon-color: var(--ck-color-base-background);\\n}\\n\\n.ck .ck-widget {\\n\\toutline-width: var(--ck-widget-outline-thickness);\\n\\toutline-style: solid;\\n\\toutline-color: transparent;\\n\\ttransition: outline-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\\n\\n\\t&.ck-widget_selected,\\n\\t&.ck-widget_selected:hover {\\n\\t\\toutline: var(--ck-widget-outline-thickness) solid var(--ck-color-focus-border);\\n\\t}\\n\\n\\t&:hover {\\n\\t\\toutline-color: var(--ck-color-widget-hover-border);\\n\\t}\\n}\\n\\n.ck .ck-editor__nested-editable {\\n\\tborder: 1px solid transparent;\\n\\n\\t/* The :focus style is applied before .ck-editor__nested-editable_focused class is rendered in the view.\\n\\tThese styles show a different border for a blink of an eye, so `:focus` need to have same styles applied. */\\n\\t&.ck-editor__nested-editable_focused,\\n\\t&:focus {\\n\\t\\t@mixin ck-focus-ring;\\n\\t\\t@mixin ck-box-shadow var(--ck-inner-shadow);\\n\\n\\t\\tbackground-color: var(--ck-color-widget-editable-focus-background);\\n\\t}\\n}\\n\\n.ck .ck-widget.ck-widget_with-selection-handle {\\n\\t& .ck-widget__selection-handle {\\n\\t\\tpadding: 4px;\\n\\t\\tbox-sizing: border-box;\\n\\n\\t\\t/* Background and opacity will be animated as the handler shows up or the widget gets selected. */\\n\\t\\tbackground-color: transparent;\\n\\t\\topacity: 0;\\n\\n\\t\\t/* Transition:\\n\\t\\t * background-color for the .ck-widget_selected state change,\\n\\t\\t * visibility for hiding the handler,\\n\\t\\t * opacity for the proper look of the icon when the handler disappears. */\\n\\t\\ttransition:\\n\\t\\t\\tbackground-color var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),\\n\\t\\t\\tvisibility var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),\\n\\t\\t\\topacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\\n\\n\\t\\t/* Make only top corners round. */\\n\\t\\tborder-radius: var(--ck-border-radius) var(--ck-border-radius) 0 0;\\n\\n\\t\\t/* Place the drag handler outside the widget wrapper. */\\n\\t\\ttransform: translateY(-100%);\\n\\t\\tleft: calc(0px - var(--ck-widget-outline-thickness));\\n\\t\\ttop: 0;\\n\\n\\t\\t& .ck-icon {\\n\\t\\t\\t/* Make sure the dimensions of the icon are independent of the fon-size of the content. */\\n\\t\\t\\twidth: var(--ck-widget-handler-icon-size);\\n\\t\\t\\theight: var(--ck-widget-handler-icon-size);\\n\\t\\t\\tcolor: var(--ck-color-widget-drag-handler-icon-color);\\n\\n\\t\\t\\t/* The \"selected\" part of the icon is invisible by default */\\n\\t\\t\\t& .ck-icon__selected-indicator {\\n\\t\\t\\t\\topacity: 0;\\n\\n\\t\\t\\t\\t/* Note: The animation is longer on purpose. Simply feels better. */\\n\\t\\t\\t\\ttransition: opacity 300ms var(--ck-widget-handler-animation-curve);\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/* Advertise using the look of the icon that once clicked the handler, the widget will be selected. */\\n\\t\\t&:hover .ck-icon .ck-icon__selected-indicator {\\n\\t\\t\\topacity: 1;\\n\\t\\t}\\n\\t}\\n\\n\\t/* Show the selection handler on mouse hover over the widget, but not for nested widgets. */\\n\\t&:hover > .ck-widget__selection-handle {\\n\\t\\topacity: 1;\\n\\t\\tbackground-color: var(--ck-color-widget-hover-border);\\n\\t}\\n\\n\\t/* Show the selection handler when the widget is selected, but not for nested widgets. */\\n\\t&.ck-widget_selected,\\n\\t&.ck-widget_selected:hover {\\n\\t\\t& > .ck-widget__selection-handle {\\n\\t\\t\\topacity: 1;\\n\\t\\t\\tbackground-color: var(--ck-color-focus-border);\\n\\n\\t\\t\\t/* When the widget is selected, notify the user using the proper look of the icon. */\\n\\t\\t\\t& .ck-icon .ck-icon__selected-indicator {\\n\\t\\t\\t\\topacity: 1;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n/* In a RTL environment, align the selection handler to the right side of the widget */\\n/* stylelint-disable-next-line no-descending-specificity */\\n.ck[dir=\"rtl\"] .ck-widget.ck-widget_with-selection-handle .ck-widget__selection-handle {\\n\\tleft: auto;\\n\\tright: calc(0px - var(--ck-widget-outline-thickness));\\n}\\n\\n/* https://github.com/ckeditor/ckeditor5/issues/6415 */\\n.ck.ck-editor__editable.ck-read-only .ck-widget {\\n\\t/* Prevent the :hover outline from showing up because of the used outline-color transition. */\\n\\ttransition: none;\\n\\n\\t&:not(.ck-widget_selected) {\\n\\t\\t/* Disable visual effects of hover/active widget when CKEditor is in readOnly mode.\\n\\t\\t * See: https://github.com/ckeditor/ckeditor5/issues/1261\\n\\t\\t *\\n\\t\\t * Leave the unit because this custom property is used in calc() by other features.\\n\\t\\t * See: https://github.com/ckeditor/ckeditor5/issues/6775\\n\\t\\t */\\n\\t\\t--ck-widget-outline-thickness: 0px;\\n\\t}\\n\\n\\t&.ck-widget_with-selection-handle {\\n\\t\\t& .ck-widget__selection-handle,\\n\\t\\t& .ck-widget__selection-handle:hover {\\n\\t\\t\\tbackground: var(--ck-color-widget-blurred-border);\\n\\t\\t}\\n\\t}\\n}\\n\\n/* Style the widget when it\\'s selected but the editable it belongs to lost focus. */\\n/* stylelint-disable-next-line no-descending-specificity */\\n.ck.ck-editor__editable.ck-blurred .ck-widget {\\n\\t&.ck-widget_selected,\\n\\t&.ck-widget_selected:hover {\\n\\t\\toutline-color: var(--ck-color-widget-blurred-border);\\n\\n\\t\\t&.ck-widget_with-selection-handle {\\n\\t\\t\\t& > .ck-widget__selection-handle,\\n\\t\\t\\t& > .ck-widget__selection-handle:hover {\\n\\t\\t\\t\\tbackground: var(--ck-color-widget-blurred-border);\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n.ck.ck-editor__editable > .ck-widget.ck-widget_with-selection-handle:first-child,\\n.ck.ck-editor__editable blockquote > .ck-widget.ck-widget_with-selection-handle:first-child {\\n\\t/* Do not crop selection handler if a widget is a first-child in the blockquote or in the root editable.\\n\\tIn fact, anything with overflow: hidden.\\n\\thttps://github.com/ckeditor/ckeditor5-block-quote/issues/28\\n\\thttps://github.com/ckeditor/ckeditor5-widget/issues/44\\n\\thttps://github.com/ckeditor/ckeditor5-widget/issues/66 */\\n\\tmargin-top: calc(1em + var(--ck-widget-handler-icon-size));\\n}\\n',\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A visual style of focused element's border.\\n */\\n@define-mixin ck-focus-ring {\\n\\t/* Disable native outline. */\\n\\toutline: none;\\n\\tborder: var(--ck-focus-ring)\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n/**\\n * A helper to combine multiple shadows.\\n */\\n@define-mixin ck-box-shadow $shadowA, $shadowB: 0 0 {\\n\\tbox-shadow: $shadowA, $shadowB;\\n}\\n\\n/**\\n * Gives an element a drop shadow so it looks like a floating panel.\\n */\\n@define-mixin ck-drop-shadow {\\n\\t@mixin ck-box-shadow var(--ck-drop-shadow);\\n}\\n\"],sourceRoot:\"\"}]);const a=s},2263:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,\".ck .ck-widget_with-resizer{position:relative}.ck .ck-widget__resizer{display:none;position:absolute;pointer-events:none;left:0;top:0}.ck-focused .ck-widget_with-resizer.ck-widget_selected>.ck-widget__resizer{display:block}.ck .ck-widget__resizer__handle{position:absolute;pointer-events:all}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right,.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{cursor:nwse-resize}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left,.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{cursor:nesw-resize}:root{--ck-resizer-size:10px;--ck-resizer-offset:calc(var(--ck-resizer-size)/-2 - 2px);--ck-resizer-border-width:1px}.ck .ck-widget__resizer{outline:1px solid var(--ck-color-resizer)}.ck .ck-widget__resizer__handle{width:var(--ck-resizer-size);height:var(--ck-resizer-size);background:var(--ck-color-focus-border);border:var(--ck-resizer-border-width) solid #fff;border-radius:var(--ck-resizer-border-radius)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-left{top:var(--ck-resizer-offset);left:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-top-right{top:var(--ck-resizer-offset);right:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-right{bottom:var(--ck-resizer-offset);right:var(--ck-resizer-offset)}.ck .ck-widget__resizer__handle.ck-widget__resizer__handle-bottom-left{bottom:var(--ck-resizer-offset);left:var(--ck-resizer-offset)}\",\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-widget/theme/widgetresize.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widgetresize.css\"],names:[],mappings:\"AAKA,4BAEC,iBACD,CAEA,wBACC,YAAa,CACb,iBAAkB,CAGlB,mBAAoB,CAEpB,MAAO,CACP,KACD,CAGC,2EACC,aACD,CAGD,gCACC,iBAAkB,CAGlB,kBAWD,CATC,4IAEC,kBACD,CAEA,4IAEC,kBACD,CCpCD,MACC,sBAAuB,CAGvB,yDAAiE,CACjE,6BACD,CAEA,wBACC,yCACD,CAEA,gCACC,4BAA6B,CAC7B,6BAA8B,CAC9B,uCAAwC,CACxC,gDAA6D,CAC7D,6CAqBD,CAnBC,oEACC,4BAA6B,CAC7B,6BACD,CAEA,qEACC,4BAA6B,CAC7B,8BACD,CAEA,wEACC,+BAAgC,CAChC,8BACD,CAEA,uEACC,+BAAgC,CAChC,6BACD\",sourcesContent:[\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck .ck-widget_with-resizer {\\n\\t/* Make the widget wrapper a relative positioning container for the drag handle. */\\n\\tposition: relative;\\n}\\n\\n.ck .ck-widget__resizer {\\n\\tdisplay: none;\\n\\tposition: absolute;\\n\\n\\t/* The wrapper itself should not interfere with the pointer device, only the handles should. */\\n\\tpointer-events: none;\\n\\n\\tleft: 0;\\n\\ttop: 0;\\n}\\n\\n.ck-focused .ck-widget_with-resizer.ck-widget_selected {\\n\\t& > .ck-widget__resizer {\\n\\t\\tdisplay: block;\\n\\t}\\n}\\n\\n.ck .ck-widget__resizer__handle {\\n\\tposition: absolute;\\n\\n\\t/* Resizers are the only UI elements that should interfere with a pointer device. */\\n\\tpointer-events: all;\\n\\n\\t&.ck-widget__resizer__handle-top-left,\\n\\t&.ck-widget__resizer__handle-bottom-right {\\n\\t\\tcursor: nwse-resize;\\n\\t}\\n\\n\\t&.ck-widget__resizer__handle-top-right,\\n\\t&.ck-widget__resizer__handle-bottom-left {\\n\\t\\tcursor: nesw-resize;\\n\\t}\\n}\\n\",\"/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-resizer-size: 10px;\\n\\n\\t/* Set the resizer with a 50% offset. */\\n\\t--ck-resizer-offset: calc( ( var(--ck-resizer-size) / -2 ) - 2px);\\n\\t--ck-resizer-border-width: 1px;\\n}\\n\\n.ck .ck-widget__resizer {\\n\\toutline: 1px solid var(--ck-color-resizer);\\n}\\n\\n.ck .ck-widget__resizer__handle {\\n\\twidth: var(--ck-resizer-size);\\n\\theight: var(--ck-resizer-size);\\n\\tbackground: var(--ck-color-focus-border);\\n\\tborder: var(--ck-resizer-border-width) solid hsl(0, 0%, 100%);\\n\\tborder-radius: var(--ck-resizer-border-radius);\\n\\n\\t&.ck-widget__resizer__handle-top-left {\\n\\t\\ttop: var(--ck-resizer-offset);\\n\\t\\tleft: var(--ck-resizer-offset);\\n\\t}\\n\\n\\t&.ck-widget__resizer__handle-top-right {\\n\\t\\ttop: var(--ck-resizer-offset);\\n\\t\\tright: var(--ck-resizer-offset);\\n\\t}\\n\\n\\t&.ck-widget__resizer__handle-bottom-right {\\n\\t\\tbottom: var(--ck-resizer-offset);\\n\\t\\tright: var(--ck-resizer-offset);\\n\\t}\\n\\n\\t&.ck-widget__resizer__handle-bottom-left {\\n\\t\\tbottom: var(--ck-resizer-offset);\\n\\t\\tleft: var(--ck-resizer-offset);\\n\\t}\\n}\\n\"],sourceRoot:\"\"}]);const a=s},5137:(t,e,n)=>{n.d(e,{Z:()=>a});var i=n(4015),o=n.n(i),r=n(3645),s=n.n(r)()(o());s.push([t.id,'.ck .ck-widget .ck-widget__type-around__button{display:block;position:absolute;overflow:hidden;z-index:var(--ck-z-default)}.ck .ck-widget .ck-widget__type-around__button svg{position:absolute;top:50%;left:50%;z-index:calc(var(--ck-z-default) + 2)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_before{top:calc(var(--ck-widget-outline-thickness)*-0.5);left:min(10%,30px);transform:translateY(-50%)}.ck .ck-widget .ck-widget__type-around__button.ck-widget__type-around__button_after{bottom:calc(var(--ck-widget-outline-thickness)*-0.5);right:min(10%,30px);transform:translateY(50%)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{content:\"\";display:block;position:absolute;top:1px;left:1px;z-index:calc(var(--ck-z-default) + 1)}.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__fake-caret{display:none;position:absolute;left:0;right:0}.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__fake-caret{left:calc(var(--ck-widget-outline-thickness)*-1);right:calc(var(--ck-widget-outline-thickness)*-1)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_before>.ck-widget__type-around>.ck-widget__type-around__fake-caret{top:calc(var(--ck-widget-outline-thickness)*-1 - 1px);display:block}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after>.ck-widget__type-around>.ck-widget__type-around__fake-caret{bottom:calc(var(--ck-widget-outline-thickness)*-1 - 1px);display:block}.ck.ck-editor__editable.ck-read-only .ck-widget__type-around,.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around,.ck.ck-editor__editable.ck-widget__type-around_disabled .ck-widget__type-around{display:none}:root{--ck-widget-type-around-button-size:20px;--ck-color-widget-type-around-button-active:var(--ck-color-focus-border);--ck-color-widget-type-around-button-hover:var(--ck-color-widget-hover-border);--ck-color-widget-type-around-button-blurred-editable:var(--ck-color-widget-blurred-border);--ck-color-widget-type-around-button-radar-start-alpha:0;--ck-color-widget-type-around-button-radar-end-alpha:.3;--ck-color-widget-type-around-button-icon:var(--ck-color-base-background)}.ck .ck-widget .ck-widget__type-around__button{width:var(--ck-widget-type-around-button-size);height:var(--ck-widget-type-around-button-size);background:var(--ck-color-widget-type-around-button);border-radius:100px;transition:opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve),background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);opacity:0;pointer-events:none}.ck .ck-widget .ck-widget__type-around__button svg{width:10px;height:8px;transform:translate(-50%,-50%);transition:transform .5s ease;margin-top:1px}.ck .ck-widget .ck-widget__type-around__button svg *{stroke-dasharray:10;stroke-dashoffset:0;fill:none;stroke:var(--ck-color-widget-type-around-button-icon);stroke-width:1.5px;stroke-linecap:round;stroke-linejoin:round}.ck .ck-widget .ck-widget__type-around__button svg line{stroke-dasharray:7}.ck .ck-widget .ck-widget__type-around__button:hover{animation:ck-widget-type-around-button-sonar 1s ease infinite}.ck .ck-widget .ck-widget__type-around__button:hover svg polyline{animation:ck-widget-type-around-arrow-dash 2s linear}.ck .ck-widget .ck-widget__type-around__button:hover svg line{animation:ck-widget-type-around-arrow-tip-dash 2s linear}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{opacity:1;pointer-events:auto}.ck .ck-widget:not(.ck-widget_selected)>.ck-widget__type-around>.ck-widget__type-around__button{background:var(--ck-color-widget-type-around-button-hover)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover{background:var(--ck-color-widget-type-around-button-active)}.ck .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:after,.ck .ck-widget>.ck-widget__type-around>.ck-widget__type-around__button:hover:after{width:calc(var(--ck-widget-type-around-button-size) - 2px);height:calc(var(--ck-widget-type-around-button-size) - 2px);border-radius:100px;background:linear-gradient(135deg,hsla(0,0%,100%,0),hsla(0,0%,100%,.3))}.ck .ck-widget.ck-widget_with-selection-handle>.ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:20px}.ck .ck-widget .ck-widget__type-around__fake-caret{pointer-events:none;height:1px;animation:ck-widget-type-around-fake-caret-pulse 1s linear infinite normal forwards;outline:1px solid hsla(0,0%,100%,.5);background:var(--ck-color-base-text)}.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_after,.ck .ck-widget.ck-widget_selected.ck-widget_type-around_show-fake-caret_before{outline-color:transparent}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected:hover,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected:hover{outline-color:var(--ck-color-widget-hover-border)}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after>.ck-widget__type-around>.ck-widget__type-around__button,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before>.ck-widget__type-around>.ck-widget__type-around__button{opacity:0;pointer-events:none}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_with-selection-handle.ck-widget_selected:hover>.ck-widget__selection-handle,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_with-selection-handle.ck-widget_selected>.ck-widget__selection-handle{opacity:0}.ck .ck-widget.ck-widget_type-around_show-fake-caret_after.ck-widget_selected.ck-widget_with-resizer>.ck-widget__resizer,.ck .ck-widget.ck-widget_type-around_show-fake-caret_before.ck-widget_selected.ck-widget_with-resizer>.ck-widget__resizer{opacity:0}.ck[dir=rtl] .ck-widget.ck-widget_with-selection-handle .ck-widget__type-around>.ck-widget__type-around__button_before{margin-left:0;margin-right:20px}.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button,.ck-editor__nested-editable.ck-editor__editable_selected .ck-widget:hover>.ck-widget__type-around>.ck-widget__type-around__button{opacity:0;pointer-events:none}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover){background:var(--ck-color-widget-type-around-button-blurred-editable)}.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected>.ck-widget__type-around>.ck-widget__type-around__button:not(:hover) svg *{stroke:#999}@keyframes ck-widget-type-around-arrow-dash{0%{stroke-dashoffset:10}20%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-arrow-tip-dash{0%,20%{stroke-dashoffset:7}40%,to{stroke-dashoffset:0}}@keyframes ck-widget-type-around-button-sonar{0%{box-shadow:0 0 0 0 hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}50%{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-end-alpha))}to{box-shadow:0 0 0 5px hsla(var(--ck-color-focus-border-coordinates),var(--ck-color-widget-type-around-button-radar-start-alpha))}}@keyframes ck-widget-type-around-fake-caret-pulse{0%{opacity:1}49%{opacity:1}50%{opacity:0}99%{opacity:0}to{opacity:1}}',\"\",{version:3,sources:[\"webpack://./node_modules/@ckeditor/ckeditor5-widget/theme/widgettypearound.css\",\"webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-widget/widgettypearound.css\"],names:[],mappings:\"AASC,+CACC,aAAc,CACd,iBAAkB,CAClB,eAAgB,CAChB,2BAwBD,CAtBC,mDACC,iBAAkB,CAClB,OAAQ,CACR,QAAS,CACT,qCACD,CAEA,qFAEC,iDAAoD,CACpD,kBAAoB,CAEpB,0BACD,CAEA,oFAEC,oDAAuD,CACvD,mBAAqB,CAErB,yBACD,CAUA,mLACC,UAAW,CACX,aAAc,CACd,iBAAkB,CAClB,OAAQ,CACR,QAAS,CACT,qCACD,CAMD,2EACC,YAAa,CACb,iBAAkB,CAClB,MAAO,CACP,OACD,CAOA,iFACC,gDAAqD,CACrD,iDACD,CAKA,wHACC,qDAA0D,CAC1D,aACD,CAKA,uHACC,wDAA6D,CAC7D,aACD,CAoBD,mOACC,YACD,CC3GA,MACC,wCAAyC,CACzC,wEAAyE,CACzE,8EAA+E,CAC/E,2FAA4F,CAC5F,wDAAyD,CACzD,uDAAwD,CACxD,yEACD,CAgBC,+CACC,8CAA+C,CAC/C,+CAAgD,CAChD,oDAAqD,CACrD,mBAAoB,CACpB,uMAAyM,CAb1M,SAAU,CACV,mBA0DA,CA1CC,mDACC,UAAW,CACX,UAAW,CACX,8BAA+B,CAC/B,6BAA8B,CAC9B,cAgBD,CAdC,qDACC,mBAAoB,CACpB,mBAAoB,CAEpB,SAAU,CACV,qDAAsD,CACtD,kBAAmB,CACnB,oBAAqB,CACrB,qBACD,CAEA,wDACC,kBACD,CAGD,qDAIC,6DAcD,CARE,kEACC,oDACD,CAEA,8DACC,wDACD,CAUF,uKAvED,SAAU,CACV,mBAwEC,CAOD,gGACC,0DACD,CAOA,uKAEC,2DAQD,CANC,mLACC,0DAA2D,CAC3D,2DAA4D,CAC5D,mBAAoB,CACpB,uEACD,CAOD,8GACC,gBACD,CAKA,mDACC,mBAAoB,CACpB,UAAW,CACX,mFAAoF,CAMpF,oCAAwC,CACxC,oCACD,CAOC,6JAEC,yBACD,CAUA,yKACC,iDACD,CAMA,uOAlJD,SAAU,CACV,mBAmJC,CASE,0jBACC,SACD,CASF,mPACC,SACD,CASF,uHACC,aAAc,CACd,iBACD,CAYG,iRAlMF,SAAU,CACV,mBAmME,CAQH,kIACC,qEAKD,CAHC,wIACC,WACD,CAGD,4CACC,GACC,oBACD,CACA,OACC,mBACD,CACD,CAEA,gDACC,OACC,mBACD,CACA,OACC,mBACD,CACD,CAEA,8CACC,GACC,6HACD,CACA,IACC,6HACD,CACA,GACC,+HACD,CACD,CAEA,kDACC,GACC,SACD,CACA,IACC,SACD,CACA,IACC,SACD,CACA,IACC,SACD,CACA,GACC,SACD,CACD\",sourcesContent:['/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n.ck .ck-widget {\\n\\t/*\\n\\t * Styles of the type around buttons\\n\\t */\\n\\t& .ck-widget__type-around__button {\\n\\t\\tdisplay: block;\\n\\t\\tposition: absolute;\\n\\t\\toverflow: hidden;\\n\\t\\tz-index: var(--ck-z-default);\\n\\n\\t\\t& svg {\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 50%;\\n\\t\\t\\tleft: 50%;\\n\\t\\t\\tz-index: calc(var(--ck-z-default) + 2);\\n\\t\\t}\\n\\n\\t\\t&.ck-widget__type-around__button_before {\\n\\t\\t\\t/* Place it in the middle of the outline */\\n\\t\\t\\ttop: calc(-0.5 * var(--ck-widget-outline-thickness));\\n\\t\\t\\tleft: min(10%, 30px);\\n\\n\\t\\t\\ttransform: translateY(-50%);\\n\\t\\t}\\n\\n\\t\\t&.ck-widget__type-around__button_after {\\n\\t\\t\\t/* Place it in the middle of the outline */\\n\\t\\t\\tbottom: calc(-0.5 * var(--ck-widget-outline-thickness));\\n\\t\\t\\tright: min(10%, 30px);\\n\\n\\t\\t\\ttransform: translateY(50%);\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the buttons when:\\n\\t * - the widget is selected,\\n\\t * - or the button is being hovered (regardless of the widget state).\\n\\t */\\n\\t&.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button,\\n\\t& > .ck-widget__type-around > .ck-widget__type-around__button:hover {\\n\\t\\t&::after {\\n\\t\\t\\tcontent: \"\";\\n\\t\\t\\tdisplay: block;\\n\\t\\t\\tposition: absolute;\\n\\t\\t\\ttop: 1px;\\n\\t\\t\\tleft: 1px;\\n\\t\\t\\tz-index: calc(var(--ck-z-default) + 1);\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the horizontal \"fake caret\" which is displayed when the user navigates using the keyboard.\\n\\t */\\n\\t& > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\\n\\t\\tdisplay: none;\\n\\t\\tposition: absolute;\\n\\t\\tleft: 0;\\n\\t\\tright: 0;\\n\\t}\\n\\n\\t/*\\n\\t * When the widget is hovered the \"fake caret\" would normally be narrower than the\\n\\t * extra outline displayed around the widget. Let\\'s extend the \"fake caret\" to match\\n\\t * the full width of the widget.\\n\\t */\\n\\t&:hover > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\\n\\t\\tleft: calc( -1 * var(--ck-widget-outline-thickness) );\\n\\t\\tright: calc( -1 * var(--ck-widget-outline-thickness) );\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the horizontal \"fake caret\" when it should be displayed before the widget (backward keyboard navigation).\\n\\t */\\n\\t&.ck-widget_type-around_show-fake-caret_before > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\\n\\t\\ttop: calc( -1 * var(--ck-widget-outline-thickness) - 1px );\\n\\t\\tdisplay: block;\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the horizontal \"fake caret\" when it should be displayed after the widget (forward keyboard navigation).\\n\\t */\\n\\t&.ck-widget_type-around_show-fake-caret_after > .ck-widget__type-around > .ck-widget__type-around__fake-caret {\\n\\t\\tbottom: calc( -1 * var(--ck-widget-outline-thickness) - 1px );\\n\\t\\tdisplay: block;\\n\\t}\\n}\\n\\n/*\\n * Integration with the read-only mode of the editor.\\n */\\n.ck.ck-editor__editable.ck-read-only .ck-widget__type-around {\\n\\tdisplay: none;\\n}\\n\\n/*\\n * Integration with the restricted editing mode (feature) of the editor.\\n */\\n.ck.ck-editor__editable.ck-restricted-editing_mode_restricted .ck-widget__type-around {\\n\\tdisplay: none;\\n}\\n\\n/*\\n * Integration with the #isEnabled property of the WidgetTypeAround plugin.\\n */\\n.ck.ck-editor__editable.ck-widget__type-around_disabled .ck-widget__type-around {\\n\\tdisplay: none;\\n}\\n','/*\\n * Copyright (c) 2003-2021, CKSource - Frederico Knabben. All rights reserved.\\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\\n */\\n\\n:root {\\n\\t--ck-widget-type-around-button-size: 20px;\\n\\t--ck-color-widget-type-around-button-active: var(--ck-color-focus-border);\\n\\t--ck-color-widget-type-around-button-hover: var(--ck-color-widget-hover-border);\\n\\t--ck-color-widget-type-around-button-blurred-editable: var(--ck-color-widget-blurred-border);\\n\\t--ck-color-widget-type-around-button-radar-start-alpha: 0;\\n\\t--ck-color-widget-type-around-button-radar-end-alpha: .3;\\n\\t--ck-color-widget-type-around-button-icon: var(--ck-color-base-background);\\n}\\n\\n@define-mixin ck-widget-type-around-button-visible {\\n\\topacity: 1;\\n\\tpointer-events: auto;\\n}\\n\\n@define-mixin ck-widget-type-around-button-hidden {\\n\\topacity: 0;\\n\\tpointer-events: none;\\n}\\n\\n.ck .ck-widget {\\n\\t/*\\n\\t * Styles of the type around buttons\\n\\t */\\n\\t& .ck-widget__type-around__button {\\n\\t\\twidth: var(--ck-widget-type-around-button-size);\\n\\t\\theight: var(--ck-widget-type-around-button-size);\\n\\t\\tbackground: var(--ck-color-widget-type-around-button);\\n\\t\\tborder-radius: 100px;\\n\\t\\ttransition: opacity var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve), background var(--ck-widget-handler-animation-duration) var(--ck-widget-handler-animation-curve);\\n\\n\\t\\t@mixin ck-widget-type-around-button-hidden;\\n\\n\\t\\t& svg {\\n\\t\\t\\twidth: 10px;\\n\\t\\t\\theight: 8px;\\n\\t\\t\\ttransform: translate(-50%,-50%);\\n\\t\\t\\ttransition: transform .5s ease;\\n\\t\\t\\tmargin-top: 1px;\\n\\n\\t\\t\\t& * {\\n\\t\\t\\t\\tstroke-dasharray: 10;\\n\\t\\t\\t\\tstroke-dashoffset: 0;\\n\\n\\t\\t\\t\\tfill: none;\\n\\t\\t\\t\\tstroke: var(--ck-color-widget-type-around-button-icon);\\n\\t\\t\\t\\tstroke-width: 1.5px;\\n\\t\\t\\t\\tstroke-linecap: round;\\n\\t\\t\\t\\tstroke-linejoin: round;\\n\\t\\t\\t}\\n\\n\\t\\t\\t& line {\\n\\t\\t\\t\\tstroke-dasharray: 7;\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t&:hover {\\n\\t\\t\\t/*\\n\\t\\t\\t * Display the \"sonar\" around the button when hovered.\\n\\t\\t\\t */\\n\\t\\t\\tanimation: ck-widget-type-around-button-sonar 1s ease infinite;\\n\\n\\t\\t\\t/*\\n\\t\\t\\t * Animate active button\\'s icon.\\n\\t\\t\\t */\\n\\t\\t\\t& svg {\\n\\t\\t\\t\\t& polyline {\\n\\t\\t\\t\\t\\tanimation: ck-widget-type-around-arrow-dash 2s linear;\\n\\t\\t\\t\\t}\\n\\n\\t\\t\\t\\t& line {\\n\\t\\t\\t\\t\\tanimation: ck-widget-type-around-arrow-tip-dash 2s linear;\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Show type around buttons when the widget gets selected or being hovered.\\n\\t */\\n\\t&.ck-widget_selected,\\n\\t&:hover {\\n\\t\\t& > .ck-widget__type-around > .ck-widget__type-around__button {\\n\\t\\t\\t@mixin ck-widget-type-around-button-visible;\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the buttons when the widget is NOT selected (but the buttons are visible\\n\\t * and still can be hovered).\\n\\t */\\n\\t&:not(.ck-widget_selected) > .ck-widget__type-around > .ck-widget__type-around__button {\\n\\t\\tbackground: var(--ck-color-widget-type-around-button-hover);\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the buttons when:\\n\\t * - the widget is selected,\\n\\t * - or the button is being hovered (regardless of the widget state).\\n\\t */\\n\\t&.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button,\\n\\t& > .ck-widget__type-around > .ck-widget__type-around__button:hover {\\n\\t\\tbackground: var(--ck-color-widget-type-around-button-active);\\n\\n\\t\\t&::after {\\n\\t\\t\\twidth: calc(var(--ck-widget-type-around-button-size) - 2px);\\n\\t\\t\\theight: calc(var(--ck-widget-type-around-button-size) - 2px);\\n\\t\\t\\tborder-radius: 100px;\\n\\t\\t\\tbackground: linear-gradient(135deg, hsla(0,0%,100%,0) 0%, hsla(0,0%,100%,.3) 100%);\\n\\t\\t}\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the \"before\" button when the widget has a selection handle. Because some space\\n\\t * is consumed by the handle, the button must be moved slightly to the right to let it breathe.\\n\\t */\\n\\t&.ck-widget_with-selection-handle > .ck-widget__type-around > .ck-widget__type-around__button_before {\\n\\t\\tmargin-left: 20px;\\n\\t}\\n\\n\\t/*\\n\\t * Styles for the horizontal \"fake caret\" which is displayed when the user navigates using the keyboard.\\n\\t */\\n\\t& .ck-widget__type-around__fake-caret {\\n\\t\\tpointer-events: none;\\n\\t\\theight: 1px;\\n\\t\\tanimation: ck-widget-type-around-fake-caret-pulse linear 1s infinite normal forwards;\\n\\n\\t\\t/*\\n\\t\\t * The semi-transparent-outline+background combo improves the contrast\\n\\t\\t * when the background underneath the fake caret is dark.\\n\\t\\t */\\n\\t\\toutline: solid 1px hsla(0, 0%, 100%, .5);\\n\\t\\tbackground: var(--ck-color-base-text);\\n\\t}\\n\\n\\t/*\\n\\t * Styles of the widget when the \"fake caret\" is blinking (e.g. upon keyboard navigation).\\n\\t * Despite the widget being physically selected in the model, its outline should disappear.\\n\\t */\\n\\t&.ck-widget_selected {\\n\\t\\t&.ck-widget_type-around_show-fake-caret_before,\\n\\t\\t&.ck-widget_type-around_show-fake-caret_after {\\n\\t\\t\\toutline-color: transparent;\\n\\t\\t}\\n\\t}\\n\\n\\t&.ck-widget_type-around_show-fake-caret_before,\\n\\t&.ck-widget_type-around_show-fake-caret_after {\\n\\t\\t/*\\n\\t\\t * When the \"fake caret\" is visible we simulate that the widget is not selected\\n\\t\\t * (despite being physically selected), so the outline color should be for the\\n\\t\\t * unselected widget.\\n\\t\\t */\\n\\t\\t&.ck-widget_selected:hover {\\n\\t\\t\\toutline-color: var(--ck-color-widget-hover-border);\\n\\t\\t}\\n\\n\\t\\t/*\\n\\t\\t * Styles of the type around buttons when the \"fake caret\" is blinking (e.g. upon keyboard navigation).\\n\\t\\t * In this state, the type around buttons would collide with the fake carets so they should disappear.\\n\\t\\t */\\n\\t\\t& > .ck-widget__type-around > .ck-widget__type-around__button {\\n\\t\\t\\t@mixin ck-widget-type-around-button-hidden;\\n\\t\\t}\\n\\n\\t\\t/*\\n\\t\\t * Fake horizontal caret integration with the selection handle. When the caret is visible, simply\\n\\t\\t * hide the handle because it intersects with the caret (and does not make much sense anyway).\\n\\t\\t */\\n\\t\\t&.ck-widget_with-selection-handle {\\n\\t\\t\\t&.ck-widget_selected,\\n\\t\\t\\t&.ck-widget_selected:hover {\\n\\t\\t\\t\\t& > .ck-widget__selection-handle {\\n\\t\\t\\t\\t\\topacity: 0\\n\\t\\t\\t\\t}\\n\\t\\t\\t}\\n\\t\\t}\\n\\n\\t\\t/*\\n\\t\\t * Fake horizontal caret integration with the resize UI. When the caret is visible, simply\\n\\t\\t * hide the resize UI because it creates too much noise. It can be visible when the user\\n\\t\\t * hovers the widget, though.\\n\\t\\t */\\n\\t\\t&.ck-widget_selected.ck-widget_with-resizer > .ck-widget__resizer {\\n\\t\\t\\topacity: 0\\n\\t\\t}\\n\\t}\\n}\\n\\n/*\\n * Styles for the \"before\" button when the widget has a selection handle in an RTL environment.\\n * The selection handler is aligned to the right side of the widget so there is no need to create\\n * additional space for it next to the \"before\" button.\\n */\\n.ck[dir=\"rtl\"] .ck-widget.ck-widget_with-selection-handle .ck-widget__type-around > .ck-widget__type-around__button_before {\\n\\tmargin-left: 0;\\n\\tmargin-right: 20px;\\n}\\n\\n/*\\n * Hide type around buttons when the widget is selected as a child of a selected\\n * nested editable (e.g. mulit-cell table selection).\\n *\\n * See https://github.com/ckeditor/ckeditor5/issues/7263.\\n */\\n.ck-editor__nested-editable.ck-editor__editable_selected {\\n\\t& .ck-widget {\\n\\t\\t&.ck-widget_selected,\\n\\t\\t&:hover {\\n\\t\\t\\t& > .ck-widget__type-around > .ck-widget__type-around__button {\\n\\t\\t\\t\\t@mixin ck-widget-type-around-button-hidden;\\n\\t\\t\\t}\\n\\t\\t}\\n\\t}\\n}\\n\\n/*\\n * Styles for the buttons when the widget is selected but the user clicked outside of the editor (blurred the editor).\\n */\\n.ck-editor__editable.ck-blurred .ck-widget.ck-widget_selected > .ck-widget__type-around > .ck-widget__type-around__button:not(:hover) {\\n\\tbackground: var(--ck-color-widget-type-around-button-blurred-editable);\\n\\n\\t& svg * {\\n\\t\\tstroke: hsl(0,0%,60%);\\n\\t}\\n}\\n\\n@keyframes ck-widget-type-around-arrow-dash {\\n\\t0% {\\n\\t\\tstroke-dashoffset: 10;\\n\\t}\\n\\t20%, 100% {\\n\\t\\tstroke-dashoffset: 0;\\n\\t}\\n}\\n\\n@keyframes ck-widget-type-around-arrow-tip-dash {\\n\\t0%, 20% {\\n\\t\\tstroke-dashoffset: 7;\\n\\t}\\n\\t40%, 100% {\\n\\t\\tstroke-dashoffset: 0;\\n\\t}\\n}\\n\\n@keyframes ck-widget-type-around-button-sonar {\\n\\t0% {\\n\\t\\tbox-shadow: 0 0 0 0 hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha));\\n\\t}\\n\\t50% {\\n\\t\\tbox-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-end-alpha));\\n\\t}\\n\\t100% {\\n\\t\\tbox-shadow: 0 0 0 5px hsla(var(--ck-color-focus-border-coordinates), var(--ck-color-widget-type-around-button-radar-start-alpha));\\n\\t}\\n}\\n\\n@keyframes ck-widget-type-around-fake-caret-pulse {\\n\\t0% {\\n\\t\\topacity: 1;\\n\\t}\\n\\t49% {\\n\\t\\topacity: 1;\\n\\t}\\n\\t50% {\\n\\t\\topacity: 0;\\n\\t}\\n\\t99% {\\n\\t\\topacity: 0;\\n\\t}\\n\\t100% {\\n\\t\\topacity: 1;\\n\\t}\\n}\\n'],sourceRoot:\"\"}]);const a=s},3645:t=>{t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n=t(e);return e[2]?\"@media \".concat(e[2],\" {\").concat(n,\"}\"):n})).join(\"\")},e.i=function(t,n,i){\"string\"==typeof t&&(t=[[null,t,\"\"]]);var o={};if(i)for(var r=0;r{function e(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=t&&(\"undefined\"!=typeof Symbol&&t[Symbol.iterator]||t[\"@@iterator\"]);if(null==n)return;var i,o,r=[],s=!0,a=!1;try{for(n=n.call(t);!(s=(i=n.next()).done)&&(r.push(i.value),!e||r.length!==e);s=!0);}catch(t){a=!0,o=t}finally{try{s||null==n.return||n.return()}finally{if(a)throw o}}return r}(t,e)||function(t,e){if(!t)return;if(\"string\"==typeof t)return n(t,e);var i=Object.prototype.toString.call(t).slice(8,-1);\"Object\"===i&&t.constructor&&(i=t.constructor.name);if(\"Map\"===i||\"Set\"===i)return Array.from(t);if(\"Arguments\"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return n(t,e)}(t,e)||function(){throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\")}()}function n(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,i=new Array(e);n{var i,o=function(){return void 0===i&&(i=Boolean(window&&document&&document.all&&!window.atob)),i},r=function(){var t={};return function(e){if(void 0===t[e]){var n=document.querySelector(e);if(window.HTMLIFrameElement&&n instanceof window.HTMLIFrameElement)try{n=n.contentDocument.head}catch(t){n=null}t[e]=n}return t[e]}}(),s=[];function a(t){for(var e=-1,n=0;n{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},n.g=function(){if(\"object\"==typeof globalThis)return globalThis;try{return this||new Function(\"return this\")()}catch(t){if(\"object\"==typeof window)return window}}(),n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e);var i={};return(()=>{n.d(i,{default:()=>fD});const t=function(){return function t(){t.called=!0}};class e{constructor(e,n){this.source=e,this.name=n,this.path=[],this.stop=t(),this.off=t()}}const o=new Array(256).fill().map(((t,e)=>(\"0\"+e.toString(16)).slice(-2)));function r(){const t=4294967296*Math.random()>>>0,e=4294967296*Math.random()>>>0,n=4294967296*Math.random()>>>0,i=4294967296*Math.random()>>>0;return\"e\"+o[t>>0&255]+o[t>>8&255]+o[t>>16&255]+o[t>>24&255]+o[e>>0&255]+o[e>>8&255]+o[e>>16&255]+o[e>>24&255]+o[n>>0&255]+o[n>>8&255]+o[n>>16&255]+o[n>>24&255]+o[i>>0&255]+o[i>>8&255]+o[i>>16&255]+o[i>>24&255]}const s={get(t){return\"number\"!=typeof t?this[t]||this.normal:t},highest:1e5,high:1e3,normal:0,low:-1e3,lowest:-1e5};class a extends Error{constructor(t,e,n){super(`${t}${n?` ${JSON.stringify(n)}`:\"\"}${l(t)}`),this.name=\"CKEditorError\",this.context=e,this.data=n}is(t){return\"CKEditorError\"===t}static rethrowUnexpectedError(t,e){if(t.is&&t.is(\"CKEditorError\"))throw t;const n=new a(t.message,e);throw n.stack=t.stack,n}}function c(t,e){console.warn(...d(t,e))}function l(t){return`\\nRead more: https://ckeditor.com/docs/ckeditor5/latest/framework/guides/support/error-codes.html#error-${t}`}function d(t,e){const n=l(t);return e?[t,e,n]:[t,n]}const h=\"29.0.0\",u=\"object\"==typeof window?window:n.g;if(u.CKEDITOR_VERSION)throw new a(\"ckeditor-duplicated-modules\",null);u.CKEDITOR_VERSION=h;const m=Symbol(\"listeningTo\"),g=Symbol(\"emitterId\"),p={on(t,e,n={}){this.listenTo(this,t,e,n)},once(t,e,n){let i=!1;this.listenTo(this,t,(function(t,...n){i||(i=!0,t.off(),e.call(this,t,...n))}),n)},off(t,e){this.stopListening(this,t,e)},listenTo(t,e,n,i={}){let o,r;this[m]||(this[m]={});const s=this[m];k(t)||f(t);const a=k(t);(o=s[a])||(o=s[a]={emitter:t,callbacks:{}}),(r=o.callbacks[e])||(r=o.callbacks[e]=[]),r.push(n),function(t,e,n,i,o){e._addEventListener?e._addEventListener(n,i,o):t._addEventListener.call(e,n,i,o)}(this,t,e,n,i)},stopListening(t,e,n){const i=this[m];let o=t&&k(t);const r=i&&o&&i[o],s=r&&e&&r.callbacks[e];if(!(!i||t&&!r||e&&!s))if(n){_(this,t,e,n);-1!==s.indexOf(n)&&(1===s.length?delete r.callbacks[e]:_(this,t,e,n))}else if(s){for(;n=s.pop();)_(this,t,e,n);delete r.callbacks[e]}else if(r){for(e in r.callbacks)this.stopListening(t,e);delete i[o]}else{for(o in i)this.stopListening(i[o].emitter);delete this[m]}},fire(t,...n){try{const i=t instanceof e?t:new e(this,t),o=i.name;let r=C(this,o);if(i.path.push(this),r){const t=[i,...n];r=Array.from(r);for(let e=0;e{this._delegations||(this._delegations=new Map),t.forEach((t=>{const i=this._delegations.get(t);i?i.set(e,n):this._delegations.set(t,new Map([[e,n]]))}))}}},stopDelegating(t,e){if(this._delegations)if(t)if(e){const n=this._delegations.get(t);n&&n.delete(e)}else this._delegations.delete(t);else this._delegations.clear()},_addEventListener(t,e,n){!function(t,e){const n=b(t);if(n[e])return;let i=e,o=null;const r=[];for(;\"\"!==i&&!n[i];)n[i]={callbacks:[],childEvents:[]},r.push(n[i]),o&&n[i].childEvents.push(o),o=i,i=i.substr(0,i.lastIndexOf(\":\"));if(\"\"!==i){for(const t of r)t.callbacks=n[i].callbacks.slice();n[i].childEvents.push(o)}}(this,t);const i=w(this,t),o=s.get(n.priority),r={callback:e,priority:o};for(const t of i){let e=!1;for(let n=0;n-1?C(t,e.substr(0,e.lastIndexOf(\":\"))):null}function A(t,n,i){for(let[o,r]of t){r?\"function\"==typeof r&&(r=r(n.name)):r=n.name;const t=new e(n.source,r);t.path=[...n.path],o.fire(t,...i)}}function _(t,e,n,i){e._removeEventListener?e._removeEventListener(n,i):t._removeEventListener.call(e,n,i)}const v=function(t){var e=typeof t;return null!=t&&(\"object\"==e||\"function\"==e)};const y=\"object\"==typeof global&&global&&global.Object===Object&&global;var x=\"object\"==typeof self&&self&&self.Object===Object&&self;const E=y||x||Function(\"return this\")();const D=E.Symbol;var S=Object.prototype,I=S.hasOwnProperty,T=S.toString,M=D?D.toStringTag:void 0;const B=function(t){var e=I.call(t,M),n=t[M];try{t[M]=void 0;var i=!0}catch(t){}var o=T.call(t);return i&&(e?t[M]=n:delete t[M]),o};var N=Object.prototype.toString;const L=function(t){return N.call(t)};var z=D?D.toStringTag:void 0;const P=function(t){return null==t?void 0===t?\"[object Undefined]\":\"[object Null]\":z&&z in Object(t)?B(t):L(t)};const O=function(t){if(!v(t))return!1;var e=P(t);return\"[object Function]\"==e||\"[object GeneratorFunction]\"==e||\"[object AsyncFunction]\"==e||\"[object Proxy]\"==e};const R=E[\"__core-js_shared__\"];var F=function(){var t=/[^.]+$/.exec(R&&R.keys&&R.keys.IE_PROTO||\"\");return t?\"Symbol(src)_1.\"+t:\"\"}();const j=function(t){return!!F&&F in t};var V=Function.prototype.toString;const H=function(t){if(null!=t){try{return V.call(t)}catch(t){}try{return t+\"\"}catch(t){}}return\"\"};var U=/^\\[object .+?Constructor\\]$/,G=Function.prototype,q=Object.prototype,W=G.toString,K=q.hasOwnProperty,$=RegExp(\"^\"+W.call(K).replace(/[\\\\^$.*+?()[\\]{}|]/g,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\");const Y=function(t){return!(!v(t)||j(t))&&(O(t)?$:U).test(H(t))};const Z=function(t,e){return null==t?void 0:t[e]};const Q=function(t,e){var n=Z(t,e);return Y(n)?n:void 0};const J=function(){try{var t=Q(Object,\"defineProperty\");return t({},\"\",{}),t}catch(t){}}();const X=function(t,e,n){\"__proto__\"==e&&J?J(t,e,{configurable:!0,enumerable:!0,value:n,writable:!0}):t[e]=n};const tt=function(t,e){return t===e||t!=t&&e!=e};var et=Object.prototype.hasOwnProperty;const nt=function(t,e,n){var i=t[e];et.call(t,e)&&tt(i,n)&&(void 0!==n||e in t)||X(t,e,n)};const it=function(t,e,n,i){var o=!n;n||(n={});for(var r=-1,s=e.length;++r0){if(++e>=800)return arguments[0]}else e=0;return t.apply(void 0,arguments)}}(lt);const ut=function(t,e){return ht(at(t,e,ot),t+\"\")};const mt=function(t){return\"number\"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991};const gt=function(t){return null!=t&&mt(t.length)&&!O(t)};var pt=/^(?:0|[1-9]\\d*)$/;const ft=function(t,e){var n=typeof t;return!!(e=null==e?9007199254740991:e)&&(\"number\"==n||\"symbol\"!=n&&pt.test(t))&&t>-1&&t%1==0&&t1?n[o-1]:void 0,s=o>2?n[2]:void 0;for(r=t.length>3&&\"function\"==typeof r?(o--,r):void 0,s&&kt(n[0],n[1],s)&&(r=o<3?void 0:r,o=1),e=Object(e);++i{this.set(e,t[e])}),this);ie(this);const n=this[Zt];if(t in this&&!n.has(t))throw new a(\"observable-set-cannot-override\",this);Object.defineProperty(this,t,{enumerable:!0,configurable:!0,get:()=>n.get(t),set(e){const i=n.get(t);let o=this.fire(\"set:\"+t,t,e,i);void 0===o&&(o=e),i===o&&n.has(t)||(n.set(t,o),this.fire(\"change:\"+t,t,o,i))}}),this[t]=e},bind(...t){if(!t.length||!se(t))throw new a(\"observable-bind-wrong-properties\",this);if(new Set(t).size!==t.length)throw new a(\"observable-bind-duplicate-properties\",this);ie(this);const e=this[Jt];t.forEach((t=>{if(e.has(t))throw new a(\"observable-bind-rebind\",this)}));const n=new Map;return t.forEach((t=>{const i={property:t,to:[]};e.set(t,i),n.set(t,i)})),{to:oe,toMany:re,_observable:this,_bindProperties:t,_to:[],_bindings:n}},unbind(...t){if(!this[Zt])return;const e=this[Jt],n=this[Qt];if(t.length){if(!se(t))throw new a(\"observable-unbind-wrong-properties\",this);t.forEach((t=>{const i=e.get(t);if(!i)return;let o,r,s,a;i.to.forEach((t=>{o=t[0],r=t[1],s=n.get(o),a=s[r],a.delete(i),a.size||delete s[r],Object.keys(s).length||(n.delete(o),this.stopListening(o,\"change\"))})),e.delete(t)}))}else n.forEach(((t,e)=>{this.stopListening(e,\"change\")})),n.clear(),e.clear()},decorate(t){const e=this[t];if(!e)throw new a(\"observablemixin-cannot-decorate-undefined\",this,{object:this,methodName:t});this.on(t,((t,n)=>{t.return=e.apply(this,n)})),this[t]=function(...e){return this.fire(t,e)},this[t][te]=e,this[Xt]||(this[Xt]=[]),this[Xt].push(t)}};Yt(ee,p),ee.stopListening=function(t,e,n){if(!t&&this[Xt]){for(const t of this[Xt])this[t]=this[t][te];delete this[Xt]}p.stopListening.call(this,t,e,n)};const ne=ee;function ie(t){t[Zt]||(Object.defineProperty(t,Zt,{value:new Map}),Object.defineProperty(t,Qt,{value:new Map}),Object.defineProperty(t,Jt,{value:new Map}))}function oe(...t){const e=function(...t){if(!t.length)throw new a(\"observable-bind-to-parse-error\",null);const e={to:[]};let n;\"function\"==typeof t[t.length-1]&&(e.callback=t.pop());return t.forEach((t=>{if(\"string\"==typeof t)n.properties.push(t);else{if(\"object\"!=typeof t)throw new a(\"observable-bind-to-parse-error\",null);n={observable:t,properties:[]},e.to.push(n)}})),e}(...t),n=Array.from(this._bindings.keys()),i=n.length;if(!e.callback&&e.to.length>1)throw new a(\"observable-bind-to-no-callback\",this);if(i>1&&e.callback)throw new a(\"observable-bind-to-extra-callback\",this);var o;e.to.forEach((t=>{if(t.properties.length&&t.properties.length!==i)throw new a(\"observable-bind-to-properties-length\",this);t.properties.length||(t.properties=this._bindProperties)})),this._to=e.to,e.callback&&(this._bindings.get(n[0]).callback=e.callback),o=this._observable,this._to.forEach((t=>{const e=o[Qt];let n;e.get(t.observable)||o.listenTo(t.observable,\"change\",((i,r)=>{n=e.get(t.observable)[r],n&&n.forEach((t=>{ae(o,t.property)}))}))})),function(t){let e;t._bindings.forEach(((n,i)=>{t._to.forEach((o=>{e=o.properties[n.callback?0:t._bindProperties.indexOf(i)],n.to.push([o.observable,e]),function(t,e,n,i){const o=t[Qt],r=o.get(n),s=r||{};s[i]||(s[i]=new Set);s[i].add(e),r||o.set(n,s)}(t._observable,n,o.observable,e)}))}))}(this),this._bindProperties.forEach((t=>{ae(this._observable,t)}))}function re(t,e,n){if(this._bindings.size>1)throw new a(\"observable-bind-to-many-not-one-binding\",this);this.to(...function(t,e){const n=t.map((t=>[t,e]));return Array.prototype.concat.apply([],n)}(t,e),n)}function se(t){return t.every((t=>\"string\"==typeof t))}function ae(t,e){const n=t[Jt].get(e);let i;n.callback?i=n.callback.apply(t,n.to.map((t=>t[0][t[1]]))):(i=n.to[0],i=i[0][i[1]]),Object.prototype.hasOwnProperty.call(t,e)?t[e]=i:t.set(e,i)}function ce(t,...e){e.forEach((e=>{Object.getOwnPropertyNames(e).concat(Object.getOwnPropertySymbols(e)).forEach((n=>{if(n in t.prototype)return;const i=Object.getOwnPropertyDescriptor(e,n);i.enumerable=!1,Object.defineProperty(t.prototype,n,i)}))}))}class le{constructor(t){this.editor=t,this.set(\"isEnabled\",!0),this._disableStack=new Set}forceDisabled(t){this._disableStack.add(t),1==this._disableStack.size&&(this.on(\"set:isEnabled\",de,{priority:\"highest\"}),this.isEnabled=!1)}clearForceDisabled(t){this._disableStack.delete(t),0==this._disableStack.size&&(this.off(\"set:isEnabled\",de),this.isEnabled=!0)}destroy(){this.stopListening()}static get isContextPlugin(){return!1}}function de(t){t.return=!1,t.stop()}ce(le,ne);class he{constructor(t){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\",(()=>{this.refresh()})),this.on(\"execute\",(t=>{this.isEnabled||t.stop()}),{priority:\"high\"}),this.listenTo(t,\"change:isReadOnly\",((t,e,n)=>{n?this.forceDisabled(\"readOnlyMode\"):this.clearForceDisabled(\"readOnlyMode\")}))}refresh(){this.isEnabled=!0}forceDisabled(t){this._disableStack.add(t),1==this._disableStack.size&&(this.on(\"set:isEnabled\",ue,{priority:\"highest\"}),this.isEnabled=!1)}clearForceDisabled(t){this._disableStack.delete(t),0==this._disableStack.size&&(this.off(\"set:isEnabled\",ue),this.refresh())}execute(){}destroy(){this.stopListening()}}function ue(t){t.return=!1,t.stop()}ce(he,ne);class me extends he{constructor(t){super(t),this._childCommands=[]}refresh(){}execute(...t){const e=this._getFirstEnabledCommand();return null!=e&&e.execute(t)}registerChildCommand(t){this._childCommands.push(t),t.on(\"change:isEnabled\",(()=>this._checkEnabled())),this._checkEnabled()}_checkEnabled(){this.isEnabled=!!this._getFirstEnabledCommand()}_getFirstEnabledCommand(){return this._childCommands.find((t=>t.isEnabled))}}const ge=function(t,e){return function(n){return t(e(n))}};const pe=ge(Object.getPrototypeOf,Object);var fe=Function.prototype,ke=Object.prototype,be=fe.toString,we=ke.hasOwnProperty,Ce=be.call(Object);const Ae=function(t){if(!Ct(t)||\"[object Object]\"!=P(t))return!1;var e=pe(t);if(null===e)return!0;var n=we.call(e,\"constructor\")&&e.constructor;return\"function\"==typeof n&&n instanceof n&&be.call(n)==Ce};const _e=function(){this.__data__=[],this.size=0};const ve=function(t,e){for(var n=t.length;n--;)if(tt(t[n][0],e))return n;return-1};var ye=Array.prototype.splice;const xe=function(t){var e=this.__data__,n=ve(e,t);return!(n<0)&&(n==e.length-1?e.pop():ye.call(e,n,1),--this.size,!0)};const Ee=function(t){var e=this.__data__,n=ve(e,t);return n<0?void 0:e[n][1]};const De=function(t){return ve(this.__data__,t)>-1};const Se=function(t,e){var n=this.__data__,i=ve(n,t);return i<0?(++this.size,n.push([t,e])):n[i][1]=e,this};function Ie(t){var e=-1,n=null==t?0:t.length;for(this.clear();++e{this._setToTarget(t,i,e[i],n)}))}}function Ai(t){return bi(t,_i)}function _i(t){return wi(t)?t:void 0}function vi(t){return!(!t||!t[Symbol.iterator])}class yi{constructor(t={},e={}){const n=vi(t);if(n||(e=t),this._items=[],this._itemMap=new Map,this._idProperty=e.idProperty||\"id\",this._bindToExternalToInternalMap=new WeakMap,this._bindToInternalToExternalMap=new WeakMap,this._skippedIndexesFromExternal=[],n)for(const e of t)this._items.push(e),this._itemMap.set(this._getItemIdBeforeAdding(e),e)}get length(){return this._items.length}get first(){return this._items[0]||null}get last(){return this._items[this.length-1]||null}add(t,e){return this.addMany([t],e)}addMany(t,e){if(void 0===e)e=this._items.length;else if(e>this._items.length||e<0)throw new a(\"collection-add-item-invalid-index\",this);for(let n=0;n{this._setUpBindToBinding((e=>new t(e)))},using:t=>{\"function\"==typeof t?this._setUpBindToBinding((e=>t(e))):this._setUpBindToBinding((e=>e[t]))}}}_setUpBindToBinding(t){const e=this._bindToCollection,n=(n,i,o)=>{const r=e._bindToCollection==this,s=e._bindToInternalToExternalMap.get(i);if(r&&s)this._bindToExternalToInternalMap.set(i,s),this._bindToInternalToExternalMap.set(s,i);else{const n=t(i);if(!n)return void this._skippedIndexesFromExternal.push(o);let r=o;for(const t of this._skippedIndexesFromExternal)o>t&&r--;for(const t of e._skippedIndexesFromExternal)r>=t&&r++;this._bindToExternalToInternalMap.set(i,n),this._bindToInternalToExternalMap.set(n,i),this.add(n,r);for(let t=0;t{const i=this._bindToExternalToInternalMap.get(e);i&&this.remove(i),this._skippedIndexesFromExternal=this._skippedIndexesFromExternal.reduce(((t,e)=>(ne&&t.push(e),t)),[])}))}_getItemIdBeforeAdding(t){const e=this._idProperty;let n;if(e in t){if(n=t[e],\"string\"!=typeof n)throw new a(\"collection-add-invalid-id\",this);if(this.get(n))throw new a(\"collection-add-item-already-exists\",this)}else t[e]=n=r();return n}_remove(t){let e,n,i,o=!1;const r=this._idProperty;if(\"string\"==typeof t?(n=t,i=this._itemMap.get(n),o=!i,i&&(e=this._items.indexOf(i))):\"number\"==typeof t?(e=t,i=this._items[e],o=!i,i&&(n=i[r])):(i=t,n=i[r],e=this._items.indexOf(i),o=-1==e||!this._itemMap.get(n)),o)throw new a(\"collection-remove-404\",this);this._items.splice(e,1),this._itemMap.delete(n);const s=this._bindToInternalToExternalMap.get(i);return this._bindToInternalToExternalMap.delete(i),this._bindToExternalToInternalMap.delete(s),this.fire(\"remove\",i,e),[i,e]}[Symbol.iterator](){return this._items[Symbol.iterator]()}}ce(yi,p);class xi{constructor(t,e=[],n=[]){this._context=t,this._plugins=new Map,this._availablePlugins=new Map;for(const t of e)t.pluginName&&this._availablePlugins.set(t.pluginName,t);this._contextPlugins=new Map;for(const[t,e]of n)this._contextPlugins.set(t,e),this._contextPlugins.set(e,t),t.pluginName&&this._availablePlugins.set(t.pluginName,t)}*[Symbol.iterator](){for(const t of this._plugins)\"function\"==typeof t[0]&&(yield t)}get(t){const e=this._plugins.get(t);if(!e){let e=t;throw\"function\"==typeof t&&(e=t.pluginName||t.name),new a(\"plugincollection-plugin-not-loaded\",this._context,{plugin:e})}return e}has(t){return this._plugins.has(t)}init(t,e=[],n=[]){const i=this,o=this._context;!function t(e,n=new Set){e.forEach((e=>{c(e)&&(n.has(e)||(n.add(e),e.pluginName&&!i._availablePlugins.has(e.pluginName)&&i._availablePlugins.set(e.pluginName,e),e.requires&&t(e.requires,n)))}))}(t),u(t);const r=[...function t(e,n=new Set){return e.map((t=>c(t)?t:i._availablePlugins.get(t))).reduce(((e,i)=>n.has(i)?e:(n.add(i),i.requires&&(u(i.requires,i),t(i.requires,n).forEach((t=>e.add(t)))),e.add(i))),new Set)}(t.filter((t=>!d(t,e))))];!function(t,e){for(const n of e){if(\"function\"!=typeof n)throw new a(\"plugincollection-replace-plugin-invalid-type\",null,{pluginItem:n});const e=n.pluginName;if(!e)throw new a(\"plugincollection-replace-plugin-missing-name\",null,{pluginItem:n});if(n.requires&&n.requires.length)throw new a(\"plugincollection-plugin-for-replacing-cannot-have-dependencies\",null,{pluginName:e});const o=i._availablePlugins.get(e);if(!o)throw new a(\"plugincollection-plugin-for-replacing-not-exist\",null,{pluginName:e});const r=t.indexOf(o);if(-1===r){if(i._contextPlugins.has(o))return;throw new a(\"plugincollection-plugin-for-replacing-not-loaded\",null,{pluginName:e})}if(o.requires&&o.requires.length)throw new a(\"plugincollection-replaced-plugin-cannot-have-dependencies\",null,{pluginName:e});t.splice(r,1,n),i._availablePlugins.set(e,n)}}(r,n);const s=function(t){return t.map((t=>{const e=i._contextPlugins.get(t)||new t(o);return i._add(t,e),e}))}(r);return m(s,\"init\").then((()=>m(s,\"afterInit\"))).then((()=>s));function c(t){return\"function\"==typeof t}function l(t){return c(t)&&t.isContextPlugin}function d(t,e){return e.some((e=>e===t||(h(t)===e||h(e)===t)))}function h(t){return c(t)?t.pluginName||t.name:t}function u(t,n=null){t.map((t=>c(t)?t:i._availablePlugins.get(t)||t)).forEach((t=>{!function(t,e){if(c(t))return;if(e)throw new a(\"plugincollection-soft-required\",o,{missingPlugin:t,requiredBy:h(e)});throw new a(\"plugincollection-plugin-not-found\",o,{plugin:t})}(t,n),function(t,e){if(!l(e))return;if(l(t))return;throw new a(\"plugincollection-context-required\",o,{plugin:h(t),requiredBy:h(e)})}(t,n),function(t,n){if(!n)return;if(!d(t,e))return;throw new a(\"plugincollection-required\",o,{plugin:h(t),requiredBy:h(n)})}(t,n)}))}function m(t,e){return t.reduce(((t,n)=>n[e]?i._contextPlugins.has(n)?t:t.then(n[e].bind(n)):t),Promise.resolve())}}destroy(){const t=[];for(const[,e]of this)\"function\"!=typeof e.destroy||this._contextPlugins.has(e)||t.push(e.destroy());return Promise.all(t)}_add(t,e){this._plugins.set(t,e);const n=t.pluginName;if(n){if(this._plugins.has(n))throw new a(\"plugincollection-plugin-name-conflict\",null,{pluginName:n,plugin1:this._plugins.get(n).constructor,plugin2:t});this._plugins.set(n,e)}}}function Ei(t){return Array.isArray(t)?t:[t]}function Di(t,e,n=1){if(\"number\"!=typeof n)throw new a(\"translation-service-quantity-not-a-number\",null,{quantity:n});const i=Object.keys(window.CKEDITOR_TRANSLATIONS).length;1===i&&(t=Object.keys(window.CKEDITOR_TRANSLATIONS)[0]);const o=e.id||e.string;if(0===i||!function(t,e){return!!window.CKEDITOR_TRANSLATIONS[t]&&!!window.CKEDITOR_TRANSLATIONS[t].dictionary[e]}(t,o))return 1!==n?e.plural:e.string;const r=window.CKEDITOR_TRANSLATIONS[t].dictionary,s=window.CKEDITOR_TRANSLATIONS[t].getPluralForm||(t=>1===t?0:1);if(\"string\"==typeof r[o])return r[o];const c=Number(s(n));return r[o][c]}ce(xi,p),window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={});const Si=[\"ar\",\"ara\",\"fa\",\"per\",\"fas\",\"he\",\"heb\",\"ku\",\"kur\",\"ug\",\"uig\"];function Ii(t){return Si.includes(t)?\"rtl\":\"ltr\"}class Ti{constructor(t={}){this.uiLanguage=t.uiLanguage||\"en\",this.contentLanguage=t.contentLanguage||this.uiLanguage,this.uiLanguageDirection=Ii(this.uiLanguage),this.contentLanguageDirection=Ii(this.contentLanguage),this.t=(t,e)=>this._t(t,e)}get language(){return console.warn(\"locale-deprecated-language-property: The Locale#language property has been deprecated and will be removed in the near future. Please use #uiLanguage and #contentLanguage properties instead.\"),this.uiLanguage}_t(t,e=[]){e=Ei(e),\"string\"==typeof t&&(t={string:t});const n=!!t.plural?e[0]:1;return function(t,e){return t.replace(/%(\\d+)/g,((t,n)=>nt.destroy()))).then((()=>this.plugins.destroy()))}_addEditor(t,e){if(this._contextOwner)throw new a(\"context-addeditor-private-context\");this.editors.add(t),e&&(this._contextOwner=t)}_removeEditor(t){return this.editors.has(t)&&this.editors.remove(t),this._contextOwner===t?this.destroy():Promise.resolve()}_getEditorConfig(){const t={};for(const e of this.config.names())[\"plugins\",\"removePlugins\",\"extraPlugins\"].includes(e)||(t[e]=this.config.get(e));return t}static create(t){return new Promise((e=>{const n=new this(t);e(n.initPlugins().then((()=>n)))}))}}class Bi{constructor(t){this.context=t}destroy(){this.stopListening()}static get isContextPlugin(){return!0}}function Ni(t,e){const n=Math.min(t.length,e.length);for(let i=0;it.data.length)throw new a(\"view-textproxy-wrong-offsetintext\",this);if(n<0||e+n>t.data.length)throw new a(\"view-textproxy-wrong-length\",this);this.data=t.data.substring(e,e+n),this.offsetInText=e}get offsetSize(){return this.data.length}get isPartial(){return this.data.length!==this.textNode.data.length}get parent(){return this.textNode.parent}get root(){return this.textNode.root}get document(){return this.textNode.document}is(t){return\"$textProxy\"===t||\"view:$textProxy\"===t||\"textProxy\"===t||\"view:textProxy\"===t}getAncestors(t={includeSelf:!1,parentFirst:!1}){const e=[];let n=t.includeSelf?this.textNode:this.parent;for(;null!==n;)e[t.parentFirst?\"push\":\"unshift\"](n),n=n.parent;return e}}function Ri(t){return vi(t)?new Map(t):function(t){const e=new Map;for(const n in t)e.set(n,t[n]);return e}(t)}class Fi{constructor(...t){this._patterns=[],this.add(...t)}add(...t){for(let e of t)(\"string\"==typeof e||e instanceof RegExp)&&(e={name:e}),this._patterns.push(e)}match(...t){for(const e of t)for(const t of this._patterns){const n=ji(e,t);if(n)return{element:e,pattern:t,match:n}}return null}matchAll(...t){const e=[];for(const n of t)for(const t of this._patterns){const i=ji(n,t);i&&e.push({element:n,pattern:t,match:i})}return e.length>0?e:null}getElementName(){if(1!==this._patterns.length)return null;const t=this._patterns[0],e=t.name;return\"function\"==typeof t||!e||e instanceof RegExp?null:e}}function ji(t,e){if(\"function\"==typeof e)return e(t);const n={};return e.name&&(n.name=function(t,e){if(t instanceof RegExp)return t.test(e);return t===e}(e.name,t.name),!n.name)||e.attributes&&(n.attributes=function(t,e){return Vi(t,e.getAttributeKeys(),(t=>e.getAttribute(t)))}(e.attributes,t),!n.attributes)?null:!(e.classes&&(n.classes=function(t,e){return Vi(t,e.getClassNames())}(e.classes,t),!n.classes))&&(!(e.styles&&(n.styles=function(t,e){return Vi(t,e.getStyleNames(!0),(t=>e.getStyle(t)))}(e.styles,t),!n.styles))&&n)}function Vi(t,e,n){const i=function(t){if(Array.isArray(t))return t.map((t=>Ae(t)?(void 0!==t.key&&void 0!==t.value||c(\"matcher-pattern-missing-key-or-value\",t),[t.key,t.value]):[t,!0]));if(Ae(t))return Object.entries(t);return[[t,!0]]}(t),o=Array.from(e),r=[];return i.forEach((([t,e])=>{o.forEach((i=>{(function(t,e){return!0===t||t===e||t instanceof RegExp&&t.test(e)})(t,i)&&function(t,e,n){if(!0===t)return!0;const i=n(e);return t===i||t instanceof RegExp&&t.test(i)}(e,i,n)&&r.push(i)}))})),!i.length||r.lengtho?0:o+e),(n=n>o?o:n)<0&&(n+=o),o=e>n?0:n-e>>>0,e>>>=0;for(var r=Array(o);++ie===t));return Array.isArray(e)}set(t,e){if(v(t))for(const[e,n]of Object.entries(t))this._styleProcessor.toNormalizedForm(e,n,this._styles);else this._styleProcessor.toNormalizedForm(t,e,this._styles)}remove(t){const e=yo(t);lo(this._styles,e),delete this._styles[t],this._cleanEmptyObjectsOnPath(e)}getNormalized(t){return this._styleProcessor.getNormalized(t,this._styles)}toString(){return this.isEmpty?\"\":this._getStylesEntries().map((t=>t.join(\":\"))).sort().join(\";\")+\";\"}getAsString(t){if(this.isEmpty)return;if(this._styles[t]&&!v(this._styles[t]))return this._styles[t];const e=this._styleProcessor.getReducedForm(t,this._styles).find((([e])=>e===t));return Array.isArray(e)?e[1]:void 0}getStyleNames(t=!1){if(this.isEmpty)return[];if(t)return this._styleProcessor.getStyleNames(this._styles);return this._getStylesEntries().map((([t])=>t))}clear(){this._styles={}}_getStylesEntries(){const t=[],e=Object.keys(this._styles);for(const n of e)t.push(...this._styleProcessor.getReducedForm(n,this._styles));return t}_cleanEmptyObjectsOnPath(t){const e=t.split(\".\");if(!(e.length>1))return;const n=e.splice(0,e.length-1).join(\".\"),i=ho(this._styles,n);if(!i)return;!Array.from(Object.keys(i)).length&&this.remove(n)}}class vo{constructor(){this._normalizers=new Map,this._extractors=new Map,this._reducers=new Map,this._consumables=new Map}toNormalizedForm(t,e,n){if(v(e))xo(n,yo(t),e);else if(this._normalizers.has(t)){const i=this._normalizers.get(t),{path:o,value:r}=i(e);xo(n,o,r)}else xo(n,t,e)}getNormalized(t,e){if(!t)return wo({},e);if(void 0!==e[t])return e[t];if(this._extractors.has(t)){const n=this._extractors.get(t);if(\"string\"==typeof n)return ho(e,n);const i=n(t,e);if(i)return i}return ho(e,yo(t))}getReducedForm(t,e){const n=this.getNormalized(t,e);if(void 0===n)return[];if(this._reducers.has(t)){return this._reducers.get(t)(n)}return[[t,n]]}getStyleNames(t){const e=Array.from(this._consumables.keys()).filter((e=>{const n=this.getNormalized(e,t);return n&&\"object\"==typeof n?Object.keys(n).length:n})),n=new Set([...e,...Object.keys(t)]);return Array.from(n.values())}getRelatedStyles(t){return this._consumables.get(t)||[]}setNormalizer(t,e){this._normalizers.set(t,e)}setExtractor(t,e){this._extractors.set(t,e)}setReducer(t,e){this._reducers.set(t,e)}setStyleRelation(t,e){this._mapStyleNames(t,e);for(const n of e)this._mapStyleNames(n,[t])}_mapStyleNames(t,e){this._consumables.has(t)||this._consumables.set(t,[]),this._consumables.get(t).push(...e)}}function yo(t){return t.replace(\"-\",\".\")}function xo(t,e,n){let i=n;v(n)&&(i=wo({},ho(t,e),n)),Ao(t,e,i)}class Eo extends zi{constructor(t,e,n,i){if(super(t),this.name=e,this._attrs=function(t){t=Ri(t);for(const[e,n]of t)null===n?t.delete(e):\"string\"!=typeof n&&t.set(e,String(n));return t}(n),this._children=[],i&&this._insertChild(0,i),this._classes=new Set,this._attrs.has(\"class\")){const t=this._attrs.get(\"class\");Do(this._classes,t),this._attrs.delete(\"class\")}this._styles=new _o(this.document.stylesProcessor),this._attrs.has(\"style\")&&(this._styles.setTo(this._attrs.get(\"style\")),this._attrs.delete(\"style\")),this._customProperties=new Map,this._isAllowedInsideAttributeElement=!1}get childCount(){return this._children.length}get isEmpty(){return 0===this._children.length}get isAllowedInsideAttributeElement(){return this._isAllowedInsideAttributeElement}is(t,e=null){return e?e===this.name&&(\"element\"===t||\"view:element\"===t):\"element\"===t||\"view:element\"===t||\"node\"===t||\"view:node\"===t}getChild(t){return this._children[t]}getChildIndex(t){return this._children.indexOf(t)}getChildren(){return this._children[Symbol.iterator]()}*getAttributeKeys(){this._classes.size>0&&(yield\"class\"),this._styles.isEmpty||(yield\"style\"),yield*this._attrs.keys()}*getAttributes(){yield*this._attrs.entries(),this._classes.size>0&&(yield[\"class\",this.getAttribute(\"class\")]),this._styles.isEmpty||(yield[\"style\",this.getAttribute(\"style\")])}getAttribute(t){if(\"class\"==t)return this._classes.size>0?[...this._classes].join(\" \"):void 0;if(\"style\"==t){const t=this._styles.toString();return\"\"==t?void 0:t}return this._attrs.get(t)}hasAttribute(t){return\"class\"==t?this._classes.size>0:\"style\"==t?!this._styles.isEmpty:this._attrs.has(t)}isSimilar(t){if(!(t instanceof Eo))return!1;if(this===t)return!0;if(this.name!=t.name)return!1;if(this.isAllowedInsideAttributeElement!=t.isAllowedInsideAttributeElement)return!1;if(this._attrs.size!==t._attrs.size||this._classes.size!==t._classes.size||this._styles.size!==t._styles.size)return!1;for(const[e,n]of this._attrs)if(!t._attrs.has(e)||t._attrs.get(e)!==n)return!1;for(const e of this._classes)if(!t._classes.has(e))return!1;for(const e of this._styles.getStyleNames())if(!t._styles.has(e)||t._styles.getAsString(e)!==this._styles.getAsString(e))return!1;return!0}hasClass(...t){for(const e of t)if(!this._classes.has(e))return!1;return!0}getClassNames(){return this._classes.keys()}getStyle(t){return this._styles.getAsString(t)}getNormalizedStyle(t){return this._styles.getNormalized(t)}getStyleNames(t=!1){return this._styles.getStyleNames(t)}hasStyle(...t){for(const e of t)if(!this._styles.has(e))return!1;return!0}findAncestor(...t){const e=new Fi(...t);let n=this.parent;for(;n;){if(e.match(n))return n;n=n.parent}return null}getCustomProperty(t){return this._customProperties.get(t)}*getCustomProperties(){yield*this._customProperties.entries()}getIdentity(){const t=Array.from(this._classes).sort().join(\",\"),e=this._styles.toString(),n=Array.from(this._attrs).map((t=>`${t[0]}=\"${t[1]}\"`)).sort().join(\" \");return this.name+(\"\"==t?\"\":` class=\"${t}\"`)+(e?` style=\"${e}\"`:\"\")+(\"\"==n?\"\":` ${n}`)}_clone(t=!1){const e=[];if(t)for(const n of this.getChildren())e.push(n._clone(t));const n=new this.constructor(this.document,this.name,this._attrs,e);return n._classes=new Set(this._classes),n._styles.set(this._styles.getNormalized()),n._customProperties=new Map(this._customProperties),n.getFillerOffset=this.getFillerOffset,n._isAllowedInsideAttributeElement=this.isAllowedInsideAttributeElement,n}_appendChild(t){return this._insertChild(this.childCount,t)}_insertChild(t,e){this._fireChange(\"children\",this);let n=0;const i=function(t,e){if(\"string\"==typeof e)return[new Pi(t,e)];vi(e)||(e=[e]);return Array.from(e).map((e=>\"string\"==typeof e?new Pi(t,e):e instanceof Oi?new Pi(t,e.data):e))}(this.document,e);for(const e of i)null!==e.parent&&e._remove(),e.parent=this,e.document=this.document,this._children.splice(t,0,e),t++,n++;return n}_removeChildren(t,e=1){this._fireChange(\"children\",this);for(let n=t;n0&&(this._classes.clear(),!0):\"style\"==t?!this._styles.isEmpty&&(this._styles.clear(),!0):this._attrs.delete(t)}_addClass(t){this._fireChange(\"attributes\",this);for(const e of Ei(t))this._classes.add(e)}_removeClass(t){this._fireChange(\"attributes\",this);for(const e of Ei(t))this._classes.delete(e)}_setStyle(t,e){this._fireChange(\"attributes\",this),this._styles.set(t,e)}_removeStyle(t){this._fireChange(\"attributes\",this);for(const e of Ei(t))this._styles.remove(e)}_setCustomProperty(t,e){this._customProperties.set(t,e)}_removeCustomProperty(t){return this._customProperties.delete(t)}}function Do(t,e){const n=e.split(/\\s+/);t.clear(),n.forEach((e=>t.add(e)))}class So extends Eo{constructor(t,e,n,i){super(t,e,n,i),this.getFillerOffset=Io}is(t,e=null){return e?e===this.name&&(\"containerElement\"===t||\"view:containerElement\"===t||\"element\"===t||\"view:element\"===t):\"containerElement\"===t||\"view:containerElement\"===t||\"element\"===t||\"view:element\"===t||\"node\"===t||\"view:node\"===t}}function Io(){const t=[...this.getChildren()],e=t[this.childCount-1];if(e&&e.is(\"element\",\"br\"))return this.childCount;for(const e of t)if(!e.is(\"uiElement\"))return null;return this.childCount}class To extends So{constructor(t,e,n,i){super(t,e,n,i),this.set(\"isReadOnly\",!1),this.set(\"isFocused\",!1),this.bind(\"isReadOnly\").to(t),this.bind(\"isFocused\").to(t,\"isFocused\",(e=>e&&t.selection.editableElement==this)),this.listenTo(t.selection,\"change\",(()=>{this.isFocused=t.isFocused&&t.selection.editableElement==this}))}is(t,e=null){return e?e===this.name&&(\"editableElement\"===t||\"view:editableElement\"===t||\"containerElement\"===t||\"view:containerElement\"===t||\"element\"===t||\"view:element\"===t):\"editableElement\"===t||\"view:editableElement\"===t||\"containerElement\"===t||\"view:containerElement\"===t||\"element\"===t||\"view:element\"===t||\"node\"===t||\"view:node\"===t}destroy(){this.stopListening()}}ce(To,ne);const Mo=Symbol(\"rootName\");class Bo extends To{constructor(t,e){super(t,e),this.rootName=\"main\"}is(t,e=null){return e?e===this.name&&(\"rootElement\"===t||\"view:rootElement\"===t||\"editableElement\"===t||\"view:editableElement\"===t||\"containerElement\"===t||\"view:containerElement\"===t||\"element\"===t||\"view:element\"===t):\"rootElement\"===t||\"view:rootElement\"===t||\"editableElement\"===t||\"view:editableElement\"===t||\"containerElement\"===t||\"view:containerElement\"===t||\"element\"===t||\"view:element\"===t||\"node\"===t||\"view:node\"===t}get rootName(){return this.getCustomProperty(Mo)}set rootName(t){this._setCustomProperty(Mo,t)}set _name(t){this.name=t}}class No{constructor(t={}){if(!t.boundaries&&!t.startPosition)throw new a(\"view-tree-walker-no-start-position\",null);if(t.direction&&\"forward\"!=t.direction&&\"backward\"!=t.direction)throw new a(\"view-tree-walker-unknown-direction\",t.startPosition,{direction:t.direction});this.boundaries=t.boundaries||null,t.startPosition?this.position=Lo._createAt(t.startPosition):this.position=Lo._createAt(t.boundaries[\"backward\"==t.direction?\"end\":\"start\"]),this.direction=t.direction||\"forward\",this.singleCharacters=!!t.singleCharacters,this.shallow=!!t.shallow,this.ignoreElementEnd=!!t.ignoreElementEnd,this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null,this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null}[Symbol.iterator](){return this}skip(t){let e,n,i;do{i=this.position,({done:e,value:n}=this.next())}while(!e&&t(n));e||(this.position=i)}next(){return\"forward\"==this.direction?this._next():this._previous()}_next(){let t=this.position.clone();const e=this.position,n=t.parent;if(null===n.parent&&t.offset===n.childCount)return{done:!0};if(n===this._boundaryEndParent&&t.offset==this.boundaries.end.offset)return{done:!0};let i;if(n instanceof Pi){if(t.isAtEnd)return this.position=Lo._createAfter(n),this._next();i=n.data[t.offset]}else i=n.getChild(t.offset);if(i instanceof Eo)return this.shallow?t.offset++:t=new Lo(i,0),this.position=t,this._formatReturnValue(\"elementStart\",i,e,t,1);if(i instanceof Pi){if(this.singleCharacters)return t=new Lo(i,0),this.position=t,this._next();{let n,o=i.data.length;return i==this._boundaryEndParent?(o=this.boundaries.end.offset,n=new Oi(i,0,o),t=Lo._createAfter(n)):(n=new Oi(i,0,i.data.length),t.offset++),this.position=t,this._formatReturnValue(\"text\",n,e,t,o)}}if(\"string\"==typeof i){let i;if(this.singleCharacters)i=1;else{i=(n===this._boundaryEndParent?this.boundaries.end.offset:n.data.length)-t.offset}const o=new Oi(n,t.offset,i);return t.offset+=i,this.position=t,this._formatReturnValue(\"text\",o,e,t,i)}return t=Lo._createAfter(n),this.position=t,this.ignoreElementEnd?this._next():this._formatReturnValue(\"elementEnd\",n,e,t)}_previous(){let t=this.position.clone();const e=this.position,n=t.parent;if(null===n.parent&&0===t.offset)return{done:!0};if(n==this._boundaryStartParent&&t.offset==this.boundaries.start.offset)return{done:!0};let i;if(n instanceof Pi){if(t.isAtStart)return this.position=Lo._createBefore(n),this._previous();i=n.data[t.offset-1]}else i=n.getChild(t.offset-1);if(i instanceof Eo)return this.shallow?(t.offset--,this.position=t,this._formatReturnValue(\"elementStart\",i,e,t,1)):(t=new Lo(i,i.childCount),this.position=t,this.ignoreElementEnd?this._previous():this._formatReturnValue(\"elementEnd\",i,e,t));if(i instanceof Pi){if(this.singleCharacters)return t=new Lo(i,i.data.length),this.position=t,this._previous();{let n,o=i.data.length;if(i==this._boundaryStartParent){const e=this.boundaries.start.offset;n=new Oi(i,e,i.data.length-e),o=n.data.length,t=Lo._createBefore(n)}else n=new Oi(i,0,i.data.length),t.offset--;return this.position=t,this._formatReturnValue(\"text\",n,e,t,o)}}if(\"string\"==typeof i){let i;if(this.singleCharacters)i=1;else{const e=n===this._boundaryStartParent?this.boundaries.start.offset:0;i=t.offset-e}t.offset-=i;const o=new Oi(n,t.offset,i);return this.position=t,this._formatReturnValue(\"text\",o,e,t,i)}return t=Lo._createBefore(n),this.position=t,this._formatReturnValue(\"elementStart\",n,e,t,1)}_formatReturnValue(t,e,n,i,o){return e instanceof Oi&&(e.offsetInText+e.data.length==e.textNode.data.length&&(\"forward\"!=this.direction||this.boundaries&&this.boundaries.end.isEqual(this.position)?n=Lo._createAfter(e.textNode):(i=Lo._createAfter(e.textNode),this.position=i)),0===e.offsetInText&&(\"backward\"!=this.direction||this.boundaries&&this.boundaries.start.isEqual(this.position)?n=Lo._createBefore(e.textNode):(i=Lo._createBefore(e.textNode),this.position=i))),{done:!1,value:{type:t,item:e,previousPosition:n,nextPosition:i,length:o}}}}class Lo{constructor(t,e){this.parent=t,this.offset=e}get nodeAfter(){return this.parent.is(\"$text\")?null:this.parent.getChild(this.offset)||null}get nodeBefore(){return this.parent.is(\"$text\")?null:this.parent.getChild(this.offset-1)||null}get isAtStart(){return 0===this.offset}get isAtEnd(){const t=this.parent.is(\"$text\")?this.parent.data.length:this.parent.childCount;return this.offset===t}get root(){return this.parent.root}get editableElement(){let t=this.parent;for(;!(t instanceof To);){if(!t.parent)return null;t=t.parent}return t}getShiftedBy(t){const e=Lo._createAt(this),n=e.offset+t;return e.offset=n<0?0:n,e}getLastMatchingPosition(t,e={}){e.startPosition=this;const n=new No(e);return n.skip(t),n.position}getAncestors(){return this.parent.is(\"documentFragment\")?[this.parent]:this.parent.getAncestors({includeSelf:!0})}getCommonAncestor(t){const e=this.getAncestors(),n=t.getAncestors();let i=0;for(;e[i]==n[i]&&e[i];)i++;return 0===i?null:e[i-1]}is(t){return\"position\"===t||\"view:position\"===t}isEqual(t){return this.parent==t.parent&&this.offset==t.offset}isBefore(t){return\"before\"==this.compareWith(t)}isAfter(t){return\"after\"==this.compareWith(t)}compareWith(t){if(this.root!==t.root)return\"different\";if(this.isEqual(t))return\"same\";const e=this.parent.is(\"node\")?this.parent.getPath():[],n=t.parent.is(\"node\")?t.parent.getPath():[];e.push(this.offset),n.push(t.offset);const i=Ni(e,n);switch(i){case\"prefix\":return\"before\";case\"extension\":return\"after\";default:return e[i]0?new this(n,i):new this(i,n)}static _createIn(t){return this._createFromParentsAndOffsets(t,0,t,t.childCount)}static _createOn(t){const e=t.is(\"$textProxy\")?t.offsetSize:1;return this._createFromPositionAndShift(Lo._createBefore(t),e)}}function Po(t){return!(!t.item.is(\"attributeElement\")&&!t.item.is(\"uiElement\"))}function Oo(t){let e=0;for(const n of t)e++;return e}class Ro{constructor(t=null,e,n){this._ranges=[],this._lastRangeBackward=!1,this._isFake=!1,this._fakeSelectionLabel=\"\",this.setTo(t,e,n)}get isFake(){return this._isFake}get fakeSelectionLabel(){return this._fakeSelectionLabel}get anchor(){if(!this._ranges.length)return null;const t=this._ranges[this._ranges.length-1];return(this._lastRangeBackward?t.end:t.start).clone()}get focus(){if(!this._ranges.length)return null;const t=this._ranges[this._ranges.length-1];return(this._lastRangeBackward?t.start:t.end).clone()}get isCollapsed(){return 1===this.rangeCount&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}get editableElement(){return this.anchor?this.anchor.editableElement:null}*getRanges(){for(const t of this._ranges)yield t.clone()}getFirstRange(){let t=null;for(const e of this._ranges)t&&!e.start.isBefore(t.start)||(t=e);return t?t.clone():null}getLastRange(){let t=null;for(const e of this._ranges)t&&!e.end.isAfter(t.end)||(t=e);return t?t.clone():null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}isEqual(t){if(this.isFake!=t.isFake)return!1;if(this.isFake&&this.fakeSelectionLabel!=t.fakeSelectionLabel)return!1;if(this.rangeCount!=t.rangeCount)return!1;if(0===this.rangeCount)return!0;if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus))return!1;for(const e of this._ranges){let n=!1;for(const i of t._ranges)if(e.isEqual(i)){n=!0;break}if(!n)return!1}return!0}isSimilar(t){if(this.isBackward!=t.isBackward)return!1;const e=Oo(this.getRanges());if(e!=Oo(t.getRanges()))return!1;if(0==e)return!0;for(let e of this.getRanges()){e=e.getTrimmed();let n=!1;for(let i of t.getRanges())if(i=i.getTrimmed(),e.start.isEqual(i.start)&&e.end.isEqual(i.end)){n=!0;break}if(!n)return!1}return!0}getSelectedElement(){return 1!==this.rangeCount?null:this.getFirstRange().getContainedElement()}setTo(t,e,n){if(null===t)this._setRanges([]),this._setFakeOptions(e);else if(t instanceof Ro||t instanceof Fo)this._setRanges(t.getRanges(),t.isBackward),this._setFakeOptions({fake:t.isFake,label:t.fakeSelectionLabel});else if(t instanceof zo)this._setRanges([t],e&&e.backward),this._setFakeOptions(e);else if(t instanceof Lo)this._setRanges([new zo(t)]),this._setFakeOptions(e);else if(t instanceof zi){const i=!!n&&!!n.backward;let o;if(void 0===e)throw new a(\"view-selection-setto-required-second-parameter\",this);o=\"in\"==e?zo._createIn(t):\"on\"==e?zo._createOn(t):new zo(Lo._createAt(t,e)),this._setRanges([o],i),this._setFakeOptions(n)}else{if(!vi(t))throw new a(\"view-selection-setto-not-selectable\",this);this._setRanges(t,e&&e.backward),this._setFakeOptions(e)}this.fire(\"change\")}setFocus(t,e){if(null===this.anchor)throw new a(\"view-selection-setfocus-no-ranges\",this);const n=Lo._createAt(t,e);if(\"same\"==n.compareWith(this.focus))return;const i=this.anchor;this._ranges.pop(),\"before\"==n.compareWith(i)?this._addRange(new zo(n,i),!0):this._addRange(new zo(i,n)),this.fire(\"change\")}is(t){return\"selection\"===t||\"view:selection\"===t}_setRanges(t,e=!1){t=Array.from(t),this._ranges=[];for(const e of t)this._addRange(e);this._lastRangeBackward=!!e}_setFakeOptions(t={}){this._isFake=!!t.fake,this._fakeSelectionLabel=t.fake&&t.label||\"\"}_addRange(t,e=!1){if(!(t instanceof zo))throw new a(\"view-selection-add-range-not-range\",this);this._pushRange(t),this._lastRangeBackward=!!e}_pushRange(t){for(const e of this._ranges)if(t.isIntersecting(e))throw new a(\"view-selection-range-intersects\",this,{addedRange:t,intersectingRange:e});this._ranges.push(new zo(t.start,t.end))}}ce(Ro,p);class Fo{constructor(t=null,e,n){this._selection=new Ro,this._selection.delegate(\"change\").to(this),this._selection.setTo(t,e,n)}get isFake(){return this._selection.isFake}get fakeSelectionLabel(){return this._selection.fakeSelectionLabel}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get isCollapsed(){return this._selection.isCollapsed}get rangeCount(){return this._selection.rangeCount}get isBackward(){return this._selection.isBackward}get editableElement(){return this._selection.editableElement}get _ranges(){return this._selection._ranges}*getRanges(){yield*this._selection.getRanges()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getSelectedElement(){return this._selection.getSelectedElement()}isEqual(t){return this._selection.isEqual(t)}isSimilar(t){return this._selection.isSimilar(t)}is(t){return\"selection\"===t||\"documentSelection\"==t||\"view:selection\"==t||\"view:documentSelection\"==t}_setTo(t,e,n){this._selection.setTo(t,e,n)}_setFocus(t,e){this._selection.setFocus(t,e)}}ce(Fo,p);class jo extends e{constructor(t,e,n){super(t,e),this.startRange=n,this._eventPhase=\"none\",this._currentTarget=null}get eventPhase(){return this._eventPhase}get currentTarget(){return this._currentTarget}}const Vo=Symbol(\"bubbling contexts\"),Ho={fire(t,...n){try{const i=t instanceof e?t:new e(this,t),o=Wo(this);if(!o.size)return;if(Uo(i,\"capturing\",this),Go(o,\"$capture\",i,...n))return i.return;const r=i.startRange||this.selection.getFirstRange(),s=r?r.getContainedElement():null,a=!!s&&Boolean(qo(o,s));let c=s||function(t){if(!t)return null;const e=t.start.parent,n=t.end.parent,i=e.getPath(),o=n.getPath();return i.length>o.length?e:n}(r);if(Uo(i,\"atTarget\",c),!a){if(Go(o,\"$text\",i,...n))return i.return;Uo(i,\"bubbling\",c)}for(;c;){if(c.is(\"rootElement\")){if(Go(o,\"$root\",i,...n))return i.return}else if(c.is(\"element\")&&Go(o,c.name,i,...n))return i.return;if(Go(o,c,i,...n))return i.return;c=c.parent,Uo(i,\"bubbling\",c)}return Uo(i,\"bubbling\",this),Go(o,\"$document\",i,...n),i.return}catch(t){a.rethrowUnexpectedError(t,this)}},_addEventListener(t,e,n){const i=Ei(n.context||\"$document\"),o=Wo(this);for(const r of i){let i=o.get(r);i||(i=Object.create(p),o.set(r,i)),this.listenTo(i,t,e,n)}},_removeEventListener(t,e){const n=Wo(this);for(const i of n.values())this.stopListening(i,t,e)}};function Uo(t,e,n){t instanceof jo&&(t._eventPhase=e,t._currentTarget=n)}function Go(t,e,n,...i){const o=\"string\"==typeof e?t.get(e):qo(t,e);return!!o&&(o.fire(n,...i),n.stop.called)}function qo(t,e){for(const[n,i]of t)if(\"function\"==typeof n&&n(e))return i;return null}function Wo(t){return t[Vo]||(t[Vo]=new Map),t[Vo]}class Ko{constructor(t){this.selection=new Fo,this.roots=new yi({idProperty:\"rootName\"}),this.stylesProcessor=t,this.set(\"isReadOnly\",!1),this.set(\"isFocused\",!1),this.set(\"isComposing\",!1),this._postFixers=new Set}getRoot(t=\"main\"){return this.roots.get(t)}registerPostFixer(t){this._postFixers.add(t)}destroy(){this.roots.map((t=>t.destroy())),this.stopListening()}_callPostFixers(t){let e=!1;do{for(const n of this._postFixers)if(e=n(t),e)break}while(e)}}ce(Ko,Ho),ce(Ko,ne);class $o extends Eo{constructor(t,e,n,i){super(t,e,n,i),this.getFillerOffset=Yo,this._priority=10,this._id=null,this._clonesGroup=null}get priority(){return this._priority}get id(){return this._id}getElementsWithSameId(){if(null===this.id)throw new a(\"attribute-element-get-elements-with-same-id-no-id\",this);return new Set(this._clonesGroup)}is(t,e=null){return e?e===this.name&&(\"attributeElement\"===t||\"view:attributeElement\"===t||\"element\"===t||\"view:element\"===t):\"attributeElement\"===t||\"view:attributeElement\"===t||\"element\"===t||\"view:element\"===t||\"node\"===t||\"view:node\"===t}isSimilar(t){return null!==this.id||null!==t.id?this.id===t.id:super.isSimilar(t)&&this.priority==t.priority}_clone(t){const e=super._clone(t);return e._priority=this._priority,e._id=this._id,e}}function Yo(){if(Zo(this))return null;let t=this.parent;for(;t&&t.is(\"attributeElement\");){if(Zo(t)>1)return null;t=t.parent}return!t||Zo(t)>1?null:this.childCount}function Zo(t){return Array.from(t.getChildren()).filter((t=>!t.is(\"uiElement\"))).length}$o.DEFAULT_PRIORITY=10;class Qo extends Eo{constructor(t,e,n,i){super(t,e,n,i),this._isAllowedInsideAttributeElement=!0,this.getFillerOffset=Jo}is(t,e=null){return e?e===this.name&&(\"emptyElement\"===t||\"view:emptyElement\"===t||\"element\"===t||\"view:element\"===t):\"emptyElement\"===t||\"view:emptyElement\"===t||\"element\"===t||\"view:element\"===t||\"node\"===t||\"view:node\"===t}_insertChild(t,e){if(e&&(e instanceof zi||Array.from(e).length>0))throw new a(\"view-emptyelement-cannot-add\",[this,e])}}function Jo(){return null}const Xo=navigator.userAgent.toLowerCase(),tr={isMac:function(t){return t.indexOf(\"macintosh\")>-1}(Xo),isGecko:function(t){return!!t.match(/gecko\\/\\d+/)}(Xo),isSafari:function(t){return t.indexOf(\" applewebkit/\")>-1&&-1===t.indexOf(\"chrome\")}(Xo),isAndroid:function(t){return t.indexOf(\"android\")>-1}(Xo),isBlink:function(t){return t.indexOf(\"chrome/\")>-1&&t.indexOf(\"edge/\")<0}(Xo),features:{isRegExpUnicodePropertySupported:function(){let t=!1;try{t=0===\"ć\".search(new RegExp(\"[\\\\p{L}]\",\"u\"))}catch(t){}return t}()}};const er={ctrl:\"⌃\",cmd:\"⌘\",alt:\"⌥\",shift:\"⇧\"},nr={ctrl:\"Ctrl+\",alt:\"Alt+\",shift:\"Shift+\"},ir=function(){const t={arrowleft:37,arrowup:38,arrowright:39,arrowdown:40,backspace:8,delete:46,enter:13,space:32,esc:27,tab:9,ctrl:1114112,shift:2228224,alt:4456448,cmd:8912896};for(let e=65;e<=90;e++){const n=String.fromCharCode(e);t[n.toLowerCase()]=e}for(let e=48;e<=57;e++)t[e-48]=e;for(let e=112;e<=123;e++)t[\"f\"+(e-111)]=e;return t}(),or=Object.fromEntries(Object.entries(ir).map((([t,e])=>[e,t.charAt(0).toUpperCase()+t.slice(1)])));function rr(t){let e;if(\"string\"==typeof t){if(e=ir[t.toLowerCase()],!e)throw new a(\"keyboard-unknown-key\",null,{key:t})}else e=t.keyCode+(t.altKey?ir.alt:0)+(t.ctrlKey?ir.ctrl:0)+(t.shiftKey?ir.shift:0)+(t.metaKey?ir.cmd:0);return e}function sr(t){return\"string\"==typeof t&&(t=function(t){return t.split(\"+\").map((t=>t.trim()))}(t)),t.map((t=>\"string\"==typeof t?function(t){if(t.endsWith(\"!\"))return rr(t.slice(0,-1));const e=rr(t);return tr.isMac&&e==ir.ctrl?ir.cmd:e}(t):t)).reduce(((t,e)=>e+t),0)}function ar(t){let e=sr(t);return Object.entries(tr.isMac?er:nr).reduce(((t,[n,i])=>(0!=(e&ir[n])&&(e&=~ir[n],t+=i),t)),\"\")+(e?or[e]:\"\")}function cr(t,e){const n=\"ltr\"===e;switch(t){case ir.arrowleft:return n?\"left\":\"right\";case ir.arrowright:return n?\"right\":\"left\";case ir.arrowup:return\"up\";case ir.arrowdown:return\"down\"}}function lr(t,e){const n=cr(t,e);return\"down\"===n||\"right\"===n}class dr extends Eo{constructor(t,e,n,i){super(t,e,n,i),this._isAllowedInsideAttributeElement=!0,this.getFillerOffset=ur}is(t,e=null){return e?e===this.name&&(\"uiElement\"===t||\"view:uiElement\"===t||\"element\"===t||\"view:element\"===t):\"uiElement\"===t||\"view:uiElement\"===t||\"element\"===t||\"view:element\"===t||\"node\"===t||\"view:node\"===t}_insertChild(t,e){if(e&&(e instanceof zi||Array.from(e).length>0))throw new a(\"view-uielement-cannot-add\",this)}render(t){return this.toDomElement(t)}toDomElement(t){const e=t.createElement(this.name);for(const t of this.getAttributeKeys())e.setAttribute(t,this.getAttribute(t));return e}}function hr(t){t.document.on(\"arrowKey\",((e,n)=>function(t,e,n){if(e.keyCode==ir.arrowright){const t=e.domTarget.ownerDocument.defaultView.getSelection(),i=1==t.rangeCount&&t.getRangeAt(0).collapsed;if(i||e.shiftKey){const e=t.focusNode,o=t.focusOffset,r=n.domPositionToView(e,o);if(null===r)return;let s=!1;const a=r.getLastMatchingPosition((t=>(t.item.is(\"uiElement\")&&(s=!0),!(!t.item.is(\"uiElement\")&&!t.item.is(\"attributeElement\")))));if(s){const e=n.viewPositionToDom(a);i?t.collapse(e.parent,e.offset):t.extend(e.parent,e.offset)}}}}(0,n,t.domConverter)),{priority:\"low\"})}function ur(){return null}class mr extends Eo{constructor(t,e,n,i){super(t,e,n,i),this._isAllowedInsideAttributeElement=!0,this.getFillerOffset=gr}is(t,e=null){return e?e===this.name&&(\"rawElement\"===t||\"view:rawElement\"===t||\"element\"===t||\"view:element\"===t):\"rawElement\"===t||\"view:rawElement\"===t||t===this.name||t===\"view:\"+this.name||\"element\"===t||\"view:element\"===t||\"node\"===t||\"view:node\"===t}_insertChild(t,e){if(e&&(e instanceof zi||Array.from(e).length>0))throw new a(\"view-rawelement-cannot-add\",[this,e])}}function gr(){return null}class pr{constructor(t,e){this.document=t,this._children=[],e&&this._insertChild(0,e)}[Symbol.iterator](){return this._children[Symbol.iterator]()}get childCount(){return this._children.length}get isEmpty(){return 0===this.childCount}get root(){return this}get parent(){return null}is(t){return\"documentFragment\"===t||\"view:documentFragment\"===t}_appendChild(t){return this._insertChild(this.childCount,t)}getChild(t){return this._children[t]}getChildIndex(t){return this._children.indexOf(t)}getChildren(){return this._children[Symbol.iterator]()}_insertChild(t,e){this._fireChange(\"children\",this);let n=0;const i=function(t,e){if(\"string\"==typeof e)return[new Pi(t,e)];vi(e)||(e=[e]);return Array.from(e).map((e=>\"string\"==typeof e?new Pi(t,e):e instanceof Oi?new Pi(t,e.data):e))}(this.document,e);for(const e of i)null!==e.parent&&e._remove(),e.parent=this,this._children.splice(t,0,e),t++,n++;return n}_removeChildren(t,e=1){this._fireChange(\"children\",this);for(let n=t;n{}),void 0!==i.isAllowedInsideAttributeElement&&(o._isAllowedInsideAttributeElement=i.isAllowedInsideAttributeElement),o}setAttribute(t,e,n){n._setAttribute(t,e)}removeAttribute(t,e){e._removeAttribute(t)}addClass(t,e){e._addClass(t)}removeClass(t,e){e._removeClass(t)}setStyle(t,e,n){Ae(t)&&void 0===n&&(n=e),n._setStyle(t,e)}removeStyle(t,e){e._removeStyle(t)}setCustomProperty(t,e,n){n._setCustomProperty(t,e)}removeCustomProperty(t,e){return e._removeCustomProperty(t)}breakAttributes(t){return t instanceof Lo?this._breakAttributes(t):this._breakAttributesRange(t)}breakContainer(t){const e=t.parent;if(!e.is(\"containerElement\"))throw new a(\"view-writer-break-non-container-element\",this.document);if(!e.parent)throw new a(\"view-writer-break-root\",this.document);if(t.isAtStart)return Lo._createBefore(e);if(!t.isAtEnd){const n=e._clone(!1);this.insert(Lo._createAfter(e),n);const i=new zo(t,Lo._createAt(e,\"end\")),o=new Lo(n,0);this.move(i,o)}return Lo._createAfter(e)}mergeAttributes(t){const e=t.offset,n=t.parent;if(n.is(\"$text\"))return t;if(n.is(\"attributeElement\")&&0===n.childCount){const t=n.parent,e=n.index;return n._remove(),this._removeFromClonedElementsGroup(n),this.mergeAttributes(new Lo(t,e))}const i=n.getChild(e-1),o=n.getChild(e);if(!i||!o)return t;if(i.is(\"$text\")&&o.is(\"$text\"))return Ar(i,o);if(i.is(\"attributeElement\")&&o.is(\"attributeElement\")&&i.isSimilar(o)){const t=i.childCount;return i._appendChild(o.getChildren()),o._remove(),this._removeFromClonedElementsGroup(o),this.mergeAttributes(new Lo(i,t))}return t}mergeContainers(t){const e=t.nodeBefore,n=t.nodeAfter;if(!(e&&n&&e.is(\"containerElement\")&&n.is(\"containerElement\")))throw new a(\"view-writer-merge-containers-invalid-position\",this.document);const i=e.getChild(e.childCount-1),o=i instanceof Pi?Lo._createAt(i,\"end\"):Lo._createAt(e,\"end\");return this.move(zo._createIn(n),Lo._createAt(e,\"end\")),this.remove(zo._createOn(n)),o}insert(t,e){_r(e=vi(e)?[...e]:[e],this.document);const n=e.reduce(((t,e)=>{const n=t[t.length-1],i=!(e.is(\"uiElement\")&&e.isAllowedInsideAttributeElement);return n&&n.breakAttributes==i?n.nodes.push(e):t.push({breakAttributes:i,nodes:[e]}),t}),[]);let i=null,o=t;for(const{nodes:t,breakAttributes:e}of n){const n=this._insertNodes(o,t,e);i||(i=n.start),o=n.end}return i?new zo(i,o):new zo(t)}remove(t){const e=t instanceof zo?t:zo._createOn(t);if(xr(e,this.document),e.isCollapsed)return new pr(this.document);const{start:n,end:i}=this._breakAttributesRange(e,!0),o=n.parent,r=i.offset-n.offset,s=o._removeChildren(n.offset,r);for(const t of s)this._removeFromClonedElementsGroup(t);const a=this.mergeAttributes(n);return e.start=a,e.end=a.clone(),new pr(this.document,s)}clear(t,e){xr(t,this.document);const n=t.getWalker({direction:\"backward\",ignoreElementEnd:!0});for(const i of n){const n=i.item;let o;if(n.is(\"element\")&&e.isSimilar(n))o=zo._createOn(n);else if(!i.nextPosition.isAfter(t.start)&&n.is(\"$textProxy\")){const t=n.getAncestors().find((t=>t.is(\"element\")&&e.isSimilar(t)));t&&(o=zo._createIn(t))}o&&(o.end.isAfter(t.end)&&(o.end=t.end),o.start.isBefore(t.start)&&(o.start=t.start),this.remove(o))}}move(t,e){let n;if(e.isAfter(t.end)){const i=(e=this._breakAttributes(e,!0)).parent,o=i.childCount;t=this._breakAttributesRange(t,!0),n=this.remove(t),e.offset+=i.childCount-o}else n=this.remove(t);return this.insert(e,n)}wrap(t,e){if(!(e instanceof $o))throw new a(\"view-writer-wrap-invalid-attribute\",this.document);if(xr(t,this.document),t.isCollapsed){let i=t.start;i.parent.is(\"element\")&&(n=i.parent,!Array.from(n.getChildren()).some((t=>!t.is(\"uiElement\"))))&&(i=i.getLastMatchingPosition((t=>t.item.is(\"uiElement\")))),i=this._wrapPosition(i,e);const o=this.document.selection;return o.isCollapsed&&o.getFirstPosition().isEqual(t.start)&&this.setSelection(i),new zo(i)}return this._wrapRange(t,e);var n}unwrap(t,e){if(!(e instanceof $o))throw new a(\"view-writer-unwrap-invalid-attribute\",this.document);if(xr(t,this.document),t.isCollapsed)return t;const{start:n,end:i}=this._breakAttributesRange(t,!0),o=n.parent,r=this._unwrapChildren(o,n.offset,i.offset,e),s=this.mergeAttributes(r.start);s.isEqual(r.start)||r.end.offset--;const c=this.mergeAttributes(r.end);return new zo(s,c)}rename(t,e){const n=new So(this.document,t,e.getAttributes());return this.insert(Lo._createAfter(e),n),this.move(zo._createIn(e),Lo._createAt(n,0)),this.remove(zo._createOn(e)),n}clearClonedElementsGroup(t){this._cloneGroups.delete(t)}createPositionAt(t,e){return Lo._createAt(t,e)}createPositionAfter(t){return Lo._createAfter(t)}createPositionBefore(t){return Lo._createBefore(t)}createRange(t,e){return new zo(t,e)}createRangeOn(t){return zo._createOn(t)}createRangeIn(t){return zo._createIn(t)}createSelection(t,e,n){return new Ro(t,e,n)}_insertNodes(t,e,n){let i,o;if(i=n?kr(t):t.parent.is(\"$text\")?t.parent.parent:t.parent,!i)throw new a(\"view-writer-invalid-position-container\",this.document);o=n?this._breakAttributes(t,!0):t.parent.is(\"$text\")?Cr(t):t;const r=i._insertChild(o.offset,e);for(const t of e)this._addToClonedElementsGroup(t);const s=o.getShiftedBy(r),c=this.mergeAttributes(o);c.isEqual(o)||s.offset--;const l=this.mergeAttributes(s);return new zo(c,l)}_wrapChildren(t,e,n,i){let o=e;const r=[];for(;o!1,t.parent._insertChild(t.offset,n);const i=new zo(t,t.getShiftedBy(1));this.wrap(i,e);const o=new Lo(n.parent,n.index);n._remove();const r=o.nodeBefore,s=o.nodeAfter;return r instanceof Pi&&s instanceof Pi?Ar(r,s):wr(o)}_wrapAttributeElement(t,e){if(!Er(t,e))return!1;if(t.name!==e.name||t.priority!==e.priority)return!1;for(const n of t.getAttributeKeys())if(\"class\"!==n&&\"style\"!==n&&e.hasAttribute(n)&&e.getAttribute(n)!==t.getAttribute(n))return!1;for(const n of t.getStyleNames())if(e.hasStyle(n)&&e.getStyle(n)!==t.getStyle(n))return!1;for(const n of t.getAttributeKeys())\"class\"!==n&&\"style\"!==n&&(e.hasAttribute(n)||this.setAttribute(n,t.getAttribute(n),e));for(const n of t.getStyleNames())e.hasStyle(n)||this.setStyle(n,t.getStyle(n),e);for(const n of t.getClassNames())e.hasClass(n)||this.addClass(n,e);return!0}_unwrapAttributeElement(t,e){if(!Er(t,e))return!1;if(t.name!==e.name||t.priority!==e.priority)return!1;for(const n of t.getAttributeKeys())if(\"class\"!==n&&\"style\"!==n&&(!e.hasAttribute(n)||e.getAttribute(n)!==t.getAttribute(n)))return!1;if(!e.hasClass(...t.getClassNames()))return!1;for(const n of t.getStyleNames())if(!e.hasStyle(n)||e.getStyle(n)!==t.getStyle(n))return!1;for(const n of t.getAttributeKeys())\"class\"!==n&&\"style\"!==n&&this.removeAttribute(n,e);return this.removeClass(Array.from(t.getClassNames()),e),this.removeStyle(Array.from(t.getStyleNames()),e),!0}_breakAttributesRange(t,e=!1){const n=t.start,i=t.end;if(xr(t,this.document),t.isCollapsed){const n=this._breakAttributes(t.start,e);return new zo(n,n)}const o=this._breakAttributes(i,e),r=o.parent.childCount,s=this._breakAttributes(n,e);return o.offset+=o.parent.childCount-r,new zo(s,o)}_breakAttributes(t,e=!1){const n=t.offset,i=t.parent;if(t.parent.is(\"emptyElement\"))throw new a(\"view-writer-cannot-break-empty-element\",this.document);if(t.parent.is(\"uiElement\"))throw new a(\"view-writer-cannot-break-ui-element\",this.document);if(t.parent.is(\"rawElement\"))throw new a(\"view-writer-cannot-break-raw-element\",this.document);if(!e&&i.is(\"$text\")&&yr(i.parent))return t.clone();if(yr(i))return t.clone();if(i.is(\"$text\"))return this._breakAttributes(Cr(t),e);if(n==i.childCount){const t=new Lo(i.parent,i.index+1);return this._breakAttributes(t,e)}if(0===n){const t=new Lo(i.parent,i.index);return this._breakAttributes(t,e)}{const t=i.index+1,o=i._clone();i.parent._insertChild(t,o),this._addToClonedElementsGroup(o);const r=i.childCount-n,s=i._removeChildren(n,r);o._appendChild(s);const a=new Lo(i.parent,t);return this._breakAttributes(a,e)}}_addToClonedElementsGroup(t){if(!t.root.is(\"rootElement\"))return;if(t.is(\"element\"))for(const e of t.getChildren())this._addToClonedElementsGroup(e);const e=t.id;if(!e)return;let n=this._cloneGroups.get(e);n||(n=new Set,this._cloneGroups.set(e,n)),n.add(t),t._clonesGroup=n}_removeFromClonedElementsGroup(t){if(t.is(\"element\"))for(const e of t.getChildren())this._removeFromClonedElementsGroup(e);const e=t.id;if(!e)return;const n=this._cloneGroups.get(e);n&&n.delete(t)}}function kr(t){let e=t.parent;for(;!yr(e);){if(!e)return;e=e.parent}return e}function br(t,e){return t.prioritye.priority)&&t.getIdentity()n instanceof t)))throw new a(\"view-writer-insert-invalid-node-type\",e);n.is(\"$text\")||_r(n.getChildren(),e)}}const vr=[Pi,$o,So,Qo,mr,dr];function yr(t){return t&&(t.is(\"containerElement\")||t.is(\"documentFragment\"))}function xr(t,e){const n=kr(t.start),i=kr(t.end);if(!n||!i||n!==i)throw new a(\"view-writer-invalid-range-container\",e)}function Er(t,e){return null===t.id&&null===e.id}function Dr(t){return\"[object Text]\"==Object.prototype.toString.call(t)}const Sr=t=>t.createTextNode(\" \"),Ir=t=>{const e=t.createElement(\"span\");return e.dataset.ckeFiller=!0,e.innerHTML=\" \",e},Tr=t=>{const e=t.createElement(\"br\");return e.dataset.ckeFiller=!0,e},Mr=\"\".repeat(7);function Br(t){return Dr(t)&&t.data.substr(0,7)===Mr}function Nr(t){return 7==t.data.length&&Br(t)}function Lr(t){return Br(t)?t.data.slice(7):t.data}function zr(t,e){if(e.keyCode==ir.arrowleft){const t=e.domTarget.ownerDocument.defaultView.getSelection();if(1==t.rangeCount&&t.getRangeAt(0).collapsed){const e=t.getRangeAt(0).startContainer,n=t.getRangeAt(0).startOffset;Br(e)&&n<=7&&t.collapse(e,0)}}}function Pr(t,e,n,i=!1){n=n||function(t,e){return t===e},Array.isArray(t)||(t=Array.prototype.slice.call(t)),Array.isArray(e)||(e=Array.prototype.slice.call(e));const o=function(t,e,n){const i=Or(t,e,n);if(-1===i)return{firstIndex:-1,lastIndexOld:-1,lastIndexNew:-1};const o=Rr(t,i),r=Rr(e,i),s=Or(o,r,n),a=t.length-s,c=e.length-s;return{firstIndex:i,lastIndexOld:a,lastIndexNew:c}}(t,e,n);return i?function(t,e){const{firstIndex:n,lastIndexOld:i,lastIndexNew:o}=t;if(-1===n)return Array(e).fill(\"equal\");let r=[];n>0&&(r=r.concat(Array(n).fill(\"equal\")));o-n>0&&(r=r.concat(Array(o-n).fill(\"insert\")));i-n>0&&(r=r.concat(Array(i-n).fill(\"delete\")));o0&&n.push({index:i,type:\"insert\",values:t.slice(i,r)});o-i>0&&n.push({index:i+(r-i),type:\"delete\",howMany:o-i});return n}(e,o)}function Or(t,e,n){for(let i=0;i200||o>200||i+o>300)return Fr.fastDiff(t,e,n,!0);let r,s;if(ol?-1:1;d[i+u]&&(d[i]=d[i+u].slice(0)),d[i]||(d[i]=[]),d[i].push(o>l?r:s);let m=Math.max(o,l),g=m-i;for(;gl;m--)h[m]=u(m);h[l]=u(l),g++}while(h[l]!==c);return d[l].slice(1)}function jr(t,e,n){t.insertBefore(n,t.childNodes[e]||null)}function Vr(t){const e=t.parentNode;e&&e.removeChild(t)}function Hr(t){if(t){if(t.defaultView)return t instanceof t.defaultView.Document;if(t.ownerDocument&&t.ownerDocument.defaultView)return t instanceof t.ownerDocument.defaultView.Node}return!1}Fr.fastDiff=Pr;class Ur{constructor(t,e){this.domDocuments=new Set,this.domConverter=t,this.markedAttributes=new Set,this.markedChildren=new Set,this.markedTexts=new Set,this.selection=e,this.isFocused=!1,this._inlineFiller=null,this._fakeSelectionContainer=null}markToSync(t,e){if(\"text\"===t)this.domConverter.mapViewToDom(e.parent)&&this.markedTexts.add(e);else{if(!this.domConverter.mapViewToDom(e))return;if(\"attributes\"===t)this.markedAttributes.add(e);else{if(\"children\"!==t)throw new a(\"view-renderer-unknown-type\",this);this.markedChildren.add(e)}}}render(){let t;for(const t of this.markedChildren)this._updateChildrenMappings(t);this._inlineFiller&&!this._isSelectionInInlineFiller()&&this._removeInlineFiller(),this._inlineFiller?t=this._getInlineFillerPosition():this._needsInlineFillerAtSelection()&&(t=this.selection.getFirstPosition(),this.markedChildren.add(t.parent));for(const t of this.markedAttributes)this._updateAttrs(t);for(const e of this.markedChildren)this._updateChildren(e,{inlineFillerPosition:t});for(const e of this.markedTexts)!this.markedChildren.has(e.parent)&&this.domConverter.mapViewToDom(e.parent)&&this._updateText(e,{inlineFillerPosition:t});if(t){const e=this.domConverter.viewPositionToDom(t),n=e.parent.ownerDocument;Br(e.parent)?this._inlineFiller=e.parent:this._inlineFiller=Gr(n,e.parent,e.offset)}else this._inlineFiller=null;this._updateFocus(),this._updateSelection(),this.markedTexts.clear(),this.markedAttributes.clear(),this.markedChildren.clear()}_updateChildrenMappings(t){const e=this.domConverter.mapViewToDom(t);if(!e)return;const n=Array.from(this.domConverter.mapViewToDom(t).childNodes),i=Array.from(this.domConverter.viewChildrenToDom(t,e.ownerDocument,{withChildren:!1})),o=this._diffNodeLists(n,i),r=this._findReplaceActions(o,n,i);if(-1!==r.indexOf(\"replace\")){const e={equal:0,insert:0,delete:0};for(const o of r)if(\"replace\"===o){const o=e.equal+e.insert,r=e.equal+e.delete,s=t.getChild(o);!s||s.is(\"uiElement\")||s.is(\"rawElement\")||this._updateElementMappings(s,n[r]),Vr(i[o]),e.equal++}else e[o]++}}_updateElementMappings(t,e){this.domConverter.unbindDomElement(e),this.domConverter.bindElements(e,t),this.markedChildren.add(t),this.markedAttributes.add(t)}_getInlineFillerPosition(){const t=this.selection.getFirstPosition();return t.parent.is(\"$text\")?Lo._createBefore(this.selection.getFirstPosition().parent):t}_isSelectionInInlineFiller(){if(1!=this.selection.rangeCount||!this.selection.isCollapsed)return!1;const t=this.selection.getFirstPosition(),e=this.domConverter.viewPositionToDom(t);return!!(e&&Dr(e.parent)&&Br(e.parent))}_removeInlineFiller(){const t=this._inlineFiller;if(!Br(t))throw new a(\"view-renderer-filler-was-lost\",this);Nr(t)?t.parentNode.removeChild(t):t.data=t.data.substr(7),this._inlineFiller=null}_needsInlineFillerAtSelection(){if(1!=this.selection.rangeCount||!this.selection.isCollapsed)return!1;const t=this.selection.getFirstPosition(),e=t.parent,n=t.offset;if(!this.domConverter.mapViewToDom(e.root))return!1;if(!e.is(\"element\"))return!1;if(!function(t){if(\"false\"==t.getAttribute(\"contenteditable\"))return!1;const e=t.findAncestor((t=>t.hasAttribute(\"contenteditable\")));return!e||\"true\"==e.getAttribute(\"contenteditable\")}(e))return!1;if(n===e.getFillerOffset())return!1;const i=t.nodeBefore,o=t.nodeAfter;return!(i instanceof Pi||o instanceof Pi)}_updateText(t,e){const n=this.domConverter.findCorrespondingDomText(t),i=this.domConverter.viewToDom(t,n.ownerDocument),o=n.data;let r=i.data;const s=e.inlineFillerPosition;if(s&&s.parent==t.parent&&s.offset==t.index&&(r=Mr+r),o!=r){const t=Pr(o,r);for(const e of t)\"insert\"===e.type?n.insertData(e.index,e.values.join(\"\")):n.deleteData(e.index,e.howMany)}}_updateAttrs(t){const e=this.domConverter.mapViewToDom(t);if(!e)return;const n=Array.from(e.attributes).map((t=>t.name)),i=t.getAttributeKeys();for(const n of i)e.setAttribute(n,t.getAttribute(n));for(const i of n)t.hasAttribute(i)||e.removeAttribute(i)}_updateChildren(t,e){const n=this.domConverter.mapViewToDom(t);if(!n)return;const i=e.inlineFillerPosition,o=this.domConverter.mapViewToDom(t).childNodes,r=Array.from(this.domConverter.viewChildrenToDom(t,n.ownerDocument,{bind:!0,inlineFillerPosition:i}));i&&i.parent===t&&Gr(n.ownerDocument,r,i.offset);const s=this._diffNodeLists(o,r);let a=0;const c=new Set;for(const t of s)\"delete\"===t?(c.add(o[a]),Vr(o[a])):\"equal\"===t&&a++;a=0;for(const t of s)\"insert\"===t?(jr(n,a,r[a]),a++):\"equal\"===t&&(this._markDescendantTextToSync(this.domConverter.domToView(r[a])),a++);for(const t of c)t.parentNode||this.domConverter.unbindDomElement(t)}_diffNodeLists(t,e){return Fr(t=function(t,e){const n=Array.from(t);if(0==n.length||!e)return n;n[n.length-1]==e&&n.pop();return n}(t,this._fakeSelectionContainer),e,Wr.bind(null,this.domConverter))}_findReplaceActions(t,e,n){if(-1===t.indexOf(\"insert\")||-1===t.indexOf(\"delete\"))return t;let i=[],o=[],r=[];const s={equal:0,insert:0,delete:0};for(const a of t)\"insert\"===a?r.push(n[s.equal+s.insert]):\"delete\"===a?o.push(e[s.equal+s.delete]):(i=i.concat(Fr(o,r,qr).map((t=>\"equal\"===t?\"replace\":t))),i.push(\"equal\"),o=[],r=[]),s[a]++;return i.concat(Fr(o,r,qr).map((t=>\"equal\"===t?\"replace\":t)))}_markDescendantTextToSync(t){if(t)if(t.is(\"$text\"))this.markedTexts.add(t);else if(t.is(\"element\"))for(const e of t.getChildren())this._markDescendantTextToSync(e)}_updateSelection(){if(0===this.selection.rangeCount)return this._removeDomSelection(),void this._removeFakeSelection();const t=this.domConverter.mapViewToDom(this.selection.editableElement);this.isFocused&&t&&(this.selection.isFake?this._updateFakeSelection(t):(this._removeFakeSelection(),this._updateDomSelection(t)))}_updateFakeSelection(t){const e=t.ownerDocument;this._fakeSelectionContainer||(this._fakeSelectionContainer=function(t){const e=t.createElement(\"div\");return e.className=\"ck-fake-selection-container\",Object.assign(e.style,{position:\"fixed\",top:0,left:\"-9999px\",width:\"42px\"}),e.textContent=\" \",e}(e));const n=this._fakeSelectionContainer;if(this.domConverter.bindFakeSelection(n,this.selection),!this._fakeSelectionNeedsUpdate(t))return;n.parentElement&&n.parentElement==t||t.appendChild(n),n.textContent=this.selection.fakeSelectionLabel||\" \";const i=e.getSelection(),o=e.createRange();i.removeAllRanges(),o.selectNodeContents(n),i.addRange(o)}_updateDomSelection(t){const e=t.ownerDocument.defaultView.getSelection();if(!this._domSelectionNeedsUpdate(e))return;const n=this.domConverter.viewPositionToDom(this.selection.anchor),i=this.domConverter.viewPositionToDom(this.selection.focus);e.collapse(n.parent,n.offset),e.extend(i.parent,i.offset),tr.isGecko&&function(t,e){const n=t.parent;if(n.nodeType!=Node.ELEMENT_NODE||t.offset!=n.childNodes.length-1)return;const i=n.childNodes[t.offset];i&&\"BR\"==i.tagName&&e.addRange(e.getRangeAt(0))}(i,e)}_domSelectionNeedsUpdate(t){if(!this.domConverter.isDomSelectionCorrect(t))return!0;const e=t&&this.domConverter.domSelectionToView(t);return(!e||!this.selection.isEqual(e))&&!(!this.selection.isCollapsed&&this.selection.isSimilar(e))}_fakeSelectionNeedsUpdate(t){const e=this._fakeSelectionContainer,n=t.ownerDocument.getSelection();return!e||e.parentElement!==t||(n.anchorNode!==e&&!e.contains(n.anchorNode)||e.textContent!==this.selection.fakeSelectionLabel)}_removeDomSelection(){for(const t of this.domDocuments){if(t.getSelection().rangeCount){const e=t.activeElement,n=this.domConverter.mapDomToView(e);e&&n&&t.getSelection().removeAllRanges()}}}_removeFakeSelection(){const t=this._fakeSelectionContainer;t&&t.remove()}_updateFocus(){if(this.isFocused){const t=this.selection.editableElement;t&&this.domConverter.focus(t)}}}function Gr(t,e,n){const i=e instanceof Array?e:e.childNodes,o=i[n];if(Dr(o))return o.data=Mr+o.data,o;{const o=t.createTextNode(Mr);return Array.isArray(e)?i.splice(n,0,o):jr(e,n,o),o}}function qr(t,e){return Hr(t)&&Hr(e)&&!Dr(t)&&!Dr(e)&&t.nodeType!==Node.COMMENT_NODE&&e.nodeType!==Node.COMMENT_NODE&&t.tagName.toLowerCase()===e.tagName.toLowerCase()}function Wr(t,e,n){return e===n||(Dr(e)&&Dr(n)?e.data===n.data:!(!t.isBlockFiller(e)||!t.isBlockFiller(n)))}ce(Ur,ne);const Kr={window,document};function $r(t){let e=0;for(;t.previousSibling;)t=t.previousSibling,e++;return e}function Yr(t){const e=[];for(;t&&t.nodeType!=Node.DOCUMENT_NODE;)e.unshift(t),t=t.parentNode;return e}const Zr=Tr(document),Qr=Sr(document),Jr=Ir(document);class Xr{constructor(t,e={}){this.document=t,this.blockFillerMode=e.blockFillerMode||\"br\",this.preElements=[\"pre\"],this.blockElements=[\"address\",\"article\",\"aside\",\"blockquote\",\"caption\",\"center\",\"dd\",\"details\",\"dir\",\"div\",\"dl\",\"dt\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"header\",\"hgroup\",\"legend\",\"li\",\"main\",\"menu\",\"nav\",\"ol\",\"p\",\"pre\",\"section\",\"summary\",\"table\",\"tbody\",\"td\",\"tfoot\",\"th\",\"thead\",\"tr\",\"ul\"],this._domToViewMapping=new WeakMap,this._viewToDomMapping=new WeakMap,this._fakeSelectionMapping=new WeakMap,this._rawContentElementMatcher=new Fi,this._encounteredRawContentDomNodes=new WeakSet}bindFakeSelection(t,e){this._fakeSelectionMapping.set(t,new Ro(e))}fakeSelectionToView(t){return this._fakeSelectionMapping.get(t)}bindElements(t,e){this._domToViewMapping.set(t,e),this._viewToDomMapping.set(e,t)}unbindDomElement(t){const e=this._domToViewMapping.get(t);if(e){this._domToViewMapping.delete(t),this._viewToDomMapping.delete(e);for(const e of t.childNodes)this.unbindDomElement(e)}}bindDocumentFragments(t,e){this._domToViewMapping.set(t,e),this._viewToDomMapping.set(e,t)}viewToDom(t,e,n={}){if(t.is(\"$text\")){const n=this._processDataFromViewText(t);return e.createTextNode(n)}{if(this.mapViewToDom(t))return this.mapViewToDom(t);let i;if(t.is(\"documentFragment\"))i=e.createDocumentFragment(),n.bind&&this.bindDocumentFragments(i,t);else{if(t.is(\"uiElement\"))return i=t.render(e),n.bind&&this.bindElements(i,t),i;i=t.hasAttribute(\"xmlns\")?e.createElementNS(t.getAttribute(\"xmlns\"),t.name):e.createElement(t.name),t.is(\"rawElement\")&&t.render(i),n.bind&&this.bindElements(i,t);for(const e of t.getAttributeKeys())i.setAttribute(e,t.getAttribute(e))}if(!1!==n.withChildren)for(const o of this.viewChildrenToDom(t,e,n))i.appendChild(o);return i}}*viewChildrenToDom(t,e,n={}){const i=t.getFillerOffset&&t.getFillerOffset();let o=0;for(const r of t.getChildren())i===o&&(yield this._getBlockFiller(e)),yield this.viewToDom(r,e,n),o++;i===o&&(yield this._getBlockFiller(e))}viewRangeToDom(t){const e=this.viewPositionToDom(t.start),n=this.viewPositionToDom(t.end),i=document.createRange();return i.setStart(e.parent,e.offset),i.setEnd(n.parent,n.offset),i}viewPositionToDom(t){const e=t.parent;if(e.is(\"$text\")){const n=this.findCorrespondingDomText(e);if(!n)return null;let i=t.offset;return Br(n)&&(i+=7),{parent:n,offset:i}}{let n,i,o;if(0===t.offset){if(n=this.mapViewToDom(e),!n)return null;o=n.childNodes[0]}else{const e=t.nodeBefore;if(i=e.is(\"$text\")?this.findCorrespondingDomText(e):this.mapViewToDom(t.nodeBefore),!i)return null;n=i.parentNode,o=i.nextSibling}if(Dr(o)&&Br(o))return{parent:o,offset:7};return{parent:n,offset:i?$r(i)+1:0}}}domToView(t,e={}){if(this.isBlockFiller(t))return null;const n=this.getHostViewElement(t);if(n)return n;if(Dr(t)){if(Nr(t))return null;{const e=this._processDataFromDomText(t);return\"\"===e?null:new Pi(this.document,e)}}if(this.isComment(t))return null;{if(this.mapDomToView(t))return this.mapDomToView(t);let n;if(this.isDocumentFragment(t))n=new pr(this.document),e.bind&&this.bindDocumentFragments(t,n);else{const i=e.keepOriginalCase?t.tagName:t.tagName.toLowerCase();n=new Eo(this.document,i),e.bind&&this.bindElements(t,n);const o=t.attributes;for(let t=o.length-1;t>=0;t--)n._setAttribute(o[t].name,o[t].value);if(!1!==e.withChildren&&this._rawContentElementMatcher.match(n))return n._setCustomProperty(\"$rawContent\",t.innerHTML),this._encounteredRawContentDomNodes.add(t),n}if(!1!==e.withChildren)for(const i of this.domChildrenToView(t,e))n._appendChild(i);return n}}*domChildrenToView(t,e={}){for(let n=0;n{const{scrollLeft:e,scrollTop:n}=t;i.push([e,n])})),e.focus(),es(e,(t=>{const[e,n]=i.shift();t.scrollLeft=e,t.scrollTop=n})),Kr.window.scrollTo(t,n)}}isElement(t){return t&&t.nodeType==Node.ELEMENT_NODE}isDocumentFragment(t){return t&&t.nodeType==Node.DOCUMENT_FRAGMENT_NODE}isComment(t){return t&&t.nodeType==Node.COMMENT_NODE}isBlockFiller(t){return\"br\"==this.blockFillerMode?t.isEqualNode(Zr):!(\"BR\"!==t.tagName||!ns(t,this.blockElements)||1!==t.parentNode.childNodes.length)||(t.isEqualNode(Jr)||function(t,e){return t.isEqualNode(Qr)&&ns(t,e)&&1===t.parentNode.childNodes.length}(t,this.blockElements))}isDomSelectionBackward(t){if(t.isCollapsed)return!1;const e=document.createRange();e.setStart(t.anchorNode,t.anchorOffset),e.setEnd(t.focusNode,t.focusOffset);const n=e.collapsed;return e.detach(),n}getHostViewElement(t){const e=Yr(t);for(e.pop();e.length;){const t=e.pop(),n=this._domToViewMapping.get(t);if(n&&(n.is(\"uiElement\")||n.is(\"rawElement\")))return n}return null}isDomSelectionCorrect(t){return this._isDomSelectionPositionCorrect(t.anchorNode,t.anchorOffset)&&this._isDomSelectionPositionCorrect(t.focusNode,t.focusOffset)}registerRawContentMatcher(t){this._rawContentElementMatcher.add(t)}_getBlockFiller(t){switch(this.blockFillerMode){case\"nbsp\":return Sr(t);case\"markedNbsp\":return Ir(t);case\"br\":return Tr(t)}}_isDomSelectionPositionCorrect(t,e){if(Dr(t)&&Br(t)&&e<7)return!1;if(this.isElement(t)&&Br(t.childNodes[e]))return!1;const n=this.mapDomToView(t);return!n||!n.is(\"uiElement\")&&!n.is(\"rawElement\")}_processDataFromViewText(t){let e=t.data;if(t.getAncestors().some((t=>this.preElements.includes(t.name))))return e;if(\" \"==e.charAt(0)){const n=this._getTouchingViewTextNode(t,!1);!(n&&this._nodeEndsWithSpace(n))&&n||(e=\" \"+e.substr(1))}if(\" \"==e.charAt(e.length-1)){const n=this._getTouchingViewTextNode(t,!0);\" \"!=e.charAt(e.length-2)&&n&&\" \"!=n.data.charAt(0)||(e=e.substr(0,e.length-1)+\" \")}return e.replace(/ {2}/g,\" \")}_nodeEndsWithSpace(t){if(t.getAncestors().some((t=>this.preElements.includes(t.name))))return!1;const e=this._processDataFromViewText(t);return\" \"==e.charAt(e.length-1)}_processDataFromDomText(t){let e=t.data;if(ts(t,this.preElements))return Lr(t);e=e.replace(/[ \\n\\t\\r]{1,}/g,\" \");const n=this._getTouchingInlineDomNode(t,!1),i=this._getTouchingInlineDomNode(t,!0),o=this._checkShouldLeftTrimDomText(t,n),r=this._checkShouldRightTrimDomText(t,i);return o&&(e=e.replace(/^ /,\"\")),r&&(e=e.replace(/ $/,\"\")),e=Lr(new Text(e)),e=e.replace(/ \\u00A0/g,\" \"),(/( |\\u00A0)\\u00A0$/.test(e)||!i||i.data&&\" \"==i.data.charAt(0))&&(e=e.replace(/\\u00A0$/,\" \")),o&&(e=e.replace(/^\\u00A0/,\" \")),e}_checkShouldLeftTrimDomText(t,e){return!e||(!!wi(e)||!this._encounteredRawContentDomNodes.has(t.previousSibling)&&/[^\\S\\u00A0]/.test(e.data.charAt(e.data.length-1)))}_checkShouldRightTrimDomText(t,e){return!e&&!Br(t)}_getTouchingViewTextNode(t,e){const n=new No({startPosition:e?Lo._createAfter(t):Lo._createBefore(t),direction:e?\"forward\":\"backward\"});for(const t of n){if(t.item.is(\"containerElement\"))return null;if(t.item.is(\"element\",\"br\"))return null;if(t.item.is(\"$textProxy\"))return t.item}return null}_getTouchingInlineDomNode(t,e){if(!t.parentNode)return null;const n=e?\"nextNode\":\"previousNode\",i=t.ownerDocument,o=Yr(t)[0],r=i.createTreeWalker(o,NodeFilter.SHOW_TEXT|NodeFilter.SHOW_ELEMENT,{acceptNode:t=>Dr(t)||\"BR\"==t.tagName?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_SKIP});r.currentNode=t;const s=r[n]();if(null!==s){const e=function(t,e){const n=Yr(t),i=Yr(e);let o=0;for(;n[o]==i[o]&&n[o];)o++;return 0===o?null:n[o-1]}(t,s);if(e&&!ts(t,this.blockElements,e)&&!ts(s,this.blockElements,e))return s}return null}}function ts(t,e,n){let i=Yr(t);return n&&(i=i.slice(i.indexOf(n)+1)),i.some((t=>t.tagName&&e.includes(t.tagName.toLowerCase())))}function es(t,e){for(;t&&t!=Kr.document;)e(t),t=t.parentNode}function ns(t,e){const n=t.parentNode;return n&&n.tagName&&e.includes(n.tagName.toLowerCase())}function is(t){const e=Object.prototype.toString.apply(t);return\"[object Window]\"==e||\"[object global]\"==e}const os=Yt({},p,{listenTo(t,...e){if(Hr(t)||is(t)){const n=this._getProxyEmitter(t)||new rs(t);n.attach(...e),t=n}p.listenTo.call(this,t,...e)},stopListening(t,e,n){if(Hr(t)||is(t)){const e=this._getProxyEmitter(t);if(!e)return;t=e}p.stopListening.call(this,t,e,n),t instanceof rs&&t.detach(e)},_getProxyEmitter(t){return e=this,n=ss(t),e[m]&&e[m][n]?e[m][n].emitter:null;var e,n}});class rs{constructor(t){f(this,ss(t)),this._domNode=t}}function ss(t){return t[\"data-ck-expando\"]||(t[\"data-ck-expando\"]=r())}Yt(rs.prototype,p,{attach(t,e,n={}){if(this._domListeners&&this._domListeners[t])return;const i={capture:!!n.useCapture,passive:!!n.usePassive},o=this._createDomListener(t,i);this._domNode.addEventListener(t,o,i),this._domListeners||(this._domListeners={}),this._domListeners[t]=o},detach(t){let e;!this._domListeners[t]||(e=this._events[t])&&e.callbacks.length||this._domListeners[t].removeListener()},_createDomListener(t,e){const n=e=>{this.fire(t,e)};return n.removeListener=()=>{this._domNode.removeEventListener(t,n,e),delete this._domListeners[t]},n}});class as{constructor(t){this.view=t,this.document=t.document,this.isEnabled=!1}enable(){this.isEnabled=!0}disable(){this.isEnabled=!1}destroy(){this.disable(),this.stopListening()}checkShouldIgnoreEventFromTarget(t){return t&&3===t.nodeType&&(t=t.parentNode),!(!t||1!==t.nodeType)&&t.matches(\"[data-cke-ignore-events], [data-cke-ignore-events] *\")}}ce(as,os);const cs=function(t){return this.__data__.set(t,\"__lodash_hash_undefined__\"),this};const ls=function(t){return this.__data__.has(t)};function ds(t){var e=-1,n=null==t?0:t.length;for(this.__data__=new tn;++ea))return!1;var l=r.get(t),d=r.get(e);if(l&&d)return l==e&&d==t;var h=-1,u=!0,m=2&n?new hs:void 0;for(r.set(t,e),r.set(e,t);++h{this.listenTo(t,e,((t,e)=>{this.isEnabled&&!this.checkShouldIgnoreEventFromTarget(e.target)&&this.onDomEvent(e)}),{useCapture:this.useCapture})}))}fire(t,e,n){this.isEnabled&&this.document.fire(t,new Ts(this.view,e,n))}}class Bs extends Ms{constructor(t){super(t),this.domEventType=[\"keydown\",\"keyup\"]}onDomEvent(t){this.fire(t.type,t,{keyCode:t.keyCode,altKey:t.altKey,ctrlKey:t.ctrlKey,shiftKey:t.shiftKey,metaKey:t.metaKey,get keystroke(){return rr(this)}})}}const Ns=function(){return E.Date.now()};var Ls=/\\s/;const zs=function(t){for(var e=t.length;e--&&Ls.test(t.charAt(e)););return e};var Ps=/^\\s+/;const Os=function(t){return t?t.slice(0,zs(t)+1).replace(Ps,\"\"):t};var Rs=/^[-+]0x[0-9a-f]+$/i,Fs=/^0b[01]+$/i,js=/^0o[0-7]+$/i,Vs=parseInt;const Hs=function(t){if(\"number\"==typeof t)return t;if(Hi(t))return NaN;if(v(t)){var e=\"function\"==typeof t.valueOf?t.valueOf():t;t=v(e)?e+\"\":e}if(\"string\"!=typeof t)return 0===t?t:+t;t=Os(t);var n=Fs.test(t);return n||js.test(t)?Vs(t.slice(2),n?2:8):Rs.test(t)?NaN:+t};var Us=Math.max,Gs=Math.min;const qs=function(t,e,n){var i,o,r,s,a,c,l=0,d=!1,h=!1,u=!0;if(\"function\"!=typeof t)throw new TypeError(\"Expected a function\");function m(e){var n=i,r=o;return i=o=void 0,l=e,s=t.apply(r,n)}function g(t){return l=t,a=setTimeout(f,e),d?m(t):s}function p(t){var n=t-c;return void 0===c||n>=e||n<0||h&&t-l>=r}function f(){var t=Ns();if(p(t))return k(t);a=setTimeout(f,function(t){var n=e-(t-c);return h?Gs(n,r-(t-l)):n}(t))}function k(t){return a=void 0,u&&i?m(t):(i=o=void 0,s)}function b(){var t=Ns(),n=p(t);if(i=arguments,o=this,c=t,n){if(void 0===a)return g(c);if(h)return clearTimeout(a),a=setTimeout(f,e),m(c)}return void 0===a&&(a=setTimeout(f,e)),s}return e=Hs(e)||0,v(n)&&(d=!!n.leading,r=(h=\"maxWait\"in n)?Us(Hs(n.maxWait)||0,e):r,u=\"trailing\"in n?!!n.trailing:u),b.cancel=function(){void 0!==a&&clearTimeout(a),l=0,i=c=o=a=void 0},b.flush=function(){return void 0===a?s:k(Ns())},b};class Ws extends as{constructor(t){super(t),this._fireSelectionChangeDoneDebounced=qs((t=>this.document.fire(\"selectionChangeDone\",t)),200)}observe(){const t=this.document;t.on(\"arrowKey\",((e,n)=>{t.selection.isFake&&this.isEnabled&&n.preventDefault()}),{context:\"$capture\"}),t.on(\"arrowKey\",((e,n)=>{t.selection.isFake&&this.isEnabled&&this._handleSelectionMove(n.keyCode)}),{priority:\"lowest\"})}destroy(){super.destroy(),this._fireSelectionChangeDoneDebounced.cancel()}_handleSelectionMove(t){const e=this.document.selection,n=new Ro(e.getRanges(),{backward:e.isBackward,fake:!1});t!=ir.arrowleft&&t!=ir.arrowup||n.setTo(n.getFirstPosition()),t!=ir.arrowright&&t!=ir.arrowdown||n.setTo(n.getLastPosition());const i={oldSelection:e,newSelection:n,domSelection:null};this.document.fire(\"selectionChange\",i),this._fireSelectionChangeDoneDebounced(i)}}class Ks extends as{constructor(t){super(t),this.mutationObserver=t.getObserver(Is),this.selection=this.document.selection,this.domConverter=t.domConverter,this._documents=new WeakSet,this._fireSelectionChangeDoneDebounced=qs((t=>this.document.fire(\"selectionChangeDone\",t)),200),this._clearInfiniteLoopInterval=setInterval((()=>this._clearInfiniteLoop()),1e3),this._loopbackCounter=0}observe(t){const e=t.ownerDocument;this._documents.has(e)||(this.listenTo(e,\"selectionchange\",((t,n)=>{this._handleSelectionChange(n,e)})),this._documents.add(e))}destroy(){super.destroy(),clearInterval(this._clearInfiniteLoopInterval),this._fireSelectionChangeDoneDebounced.cancel()}_handleSelectionChange(t,e){if(!this.isEnabled)return;const n=e.defaultView.getSelection();if(this.checkShouldIgnoreEventFromTarget(n.anchorNode))return;this.mutationObserver.flush();const i=this.domConverter.domSelectionToView(n);if(0!=i.rangeCount){if(this.view.hasDomSelection=!0,!(this.selection.isEqual(i)&&this.domConverter.isDomSelectionCorrect(n)||++this._loopbackCounter>60))if(this.selection.isSimilar(i))this.view.forceRender();else{const t={oldSelection:this.selection,newSelection:i,domSelection:n};this.document.fire(\"selectionChange\",t),this._fireSelectionChangeDoneDebounced(t)}}else this.view.hasDomSelection=!1}_clearInfiniteLoop(){this._loopbackCounter=0}}class $s extends Ms{constructor(t){super(t),this.domEventType=[\"focus\",\"blur\"],this.useCapture=!0;const e=this.document;e.on(\"focus\",(()=>{e.isFocused=!0,this._renderTimeoutId=setTimeout((()=>t.change((()=>{}))),50)})),e.on(\"blur\",((n,i)=>{const o=e.selection.editableElement;null!==o&&o!==i.target||(e.isFocused=!1,t.change((()=>{})))}))}onDomEvent(t){this.fire(t.type,t)}destroy(){this._renderTimeoutId&&clearTimeout(this._renderTimeoutId),super.destroy()}}class Ys extends Ms{constructor(t){super(t),this.domEventType=[\"compositionstart\",\"compositionupdate\",\"compositionend\"];const e=this.document;e.on(\"compositionstart\",(()=>{e.isComposing=!0})),e.on(\"compositionend\",(()=>{e.isComposing=!1}))}onDomEvent(t){this.fire(t.type,t)}}class Zs extends Ms{constructor(t){super(t),this.domEventType=[\"beforeinput\"]}onDomEvent(t){this.fire(t.type,t)}}class Qs{constructor(){this._replacedElements=[]}replace(t,e){this._replacedElements.push({element:t,newElement:e}),t.style.display=\"none\",e&&t.parentNode.insertBefore(e,t.nextSibling)}restore(){this._replacedElements.forEach((({element:t,newElement:e})=>{t.style.display=\"\",e&&e.remove()})),this._replacedElements=[]}}const Js=function(t){return\"string\"==typeof t||!Et(t)&&Ct(t)&&\"[object String]\"==P(t)};function Xs(t,e,n={},i=[]){const o=n&&n.xmlns,r=o?t.createElementNS(o,e):t.createElement(e);for(const t in n)r.setAttribute(t,n[t]);!Js(i)&&vi(i)||(i=[i]);for(let e of i)Js(e)&&(e=t.createTextNode(e)),r.appendChild(e);return r}function ta(t){return\"[object Range]\"==Object.prototype.toString.apply(t)}function ea(t){const e=t.ownerDocument.defaultView.getComputedStyle(t);return{top:parseInt(e.borderTopWidth,10),right:parseInt(e.borderRightWidth,10),bottom:parseInt(e.borderBottomWidth,10),left:parseInt(e.borderLeftWidth,10)}}const na=[\"top\",\"right\",\"bottom\",\"left\",\"width\",\"height\"];class ia{constructor(t){const e=ta(t);if(Object.defineProperty(this,\"_source\",{value:t._source||t,writable:!0,enumerable:!1}),wi(t)||e)if(e){const e=ia.getDomRangeRects(t);oa(this,ia.getBoundingRect(e))}else oa(this,t.getBoundingClientRect());else if(is(t)){const{innerWidth:e,innerHeight:n}=t;oa(this,{top:0,right:e,bottom:n,left:0,width:e,height:n})}else oa(this,t)}clone(){return new ia(this)}moveTo(t,e){return this.top=e,this.right=t+this.width,this.bottom=e+this.height,this.left=t,this}moveBy(t,e){return this.top+=e,this.right+=t,this.left+=t,this.bottom+=e,this}getIntersection(t){const e={top:Math.max(this.top,t.top),right:Math.min(this.right,t.right),bottom:Math.min(this.bottom,t.bottom),left:Math.max(this.left,t.left)};return e.width=e.right-e.left,e.height=e.bottom-e.top,e.width<0||e.height<0?null:new ia(e)}getIntersectionArea(t){const e=this.getIntersection(t);return e?e.getArea():0}getArea(){return this.width*this.height}getVisible(){const t=this._source;let e=this.clone();if(!ra(t)){let n=t.parentNode||t.commonAncestorContainer;for(;n&&!ra(n);){const t=new ia(n),i=e.getIntersection(t);if(!i)return null;i.getArea(){for(const e of t){const t=sa._getElementCallbacks(e.target);if(t)for(const n of t)n(e)}}))}}sa._observerInstance=null,sa._elementCallbacks=null;class aa{constructor(t){this._callback=t,this._elements=new Set,this._previousRects=new Map,this._periodicCheckTimeout=null}observe(t){this._elements.add(t),this._checkElementRectsAndExecuteCallback(),1===this._elements.size&&this._startPeriodicCheck()}unobserve(t){this._elements.delete(t),this._previousRects.delete(t),this._elements.size||this._stopPeriodicCheck()}_startPeriodicCheck(){const t=()=>{this._checkElementRectsAndExecuteCallback(),this._periodicCheckTimeout=setTimeout(t,100)};this.listenTo(Kr.window,\"resize\",(()=>{this._checkElementRectsAndExecuteCallback()})),this._periodicCheckTimeout=setTimeout(t,100)}_stopPeriodicCheck(){clearTimeout(this._periodicCheckTimeout),this.stopListening(),this._previousRects.clear()}_checkElementRectsAndExecuteCallback(){const t=[];for(const e of this._elements)this._hasRectChanged(e)&&t.push({target:e,contentRect:this._previousRects.get(e)});t.length&&this._callback(t)}_hasRectChanged(t){if(!t.ownerDocument.body.contains(t))return!1;const e=new ia(t),n=this._previousRects.get(t),i=!n||!n.isEqual(e);return this._previousRects.set(t,e),i}}function ca(t){const e=t.next();return e.done?null:e.value}ce(aa,os);class la{constructor(){this.set(\"isFocused\",!1),this.set(\"focusedElement\",null),this._elements=new Set,this._nextEventLoopTimeout=null}add(t){if(this._elements.has(t))throw new a(\"focustracker-add-element-already-exist\",this);this.listenTo(t,\"focus\",(()=>this._focus(t)),{useCapture:!0}),this.listenTo(t,\"blur\",(()=>this._blur()),{useCapture:!0}),this._elements.add(t)}remove(t){t===this.focusedElement&&this._blur(t),this._elements.has(t)&&(this.stopListening(t),this._elements.delete(t))}destroy(){this.stopListening()}_focus(t){clearTimeout(this._nextEventLoopTimeout),this.focusedElement=t,this.isFocused=!0}_blur(){clearTimeout(this._nextEventLoopTimeout),this._nextEventLoopTimeout=setTimeout((()=>{this.focusedElement=null,this.isFocused=!1}),0)}}ce(la,os),ce(la,ne);class da{constructor(){this._listener=Object.create(os)}listenTo(t){this._listener.listenTo(t,\"keydown\",((t,e)=>{this._listener.fire(\"_keydown:\"+rr(e),e)}))}set(t,e,n={}){const i=sr(t),o=n.priority;this._listener.listenTo(this._listener,\"_keydown:\"+i,((t,n)=>{e(n,(()=>{n.preventDefault(),n.stopPropagation(),t.stop()})),t.return=!0}),{priority:o})}press(t){return!!this._listener.fire(\"_keydown:\"+rr(t),t)}destroy(){this._listener.stopListening()}}class ha extends as{constructor(t){super(t),this.document.on(\"keydown\",((t,e)=>{if(this.isEnabled&&((n=e.keyCode)==ir.arrowright||n==ir.arrowleft||n==ir.arrowup||n==ir.arrowdown)){const n=new jo(this.document,\"arrowKey\",this.document.selection.getFirstRange());this.document.fire(n,e),n.stop.called&&t.stop()}var n}))}observe(){}}function ua({target:t,viewportOffset:e=0}){const n=wa(t);let i=n,o=null;for(;i;){let r;r=Ca(i==n?t:o),ga(r,(()=>Aa(t,i)));const s=Aa(t,i);if(ma(i,s,e),i.parent!=i){if(o=i.frameElement,i=i.parent,!o)return}else i=null}}function ma(t,e,n){const i=e.clone().moveBy(0,n),o=e.clone().moveBy(0,-n),r=new ia(t).excludeScrollbarsAndBorders();if(![o,i].every((t=>r.contains(t)))){let{scrollX:s,scrollY:a}=t;fa(o,r)?a-=r.top-e.top+n:pa(i,r)&&(a+=e.bottom-r.bottom+n),ka(e,r)?s-=r.left-e.left+n:ba(e,r)&&(s+=e.right-r.right+n),t.scrollTo(s,a)}}function ga(t,e){const n=wa(t);let i,o;for(;t!=n.document.body;)o=e(),i=new ia(t).excludeScrollbarsAndBorders(),i.contains(o)||(fa(o,i)?t.scrollTop-=i.top-o.top:pa(o,i)&&(t.scrollTop+=o.bottom-i.bottom),ka(o,i)?t.scrollLeft-=i.left-o.left:ba(o,i)&&(t.scrollLeft+=o.right-i.right)),t=t.parentNode}function pa(t,e){return t.bottom>e.bottom}function fa(t,e){return t.tope.right}function wa(t){return ta(t)?t.startContainer.ownerDocument.defaultView:t.ownerDocument.defaultView}function Ca(t){if(ta(t)){let e=t.commonAncestorContainer;return Dr(e)&&(e=e.parentNode),e}return t.parentNode}function Aa(t,e){const n=wa(t),i=new ia(t);if(n===e)return i;{let t=n;for(;t!=e;){const e=t.frameElement,n=new ia(e).excludeScrollbarsAndBorders();i.moveBy(n.left,n.top),t=t.parent}}return i}Object.assign({},{scrollViewportToShowTarget:ua,scrollAncestorsToShowTarget:function(t){ga(Ca(t),(()=>new ia(t)))}});class _a{constructor(t){this.document=new Ko(t),this.domConverter=new Xr(this.document),this.domRoots=new Map,this.set(\"isRenderingInProgress\",!1),this.set(\"hasDomSelection\",!1),this._renderer=new Ur(this.domConverter,this.document.selection),this._renderer.bind(\"isFocused\").to(this.document),this._initialDomRootAttributes=new WeakMap,this._observers=new Map,this._ongoingChange=!1,this._postFixersInProgress=!1,this._renderingDisabled=!1,this._hasChangedSinceTheLastRendering=!1,this._writer=new fr(this.document),this.addObserver(Is),this.addObserver(Ks),this.addObserver($s),this.addObserver(Bs),this.addObserver(Ws),this.addObserver(Ys),this.addObserver(ha),tr.isAndroid&&this.addObserver(Zs),this.document.on(\"arrowKey\",zr,{priority:\"low\"}),hr(this),this.on(\"render\",(()=>{this._render(),this.document.fire(\"layoutChanged\"),this._hasChangedSinceTheLastRendering=!1})),this.listenTo(this.document.selection,\"change\",(()=>{this._hasChangedSinceTheLastRendering=!0})),this.listenTo(this.document,\"change:isFocused\",(()=>{this._hasChangedSinceTheLastRendering=!0}))}attachDomRoot(t,e=\"main\"){const n=this.document.getRoot(e);n._name=t.tagName.toLowerCase();const i={};for(const{name:e,value:o}of Array.from(t.attributes))i[e]=o,\"class\"===e?this._writer.addClass(o.split(\" \"),n):this._writer.setAttribute(e,o,n);this._initialDomRootAttributes.set(t,i);const o=()=>{this._writer.setAttribute(\"contenteditable\",!n.isReadOnly,n),n.isReadOnly?this._writer.addClass(\"ck-read-only\",n):this._writer.removeClass(\"ck-read-only\",n)};o(),this.domRoots.set(e,t),this.domConverter.bindElements(t,n),this._renderer.markToSync(\"children\",n),this._renderer.markToSync(\"attributes\",n),this._renderer.domDocuments.add(t.ownerDocument),n.on(\"change:children\",((t,e)=>this._renderer.markToSync(\"children\",e))),n.on(\"change:attributes\",((t,e)=>this._renderer.markToSync(\"attributes\",e))),n.on(\"change:text\",((t,e)=>this._renderer.markToSync(\"text\",e))),n.on(\"change:isReadOnly\",(()=>this.change(o))),n.on(\"change\",(()=>{this._hasChangedSinceTheLastRendering=!0}));for(const n of this._observers.values())n.observe(t,e)}detachDomRoot(t){const e=this.domRoots.get(t);Array.from(e.attributes).forEach((({name:t})=>e.removeAttribute(t)));const n=this._initialDomRootAttributes.get(e);for(const t in n)e.setAttribute(t,n[t]);this.domRoots.delete(t),this.domConverter.unbindDomElement(e)}getDomRoot(t=\"main\"){return this.domRoots.get(t)}addObserver(t){let e=this._observers.get(t);if(e)return e;e=new t(this),this._observers.set(t,e);for(const[t,n]of this.domRoots)e.observe(n,t);return e.enable(),e}getObserver(t){return this._observers.get(t)}disableObservers(){for(const t of this._observers.values())t.disable()}enableObservers(){for(const t of this._observers.values())t.enable()}scrollToTheSelection(){const t=this.document.selection.getFirstRange();t&&ua({target:this.domConverter.viewRangeToDom(t),viewportOffset:20})}focus(){if(!this.document.isFocused){const t=this.document.selection.editableElement;t&&(this.domConverter.focus(t),this.forceRender())}}change(t){if(this.isRenderingInProgress||this._postFixersInProgress)throw new a(\"cannot-change-view-tree\",this);try{if(this._ongoingChange)return t(this._writer);this._ongoingChange=!0;const e=t(this._writer);return this._ongoingChange=!1,!this._renderingDisabled&&this._hasChangedSinceTheLastRendering&&(this._postFixersInProgress=!0,this.document._callPostFixers(this._writer),this._postFixersInProgress=!1,this.fire(\"render\")),e}catch(t){a.rethrowUnexpectedError(t,this)}}forceRender(){this._hasChangedSinceTheLastRendering=!0,this.change((()=>{}))}destroy(){for(const t of this._observers.values())t.destroy();this.document.destroy(),this.stopListening()}createPositionAt(t,e){return Lo._createAt(t,e)}createPositionAfter(t){return Lo._createAfter(t)}createPositionBefore(t){return Lo._createBefore(t)}createRange(t,e){return new zo(t,e)}createRangeOn(t){return zo._createOn(t)}createRangeIn(t){return zo._createIn(t)}createSelection(t,e,n){return new Ro(t,e,n)}_disableRendering(t){this._renderingDisabled=t,0==t&&this.change((()=>{}))}_render(){this.isRenderingInProgress=!0,this.disableObservers(),this._renderer.render(),this.enableObservers(),this.isRenderingInProgress=!1}}ce(_a,ne);class va{constructor(t){this.parent=null,this._attrs=Ri(t)}get index(){let t;if(!this.parent)return null;if(null===(t=this.parent.getChildIndex(this)))throw new a(\"model-node-not-found-in-parent\",this);return t}get startOffset(){let t;if(!this.parent)return null;if(null===(t=this.parent.getChildStartOffset(this)))throw new a(\"model-node-not-found-in-parent\",this);return t}get offsetSize(){return 1}get endOffset(){return this.parent?this.startOffset+this.offsetSize:null}get nextSibling(){const t=this.index;return null!==t&&this.parent.getChild(t+1)||null}get previousSibling(){const t=this.index;return null!==t&&this.parent.getChild(t-1)||null}get root(){let t=this;for(;t.parent;)t=t.parent;return t}isAttached(){return this.root.is(\"rootElement\")}getPath(){const t=[];let e=this;for(;e.parent;)t.unshift(e.startOffset),e=e.parent;return t}getAncestors(t={includeSelf:!1,parentFirst:!1}){const e=[];let n=t.includeSelf?this:this.parent;for(;n;)e[t.parentFirst?\"push\":\"unshift\"](n),n=n.parent;return e}getCommonAncestor(t,e={}){const n=this.getAncestors(e),i=t.getAncestors(e);let o=0;for(;n[o]==i[o]&&n[o];)o++;return 0===o?null:n[o-1]}isBefore(t){if(this==t)return!1;if(this.root!==t.root)return!1;const e=this.getPath(),n=t.getPath(),i=Ni(e,n);switch(i){case\"prefix\":return!0;case\"extension\":return!1;default:return e[i](t[e[0]]=e[1],t)),{})),t}is(t){return\"node\"===t||\"model:node\"===t}_clone(){return new va(this._attrs)}_remove(){this.parent._removeChildren(this.index)}_setAttribute(t,e){this._attrs.set(t,e)}_setAttributesTo(t){this._attrs=Ri(t)}_removeAttribute(t){return this._attrs.delete(t)}_clearAttributes(){this._attrs.clear()}}class ya extends va{constructor(t,e){super(e),this._data=t||\"\"}get offsetSize(){return this.data.length}get data(){return this._data}is(t){return\"$text\"===t||\"model:$text\"===t||\"text\"===t||\"model:text\"===t||\"node\"===t||\"model:node\"===t}toJSON(){const t=super.toJSON();return t.data=this.data,t}_clone(){return new ya(this.data,this.getAttributes())}static fromJSON(t){return new ya(t.data,t.attributes)}}class xa{constructor(t,e,n){if(this.textNode=t,e<0||e>t.offsetSize)throw new a(\"model-textproxy-wrong-offsetintext\",this);if(n<0||e+n>t.offsetSize)throw new a(\"model-textproxy-wrong-length\",this);this.data=t.data.substring(e,e+n),this.offsetInText=e}get startOffset(){return null!==this.textNode.startOffset?this.textNode.startOffset+this.offsetInText:null}get offsetSize(){return this.data.length}get endOffset(){return null!==this.startOffset?this.startOffset+this.offsetSize:null}get isPartial(){return this.offsetSize!==this.textNode.offsetSize}get parent(){return this.textNode.parent}get root(){return this.textNode.root}is(t){return\"$textProxy\"===t||\"model:$textProxy\"===t||\"textProxy\"===t||\"model:textProxy\"===t}getPath(){const t=this.textNode.getPath();return t.length>0&&(t[t.length-1]+=this.offsetInText),t}getAncestors(t={includeSelf:!1,parentFirst:!1}){const e=[];let n=t.includeSelf?this:this.parent;for(;n;)e[t.parentFirst?\"push\":\"unshift\"](n),n=n.parent;return e}hasAttribute(t){return this.textNode.hasAttribute(t)}getAttribute(t){return this.textNode.getAttribute(t)}getAttributes(){return this.textNode.getAttributes()}getAttributeKeys(){return this.textNode.getAttributeKeys()}}class Ea{constructor(t){this._nodes=[],t&&this._insertNodes(0,t)}[Symbol.iterator](){return this._nodes[Symbol.iterator]()}get length(){return this._nodes.length}get maxOffset(){return this._nodes.reduce(((t,e)=>t+e.offsetSize),0)}getNode(t){return this._nodes[t]||null}getNodeIndex(t){const e=this._nodes.indexOf(t);return-1==e?null:e}getNodeStartOffset(t){const e=this.getNodeIndex(t);return null===e?null:this._nodes.slice(0,e).reduce(((t,e)=>t+e.offsetSize),0)}indexToOffset(t){if(t==this._nodes.length)return this.maxOffset;const e=this._nodes[t];if(!e)throw new a(\"model-nodelist-index-out-of-bounds\",this);return this.getNodeStartOffset(e)}offsetToIndex(t){let e=0;for(const n of this._nodes){if(t>=e&&tt.toJSON()))}}class Da extends va{constructor(t,e,n){super(e),this.name=t,this._children=new Ea,n&&this._insertChild(0,n)}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return 0===this.childCount}is(t,e=null){return e?e===this.name&&(\"element\"===t||\"model:element\"===t):\"element\"===t||\"model:element\"===t||\"node\"===t||\"model:node\"===t}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}offsetToIndex(t){return this._children.offsetToIndex(t)}getNodeByPath(t){let e=this;for(const n of t)e=e.getChild(e.offsetToIndex(n));return e}findAncestor(t,e={includeSelf:!1}){let n=e.includeSelf?this:this.parent;for(;n;){if(n.name===t)return n;n=n.parent}return null}toJSON(){const t=super.toJSON();if(t.name=this.name,this._children.length>0){t.children=[];for(const e of this._children)t.children.push(e.toJSON())}return t}_clone(t=!1){const e=t?Array.from(this._children).map((t=>t._clone(!0))):null;return new Da(this.name,this.getAttributes(),e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=function(t){if(\"string\"==typeof t)return[new ya(t)];vi(t)||(t=[t]);return Array.from(t).map((t=>\"string\"==typeof t?new ya(t):t instanceof xa?new ya(t.data,t.getAttributes()):t))}(e);for(const t of n)null!==t.parent&&t._remove(),t.parent=this;this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const t of n)t.parent=null;return n}static fromJSON(t){let e=null;if(t.children){e=[];for(const n of t.children)n.name?e.push(Da.fromJSON(n)):e.push(ya.fromJSON(n))}return new Da(t.name,t.attributes,e)}}class Sa{constructor(t={}){if(!t.boundaries&&!t.startPosition)throw new a(\"model-tree-walker-no-start-position\",null);const e=t.direction||\"forward\";if(\"forward\"!=e&&\"backward\"!=e)throw new a(\"model-tree-walker-unknown-direction\",t,{direction:e});this.direction=e,this.boundaries=t.boundaries||null,t.startPosition?this.position=t.startPosition.clone():this.position=Ta._createAt(this.boundaries[\"backward\"==this.direction?\"end\":\"start\"]),this.position.stickiness=\"toNone\",this.singleCharacters=!!t.singleCharacters,this.shallow=!!t.shallow,this.ignoreElementEnd=!!t.ignoreElementEnd,this._boundaryStartParent=this.boundaries?this.boundaries.start.parent:null,this._boundaryEndParent=this.boundaries?this.boundaries.end.parent:null,this._visitedParent=this.position.parent}[Symbol.iterator](){return this}skip(t){let e,n,i,o;do{i=this.position,o=this._visitedParent,({done:e,value:n}=this.next())}while(!e&&t(n));e||(this.position=i,this._visitedParent=o)}next(){return\"forward\"==this.direction?this._next():this._previous()}_next(){const t=this.position,e=this.position.clone(),n=this._visitedParent;if(null===n.parent&&e.offset===n.maxOffset)return{done:!0};if(n===this._boundaryEndParent&&e.offset==this.boundaries.end.offset)return{done:!0};const i=e.parent,o=Ma(e,i),r=o||Ba(e,i,o);if(r instanceof Da)return this.shallow?e.offset++:(e.path.push(0),this._visitedParent=r),this.position=e,Ia(\"elementStart\",r,t,e,1);if(r instanceof ya){let i;if(this.singleCharacters)i=1;else{let t=r.endOffset;this._boundaryEndParent==n&&this.boundaries.end.offsett&&(t=this.boundaries.start.offset),i=e.offset-t}const o=e.offset-r.startOffset,s=new xa(r,o-i,i);return e.offset-=i,this.position=e,Ia(\"text\",s,t,e,i)}return e.path.pop(),this.position=e,this._visitedParent=n.parent,Ia(\"elementStart\",n,t,e,1)}}function Ia(t,e,n,i,o){return{done:!1,value:{type:t,item:e,previousPosition:n,nextPosition:i,length:o}}}class Ta{constructor(t,e,n=\"toNone\"){if(!t.is(\"element\")&&!t.is(\"documentFragment\"))throw new a(\"model-position-root-invalid\",t);if(!(e instanceof Array)||0===e.length)throw new a(\"model-position-path-incorrect-format\",t,{path:e});t.is(\"rootElement\")?e=e.slice():(e=[...t.getPath(),...e],t=t.root),this.root=t,this.path=e,this.stickiness=n}get offset(){return this.path[this.path.length-1]}set offset(t){this.path[this.path.length-1]=t}get parent(){let t=this.root;for(let e=0;en.path.length){if(e.offset!==i.maxOffset)return!1;e.path=e.path.slice(0,-1),i=i.parent,e.offset++}else{if(0!==n.offset)return!1;n.path=n.path.slice(0,-1)}}}is(t){return\"position\"===t||\"model:position\"===t}hasSameParentAs(t){if(this.root!==t.root)return!1;return\"same\"==Ni(this.getParentPath(),t.getParentPath())}getTransformedByOperation(t){let e;switch(t.type){case\"insert\":e=this._getTransformedByInsertOperation(t);break;case\"move\":case\"remove\":case\"reinsert\":e=this._getTransformedByMoveOperation(t);break;case\"split\":e=this._getTransformedBySplitOperation(t);break;case\"merge\":e=this._getTransformedByMergeOperation(t);break;default:e=Ta._createAt(this)}return e}_getTransformedByInsertOperation(t){return this._getTransformedByInsertion(t.position,t.howMany)}_getTransformedByMoveOperation(t){return this._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany)}_getTransformedBySplitOperation(t){const e=t.movedRange;return e.containsPosition(this)||e.start.isEqual(this)&&\"toNext\"==this.stickiness?this._getCombined(t.splitPosition,t.moveTargetPosition):t.graveyardPosition?this._getTransformedByMove(t.graveyardPosition,t.insertionPosition,1):this._getTransformedByInsertion(t.insertionPosition,1)}_getTransformedByMergeOperation(t){const e=t.movedRange;let n;return e.containsPosition(this)||e.start.isEqual(this)?(n=this._getCombined(t.sourcePosition,t.targetPosition),t.sourcePosition.isBefore(t.targetPosition)&&(n=n._getTransformedByDeletion(t.deletionPosition,1))):n=this.isEqual(t.deletionPosition)?Ta._createAt(t.deletionPosition):this._getTransformedByMove(t.deletionPosition,t.graveyardPosition,1),n}_getTransformedByDeletion(t,e){const n=Ta._createAt(this);if(this.root!=t.root)return n;if(\"same\"==Ni(t.getParentPath(),this.getParentPath())){if(t.offsetthis.offset)return null;n.offset-=e}}else if(\"prefix\"==Ni(t.getParentPath(),this.getParentPath())){const i=t.path.length-1;if(t.offset<=this.path[i]){if(t.offset+e>this.path[i])return null;n.path[i]-=e}}return n}_getTransformedByInsertion(t,e){const n=Ta._createAt(this);if(this.root!=t.root)return n;if(\"same\"==Ni(t.getParentPath(),this.getParentPath()))(t.offsete+1;){const e=i.maxOffset-n.offset;0!==e&&t.push(new La(n,n.getShiftedBy(e))),n.path=n.path.slice(0,-1),n.offset++,i=i.parent}for(;n.path.length<=this.end.path.length;){const e=this.end.path[n.path.length-1],i=e-n.offset;0!==i&&t.push(new La(n,n.getShiftedBy(i))),n.offset=e,n.path.push(0)}return t}getWalker(t={}){return t.boundaries=this,new Sa(t)}*getItems(t={}){t.boundaries=this,t.ignoreElementEnd=!0;const e=new Sa(t);for(const t of e)yield t.item}*getPositions(t={}){t.boundaries=this;const e=new Sa(t);yield e.position;for(const t of e)yield t.nextPosition}getTransformedByOperation(t){switch(t.type){case\"insert\":return this._getTransformedByInsertOperation(t);case\"move\":case\"remove\":case\"reinsert\":return this._getTransformedByMoveOperation(t);case\"split\":return[this._getTransformedBySplitOperation(t)];case\"merge\":return[this._getTransformedByMergeOperation(t)]}return[new La(this.start,this.end)]}getTransformedByOperations(t){const e=[new La(this.start,this.end)];for(const n of t)for(let t=0;t0?new this(n,i):new this(i,n)}static _createIn(t){return new this(Ta._createAt(t,0),Ta._createAt(t,t.maxOffset))}static _createOn(t){return this._createFromPositionAndShift(Ta._createBefore(t),t.offsetSize)}static _createFromRanges(t){if(0===t.length)throw new a(\"range-create-from-ranges-empty-array\",null);if(1==t.length)return t[0].clone();const e=t[0];t.sort(((t,e)=>t.start.isAfter(e.start)?1:-1));const n=t.indexOf(e),i=new this(e.start,e.end);if(n>0)for(let e=n-1;t[e].end.isEqual(i.start);e++)i.start=Ta._createAt(t[e].start);for(let e=n+1;e{if(e.viewPosition)return;const n=this._modelToViewMapping.get(e.modelPosition.parent);e.viewPosition=this.findPositionIn(n,e.modelPosition.offset)}),{priority:\"low\"}),this.on(\"viewToModelPosition\",((t,e)=>{if(e.modelPosition)return;const n=this.findMappedViewAncestor(e.viewPosition),i=this._viewToModelMapping.get(n),o=this._toModelOffset(e.viewPosition.parent,e.viewPosition.offset,n);e.modelPosition=Ta._createAt(i,o)}),{priority:\"low\"})}bindElements(t,e){this._modelToViewMapping.set(t,e),this._viewToModelMapping.set(e,t)}unbindViewElement(t){const e=this.toModelElement(t);if(this._viewToModelMapping.delete(t),this._elementToMarkerNames.has(t))for(const e of this._elementToMarkerNames.get(t))this._unboundMarkerNames.add(e);this._modelToViewMapping.get(e)==t&&this._modelToViewMapping.delete(e)}unbindModelElement(t){const e=this.toViewElement(t);this._modelToViewMapping.delete(t),this._viewToModelMapping.get(e)==t&&this._viewToModelMapping.delete(e)}bindElementToMarker(t,e){const n=this._markerNameToElements.get(e)||new Set;n.add(t);const i=this._elementToMarkerNames.get(t)||new Set;i.add(e),this._markerNameToElements.set(e,n),this._elementToMarkerNames.set(t,i)}unbindElementFromMarkerName(t,e){const n=this._markerNameToElements.get(e);n&&(n.delete(t),0==n.size&&this._markerNameToElements.delete(e));const i=this._elementToMarkerNames.get(t);i&&(i.delete(e),0==i.size&&this._elementToMarkerNames.delete(t))}flushUnboundMarkerNames(){const t=Array.from(this._unboundMarkerNames);return this._unboundMarkerNames.clear(),t}clearBindings(){this._modelToViewMapping=new WeakMap,this._viewToModelMapping=new WeakMap,this._markerNameToElements=new Map,this._elementToMarkerNames=new Map,this._unboundMarkerNames=new Set}toModelElement(t){return this._viewToModelMapping.get(t)}toViewElement(t){return this._modelToViewMapping.get(t)}toModelRange(t){return new La(this.toModelPosition(t.start),this.toModelPosition(t.end))}toViewRange(t){return new zo(this.toViewPosition(t.start),this.toViewPosition(t.end))}toModelPosition(t){const e={viewPosition:t,mapper:this};return this.fire(\"viewToModelPosition\",e),e.modelPosition}toViewPosition(t,e={isPhantom:!1}){const n={modelPosition:t,mapper:this,isPhantom:e.isPhantom};return this.fire(\"modelToViewPosition\",n),n.viewPosition}markerNameToElements(t){const e=this._markerNameToElements.get(t);if(!e)return null;const n=new Set;for(const t of e)if(t.is(\"attributeElement\"))for(const e of t.getElementsWithSameId())n.add(e);else n.add(t);return n}registerViewToModelLength(t,e){this._viewToModelLengthCallbacks.set(t,e)}findMappedViewAncestor(t){let e=t.parent;for(;!this._viewToModelMapping.has(e);)e=e.parent;return e}_toModelOffset(t,e,n){if(n!=t){return this._toModelOffset(t.parent,t.index,n)+this._toModelOffset(t,e,t)}if(t.is(\"$text\"))return e;let i=0;for(let n=0;n1?e[0]+\":\"+e[1]:e[0]}class Ra{constructor(t){this.conversionApi=Object.assign({dispatcher:this},t),this._reconversionEventsMapping=new Map}convertChanges(t,e,n){for(const e of t.getMarkersToRemove())this.convertMarkerRemove(e.name,e.range,n);const i=this._mapChangesWithAutomaticReconversion(t);for(const t of i)\"insert\"===t.type?this.convertInsert(La._createFromPositionAndShift(t.position,t.length),n):\"remove\"===t.type?this.convertRemove(t.position,t.length,t.name,n):\"reconvert\"===t.type?this.reconvertElement(t.element,n):this.convertAttribute(t.range,t.attributeKey,t.attributeOldValue,t.attributeNewValue,n);for(const t of this.conversionApi.mapper.flushUnboundMarkerNames()){const i=e.get(t).getRange();this.convertMarkerRemove(t,i,n),this.convertMarkerAdd(t,i,n)}for(const e of t.getMarkersToAdd())this.convertMarkerAdd(e.name,e.range,n)}convertInsert(t,e){this.conversionApi.writer=e,this.conversionApi.consumable=this._createInsertConsumable(t);for(const e of Array.from(t).map(ja))this._convertInsertWithAttributes(e);this._clearConversionApi()}convertRemove(t,e,n,i){this.conversionApi.writer=i,this.fire(\"remove:\"+n,{position:t,length:e},this.conversionApi),this._clearConversionApi()}convertAttribute(t,e,n,i,o){this.conversionApi.writer=o,this.conversionApi.consumable=this._createConsumableForRange(t,`attribute:${e}`);for(const o of t){const t={item:o.item,range:La._createFromPositionAndShift(o.previousPosition,o.length),attributeKey:e,attributeOldValue:n,attributeNewValue:i};this._testAndFire(`attribute:${e}`,t)}this._clearConversionApi()}reconvertElement(t,e){const n=La._createOn(t);this.conversionApi.writer=e,this.conversionApi.consumable=this._createInsertConsumable(n);const i=this.conversionApi.mapper,o=i.toViewElement(t);e.remove(o),this._convertInsertWithAttributes({item:t,range:n});const r=i.toViewElement(t);for(const n of La._createIn(t)){const{item:t}=n,o=Va(t,i);o?o.root!==r.root&&e.move(e.createRangeOn(o),i.toViewPosition(Ta._createBefore(t))):this._convertInsertWithAttributes(ja(n))}i.unbindViewElement(o),this._clearConversionApi()}convertSelection(t,e,n){const i=Array.from(e.getMarkersAtPosition(t.getFirstPosition()));if(this.conversionApi.writer=n,this.conversionApi.consumable=this._createSelectionConsumable(t,i),this.fire(\"selection\",{selection:t},this.conversionApi),t.isCollapsed){for(const e of i){const n=e.getRange();if(!Fa(t.getFirstPosition(),e,this.conversionApi.mapper))continue;const i={item:t,markerName:e.name,markerRange:n};this.conversionApi.consumable.test(t,\"addMarker:\"+e.name)&&this.fire(\"addMarker:\"+e.name,i,this.conversionApi)}for(const e of t.getAttributeKeys()){const n={item:t,range:t.getFirstRange(),attributeKey:e,attributeOldValue:null,attributeNewValue:t.getAttribute(e)};this.conversionApi.consumable.test(t,\"attribute:\"+n.attributeKey)&&this.fire(\"attribute:\"+n.attributeKey+\":$text\",n,this.conversionApi)}this._clearConversionApi()}else this._clearConversionApi()}convertMarkerAdd(t,e,n){if(\"$graveyard\"==e.root.rootName)return;this.conversionApi.writer=n;const i=\"addMarker:\"+t,o=new Pa;if(o.add(e,i),this.conversionApi.consumable=o,this.fire(i,{markerName:t,markerRange:e},this.conversionApi),o.test(e,i)){this.conversionApi.consumable=this._createConsumableForRange(e,i);for(const n of e.getItems()){if(!this.conversionApi.consumable.test(n,i))continue;const o={item:n,range:La._createOn(n),markerName:t,markerRange:e};this.fire(i,o,this.conversionApi)}this._clearConversionApi()}else this._clearConversionApi()}convertMarkerRemove(t,e,n){\"$graveyard\"!=e.root.rootName&&(this.conversionApi.writer=n,this.fire(\"removeMarker:\"+t,{markerName:t,markerRange:e},this.conversionApi),this._clearConversionApi())}_mapReconversionTriggerEvent(t,e){this._reconversionEventsMapping.set(e,t)}_createInsertConsumable(t){const e=new Pa;for(const n of t){const t=n.item;e.add(t,\"insert\");for(const n of t.getAttributeKeys())e.add(t,\"attribute:\"+n)}return e}_createConsumableForRange(t,e){const n=new Pa;for(const i of t.getItems())n.add(i,e);return n}_createSelectionConsumable(t,e){const n=new Pa;n.add(t,\"selection\");for(const i of e)n.add(t,\"addMarker:\"+i.name);for(const e of t.getAttributeKeys())n.add(t,\"attribute:\"+e);return n}_testAndFire(t,e){this.conversionApi.consumable.test(e.item,t)&&this.fire(function(t,e){const n=e.item.name||\"$text\";return`${t}:${n}`}(t,e),e,this.conversionApi)}_clearConversionApi(){delete this.conversionApi.writer,delete this.conversionApi.consumable}_convertInsertWithAttributes(t){this._testAndFire(\"insert\",t);for(const e of t.item.getAttributeKeys())t.attributeKey=e,t.attributeOldValue=null,t.attributeNewValue=t.item.getAttribute(e),this._testAndFire(`attribute:${e}`,t)}_mapChangesWithAutomaticReconversion(t){const e=new Set,n=[];for(const i of t.getChanges()){const t=i.position||i.range.start,o=t.parent;if(Ma(t,o)){n.push(i);continue}const r=\"attribute\"===i.type?Ba(t,o,null):o;if(r.is(\"$text\")){n.push(i);continue}let s;if(s=\"attribute\"===i.type?`attribute:${i.attributeKey}:${r.name}`:`${i.type}:${i.name}`,this._isReconvertTriggerEvent(s,r.name)){if(e.has(r))continue;e.add(r),n.push({type:\"reconvert\",element:r})}else n.push(i)}return n}_isReconvertTriggerEvent(t,e){return this._reconversionEventsMapping.get(t)===e}}function Fa(t,e,n){const i=e.getRange(),o=Array.from(t.getAncestors());o.shift(),o.reverse();return!o.some((t=>{if(i.containsItem(t)){return!!n.toViewElement(t).getCustomProperty(\"addHighlight\")}}))}function ja(t){return{item:t.item,range:La._createFromPositionAndShift(t.previousPosition,t.length)}}function Va(t,e){if(t.is(\"textProxy\")){const n=e.toViewPosition(Ta._createBefore(t)).parent;return n.is(\"$text\")?n:null}return e.toViewElement(t)}ce(Ra,p);class Ha{constructor(t,e,n){this._lastRangeBackward=!1,this._ranges=[],this._attrs=new Map,t&&this.setTo(t,e,n)}get anchor(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.end:t.start}return null}get focus(){if(this._ranges.length>0){const t=this._ranges[this._ranges.length-1];return this._lastRangeBackward?t.start:t.end}return null}get isCollapsed(){return 1===this._ranges.length&&this._ranges[0].isCollapsed}get rangeCount(){return this._ranges.length}get isBackward(){return!this.isCollapsed&&this._lastRangeBackward}isEqual(t){if(this.rangeCount!=t.rangeCount)return!1;if(0===this.rangeCount)return!0;if(!this.anchor.isEqual(t.anchor)||!this.focus.isEqual(t.focus))return!1;for(const e of this._ranges){let n=!1;for(const i of t._ranges)if(e.isEqual(i)){n=!0;break}if(!n)return!1}return!0}*getRanges(){for(const t of this._ranges)yield new La(t.start,t.end)}getFirstRange(){let t=null;for(const e of this._ranges)t&&!e.start.isBefore(t.start)||(t=e);return t?new La(t.start,t.end):null}getLastRange(){let t=null;for(const e of this._ranges)t&&!e.end.isAfter(t.end)||(t=e);return t?new La(t.start,t.end):null}getFirstPosition(){const t=this.getFirstRange();return t?t.start.clone():null}getLastPosition(){const t=this.getLastRange();return t?t.end.clone():null}setTo(t,e,n){if(null===t)this._setRanges([]);else if(t instanceof Ha)this._setRanges(t.getRanges(),t.isBackward);else if(t&&\"function\"==typeof t.getRanges)this._setRanges(t.getRanges(),t.isBackward);else if(t instanceof La)this._setRanges([t],!!e&&!!e.backward);else if(t instanceof Ta)this._setRanges([new La(t)]);else if(t instanceof va){const i=!!n&&!!n.backward;let o;if(\"in\"==e)o=La._createIn(t);else if(\"on\"==e)o=La._createOn(t);else{if(void 0===e)throw new a(\"model-selection-setto-required-second-parameter\",[this,t]);o=new La(Ta._createAt(t,e))}this._setRanges([o],i)}else{if(!vi(t))throw new a(\"model-selection-setto-not-selectable\",[this,t]);this._setRanges(t,e&&!!e.backward)}}_setRanges(t,e=!1){const n=(t=Array.from(t)).some((e=>{if(!(e instanceof La))throw new a(\"model-selection-set-ranges-not-range\",[this,t]);return this._ranges.every((t=>!t.isEqual(e)))}));if(t.length!==this._ranges.length||n){this._removeAllRanges();for(const e of t)this._pushRange(e);this._lastRangeBackward=!!e,this.fire(\"change:range\",{directChange:!0})}}setFocus(t,e){if(null===this.anchor)throw new a(\"model-selection-setfocus-no-ranges\",[this,t]);const n=Ta._createAt(t,e);if(\"same\"==n.compareWith(this.focus))return;const i=this.anchor;this._ranges.length&&this._popRange(),\"before\"==n.compareWith(i)?(this._pushRange(new La(n,i)),this._lastRangeBackward=!0):(this._pushRange(new La(i,n)),this._lastRangeBackward=!1),this.fire(\"change:range\",{directChange:!0})}getAttribute(t){return this._attrs.get(t)}getAttributes(){return this._attrs.entries()}getAttributeKeys(){return this._attrs.keys()}hasAttribute(t){return this._attrs.has(t)}removeAttribute(t){this.hasAttribute(t)&&(this._attrs.delete(t),this.fire(\"change:attribute\",{attributeKeys:[t],directChange:!0}))}setAttribute(t,e){this.getAttribute(t)!==e&&(this._attrs.set(t,e),this.fire(\"change:attribute\",{attributeKeys:[t],directChange:!0}))}getSelectedElement(){return 1!==this.rangeCount?null:this.getFirstRange().getContainedElement()}is(t){return\"selection\"===t||\"model:selection\"===t}*getSelectedBlocks(){const t=new WeakSet;for(const e of this.getRanges()){const n=qa(e.start,t);n&&Wa(n,e)&&(yield n);for(const n of e.getWalker()){const i=n.item;\"elementEnd\"==n.type&&Ga(i,t,e)&&(yield i)}const i=qa(e.end,t);i&&!e.end.isTouching(Ta._createAt(i,0))&&Wa(i,e)&&(yield i)}}containsEntireContent(t=this.anchor.root){const e=Ta._createAt(t,0),n=Ta._createAt(t,\"end\");return e.isTouching(this.getFirstPosition())&&n.isTouching(this.getLastPosition())}_pushRange(t){this._checkRange(t),this._ranges.push(new La(t.start,t.end))}_checkRange(t){for(let e=0;e0;)this._popRange()}_popRange(){this._ranges.pop()}}function Ua(t,e){return!e.has(t)&&(e.add(t),t.root.document.model.schema.isBlock(t)&&t.parent)}function Ga(t,e,n){return Ua(t,e)&&Wa(t,n)}function qa(t,e){const n=t.parent.root.document.model.schema,i=t.parent.getAncestors({parentFirst:!0,includeSelf:!0});let o=!1;const r=i.find((t=>!o&&(o=n.isLimit(t),!o&&Ua(t,e))));return i.forEach((t=>e.add(t))),r}function Wa(t,e){const n=function(t){const e=t.root.document.model.schema;let n=t.parent;for(;n;){if(e.isBlock(n))return n;n=n.parent}}(t);if(!n)return!0;return!e.containsRange(La._createOn(n),!0)}ce(Ha,p);class Ka extends La{constructor(t,e){super(t,e),$a.call(this)}detach(){this.stopListening()}is(t){return\"liveRange\"===t||\"model:liveRange\"===t||\"range\"==t||\"model:range\"===t}toRange(){return new La(this.start,this.end)}static fromRange(t){return new Ka(t.start,t.end)}}function $a(){this.listenTo(this.root.document.model,\"applyOperation\",((t,e)=>{const n=e[0];n.isDocumentOperation&&Ya.call(this,n)}),{priority:\"low\"})}function Ya(t){const e=this.getTransformedByOperation(t),n=La._createFromRanges(e),i=!n.isEqual(this),o=function(t,e){switch(e.type){case\"insert\":return t.containsPosition(e.position);case\"move\":case\"remove\":case\"reinsert\":case\"merge\":return t.containsPosition(e.sourcePosition)||t.start.isEqual(e.sourcePosition)||t.containsPosition(e.targetPosition);case\"split\":return t.containsPosition(e.splitPosition)||t.containsPosition(e.insertionPosition)}return!1}(this,t);let r=null;if(i){\"$graveyard\"==n.root.rootName&&(r=\"remove\"==t.type?t.sourcePosition:t.deletionPosition);const e=this.toRange();this.start=n.start,this.end=n.end,this.fire(\"change:range\",e,{deletionPosition:r})}else o&&this.fire(\"change:content\",this.toRange(),{deletionPosition:r})}ce(Ka,p);const Za=\"selection:\";class Qa{constructor(t){this._selection=new Ja(t),this._selection.delegate(\"change:range\").to(this),this._selection.delegate(\"change:attribute\").to(this),this._selection.delegate(\"change:marker\").to(this)}get isCollapsed(){return this._selection.isCollapsed}get anchor(){return this._selection.anchor}get focus(){return this._selection.focus}get rangeCount(){return this._selection.rangeCount}get hasOwnRange(){return this._selection.hasOwnRange}get isBackward(){return this._selection.isBackward}get isGravityOverridden(){return this._selection.isGravityOverridden}get markers(){return this._selection.markers}get _ranges(){return this._selection._ranges}getRanges(){return this._selection.getRanges()}getFirstPosition(){return this._selection.getFirstPosition()}getLastPosition(){return this._selection.getLastPosition()}getFirstRange(){return this._selection.getFirstRange()}getLastRange(){return this._selection.getLastRange()}getSelectedBlocks(){return this._selection.getSelectedBlocks()}getSelectedElement(){return this._selection.getSelectedElement()}containsEntireContent(t){return this._selection.containsEntireContent(t)}destroy(){this._selection.destroy()}getAttributeKeys(){return this._selection.getAttributeKeys()}getAttributes(){return this._selection.getAttributes()}getAttribute(t){return this._selection.getAttribute(t)}hasAttribute(t){return this._selection.hasAttribute(t)}refresh(){this._selection._updateMarkers(),this._selection._updateAttributes(!1)}observeMarkers(t){this._selection.observeMarkers(t)}is(t){return\"selection\"===t||\"model:selection\"==t||\"documentSelection\"==t||\"model:documentSelection\"==t}_setFocus(t,e){this._selection.setFocus(t,e)}_setTo(t,e,n){this._selection.setTo(t,e,n)}_setAttribute(t,e){this._selection.setAttribute(t,e)}_removeAttribute(t){this._selection.removeAttribute(t)}_getStoredAttributes(){return this._selection._getStoredAttributes()}_overrideGravity(){return this._selection.overrideGravity()}_restoreGravity(t){this._selection.restoreGravity(t)}static _getStoreAttributeKey(t){return Za+t}static _isStoreAttributeKey(t){return t.startsWith(Za)}}ce(Qa,p);class Ja extends Ha{constructor(t){super(),this.markers=new yi({idProperty:\"name\"}),this._model=t.model,this._document=t,this._attributePriority=new Map,this._selectionRestorePosition=null,this._hasChangedRange=!1,this._overriddenGravityRegister=new Set,this._observedMarkers=new Set,this.listenTo(this._model,\"applyOperation\",((t,e)=>{const n=e[0];n.isDocumentOperation&&\"marker\"!=n.type&&\"rename\"!=n.type&&\"noop\"!=n.type&&(0==this._ranges.length&&this._selectionRestorePosition&&this._fixGraveyardSelection(this._selectionRestorePosition),this._selectionRestorePosition=null,this._hasChangedRange&&(this._hasChangedRange=!1,this.fire(\"change:range\",{directChange:!1})))}),{priority:\"lowest\"}),this.on(\"change:range\",(()=>{for(const t of this.getRanges())if(!this._document._validateSelectionRange(t))throw new a(\"document-selection-wrong-position\",this,{range:t})})),this.listenTo(this._model.markers,\"update\",((t,e,n,i)=>{this._updateMarker(e,i)})),this.listenTo(this._document,\"change\",((t,e)=>{!function(t,e){const n=t.document.differ;for(const i of n.getChanges()){if(\"insert\"!=i.type)continue;const n=i.position.parent;i.length===n.maxOffset&&t.enqueueChange(e,(t=>{const e=Array.from(n.getAttributeKeys()).filter((t=>t.startsWith(Za)));for(const i of e)t.removeAttribute(i,n)}))}}(this._model,e)}))}get isCollapsed(){return 0===this._ranges.length?this._document._getDefaultRange().isCollapsed:super.isCollapsed}get anchor(){return super.anchor||this._document._getDefaultRange().start}get focus(){return super.focus||this._document._getDefaultRange().end}get rangeCount(){return this._ranges.length?this._ranges.length:1}get hasOwnRange(){return this._ranges.length>0}get isGravityOverridden(){return!!this._overriddenGravityRegister.size}destroy(){for(let t=0;t{if(this._hasChangedRange=!0,e.root==this._document.graveyard){this._selectionRestorePosition=i.deletionPosition;const t=this._ranges.indexOf(e);this._ranges.splice(t,1),e.detach()}})),e}_updateMarkers(){if(!this._observedMarkers.size)return;const t=[];let e=!1;for(const e of this._model.markers){const n=e.name.split(\":\",1)[0];if(!this._observedMarkers.has(n))continue;const i=e.getRange();for(const n of this.getRanges())i.containsRange(n,!n.isCollapsed)&&t.push(e)}const n=Array.from(this.markers);for(const n of t)this.markers.has(n)||(this.markers.add(n),e=!0);for(const n of Array.from(this.markers))t.includes(n)||(this.markers.remove(n),e=!0);e&&this.fire(\"change:marker\",{oldMarkers:n,directChange:!1})}_updateMarker(t,e){const n=t.name.split(\":\",1)[0];if(!this._observedMarkers.has(n))return;let i=!1;const o=Array.from(this.markers),r=this.markers.has(t);if(e){let n=!1;for(const t of this.getRanges())if(e.containsRange(t,!t.isCollapsed)){n=!0;break}n&&!r?(this.markers.add(t),i=!0):!n&&r&&(this.markers.remove(t),i=!0)}else r&&(this.markers.remove(t),i=!0);i&&this.fire(\"change:marker\",{oldMarkers:o,directChange:!1})}_updateAttributes(t){const e=Ri(this._getSurroundingAttributes()),n=Ri(this.getAttributes());if(t)this._attributePriority=new Map,this._attrs=new Map;else for(const[t,e]of this._attributePriority)\"low\"==e&&(this._attrs.delete(t),this._attributePriority.delete(t));this._setAttributesTo(e);const i=[];for(const[t,e]of this.getAttributes())n.has(t)&&n.get(t)===e||i.push(t);for(const[t]of n)this.hasAttribute(t)||i.push(t);i.length>0&&this.fire(\"change:attribute\",{attributeKeys:i,directChange:!1})}_setAttribute(t,e,n=!0){const i=n?\"normal\":\"low\";if(\"low\"==i&&\"normal\"==this._attributePriority.get(t))return!1;return super.getAttribute(t)!==e&&(this._attrs.set(t,e),this._attributePriority.set(t,i),!0)}_removeAttribute(t,e=!0){const n=e?\"normal\":\"low\";return(\"low\"!=n||\"normal\"!=this._attributePriority.get(t))&&(this._attributePriority.set(t,n),!!super.hasAttribute(t)&&(this._attrs.delete(t),!0))}_setAttributesTo(t){const e=new Set;for(const[e,n]of this.getAttributes())t.get(e)!==n&&this._removeAttribute(e,!1);for(const[n,i]of t){this._setAttribute(n,i,!1)&&e.add(n)}return e}*_getStoredAttributes(){const t=this.getFirstPosition().parent;if(this.isCollapsed&&t.isEmpty)for(const e of t.getAttributeKeys())if(e.startsWith(Za)){const n=e.substr(Za.length);yield[n,t.getAttribute(e)]}}_getSurroundingAttributes(){const t=this.getFirstPosition(),e=this._model.schema;let n=null;if(this.isCollapsed){const i=t.textNode?t.textNode:t.nodeBefore,o=t.textNode?t.textNode:t.nodeAfter;if(this.isGravityOverridden||(n=Xa(i)),n||(n=Xa(o)),!this.isGravityOverridden&&!n){let t=i;for(;t&&!e.isInline(t)&&!n;)t=t.previousSibling,n=Xa(t)}if(!n){let t=o;for(;t&&!e.isInline(t)&&!n;)t=t.nextSibling,n=Xa(t)}n||(n=this._getStoredAttributes())}else{const t=this.getFirstRange();for(const i of t){if(i.item.is(\"element\")&&e.isObject(i.item))break;if(\"text\"==i.type){n=i.item.getAttributes();break}}}return n}_fixGraveyardSelection(t){const e=this._model.schema.getNearestSelectionRange(t);e&&this._pushRange(e)}}function Xa(t){return t instanceof xa||t instanceof ya?t.getAttributes():null}class tc{constructor(t){this._dispatchers=t}add(t){for(const e of this._dispatchers)t(e);return this}}const ec=function(t){return ki(t,5)};class nc extends tc{elementToElement(t){return this.add(function(t){return(t=ec(t)).view=rc(t.view,\"container\"),e=>{var n;if(e.on(\"insert:\"+t.model,(n=t.view,(t,e,i)=>{const o=n(e.item,i);if(!o)return;if(!i.consumable.consume(e.item,\"insert\"))return;const r=i.mapper.toViewPosition(e.range.start);i.mapper.bindElements(e.item,o),i.writer.insert(r,o)}),{priority:t.converterPriority||\"normal\"}),t.triggerBy){if(t.triggerBy.attributes)for(const n of t.triggerBy.attributes)e._mapReconversionTriggerEvent(t.model,`attribute:${n}:${t.model}`);if(t.triggerBy.children)for(const n of t.triggerBy.children)e._mapReconversionTriggerEvent(t.model,`insert:${n}`),e._mapReconversionTriggerEvent(t.model,`remove:${n}`)}}}(t))}attributeToElement(t){return this.add(function(t){t=ec(t);let e=\"attribute:\"+(t.model.key?t.model.key:t.model);t.model.name&&(e+=\":\"+t.model.name);if(t.model.values)for(const e of t.model.values)t.view[e]=rc(t.view[e],\"attribute\");else t.view=rc(t.view,\"attribute\");const n=sc(t);return i=>{i.on(e,function(t){return(e,n,i)=>{const o=t(n.attributeOldValue,i),r=t(n.attributeNewValue,i);if(!o&&!r)return;if(!i.consumable.consume(n.item,e.name))return;const s=i.writer,a=s.document.selection;if(n.item instanceof Ha||n.item instanceof Qa)s.wrap(a.getFirstRange(),r);else{let t=i.mapper.toViewRange(n.range);null!==n.attributeOldValue&&o&&(t=s.unwrap(t,o)),null!==n.attributeNewValue&&r&&s.wrap(t,r)}}}(n),{priority:t.converterPriority||\"normal\"})}}(t))}attributeToAttribute(t){return this.add(function(t){t=ec(t);let e=\"attribute:\"+(t.model.key?t.model.key:t.model);t.model.name&&(e+=\":\"+t.model.name);if(t.model.values)for(const e of t.model.values)t.view[e]=ac(t.view[e]);else t.view=ac(t.view);const n=sc(t);return i=>{var o;i.on(e,(o=n,(t,e,n)=>{const i=o(e.attributeOldValue,n),r=o(e.attributeNewValue,n);if(!i&&!r)return;if(!n.consumable.consume(e.item,t.name))return;const s=n.mapper.toViewElement(e.item),c=n.writer;if(!s)throw new a(\"conversion-attribute-to-attribute-on-text\",[e,n]);if(null!==e.attributeOldValue&&i)if(\"class\"==i.key){const t=Ei(i.value);for(const e of t)c.removeClass(e,s)}else if(\"style\"==i.key){const t=Object.keys(i.value);for(const e of t)c.removeStyle(e,s)}else c.removeAttribute(i.key,s);if(null!==e.attributeNewValue&&r)if(\"class\"==r.key){const t=Ei(r.value);for(const e of t)c.addClass(e,s)}else if(\"style\"==r.key){const t=Object.keys(r.value);for(const e of t)c.setStyle(e,r.value[e],s)}else c.setAttribute(r.key,r.value,s)}),{priority:t.converterPriority||\"normal\"})}}(t))}markerToElement(t){return this.add(function(t){return(t=ec(t)).view=rc(t.view,\"ui\"),e=>{var n;e.on(\"addMarker:\"+t.model,(n=t.view,(t,e,i)=>{e.isOpening=!0;const o=n(e,i);e.isOpening=!1;const r=n(e,i);if(!o||!r)return;const s=e.markerRange;if(s.isCollapsed&&!i.consumable.consume(s,t.name))return;for(const e of s)if(!i.consumable.consume(e.item,t.name))return;const a=i.mapper,c=i.writer;c.insert(a.toViewPosition(s.start),o),i.mapper.bindElementToMarker(o,e.markerName),s.isCollapsed||(c.insert(a.toViewPosition(s.end),r),i.mapper.bindElementToMarker(r,e.markerName)),t.stop()}),{priority:t.converterPriority||\"normal\"}),e.on(\"removeMarker:\"+t.model,(t.view,(t,e,n)=>{const i=n.mapper.markerNameToElements(e.markerName);if(i){for(const t of i)n.mapper.unbindElementFromMarkerName(t,e.markerName),n.writer.clear(n.writer.createRangeOn(t),t);n.writer.clearClonedElementsGroup(e.markerName),t.stop()}}),{priority:t.converterPriority||\"normal\"})}}(t))}markerToHighlight(t){return this.add(function(t){return e=>{var n;e.on(\"addMarker:\"+t.model,(n=t.view,(t,e,i)=>{if(!e.item)return;if(!(e.item instanceof Ha||e.item instanceof Qa||e.item.is(\"$textProxy\")))return;const o=cc(n,e,i);if(!o)return;if(!i.consumable.consume(e.item,t.name))return;const r=i.writer,s=ic(r,o),a=r.document.selection;if(e.item instanceof Ha||e.item instanceof Qa)r.wrap(a.getFirstRange(),s,a);else{const t=i.mapper.toViewRange(e.range),n=r.wrap(t,s);for(const t of n.getItems())if(t.is(\"attributeElement\")&&t.isSimilar(s)){i.mapper.bindElementToMarker(t,e.markerName);break}}}),{priority:t.converterPriority||\"normal\"}),e.on(\"addMarker:\"+t.model,function(t){return(e,n,i)=>{if(!n.item)return;if(!(n.item instanceof Da))return;const o=cc(t,n,i);if(!o)return;if(!i.consumable.test(n.item,e.name))return;const r=i.mapper.toViewElement(n.item);if(r&&r.getCustomProperty(\"addHighlight\")){i.consumable.consume(n.item,e.name);for(const t of La._createIn(n.item))i.consumable.consume(t.item,e.name);r.getCustomProperty(\"addHighlight\")(r,o,i.writer),i.mapper.bindElementToMarker(r,n.markerName)}}}(t.view),{priority:t.converterPriority||\"normal\"}),e.on(\"removeMarker:\"+t.model,function(t){return(e,n,i)=>{if(n.markerRange.isCollapsed)return;const o=cc(t,n,i);if(!o)return;const r=ic(i.writer,o),s=i.mapper.markerNameToElements(n.markerName);if(s){for(const t of s)i.mapper.unbindElementFromMarkerName(t,n.markerName),t.is(\"attributeElement\")?i.writer.unwrap(i.writer.createRangeOn(t),r):t.getCustomProperty(\"removeHighlight\")(t,o.id,i.writer);i.writer.clearClonedElementsGroup(n.markerName),e.stop()}}}(t.view),{priority:t.converterPriority||\"normal\"})}}(t))}markerToData(t){return this.add(function(t){const e=(t=ec(t)).model;t.view||(t.view=n=>({group:e,name:n.substr(t.model.length+1)}));return n=>{var i;n.on(\"addMarker:\"+e,(i=t.view,(t,e,n)=>{const o=i(e.markerName,n);if(!o)return;const r=e.markerRange;n.consumable.consume(r,t.name)&&(oc(r,!1,n,e,o),oc(r,!0,n,e,o),t.stop())}),{priority:t.converterPriority||\"normal\"}),n.on(\"removeMarker:\"+e,function(t){return(e,n,i)=>{const o=t(n.markerName,i);if(!o)return;const r=i.mapper.markerNameToElements(n.markerName);if(r){for(const t of r)i.mapper.unbindElementFromMarkerName(t,n.markerName),t.is(\"containerElement\")?(s(`data-${o.group}-start-before`,t),s(`data-${o.group}-start-after`,t),s(`data-${o.group}-end-before`,t),s(`data-${o.group}-end-after`,t)):i.writer.clear(i.writer.createRangeOn(t),t);i.writer.clearClonedElementsGroup(n.markerName),e.stop()}function s(t,e){if(e.hasAttribute(t)){const n=new Set(e.getAttribute(t).split(\",\"));n.delete(o.name),0==n.size?i.writer.removeAttribute(t,e):i.writer.setAttribute(t,Array.from(n).join(\",\"),e)}}}}(t.view),{priority:t.converterPriority||\"normal\"})}}(t))}}function ic(t,e){const n=t.createAttributeElement(\"span\",e.attributes);return e.classes&&n._addClass(e.classes),\"number\"==typeof e.priority&&(n._priority=e.priority),n._id=e.id,n}function oc(t,e,n,i,o){const r=e?t.start:t.end,s=r.nodeAfter&&r.nodeAfter.is(\"element\")?r.nodeAfter:null,a=r.nodeBefore&&r.nodeBefore.is(\"element\")?r.nodeBefore:null;if(s||a){let t,r;e&&s||!e&&!a?(t=s,r=!0):(t=a,r=!1);const c=n.mapper.toViewElement(t);if(c)return void function(t,e,n,i,o,r){const s=`data-${r.group}-${e?\"start\":\"end\"}-${n?\"before\":\"after\"}`,a=t.hasAttribute(s)?t.getAttribute(s).split(\",\"):[];a.unshift(r.name),i.writer.setAttribute(s,a.join(\",\"),t),i.mapper.bindElementToMarker(t,o.markerName)}(c,e,r,n,i,o)}!function(t,e,n,i,o){const r=`${o.group}-${e?\"start\":\"end\"}`,s=o.name?{name:o.name}:null,a=n.writer.createUIElement(r,s);n.writer.insert(t,a),n.mapper.bindElementToMarker(a,i.markerName)}(n.mapper.toViewPosition(r),e,n,i,o)}function rc(t,e){return\"function\"==typeof t?t:(n,i)=>function(t,e,n){\"string\"==typeof t&&(t={name:t});let i;const o=e.writer,r=Object.assign({},t.attributes);if(\"container\"==n)i=o.createContainerElement(t.name,r);else if(\"attribute\"==n){const e={priority:t.priority||$o.DEFAULT_PRIORITY};i=o.createAttributeElement(t.name,r,e)}else i=o.createUIElement(t.name,r);if(t.styles){const e=Object.keys(t.styles);for(const n of e)o.setStyle(n,t.styles[n],i)}if(t.classes){const e=t.classes;if(\"string\"==typeof e)o.addClass(e,i);else for(const t of e)o.addClass(t,i)}return i}(t,i,e)}function sc(t){return t.model.values?(e,n)=>{const i=t.view[e];return i?i(e,n):null}:t.view}function ac(t){return\"string\"==typeof t?e=>({key:t,value:e}):\"object\"==typeof t?t.value?()=>t:e=>({key:t.key,value:e}):t}function cc(t,e,n){const i=\"function\"==typeof t?t(e,n):t;return i?(i.priority||(i.priority=10),i.id||(i.id=e.markerName),i):null}function lc(t){const{schema:e,document:n}=t.model;for(const i of n.getRootNames()){const o=n.getRoot(i);if(o.isEmpty&&!e.checkChild(o,\"$text\")&&e.checkChild(o,\"paragraph\"))return t.insertElement(\"paragraph\",o),!0}return!1}function dc(t,e,n){const i=n.createContext(t);return!!n.checkChild(i,\"paragraph\")&&!!n.checkChild(i.push(\"paragraph\"),e)}function hc(t,e){const n=e.createElement(\"paragraph\");return e.insert(n,t),e.createPositionAt(n,0)}class uc extends tc{elementToElement(t){return this.add(mc(t))}elementToAttribute(t){return this.add(function(t){fc(t=ec(t));const e=kc(t,!1),n=gc(t.view),i=n?\"element:\"+n:\"element\";return n=>{n.on(i,e,{priority:t.converterPriority||\"low\"})}}(t))}attributeToAttribute(t){return this.add(function(t){t=ec(t);let e=null;(\"string\"==typeof t.view||t.view.key)&&(e=function(t){\"string\"==typeof t.view&&(t.view={key:t.view});const e=t.view.key;let n;if(\"class\"==e||\"style\"==e){n={[\"class\"==e?\"classes\":\"styles\"]:t.view.value}}else{n={attributes:{[e]:void 0===t.view.value?/[\\s\\S]*/:t.view.value}}}t.view.name&&(n.name=t.view.name);return t.view=n,e}(t));fc(t,e);const n=kc(t,!0);return e=>{e.on(\"element\",n,{priority:t.converterPriority||\"low\"})}}(t))}elementToMarker(t){return c(\"upcast-helpers-element-to-marker-deprecated\"),this.add(function(t){return function(t){const e=t.model;t.model=(t,n)=>{const i=\"string\"==typeof e?e:e(t,n);return n.writer.createElement(\"$marker\",{\"data-name\":i})}}(t=ec(t)),mc(t)}(t))}dataToMarker(t){return this.add(function(t){(t=ec(t)).model||(t.model=e=>e?t.view+\":\"+e:t.view);const e=pc(bc(t,\"start\")),n=pc(bc(t,\"end\"));return i=>{i.on(\"element:\"+t.view+\"-start\",e,{priority:t.converterPriority||\"normal\"}),i.on(\"element:\"+t.view+\"-end\",n,{priority:t.converterPriority||\"normal\"});const o=s.get(\"low\"),r=s.get(\"highest\"),a=s.get(t.converterPriority)/r;i.on(\"element\",function(t){return(e,n,i)=>{const o=`data-${t.view}`;function r(e,o){for(const r of o){const o=t.model(r,i),s=i.writer.createElement(\"$marker\",{\"data-name\":o});i.writer.insert(s,e),n.modelCursor.isEqual(e)?n.modelCursor=n.modelCursor.getShiftedBy(1):n.modelCursor=n.modelCursor._getTransformedByInsertion(e,1),n.modelRange=n.modelRange._getTransformedByInsertion(e,1)[0]}}(i.consumable.test(n.viewItem,{attributes:o+\"-end-after\"})||i.consumable.test(n.viewItem,{attributes:o+\"-start-after\"})||i.consumable.test(n.viewItem,{attributes:o+\"-end-before\"})||i.consumable.test(n.viewItem,{attributes:o+\"-start-before\"}))&&(n.modelRange||Object.assign(n,i.convertChildren(n.viewItem,n.modelCursor)),i.consumable.consume(n.viewItem,{attributes:o+\"-end-after\"})&&r(n.modelRange.end,n.viewItem.getAttribute(o+\"-end-after\").split(\",\")),i.consumable.consume(n.viewItem,{attributes:o+\"-start-after\"})&&r(n.modelRange.end,n.viewItem.getAttribute(o+\"-start-after\").split(\",\")),i.consumable.consume(n.viewItem,{attributes:o+\"-end-before\"})&&r(n.modelRange.start,n.viewItem.getAttribute(o+\"-end-before\").split(\",\")),i.consumable.consume(n.viewItem,{attributes:o+\"-start-before\"})&&r(n.modelRange.start,n.viewItem.getAttribute(o+\"-start-before\").split(\",\")))}}(t),{priority:o+a})}}(t))}}function mc(t){const e=pc(t=ec(t)),n=gc(t.view),i=n?\"element:\"+n:\"element\";return n=>{n.on(i,e,{priority:t.converterPriority||\"normal\"})}}function gc(t){return\"string\"==typeof t?t:\"object\"==typeof t&&\"string\"==typeof t.name?t.name:null}function pc(t){const e=new Fi(t.view);return(n,i,o)=>{const r=e.match(i.viewItem);if(!r)return;const s=r.match;if(s.name=!0,!o.consumable.test(i.viewItem,s))return;const a=function(t,e,n){return t instanceof Function?t(e,n):n.writer.createElement(t)}(t.model,i.viewItem,o);a&&o.safeInsert(a,i.modelCursor)&&(o.consumable.consume(i.viewItem,s),o.convertChildren(i.viewItem,a),o.updateConversionResult(a,i))}}function fc(t,e=null){const n=null===e||(t=>t.getAttribute(e)),i=\"object\"!=typeof t.model?t.model:t.model.key,o=\"object\"!=typeof t.model||void 0===t.model.value?n:t.model.value;t.model={key:i,value:o}}function kc(t,e){const n=new Fi(t.view);return(i,o,r)=>{const s=n.match(o.viewItem);if(!s)return;if(!function(t,e){const n=\"function\"==typeof t?t(e):t;if(\"object\"==typeof n&&!gc(n))return!1;return!n.classes&&!n.attributes&&!n.styles}(t.view,o.viewItem)?delete s.match.name:s.match.name=!0,!r.consumable.test(o.viewItem,s.match))return;const a=t.model.key,c=\"function\"==typeof t.model.value?t.model.value(o.viewItem,r):t.model.value;if(null===c)return;o.modelRange||Object.assign(o,r.convertChildren(o.viewItem,o.modelCursor));(function(t,e,n,i){let o=!1;for(const r of Array.from(t.getItems({shallow:n})))i.schema.checkAttribute(r,e.key)&&(o=!0,r.hasAttribute(e.key)||i.writer.setAttribute(e.key,e.value,r));return o})(o.modelRange,{key:a,value:c},e,r)&&r.consumable.consume(o.viewItem,s.match)}}function bc(t,e){const n={};return n.view=t.view+\"-\"+e,n.model=(e,n)=>{const i=e.getAttribute(\"name\"),o=t.model(i,n);return n.writer.createElement(\"$marker\",{\"data-name\":o})},n}class wc{constructor(t,e){this.model=t,this.view=new _a(e),this.mapper=new za,this.downcastDispatcher=new Ra({mapper:this.mapper,schema:t.schema});const n=this.model.document,i=n.selection,o=this.model.markers;this.listenTo(this.model,\"_beforeChanges\",(()=>{this.view._disableRendering(!0)}),{priority:\"highest\"}),this.listenTo(this.model,\"_afterChanges\",(()=>{this.view._disableRendering(!1)}),{priority:\"lowest\"}),this.listenTo(n,\"change\",(()=>{this.view.change((t=>{this.downcastDispatcher.convertChanges(n.differ,o,t),this.downcastDispatcher.convertSelection(i,o,t)}))}),{priority:\"low\"}),this.listenTo(this.view.document,\"selectionChange\",function(t,e){return(n,i)=>{const o=i.newSelection,r=[];for(const t of o.getRanges())r.push(e.toModelRange(t));const s=t.createSelection(r,{backward:o.isBackward});s.isEqual(t.document.selection)||t.change((t=>{t.setSelection(s)}))}}(this.model,this.mapper)),this.downcastDispatcher.on(\"insert:$text\",((t,e,n)=>{if(!n.consumable.consume(e.item,\"insert\"))return;const i=n.writer,o=n.mapper.toViewPosition(e.range.start),r=i.createText(e.item.data);i.insert(o,r)}),{priority:\"lowest\"}),this.downcastDispatcher.on(\"remove\",((t,e,n)=>{const i=n.mapper.toViewPosition(e.position),o=e.position.getShiftedBy(e.length),r=n.mapper.toViewPosition(o,{isPhantom:!0}),s=n.writer.createRange(i,r),a=n.writer.remove(s.getTrimmed());for(const t of n.writer.createRangeIn(a).getItems())n.mapper.unbindViewElement(t)}),{priority:\"low\"}),this.downcastDispatcher.on(\"selection\",((t,e,n)=>{const i=n.writer,o=i.document.selection;for(const t of o.getRanges())t.isCollapsed&&t.end.parent.isAttached()&&n.writer.mergeAttributes(t.start);i.setSelection(null)}),{priority:\"high\"}),this.downcastDispatcher.on(\"selection\",((t,e,n)=>{const i=e.selection;if(i.isCollapsed)return;if(!n.consumable.consume(i,\"selection\"))return;const o=[];for(const t of i.getRanges()){const e=n.mapper.toViewRange(t);o.push(e)}n.writer.setSelection(o,{backward:i.isBackward})}),{priority:\"low\"}),this.downcastDispatcher.on(\"selection\",((t,e,n)=>{const i=e.selection;if(!i.isCollapsed)return;if(!n.consumable.consume(i,\"selection\"))return;const o=n.writer,r=i.getFirstPosition(),s=n.mapper.toViewPosition(r),a=o.breakAttributes(s);o.setSelection(a)}),{priority:\"low\"}),this.view.document.roots.bindTo(this.model.document.roots).using((t=>{if(\"$graveyard\"==t.rootName)return null;const e=new Bo(this.view.document,t.name);return e.rootName=t.rootName,this.mapper.bindElements(t,e),e}))}destroy(){this.view.destroy(),this.stopListening()}}ce(wc,ne);class Cc{constructor(){this._commands=new Map}add(t,e){this._commands.set(t,e)}get(t){return this._commands.get(t)}execute(t,...e){const n=this.get(t);if(!n)throw new a(\"commandcollection-command-not-found\",this,{commandName:t});return n.execute(...e)}*names(){yield*this._commands.keys()}*commands(){yield*this._commands.values()}[Symbol.iterator](){return this._commands[Symbol.iterator]()}destroy(){for(const t of this.commands())t.destroy()}}class Ac{constructor(){this._consumables=new Map}add(t,e){let n;t.is(\"$text\")||t.is(\"documentFragment\")?this._consumables.set(t,!0):(this._consumables.has(t)?n=this._consumables.get(t):(n=new _c(t),this._consumables.set(t,n)),n.add(e))}test(t,e){const n=this._consumables.get(t);return void 0===n?null:t.is(\"$text\")||t.is(\"documentFragment\")?n:n.test(e)}consume(t,e){return!!this.test(t,e)&&(t.is(\"$text\")||t.is(\"documentFragment\")?this._consumables.set(t,!1):this._consumables.get(t).consume(e),!0)}revert(t,e){const n=this._consumables.get(t);void 0!==n&&(t.is(\"$text\")||t.is(\"documentFragment\")?this._consumables.set(t,!0):n.revert(e))}static consumablesFromElement(t){const e={element:t,name:!0,attributes:[],classes:[],styles:[]},n=t.getAttributeKeys();for(const t of n)\"style\"!=t&&\"class\"!=t&&e.attributes.push(t);const i=t.getClassNames();for(const t of i)e.classes.push(t);const o=t.getStyleNames();for(const t of o)e.styles.push(t);return e}static createFrom(t,e){if(e||(e=new Ac(t)),t.is(\"$text\"))return e.add(t),e;t.is(\"element\")&&e.add(t,Ac.consumablesFromElement(t)),t.is(\"documentFragment\")&&e.add(t);for(const n of t.getChildren())e=Ac.createFrom(n,e);return e}}class _c{constructor(t){this.element=t,this._canConsumeName=null,this._consumables={attributes:new Map,styles:new Map,classes:new Map}}add(t){t.name&&(this._canConsumeName=!0);for(const e in this._consumables)e in t&&this._add(e,t[e])}test(t){if(t.name&&!this._canConsumeName)return this._canConsumeName;for(const e in this._consumables)if(e in t){const n=this._test(e,t[e]);if(!0!==n)return n}return!0}consume(t){t.name&&(this._canConsumeName=!1);for(const e in this._consumables)e in t&&this._consume(e,t[e])}revert(t){t.name&&(this._canConsumeName=!0);for(const e in this._consumables)e in t&&this._revert(e,t[e])}_add(t,e){const n=Et(e)?e:[e],i=this._consumables[t];for(const e of n){if(\"attributes\"===t&&(\"class\"===e||\"style\"===e))throw new a(\"viewconsumable-invalid-attribute\",this);if(i.set(e,!0),\"styles\"===t)for(const t of this.element.document.stylesProcessor.getRelatedStyles(e))i.set(t,!0)}}_test(t,e){const n=Et(e)?e:[e],i=this._consumables[t];for(const e of n)if(\"attributes\"!==t||\"class\"!==e&&\"style\"!==e){const t=i.get(e);if(void 0===t)return null;if(!t)return!1}else{const t=\"class\"==e?\"classes\":\"styles\",n=this._test(t,[...this._consumables[t].keys()]);if(!0!==n)return n}return!0}_consume(t,e){const n=Et(e)?e:[e],i=this._consumables[t];for(const e of n)if(\"attributes\"!==t||\"class\"!==e&&\"style\"!==e){if(i.set(e,!1),\"styles\"==t)for(const t of this.element.document.stylesProcessor.getRelatedStyles(e))i.set(t,!1)}else{const t=\"class\"==e?\"classes\":\"styles\";this._consume(t,[...this._consumables[t].keys()])}}_revert(t,e){const n=Et(e)?e:[e],i=this._consumables[t];for(const e of n)if(\"attributes\"!==t||\"class\"!==e&&\"style\"!==e){!1===i.get(e)&&i.set(e,!0)}else{const t=\"class\"==e?\"classes\":\"styles\";this._revert(t,[...this._consumables[t].keys()])}}}class vc{constructor(){this._sourceDefinitions={},this._attributeProperties={},this.decorate(\"checkChild\"),this.decorate(\"checkAttribute\"),this.on(\"checkAttribute\",((t,e)=>{e[0]=new yc(e[0])}),{priority:\"highest\"}),this.on(\"checkChild\",((t,e)=>{e[0]=new yc(e[0]),e[1]=this.getDefinition(e[1])}),{priority:\"highest\"})}register(t,e){if(this._sourceDefinitions[t])throw new a(\"schema-cannot-register-item-twice\",this,{itemName:t});this._sourceDefinitions[t]=[Object.assign({},e)],this._clearCache()}extend(t,e){if(!this._sourceDefinitions[t])throw new a(\"schema-cannot-extend-missing-item\",this,{itemName:t});this._sourceDefinitions[t].push(Object.assign({},e)),this._clearCache()}getDefinitions(){return this._compiledDefinitions||this._compile(),this._compiledDefinitions}getDefinition(t){let e;return e=\"string\"==typeof t?t:t.is&&(t.is(\"$text\")||t.is(\"$textProxy\"))?\"$text\":t.name,this.getDefinitions()[e]}isRegistered(t){return!!this.getDefinition(t)}isBlock(t){const e=this.getDefinition(t);return!(!e||!e.isBlock)}isLimit(t){const e=this.getDefinition(t);return!!e&&!(!e.isLimit&&!e.isObject)}isObject(t){const e=this.getDefinition(t);return!!e&&!!(e.isObject||e.isLimit&&e.isSelectable&&e.isContent)}isInline(t){const e=this.getDefinition(t);return!(!e||!e.isInline)}isSelectable(t){const e=this.getDefinition(t);return!!e&&!(!e.isSelectable&&!e.isObject)}isContent(t){const e=this.getDefinition(t);return!!e&&!(!e.isContent&&!e.isObject)}checkChild(t,e){return!!e&&this._checkContextMatch(e,t)}checkAttribute(t,e){const n=this.getDefinition(t.last);return!!n&&n.allowAttributes.includes(e)}checkMerge(t,e=null){if(t instanceof Ta){const e=t.nodeBefore,n=t.nodeAfter;if(!(e instanceof Da))throw new a(\"schema-check-merge-no-element-before\",this);if(!(n instanceof Da))throw new a(\"schema-check-merge-no-element-after\",this);return this.checkMerge(e,n)}for(const n of e.getChildren())if(!this.checkChild(t,n))return!1;return!0}addChildCheck(t){this.on(\"checkChild\",((e,[n,i])=>{if(!i)return;const o=t(n,i);\"boolean\"==typeof o&&(e.stop(),e.return=o)}),{priority:\"high\"})}addAttributeCheck(t){this.on(\"checkAttribute\",((e,[n,i])=>{const o=t(n,i);\"boolean\"==typeof o&&(e.stop(),e.return=o)}),{priority:\"high\"})}setAttributeProperties(t,e){this._attributeProperties[t]=Object.assign(this.getAttributeProperties(t),e)}getAttributeProperties(t){return this._attributeProperties[t]||{}}getLimitElement(t){let e;if(t instanceof Ta)e=t.parent;else{e=(t instanceof La?[t]:Array.from(t.getRanges())).reduce(((t,e)=>{const n=e.getCommonAncestor();return t?t.getCommonAncestor(n,{includeSelf:!0}):n}),null)}for(;!this.isLimit(e)&&e.parent;)e=e.parent;return e}checkAttributeInSelection(t,e){if(t.isCollapsed){const n=[...t.getFirstPosition().getAncestors(),new ya(\"\",t.getAttributes())];return this.checkAttribute(n,e)}{const n=t.getRanges();for(const t of n)for(const n of t)if(this.checkAttribute(n.item,e))return!0}return!1}*getValidRanges(t,e){t=function*(t){for(const e of t)yield*e.getMinimalFlatRanges()}(t);for(const n of t)yield*this._getValidRangesForRange(n,e)}getNearestSelectionRange(t,e=\"both\"){if(this.checkChild(t,\"$text\"))return new La(t);let n,i;const o=t.getAncestors().reverse().find((t=>this.isLimit(t)))||t.root;\"both\"!=e&&\"backward\"!=e||(n=new Sa({boundaries:La._createIn(o),startPosition:t,direction:\"backward\"})),\"both\"!=e&&\"forward\"!=e||(i=new Sa({boundaries:La._createIn(o),startPosition:t}));for(const t of function*(t,e){let n=!1;for(;!n;){if(n=!0,t){const e=t.next();e.done||(n=!1,yield{walker:t,value:e.value})}if(e){const t=e.next();t.done||(n=!1,yield{walker:e,value:t.value})}}}(n,i)){const e=t.walker==n?\"elementEnd\":\"elementStart\",i=t.value;if(i.type==e&&this.isObject(i.item))return La._createOn(i.item);if(this.checkChild(i.nextPosition,\"$text\"))return new La(i.nextPosition)}return null}findAllowedParent(t,e){let n=t.parent;for(;n;){if(this.checkChild(n,e))return n;if(this.isLimit(n))return null;n=n.parent}return null}removeDisallowedAttributes(t,e){for(const n of t)if(n.is(\"$text\"))Oc(this,n,e);else{const t=La._createIn(n).getPositions();for(const n of t){Oc(this,n.nodeBefore||n.parent,e)}}}createContext(t){return new yc(t)}_clearCache(){this._compiledDefinitions=null}_compile(){const t={},e=this._sourceDefinitions,n=Object.keys(e);for(const i of n)t[i]=xc(e[i],i);for(const e of n)Ec(t,e);for(const e of n)Dc(t,e);for(const e of n)Sc(t,e);for(const e of n)Ic(t,e),Tc(t,e);for(const e of n)Mc(t,e),Bc(t,e),Nc(t,e);this._compiledDefinitions=t}_checkContextMatch(t,e,n=e.length-1){const i=e.getItem(n);if(t.allowIn.includes(i.name)){if(0==n)return!0;{const t=this.getDefinition(i);return this._checkContextMatch(t,e,n-1)}}return!1}*_getValidRangesForRange(t,e){let n=t.start,i=t.start;for(const o of t.getItems({shallow:!0}))o.is(\"element\")&&(yield*this._getValidRangesForRange(La._createIn(o),e)),this.checkAttribute(o,e)||(n.isEqual(i)||(yield new La(n,i)),n=Ta._createAfter(o)),i=Ta._createAfter(o);n.isEqual(i)||(yield new La(n,i))}}ce(vc,ne);class yc{constructor(t){if(t instanceof yc)return t;\"string\"==typeof t?t=[t]:Array.isArray(t)||(t=t.getAncestors({includeSelf:!0})),this._items=t.map(Pc)}get length(){return this._items.length}get last(){return this._items[this._items.length-1]}[Symbol.iterator](){return this._items[Symbol.iterator]()}push(t){const e=new yc([t]);return e._items=[...this._items,...e._items],e}getItem(t){return this._items[t]}*getNames(){yield*this._items.map((t=>t.name))}endsWith(t){return Array.from(this.getNames()).join(\" \").endsWith(t)}startsWith(t){return Array.from(this.getNames()).join(\" \").startsWith(t)}}function xc(t,e){const n={name:e,allowIn:[],allowContentOf:[],allowWhere:[],allowAttributes:[],allowAttributesOf:[],allowChildren:[],inheritTypesFrom:[]};return function(t,e){for(const n of t){const t=Object.keys(n).filter((t=>t.startsWith(\"is\")));for(const i of t)e[i]=n[i]}}(t,n),Lc(t,n,\"allowIn\"),Lc(t,n,\"allowContentOf\"),Lc(t,n,\"allowWhere\"),Lc(t,n,\"allowAttributes\"),Lc(t,n,\"allowAttributesOf\"),Lc(t,n,\"allowChildren\"),Lc(t,n,\"inheritTypesFrom\"),function(t,e){for(const n of t){const t=n.inheritAllFrom;t&&(e.allowContentOf.push(t),e.allowWhere.push(t),e.allowAttributesOf.push(t),e.inheritTypesFrom.push(t))}}(t,n),n}function Ec(t,e){const n=t[e];for(const i of n.allowChildren){const n=t[i];n&&n.allowIn.push(e)}n.allowChildren.length=0}function Dc(t,e){for(const n of t[e].allowContentOf)if(t[n]){zc(t,n).forEach((t=>{t.allowIn.push(e)}))}delete t[e].allowContentOf}function Sc(t,e){for(const n of t[e].allowWhere){const i=t[n];if(i){const n=i.allowIn;t[e].allowIn.push(...n)}}delete t[e].allowWhere}function Ic(t,e){for(const n of t[e].allowAttributesOf){const i=t[n];if(i){const n=i.allowAttributes;t[e].allowAttributes.push(...n)}}delete t[e].allowAttributesOf}function Tc(t,e){const n=t[e];for(const e of n.inheritTypesFrom){const i=t[e];if(i){const t=Object.keys(i).filter((t=>t.startsWith(\"is\")));for(const e of t)e in n||(n[e]=i[e])}}delete n.inheritTypesFrom}function Mc(t,e){const n=t[e],i=n.allowIn.filter((e=>t[e]));n.allowIn=Array.from(new Set(i))}function Bc(t,e){const n=t[e];for(const i of n.allowIn){t[i].allowChildren.push(e)}}function Nc(t,e){const n=t[e];n.allowAttributes=Array.from(new Set(n.allowAttributes))}function Lc(t,e,n){for(const i of t)\"string\"==typeof i[n]?e[n].push(i[n]):Array.isArray(i[n])&&e[n].push(...i[n])}function zc(t,e){const n=t[e];return(i=t,Object.keys(i).map((t=>i[t]))).filter((t=>t.allowIn.includes(n.name)));var i}function Pc(t){return\"string\"==typeof t||t.is(\"documentFragment\")?{name:\"string\"==typeof t?t:\"$documentFragment\",*getAttributeKeys(){},getAttribute(){}}:{name:t.is(\"element\")?t.name:\"$text\",*getAttributeKeys(){yield*t.getAttributeKeys()},getAttribute:e=>t.getAttribute(e)}}function Oc(t,e,n){for(const i of e.getAttributeKeys())t.checkAttribute(e,i)||n.removeAttribute(i,e)}class Rc{constructor(t={}){this._splitParts=new Map,this._cursorParents=new Map,this._modelCursor=null,this.conversionApi=Object.assign({},t),this.conversionApi.convertItem=this._convertItem.bind(this),this.conversionApi.convertChildren=this._convertChildren.bind(this),this.conversionApi.safeInsert=this._safeInsert.bind(this),this.conversionApi.updateConversionResult=this._updateConversionResult.bind(this),this.conversionApi.splitToAllowedParent=this._splitToAllowedParent.bind(this),this.conversionApi.getSplitParts=this._getSplitParts.bind(this)}convert(t,e,n=[\"$root\"]){this.fire(\"viewCleanup\",t),this._modelCursor=function(t,e){let n;for(const i of new yc(t)){const t={};for(const e of i.getAttributeKeys())t[e]=i.getAttribute(e);const o=e.createElement(i.name,t);n&&e.append(o,n),n=Ta._createAt(o,0)}return n}(n,e),this.conversionApi.writer=e,this.conversionApi.consumable=Ac.createFrom(t),this.conversionApi.store={};const{modelRange:i}=this._convertItem(t,this._modelCursor),o=e.createDocumentFragment();if(i){this._removeEmptyElements();for(const t of Array.from(this._modelCursor.parent.getChildren()))e.append(t,o);o.markers=function(t,e){const n=new Set,i=new Map,o=La._createIn(t).getItems();for(const t of o)\"$marker\"==t.name&&n.add(t);for(const t of n){const n=t.getAttribute(\"data-name\"),o=e.createPositionBefore(t);i.has(n)?i.get(n).end=o.clone():i.set(n,new La(o.clone())),e.remove(t)}return i}(o,e)}return this._modelCursor=null,this._splitParts.clear(),this._cursorParents.clear(),this.conversionApi.writer=null,this.conversionApi.store=null,o}_convertItem(t,e){const n=Object.assign({viewItem:t,modelCursor:e,modelRange:null});if(t.is(\"element\")?this.fire(\"element:\"+t.name,n,this.conversionApi):t.is(\"$text\")?this.fire(\"text\",n,this.conversionApi):this.fire(\"documentFragment\",n,this.conversionApi),n.modelRange&&!(n.modelRange instanceof La))throw new a(\"view-conversion-dispatcher-incorrect-result\",this);return{modelRange:n.modelRange,modelCursor:n.modelCursor}}_convertChildren(t,e){let n=e.is(\"position\")?e:Ta._createAt(e,0);const i=new La(n);for(const e of Array.from(t.getChildren())){const t=this._convertItem(e,n);t.modelRange instanceof La&&(i.end=t.modelRange.end,n=t.modelCursor)}return{modelRange:i,modelCursor:n}}_safeInsert(t,e){const n=this._splitToAllowedParent(t,e);return!!n&&(this.conversionApi.writer.insert(t,n.position),!0)}_updateConversionResult(t,e){const n=this._getSplitParts(t),i=this.conversionApi.writer;e.modelRange||(e.modelRange=i.createRange(i.createPositionBefore(t),i.createPositionAfter(n[n.length-1])));const o=this._cursorParents.get(t);e.modelCursor=o?i.createPositionAt(o,0):e.modelRange.end}_splitToAllowedParent(t,e){const{schema:n,writer:i}=this.conversionApi;let o=n.findAllowedParent(e,t);if(o){if(o===e.parent)return{position:e};this._modelCursor.parent.getAncestors().includes(o)&&(o=null)}if(!o)return dc(e,t,n)?{position:hc(e,i)}:null;const r=this.conversionApi.writer.split(e,o),s=[];for(const t of r.range.getWalker())if(\"elementEnd\"==t.type)s.push(t.item);else{const e=s.pop(),n=t.item;this._registerSplitPair(e,n)}const a=r.range.end.parent;return this._cursorParents.set(t,a),{position:r.position,cursorParent:a}}_registerSplitPair(t,e){this._splitParts.has(t)||this._splitParts.set(t,[t]);const n=this._splitParts.get(t);this._splitParts.set(e,n),n.push(e)}_getSplitParts(t){let e;return e=this._splitParts.has(t)?this._splitParts.get(t):[t],e}_removeEmptyElements(){let t=!1;for(const e of this._splitParts.keys())e.isEmpty&&(this.conversionApi.writer.remove(e),this._splitParts.delete(e),t=!0);t&&this._removeEmptyElements()}}ce(Rc,p);class Fc{getHtml(t){const e=document.implementation.createHTMLDocument(\"\").createElement(\"div\");return e.appendChild(t),e.innerHTML}}class jc{constructor(t){this._domParser=new DOMParser,this._domConverter=new Xr(t,{blockFillerMode:\"nbsp\"}),this._htmlWriter=new Fc}toData(t){const e=this._domConverter.viewToDom(t,document);return this._htmlWriter.getHtml(e)}toView(t){const e=this._toDom(t);return this._domConverter.domToView(e)}registerRawContentMatcher(t){this._domConverter.registerRawContentMatcher(t)}useFillerType(t){this._domConverter.blockFillerMode=\"marked\"==t?\"markedNbsp\":\"nbsp\"}_toDom(t){const e=this._domParser.parseFromString(t,\"text/html\"),n=e.createDocumentFragment();let i=e.firstChild;for(;!i.isSameNode(e.documentElement);){const t=i;i=i.nextSibling,t.nodeType==Node.COMMENT_NODE&&n.appendChild(t)}const o=e.body.childNodes;for(;o.length>0;)n.appendChild(o[0]);return n}}class Vc{constructor(t,e){this.model=t,this.mapper=new za,this.downcastDispatcher=new Ra({mapper:this.mapper,schema:t.schema}),this.downcastDispatcher.on(\"insert:$text\",((t,e,n)=>{if(!n.consumable.consume(e.item,\"insert\"))return;const i=n.writer,o=n.mapper.toViewPosition(e.range.start),r=i.createText(e.item.data);i.insert(o,r)}),{priority:\"lowest\"}),this.upcastDispatcher=new Rc({schema:t.schema}),this.viewDocument=new Ko(e),this.stylesProcessor=e,this.htmlProcessor=new jc(this.viewDocument),this.processor=this.htmlProcessor,this._viewWriter=new fr(this.viewDocument),this.upcastDispatcher.on(\"text\",((t,e,{schema:n,consumable:i,writer:o})=>{let r=e.modelCursor;if(!i.test(e.viewItem))return;if(!n.checkChild(r,\"$text\")){if(!dc(r,\"$text\",n))return;r=hc(r,o)}i.consume(e.viewItem);const s=o.createText(e.viewItem.data);o.insert(s,r),e.modelRange=o.createRange(r,r.getShiftedBy(s.offsetSize)),e.modelCursor=e.modelRange.end}),{priority:\"lowest\"}),this.upcastDispatcher.on(\"element\",((t,e,n)=>{if(!e.modelRange&&n.consumable.consume(e.viewItem,{name:!0})){const{modelRange:t,modelCursor:i}=n.convertChildren(e.viewItem,e.modelCursor);e.modelRange=t,e.modelCursor=i}}),{priority:\"lowest\"}),this.upcastDispatcher.on(\"documentFragment\",((t,e,n)=>{if(!e.modelRange&&n.consumable.consume(e.viewItem,{name:!0})){const{modelRange:t,modelCursor:i}=n.convertChildren(e.viewItem,e.modelCursor);e.modelRange=t,e.modelCursor=i}}),{priority:\"lowest\"}),this.decorate(\"init\"),this.decorate(\"set\"),this.on(\"init\",(()=>{this.fire(\"ready\")}),{priority:\"lowest\"}),this.on(\"ready\",(()=>{this.model.enqueueChange(\"transparent\",lc)}),{priority:\"lowest\"})}get(t={}){const{rootName:e=\"main\",trim:n=\"empty\"}=t;if(!this._checkIfRootsExists([e]))throw new a(\"datacontroller-get-non-existent-root\",this);const i=this.model.document.getRoot(e);return\"empty\"!==n||this.model.hasContent(i,{ignoreWhitespaces:!0})?this.stringify(i,t):\"\"}stringify(t,e={}){const n=this.toView(t,e);return this.processor.toData(n)}toView(t,e={}){const n=this.viewDocument,i=this._viewWriter;this.mapper.clearBindings();const o=La._createIn(t),r=new pr(n);this.mapper.bindElements(t,r),this.downcastDispatcher.conversionApi.options=e,this.downcastDispatcher.convertInsert(o,i);const s=t.is(\"documentFragment\")?Array.from(t.markers):function(t){const e=[],n=t.root.document;if(!n)return[];const i=La._createIn(t);for(const t of n.model.markers){const n=t.getRange(),o=n.isCollapsed,r=n.start.isEqual(i.start)||n.end.isEqual(i.end);if(o&&r)e.push([t.name,n]);else{const o=i.getIntersection(n);o&&e.push([t.name,o])}}return e}(t);for(const[t,e]of s)this.downcastDispatcher.convertMarkerAdd(t,e,i);return delete this.downcastDispatcher.conversionApi.options,r}init(t){if(this.model.document.version)throw new a(\"datacontroller-init-document-not-empty\",this);let e={};if(\"string\"==typeof t?e.main=t:e=t,!this._checkIfRootsExists(Object.keys(e)))throw new a(\"datacontroller-init-non-existent-root\",this);return this.model.enqueueChange(\"transparent\",(t=>{for(const n of Object.keys(e)){const i=this.model.document.getRoot(n);t.insert(this.parse(e[n],i),i,0)}})),Promise.resolve()}set(t,e={}){let n={};if(\"string\"==typeof t?n.main=t:n=t,!this._checkIfRootsExists(Object.keys(n)))throw new a(\"datacontroller-set-non-existent-root\",this);const i=e.batchType||\"default\";this.model.enqueueChange(i,(t=>{t.setSelection(null),t.removeSelectionAttribute(this.model.document.selection.getAttributeKeys());for(const e of Object.keys(n)){const i=this.model.document.getRoot(e);t.remove(t.createRangeIn(i)),t.insert(this.parse(n[e],i),i,0)}}))}parse(t,e=\"$root\"){const n=this.processor.toView(t);return this.toModel(n,e)}toModel(t,e=\"$root\"){return this.model.change((n=>this.upcastDispatcher.convert(t,n,e)))}addStyleProcessorRules(t){t(this.stylesProcessor)}registerRawContentMatcher(t){this.processor&&this.processor!==this.htmlProcessor&&this.processor.registerRawContentMatcher(t),this.htmlProcessor.registerRawContentMatcher(t)}destroy(){this.stopListening()}_checkIfRootsExists(t){for(const e of t)if(!this.model.document.getRootNames().includes(e))return!1;return!0}}ce(Vc,ne);class Hc{constructor(t,e){this._helpers=new Map,this._downcast=Ei(t),this._createConversionHelpers({name:\"downcast\",dispatchers:this._downcast,isDowncast:!0}),this._upcast=Ei(e),this._createConversionHelpers({name:\"upcast\",dispatchers:this._upcast,isDowncast:!1})}addAlias(t,e){const n=this._downcast.includes(e);if(!this._upcast.includes(e)&&!n)throw new a(\"conversion-add-alias-dispatcher-not-registered\",this);this._createConversionHelpers({name:t,dispatchers:[e],isDowncast:n})}for(t){if(!this._helpers.has(t))throw new a(\"conversion-for-unknown-group\",this);return this._helpers.get(t)}elementToElement(t){this.for(\"downcast\").elementToElement(t);for(const{model:e,view:n}of Uc(t))this.for(\"upcast\").elementToElement({model:e,view:n,converterPriority:t.converterPriority})}attributeToElement(t){this.for(\"downcast\").attributeToElement(t);for(const{model:e,view:n}of Uc(t))this.for(\"upcast\").elementToAttribute({view:n,model:e,converterPriority:t.converterPriority})}attributeToAttribute(t){this.for(\"downcast\").attributeToAttribute(t);for(const{model:e,view:n}of Uc(t))this.for(\"upcast\").attributeToAttribute({view:n,model:e})}_createConversionHelpers({name:t,dispatchers:e,isDowncast:n}){if(this._helpers.has(t))throw new a(\"conversion-group-exists\",this);const i=n?new nc(e):new uc(e);this._helpers.set(t,i)}}function*Uc(t){if(t.model.values)for(const e of t.model.values){const n={key:t.model.key,value:e},i=t.view[e],o=t.upcastAlso?t.upcastAlso[e]:void 0;yield*Gc(n,i,o)}else yield*Gc(t.model,t.view,t.upcastAlso)}function*Gc(t,e,n){if(yield{model:t,view:e},n)for(const e of Ei(n))yield{model:t,view:e}}class qc{constructor(t=\"default\"){this.operations=[],this.type=t}get baseVersion(){for(const t of this.operations)if(null!==t.baseVersion)return t.baseVersion;return null}addOperation(t){return t.batch=this,this.operations.push(t),t}}class Wc{constructor(t){this.baseVersion=t,this.isDocumentOperation=null!==this.baseVersion,this.batch=null}_validate(){}toJSON(){const t=Object.assign({},this);return t.__className=this.constructor.className,delete t.batch,delete t.isDocumentOperation,t}static get className(){return\"Operation\"}static fromJSON(t){return new this(t.baseVersion)}}class Kc{constructor(t){this.markers=new Map,this._children=new Ea,t&&this._insertChild(0,t)}[Symbol.iterator](){return this.getChildren()}get childCount(){return this._children.length}get maxOffset(){return this._children.maxOffset}get isEmpty(){return 0===this.childCount}get root(){return this}get parent(){return null}is(t){return\"documentFragment\"===t||\"model:documentFragment\"===t}getChild(t){return this._children.getNode(t)}getChildren(){return this._children[Symbol.iterator]()}getChildIndex(t){return this._children.getNodeIndex(t)}getChildStartOffset(t){return this._children.getNodeStartOffset(t)}getPath(){return[]}getNodeByPath(t){let e=this;for(const n of t)e=e.getChild(e.offsetToIndex(n));return e}offsetToIndex(t){return this._children.offsetToIndex(t)}toJSON(){const t=[];for(const e of this._children)t.push(e.toJSON());return t}static fromJSON(t){const e=[];for(const n of t)n.name?e.push(Da.fromJSON(n)):e.push(ya.fromJSON(n));return new Kc(e)}_appendChild(t){this._insertChild(this.childCount,t)}_insertChild(t,e){const n=function(t){if(\"string\"==typeof t)return[new ya(t)];vi(t)||(t=[t]);return Array.from(t).map((t=>\"string\"==typeof t?new ya(t):t instanceof xa?new ya(t.data,t.getAttributes()):t))}(e);for(const t of n)null!==t.parent&&t._remove(),t.parent=this;this._children._insertNodes(t,n)}_removeChildren(t,e=1){const n=this._children._removeNodes(t,e);for(const t of n)t.parent=null;return n}}function $c(t,e){const n=(e=Qc(e)).reduce(((t,e)=>t+e.offsetSize),0),i=t.parent;Xc(t);const o=t.index;return i._insertChild(o,e),Jc(i,o+e.length),Jc(i,o),new La(t,t.getShiftedBy(n))}function Yc(t){if(!t.isFlat)throw new a(\"operation-utils-remove-range-not-flat\",this);const e=t.start.parent;Xc(t.start),Xc(t.end);const n=e._removeChildren(t.start.index,t.end.index-t.start.index);return Jc(e,t.start.index),n}function Zc(t,e){if(!t.isFlat)throw new a(\"operation-utils-move-range-not-flat\",this);const n=Yc(t);return $c(e=e._getTransformedByDeletion(t.start,t.end.offset-t.start.offset),n)}function Qc(t){const e=[];t instanceof Array||(t=[t]);for(let n=0;nt.maxOffset)throw new a(\"move-operation-nodes-do-not-exist\",this);if(t===e&&n=n&&this.targetPosition.path[t]t._clone(!0)))),e=new rl(this.position,t,this.baseVersion);return e.shouldReceiveAttributes=this.shouldReceiveAttributes,e}getReversed(){const t=this.position.root.document.graveyard,e=new Ta(t,[0]);return new ol(this.position,this.nodes.maxOffset,e,this.baseVersion+1)}_validate(){const t=this.position.parent;if(!t||t.maxOffsett._clone(!0)))),$c(this.position,t)}toJSON(){const t=super.toJSON();return t.position=this.position.toJSON(),t.nodes=this.nodes.toJSON(),t}static get className(){return\"InsertOperation\"}static fromJSON(t,e){const n=[];for(const e of t.nodes)e.name?n.push(Da.fromJSON(e)):n.push(ya.fromJSON(e));const i=new rl(Ta.fromJSON(t.position,e),n,t.baseVersion);return i.shouldReceiveAttributes=t.shouldReceiveAttributes,i}}class sl extends Wc{constructor(t,e,n,i,o,r){super(r),this.name=t,this.oldRange=e?e.clone():null,this.newRange=n?n.clone():null,this.affectsData=o,this._markers=i}get type(){return\"marker\"}clone(){return new sl(this.name,this.oldRange,this.newRange,this._markers,this.affectsData,this.baseVersion)}getReversed(){return new sl(this.name,this.newRange,this.oldRange,this._markers,this.affectsData,this.baseVersion+1)}_execute(){const t=this.newRange?\"_set\":\"_remove\";this._markers[t](this.name,this.newRange,!0,this.affectsData)}toJSON(){const t=super.toJSON();return this.oldRange&&(t.oldRange=this.oldRange.toJSON()),this.newRange&&(t.newRange=this.newRange.toJSON()),delete t._markers,t}static get className(){return\"MarkerOperation\"}static fromJSON(t,e){return new sl(t.name,t.oldRange?La.fromJSON(t.oldRange,e):null,t.newRange?La.fromJSON(t.newRange,e):null,e.model.markers,t.affectsData,t.baseVersion)}}class al extends Wc{constructor(t,e,n,i){super(i),this.position=t,this.position.stickiness=\"toNext\",this.oldName=e,this.newName=n}get type(){return\"rename\"}clone(){return new al(this.position.clone(),this.oldName,this.newName,this.baseVersion)}getReversed(){return new al(this.position.clone(),this.newName,this.oldName,this.baseVersion+1)}_validate(){const t=this.position.nodeAfter;if(!(t instanceof Da))throw new a(\"rename-operation-wrong-position\",this);if(t.name!==this.oldName)throw new a(\"rename-operation-wrong-name\",this)}_execute(){this.position.nodeAfter.name=this.newName}toJSON(){const t=super.toJSON();return t.position=this.position.toJSON(),t}static get className(){return\"RenameOperation\"}static fromJSON(t,e){return new al(Ta.fromJSON(t.position,e),t.oldName,t.newName,t.baseVersion)}}class cl extends Wc{constructor(t,e,n,i,o){super(o),this.root=t,this.key=e,this.oldValue=n,this.newValue=i}get type(){return null===this.oldValue?\"addRootAttribute\":null===this.newValue?\"removeRootAttribute\":\"changeRootAttribute\"}clone(){return new cl(this.root,this.key,this.oldValue,this.newValue,this.baseVersion)}getReversed(){return new cl(this.root,this.key,this.newValue,this.oldValue,this.baseVersion+1)}_validate(){if(this.root!=this.root.root||this.root.is(\"documentFragment\"))throw new a(\"rootattribute-operation-not-a-root\",this,{root:this.root,key:this.key});if(null!==this.oldValue&&this.root.getAttribute(this.key)!==this.oldValue)throw new a(\"rootattribute-operation-wrong-old-value\",this,{root:this.root,key:this.key});if(null===this.oldValue&&null!==this.newValue&&this.root.hasAttribute(this.key))throw new a(\"rootattribute-operation-attribute-exists\",this,{root:this.root,key:this.key})}_execute(){null!==this.newValue?this.root._setAttribute(this.key,this.newValue):this.root._removeAttribute(this.key)}toJSON(){const t=super.toJSON();return t.root=this.root.toJSON(),t}static get className(){return\"RootAttributeOperation\"}static fromJSON(t,e){if(!e.getRoot(t.root))throw new a(\"rootattribute-operation-fromjson-no-root\",this,{rootName:t.root});return new cl(e.getRoot(t.root),t.key,t.oldValue,t.newValue,t.baseVersion)}}class ll extends Wc{constructor(t,e,n,i,o){super(o),this.sourcePosition=t.clone(),this.sourcePosition.stickiness=\"toPrevious\",this.howMany=e,this.targetPosition=n.clone(),this.targetPosition.stickiness=\"toNext\",this.graveyardPosition=i.clone()}get type(){return\"merge\"}get deletionPosition(){return new Ta(this.sourcePosition.root,this.sourcePosition.path.slice(0,-1))}get movedRange(){const t=this.sourcePosition.getShiftedBy(Number.POSITIVE_INFINITY);return new La(this.sourcePosition,t)}clone(){return new this.constructor(this.sourcePosition,this.howMany,this.targetPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const t=this.targetPosition._getTransformedByMergeOperation(this),e=this.sourcePosition.path.slice(0,-1),n=new Ta(this.sourcePosition.root,e)._getTransformedByMergeOperation(this);return new dl(t,this.howMany,n,this.graveyardPosition,this.baseVersion+1)}_validate(){const t=this.sourcePosition.parent,e=this.targetPosition.parent;if(!t.parent)throw new a(\"merge-operation-source-position-invalid\",this);if(!e.parent)throw new a(\"merge-operation-target-position-invalid\",this);if(this.howMany!=t.maxOffset)throw new a(\"merge-operation-how-many-invalid\",this)}_execute(){const t=this.sourcePosition.parent;Zc(La._createIn(t),this.targetPosition),Zc(La._createOn(t),this.graveyardPosition)}toJSON(){const t=super.toJSON();return t.sourcePosition=t.sourcePosition.toJSON(),t.targetPosition=t.targetPosition.toJSON(),t.graveyardPosition=t.graveyardPosition.toJSON(),t}static get className(){return\"MergeOperation\"}static fromJSON(t,e){const n=Ta.fromJSON(t.sourcePosition,e),i=Ta.fromJSON(t.targetPosition,e),o=Ta.fromJSON(t.graveyardPosition,e);return new this(n,t.howMany,i,o,t.baseVersion)}}class dl extends Wc{constructor(t,e,n,i,o){super(o),this.splitPosition=t.clone(),this.splitPosition.stickiness=\"toNext\",this.howMany=e,this.insertionPosition=n,this.graveyardPosition=i?i.clone():null,this.graveyardPosition&&(this.graveyardPosition.stickiness=\"toNext\")}get type(){return\"split\"}get moveTargetPosition(){const t=this.insertionPosition.path.slice();return t.push(0),new Ta(this.insertionPosition.root,t)}get movedRange(){const t=this.splitPosition.getShiftedBy(Number.POSITIVE_INFINITY);return new La(this.splitPosition,t)}clone(){return new this.constructor(this.splitPosition,this.howMany,this.insertionPosition,this.graveyardPosition,this.baseVersion)}getReversed(){const t=this.splitPosition.root.document.graveyard,e=new Ta(t,[0]);return new ll(this.moveTargetPosition,this.howMany,this.splitPosition,e,this.baseVersion+1)}_validate(){const t=this.splitPosition.parent,e=this.splitPosition.offset;if(!t||t.maxOffset{for(const e of t.getAttributeKeys())this.removeAttribute(e,t)};if(t instanceof La)for(const n of t.getItems())e(n);else e(t)}move(t,e,n){if(this._assertWriterUsedCorrectly(),!(t instanceof La))throw new a(\"writer-move-invalid-range\",this);if(!t.isFlat)throw new a(\"writer-move-range-not-flat\",this);const i=Ta._createAt(e,n);if(i.isEqual(t.start))return;if(this._addOperationForAffectedMarkers(\"move\",t),!kl(t.root,i.root))throw new a(\"writer-move-different-document\",this);const o=t.root.document?t.root.document.version:null,r=new ol(t.start,t.end.offset-t.start.offset,i,o);this.batch.addOperation(r),this.model.applyOperation(r)}remove(t){this._assertWriterUsedCorrectly();const e=(t instanceof La?t:La._createOn(t)).getMinimalFlatRanges().reverse();for(const t of e)this._addOperationForAffectedMarkers(\"move\",t),fl(t.start,t.end.offset-t.start.offset,this.batch,this.model)}merge(t){this._assertWriterUsedCorrectly();const e=t.nodeBefore,n=t.nodeAfter;if(this._addOperationForAffectedMarkers(\"merge\",t),!(e instanceof Da))throw new a(\"writer-merge-no-element-before\",this);if(!(n instanceof Da))throw new a(\"writer-merge-no-element-after\",this);t.root.document?this._merge(t):this._mergeDetached(t)}createPositionFromPath(t,e,n){return this.model.createPositionFromPath(t,e,n)}createPositionAt(t,e){return this.model.createPositionAt(t,e)}createPositionAfter(t){return this.model.createPositionAfter(t)}createPositionBefore(t){return this.model.createPositionBefore(t)}createRange(t,e){return this.model.createRange(t,e)}createRangeIn(t){return this.model.createRangeIn(t)}createRangeOn(t){return this.model.createRangeOn(t)}createSelection(t,e,n){return this.model.createSelection(t,e,n)}_mergeDetached(t){const e=t.nodeBefore,n=t.nodeAfter;this.move(La._createIn(n),Ta._createAt(e,\"end\")),this.remove(n)}_merge(t){const e=Ta._createAt(t.nodeBefore,\"end\"),n=Ta._createAt(t.nodeAfter,0),i=t.root.document.graveyard,o=new Ta(i,[0]),r=t.root.document.version,s=new ll(n,t.nodeAfter.maxOffset,e,o,r);this.batch.addOperation(s),this.model.applyOperation(s)}rename(t,e){if(this._assertWriterUsedCorrectly(),!(t instanceof Da))throw new a(\"writer-rename-not-element-instance\",this);const n=t.root.document?t.root.document.version:null,i=new al(Ta._createBefore(t),t.name,e,n);this.batch.addOperation(i),this.model.applyOperation(i)}split(t,e){this._assertWriterUsedCorrectly();let n,i,o=t.parent;if(!o.parent)throw new a(\"writer-split-element-no-parent\",this);if(e||(e=o.parent),!t.parent.getAncestors({includeSelf:!0}).includes(e))throw new a(\"writer-split-invalid-limit-element\",this);do{const e=o.root.document?o.root.document.version:null,r=o.maxOffset-t.offset,s=dl.getInsertionPosition(t),a=new dl(t,r,s,null,e);this.batch.addOperation(a),this.model.applyOperation(a),n||i||(n=o,i=t.parent.nextSibling),o=(t=this.createPositionAfter(t.parent)).parent}while(o!==e);return{position:t,range:new La(Ta._createAt(n,\"end\"),Ta._createAt(i,0))}}wrap(t,e){if(this._assertWriterUsedCorrectly(),!t.isFlat)throw new a(\"writer-wrap-range-not-flat\",this);const n=e instanceof Da?e:new Da(e);if(n.childCount>0)throw new a(\"writer-wrap-element-not-empty\",this);if(null!==n.parent)throw new a(\"writer-wrap-element-attached\",this);this.insert(n,t.start);const i=new La(t.start.getShiftedBy(1),t.end.getShiftedBy(1));this.move(i,Ta._createAt(n,0))}unwrap(t){if(this._assertWriterUsedCorrectly(),null===t.parent)throw new a(\"writer-unwrap-element-no-parent\",this);this.move(La._createIn(t),this.createPositionAfter(t)),this.remove(t)}addMarker(t,e){if(this._assertWriterUsedCorrectly(),!e||\"boolean\"!=typeof e.usingOperation)throw new a(\"writer-addmarker-no-usingoperation\",this);const n=e.usingOperation,i=e.range,o=void 0!==e.affectsData&&e.affectsData;if(this.model.markers.has(t))throw new a(\"writer-addmarker-marker-exists\",this);if(!i)throw new a(\"writer-addmarker-no-range\",this);return n?(pl(this,t,null,i,o),this.model.markers.get(t)):this.model.markers._set(t,i,n,o)}updateMarker(t,e){this._assertWriterUsedCorrectly();const n=\"string\"==typeof t?t:t.name,i=this.model.markers.get(n);if(!i)throw new a(\"writer-updatemarker-marker-not-exists\",this);if(!e)return void this.model.markers._refresh(i);const o=\"boolean\"==typeof e.usingOperation,r=\"boolean\"==typeof e.affectsData,s=r?e.affectsData:i.affectsData;if(!o&&!e.range&&!r)throw new a(\"writer-updatemarker-wrong-options\",this);const c=i.getRange(),l=e.range?e.range:c;o&&e.usingOperation!==i.managedUsingOperations?e.usingOperation?pl(this,n,null,l,s):(pl(this,n,c,null,s),this.model.markers._set(n,l,void 0,s)):i.managedUsingOperations?pl(this,n,c,l,s):this.model.markers._set(n,l,void 0,s)}removeMarker(t){this._assertWriterUsedCorrectly();const e=\"string\"==typeof t?t:t.name;if(!this.model.markers.has(e))throw new a(\"writer-removemarker-no-marker\",this);const n=this.model.markers.get(e);if(!n.managedUsingOperations)return void this.model.markers._remove(e);pl(this,e,n.getRange(),null,n.affectsData)}setSelection(t,e,n){this._assertWriterUsedCorrectly(),this.model.document.selection._setTo(t,e,n)}setSelectionFocus(t,e){this._assertWriterUsedCorrectly(),this.model.document.selection._setFocus(t,e)}setSelectionAttribute(t,e){if(this._assertWriterUsedCorrectly(),\"string\"==typeof t)this._setSelectionAttribute(t,e);else for(const[e,n]of Ri(t))this._setSelectionAttribute(e,n)}removeSelectionAttribute(t){if(this._assertWriterUsedCorrectly(),\"string\"==typeof t)this._removeSelectionAttribute(t);else for(const e of t)this._removeSelectionAttribute(e)}overrideSelectionGravity(){return this.model.document.selection._overrideGravity()}restoreSelectionGravity(t){this.model.document.selection._restoreGravity(t)}_setSelectionAttribute(t,e){const n=this.model.document.selection;if(n.isCollapsed&&n.anchor.parent.isEmpty){const i=Qa._getStoreAttributeKey(t);this.setAttribute(i,e,n.anchor.parent)}n._setAttribute(t,e)}_removeSelectionAttribute(t){const e=this.model.document.selection;if(e.isCollapsed&&e.anchor.parent.isEmpty){const n=Qa._getStoreAttributeKey(t);this.removeAttribute(n,e.anchor.parent)}e._removeAttribute(t)}_assertWriterUsedCorrectly(){if(this.model._currentWriter!==this)throw new a(\"writer-incorrect-use\",this)}_addOperationForAffectedMarkers(t,e){for(const n of this.model.markers){if(!n.managedUsingOperations)continue;const i=n.getRange();let o=!1;if(\"move\"===t)o=e.containsPosition(i.start)||e.start.isEqual(i.start)||e.containsPosition(i.end)||e.end.isEqual(i.end);else{const t=e.nodeBefore,n=e.nodeAfter,r=i.start.parent==t&&i.start.isAtEnd,s=i.end.parent==n&&0==i.end.offset,a=i.end.nodeAfter==n,c=i.start.nodeAfter==n;o=r||s||a||c}o&&this.updateMarker(n.name,{range:i})}}}function ml(t,e,n,i){const o=t.model,r=o.document;let s,a,c,l=i.start;for(const t of i.getWalker({shallow:!0}))c=t.item.getAttribute(e),s&&a!=c&&(a!=n&&d(),l=s),s=t.nextPosition,a=c;function d(){const i=new La(l,s),c=i.root.document?r.version:null,d=new nl(i,e,a,n,c);t.batch.addOperation(d),o.applyOperation(d)}s instanceof Ta&&s!=l&&a!=n&&d()}function gl(t,e,n,i){const o=t.model,r=o.document,s=i.getAttribute(e);let a,c;if(s!=n){if(i.root===i){const t=i.document?r.version:null;c=new cl(i,e,s,n,t)}else{a=new La(Ta._createBefore(i),t.createPositionAfter(i));const o=a.root.document?r.version:null;c=new nl(a,e,s,n,o)}t.batch.addOperation(c),o.applyOperation(c)}}function pl(t,e,n,i,o){const r=t.model,s=r.document,a=new sl(e,n,i,r.markers,o,s.version);t.batch.addOperation(a),r.applyOperation(a)}function fl(t,e,n,i){let o;if(t.root.document){const n=i.document,r=new Ta(n.graveyard,[0]);o=new ol(t,e,r,n.version)}else o=new il(t,e);n.addOperation(o),i.applyOperation(o)}function kl(t,e){return t===e||t instanceof hl&&e instanceof hl}class bl{constructor(t){this._markerCollection=t,this._changesInElement=new Map,this._elementSnapshots=new Map,this._changedMarkers=new Map,this._changeCount=0,this._cachedChanges=null,this._cachedChangesWithGraveyard=null}get isEmpty(){return 0==this._changesInElement.size&&0==this._changedMarkers.size}refreshItem(t){if(this._isInInsertedElement(t.parent))return;this._markRemove(t.parent,t.startOffset,t.offsetSize),this._markInsert(t.parent,t.startOffset,t.offsetSize);const e=La._createOn(t);for(const t of this._markerCollection.getMarkersIntersectingRange(e)){const e=t.getRange();this.bufferMarkerChange(t.name,e,e,t.affectsData)}this._cachedChanges=null}bufferOperation(t){switch(t.type){case\"insert\":if(this._isInInsertedElement(t.position.parent))return;this._markInsert(t.position.parent,t.position.offset,t.nodes.maxOffset);break;case\"addAttribute\":case\"removeAttribute\":case\"changeAttribute\":for(const e of t.range.getItems({shallow:!0}))this._isInInsertedElement(e.parent)||this._markAttribute(e);break;case\"remove\":case\"move\":case\"reinsert\":{if(t.sourcePosition.isEqual(t.targetPosition)||t.sourcePosition.getShiftedBy(t.howMany).isEqual(t.targetPosition))return;const e=this._isInInsertedElement(t.sourcePosition.parent),n=this._isInInsertedElement(t.targetPosition.parent);e||this._markRemove(t.sourcePosition.parent,t.sourcePosition.offset,t.howMany),n||this._markInsert(t.targetPosition.parent,t.getMovedRangeStart().offset,t.howMany);break}case\"rename\":{if(this._isInInsertedElement(t.position.parent))return;this._markRemove(t.position.parent,t.position.offset,1),this._markInsert(t.position.parent,t.position.offset,1);const e=La._createFromPositionAndShift(t.position,1);for(const t of this._markerCollection.getMarkersIntersectingRange(e)){const e=t.getRange();this.bufferMarkerChange(t.name,e,e,t.affectsData)}break}case\"split\":{const e=t.splitPosition.parent;this._isInInsertedElement(e)||this._markRemove(e,t.splitPosition.offset,t.howMany),this._isInInsertedElement(t.insertionPosition.parent)||this._markInsert(t.insertionPosition.parent,t.insertionPosition.offset,1),t.graveyardPosition&&this._markRemove(t.graveyardPosition.parent,t.graveyardPosition.offset,1);break}case\"merge\":{const e=t.sourcePosition.parent;this._isInInsertedElement(e.parent)||this._markRemove(e.parent,e.startOffset,1);const n=t.graveyardPosition.parent;this._markInsert(n,t.graveyardPosition.offset,1);const i=t.targetPosition.parent;this._isInInsertedElement(i)||this._markInsert(i,t.targetPosition.offset,e.maxOffset);break}}this._cachedChanges=null}bufferMarkerChange(t,e,n,i){const o=this._changedMarkers.get(t);o?(o.newRange=n,o.affectsData=i,null==o.oldRange&&null==o.newRange&&this._changedMarkers.delete(t)):this._changedMarkers.set(t,{oldRange:e,newRange:n,affectsData:i})}getMarkersToRemove(){const t=[];for(const[e,n]of this._changedMarkers)null!=n.oldRange&&t.push({name:e,range:n.oldRange});return t}getMarkersToAdd(){const t=[];for(const[e,n]of this._changedMarkers)null!=n.newRange&&t.push({name:e,range:n.newRange});return t}getChangedMarkers(){return Array.from(this._changedMarkers).map((t=>({name:t[0],data:{oldRange:t[1].oldRange,newRange:t[1].newRange}})))}hasDataChanges(){for(const[,t]of this._changedMarkers)if(t.affectsData)return!0;return this._changesInElement.size>0}getChanges(t={includeChangesInGraveyard:!1}){if(this._cachedChanges)return t.includeChangesInGraveyard?this._cachedChangesWithGraveyard.slice():this._cachedChanges.slice();let e=[];for(const t of this._changesInElement.keys()){const n=this._changesInElement.get(t).sort(((t,e)=>t.offset===e.offset?t.type!=e.type?\"remove\"==t.type?-1:1:0:t.offsett.position.root!=e.position.root?t.position.root.rootNamet));for(const t of e)delete t.changeCount,\"attribute\"==t.type&&(delete t.position,delete t.length);return this._changeCount=0,this._cachedChangesWithGraveyard=e.slice(),this._cachedChanges=e.filter(Al),t.includeChangesInGraveyard?this._cachedChangesWithGraveyard:this._cachedChanges}reset(){this._changesInElement.clear(),this._elementSnapshots.clear(),this._changedMarkers.clear(),this._cachedChanges=null}_markInsert(t,e,n){const i={type:\"insert\",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,i)}_markRemove(t,e,n){const i={type:\"remove\",offset:e,howMany:n,count:this._changeCount++};this._markChange(t,i),this._removeAllNestedChanges(t,e,n)}_markAttribute(t){const e={type:\"attribute\",offset:t.startOffset,howMany:t.offsetSize,count:this._changeCount++};this._markChange(t.parent,e)}_markChange(t,e){this._makeSnapshot(t);const n=this._getChangesForElement(t);this._handleChange(e,n),n.push(e);for(let t=0;tn.offset){if(i>o){const t={type:\"attribute\",offset:o,howMany:i-o,count:this._changeCount++};this._handleChange(t,e),e.push(t)}t.nodesToHandle=n.offset-t.offset,t.howMany=t.nodesToHandle}else t.offset>=n.offset&&t.offseto?(t.nodesToHandle=i-o,t.offset=o):t.nodesToHandle=0);if(\"remove\"==n.type&&t.offsetn.offset){const o={type:\"attribute\",offset:n.offset,howMany:i-n.offset,count:this._changeCount++};this._handleChange(o,e),e.push(o),t.nodesToHandle=n.offset-t.offset,t.howMany=t.nodesToHandle}\"attribute\"==n.type&&(t.offset>=n.offset&&i<=o?(t.nodesToHandle=0,t.howMany=0,t.offset=0):t.offset<=n.offset&&i>=o&&(n.howMany=0))}}t.howMany=t.nodesToHandle,delete t.nodesToHandle}_getInsertDiff(t,e,n){return{type:\"insert\",position:Ta._createAt(t,e),name:n,length:1,changeCount:this._changeCount++}}_getRemoveDiff(t,e,n){return{type:\"remove\",position:Ta._createAt(t,e),name:n,length:1,changeCount:this._changeCount++}}_getAttributesDiff(t,e,n){const i=[];n=new Map(n);for(const[o,r]of e){const e=n.has(o)?n.get(o):null;e!==r&&i.push({type:\"attribute\",position:t.start,range:t.clone(),length:1,attributeKey:o,attributeOldValue:r,attributeNewValue:e,changeCount:this._changeCount++}),n.delete(o)}for(const[e,o]of n)i.push({type:\"attribute\",position:t.start,range:t.clone(),length:1,attributeKey:e,attributeOldValue:null,attributeNewValue:o,changeCount:this._changeCount++});return i}_isInInsertedElement(t){const e=t.parent;if(!e)return!1;const n=this._changesInElement.get(e),i=t.startOffset;if(n)for(const t of n)if(\"insert\"==t.type&&i>=t.offset&&ii){for(let e=0;e=t&&i.baseVersion{const n=e[0];if(n.isDocumentOperation&&n.baseVersion!==this.version)throw new a(\"model-document-applyoperation-wrong-version\",this,{operation:n})}),{priority:\"highest\"}),this.listenTo(t,\"applyOperation\",((t,e)=>{const n=e[0];n.isDocumentOperation&&this.differ.bufferOperation(n)}),{priority:\"high\"}),this.listenTo(t,\"applyOperation\",((t,e)=>{const n=e[0];n.isDocumentOperation&&(this.version++,this.history.addOperation(n))}),{priority:\"low\"}),this.listenTo(this.selection,\"change\",(()=>{this._hasSelectionChangedFromTheLastChangeBlock=!0})),this.listenTo(t.markers,\"update\",((t,e,n,i)=>{this.differ.bufferMarkerChange(e.name,n,i,e.affectsData),null===n&&e.on(\"change\",((t,n)=>{this.differ.bufferMarkerChange(e.name,n,e.getRange(),e.affectsData)}))}))}get graveyard(){return this.getRoot(xl)}createRoot(t=\"$root\",e=\"main\"){if(this.roots.get(e))throw new a(\"model-document-createroot-name-exists\",this,{name:e});const n=new hl(this,t,e);return this.roots.add(n),n}destroy(){this.selection.destroy(),this.stopListening()}getRoot(t=\"main\"){return this.roots.get(t)}getRootNames(){return Array.from(this.roots,(t=>t.rootName)).filter((t=>t!=xl))}registerPostFixer(t){this._postFixers.add(t)}toJSON(){const t=Li(this);return t.selection=\"[engine.model.DocumentSelection]\",t.model=\"[engine.model.Model]\",t}_handleChangeBlock(t){this._hasDocumentChangedFromTheLastChangeBlock()&&(this._callPostFixers(t),this.selection.refresh(),this.differ.hasDataChanges()?this.fire(\"change:data\",t.batch):this.fire(\"change\",t.batch),this.selection.refresh(),this.differ.reset()),this._hasSelectionChangedFromTheLastChangeBlock=!1}_hasDocumentChangedFromTheLastChangeBlock(){return!this.differ.isEmpty||this._hasSelectionChangedFromTheLastChangeBlock}_getDefaultRoot(){for(const t of this.roots)if(t!==this.graveyard)return t;return this.graveyard}_getDefaultRange(){const t=this._getDefaultRoot(),e=this.model,n=e.schema,i=e.createPositionFromPath(t,[0]);return n.getNearestSelectionRange(i)||e.createRange(i)}_validateSelectionRange(t){return Dl(t.start)&&Dl(t.end)}_callPostFixers(t){let e=!1;do{for(const n of this._postFixers)if(this.selection.refresh(),e=n(t),e)break}while(e)}}function Dl(t){const e=t.textNode;if(e){const n=e.data,i=t.offset-e.startOffset;return!vl(n,i)&&!yl(n,i)}return!0}ce(El,p);class Sl{constructor(){this._markers=new Map}[Symbol.iterator](){return this._markers.values()}has(t){return this._markers.has(t)}get(t){return this._markers.get(t)||null}_set(t,e,n=!1,i=!1){const o=t instanceof Il?t.name:t;if(o.includes(\",\"))throw new a(\"markercollection-incorrect-marker-name\",this);const r=this._markers.get(o);if(r){const t=r.getRange();let s=!1;return t.isEqual(e)||(r._attachLiveRange(Ka.fromRange(e)),s=!0),n!=r.managedUsingOperations&&(r._managedUsingOperations=n,s=!0),\"boolean\"==typeof i&&i!=r.affectsData&&(r._affectsData=i,s=!0),s&&this.fire(\"update:\"+o,r,t,e),r}const s=Ka.fromRange(e),c=new Il(o,s,n,i);return this._markers.set(o,c),this.fire(\"update:\"+o,c,null,e),c}_remove(t){const e=t instanceof Il?t.name:t,n=this._markers.get(e);return!!n&&(this._markers.delete(e),this.fire(\"update:\"+e,n,n.getRange(),null),this._destroyMarker(n),!0)}_refresh(t){const e=t instanceof Il?t.name:t,n=this._markers.get(e);if(!n)throw new a(\"markercollection-refresh-marker-not-exists\",this);const i=n.getRange();this.fire(\"update:\"+e,n,i,i,n.managedUsingOperations,n.affectsData)}*getMarkersAtPosition(t){for(const e of this)e.getRange().containsPosition(t)&&(yield e)}*getMarkersIntersectingRange(t){for(const e of this)null!==e.getRange().getIntersection(t)&&(yield e)}destroy(){for(const t of this._markers.values())this._destroyMarker(t);this._markers=null,this.stopListening()}*getMarkersGroup(t){for(const e of this._markers.values())e.name.startsWith(t+\":\")&&(yield e)}_destroyMarker(t){t.stopListening(),t._detachLiveRange()}}ce(Sl,p);class Il{constructor(t,e,n,i){this.name=t,this._liveRange=this._attachLiveRange(e),this._managedUsingOperations=n,this._affectsData=i}get managedUsingOperations(){if(!this._liveRange)throw new a(\"marker-destroyed\",this);return this._managedUsingOperations}get affectsData(){if(!this._liveRange)throw new a(\"marker-destroyed\",this);return this._affectsData}getStart(){if(!this._liveRange)throw new a(\"marker-destroyed\",this);return this._liveRange.start.clone()}getEnd(){if(!this._liveRange)throw new a(\"marker-destroyed\",this);return this._liveRange.end.clone()}getRange(){if(!this._liveRange)throw new a(\"marker-destroyed\",this);return this._liveRange.toRange()}is(t){return\"marker\"===t||\"model:marker\"===t}_attachLiveRange(t){return this._liveRange&&this._detachLiveRange(),t.delegate(\"change:range\").to(this),t.delegate(\"change:content\").to(this),this._liveRange=t,t}_detachLiveRange(){this._liveRange.stopDelegating(\"change:range\",this),this._liveRange.stopDelegating(\"change:content\",this),this._liveRange.detach(),this._liveRange=null}}ce(Il,p);class Tl extends Wc{get type(){return\"noop\"}clone(){return new Tl(this.baseVersion)}getReversed(){return new Tl(this.baseVersion+1)}_execute(){}static get className(){return\"NoOperation\"}}const Ml={};Ml[nl.className]=nl,Ml[rl.className]=rl,Ml[sl.className]=sl,Ml[ol.className]=ol,Ml[Tl.className]=Tl,Ml[Wc.className]=Wc,Ml[al.className]=al,Ml[cl.className]=cl,Ml[dl.className]=dl,Ml[ll.className]=ll;class Bl extends Ta{constructor(t,e,n=\"toNone\"){if(super(t,e,n),!this.root.is(\"rootElement\"))throw new a(\"model-liveposition-root-not-rootelement\",t);Nl.call(this)}detach(){this.stopListening()}is(t){return\"livePosition\"===t||\"model:livePosition\"===t||\"position\"==t||\"model:position\"===t}toPosition(){return new Ta(this.root,this.path.slice(),this.stickiness)}static fromPosition(t,e){return new this(t.root,t.path.slice(),e||t.stickiness)}}function Nl(){this.listenTo(this.root.document.model,\"applyOperation\",((t,e)=>{const n=e[0];n.isDocumentOperation&&Ll.call(this,n)}),{priority:\"low\"})}function Ll(t){const e=this.getTransformedByOperation(t);if(!this.isEqual(e)){const t=this.toPosition();this.path=e.path,this.root=e.root,this.fire(\"change\",t)}}ce(Bl,p);class zl{constructor(t,e,n){this.model=t,this.writer=e,this.position=n,this.canMergeWith=new Set([this.position.parent]),this.schema=t.schema,this._documentFragment=e.createDocumentFragment(),this._documentFragmentPosition=e.createPositionAt(this._documentFragment,0),this._firstNode=null,this._lastNode=null,this._lastAutoParagraph=null,this._filterAttributesOf=[],this._affectedStart=null,this._affectedEnd=null}handleNodes(t){for(const e of Array.from(t))this._handleNode(e);this._insertPartialFragment(),this._lastAutoParagraph&&this._updateLastNodeFromAutoParagraph(this._lastAutoParagraph),this._mergeOnRight(),this.schema.removeDisallowedAttributes(this._filterAttributesOf,this.writer),this._filterAttributesOf=[]}_updateLastNodeFromAutoParagraph(t){const e=this.writer.createPositionAfter(this._lastNode),n=this.writer.createPositionAfter(t);if(n.isAfter(e)){if(this._lastNode=t,this.position.parent!=t||!this.position.isAtEnd)throw new a(\"insertcontent-invalid-insertion-position\",this);this.position=n,this._setAffectedBoundaries(this.position)}}getSelectionRange(){return this.nodeToSelect?La._createOn(this.nodeToSelect):this.model.schema.getNearestSelectionRange(this.position)}getAffectedRange(){return this._affectedStart?new La(this._affectedStart,this._affectedEnd):null}destroy(){this._affectedStart&&this._affectedStart.detach(),this._affectedEnd&&this._affectedEnd.detach()}_handleNode(t){if(this.schema.isObject(t))return void this._handleObject(t);let e=this._checkAndAutoParagraphToAllowedPosition(t);e||(e=this._checkAndSplitToAllowedPosition(t),e)?(this._appendToFragment(t),this._firstNode||(this._firstNode=t),this._lastNode=t):this._handleDisallowedNode(t)}_insertPartialFragment(){if(this._documentFragment.isEmpty)return;const t=Bl.fromPosition(this.position,\"toNext\");this._setAffectedBoundaries(this.position),this._documentFragment.getChild(0)==this._firstNode&&(this.writer.insert(this._firstNode,this.position),this._mergeOnLeft(),this.position=t.toPosition()),this._documentFragment.isEmpty||this.writer.insert(this._documentFragment,this.position),this._documentFragmentPosition=this.writer.createPositionAt(this._documentFragment,0),this.position=t.toPosition(),t.detach()}_handleObject(t){this._checkAndSplitToAllowedPosition(t)?this._appendToFragment(t):this._tryAutoparagraphing(t)}_handleDisallowedNode(t){t.is(\"element\")?this.handleNodes(t.getChildren()):this._tryAutoparagraphing(t)}_appendToFragment(t){if(!this.schema.checkChild(this.position,t))throw new a(\"insertcontent-wrong-position\",this,{node:t,position:this.position});this.writer.insert(t,this._documentFragmentPosition),this._documentFragmentPosition=this._documentFragmentPosition.getShiftedBy(t.offsetSize),this.schema.isObject(t)&&!this.schema.checkChild(this.position,\"$text\")?this.nodeToSelect=t:this.nodeToSelect=null,this._filterAttributesOf.push(t)}_setAffectedBoundaries(t){this._affectedStart||(this._affectedStart=Bl.fromPosition(t,\"toPrevious\")),this._affectedEnd&&!this._affectedEnd.isBefore(t)||(this._affectedEnd&&this._affectedEnd.detach(),this._affectedEnd=Bl.fromPosition(t,\"toNext\"))}_mergeOnLeft(){const t=this._firstNode;if(!(t instanceof Da))return;if(!this._canMergeLeft(t))return;const e=Bl._createBefore(t);e.stickiness=\"toNext\";const n=Bl.fromPosition(this.position,\"toNext\");this._affectedStart.isEqual(e)&&(this._affectedStart.detach(),this._affectedStart=Bl._createAt(e.nodeBefore,\"end\",\"toPrevious\")),this._firstNode===this._lastNode&&(this._firstNode=e.nodeBefore,this._lastNode=e.nodeBefore),this.writer.merge(e),e.isEqual(this._affectedEnd)&&this._firstNode===this._lastNode&&(this._affectedEnd.detach(),this._affectedEnd=Bl._createAt(e.nodeBefore,\"end\",\"toNext\")),this.position=n.toPosition(),n.detach(),this._filterAttributesOf.push(this.position.parent),e.detach()}_mergeOnRight(){const t=this._lastNode;if(!(t instanceof Da))return;if(!this._canMergeRight(t))return;const e=Bl._createAfter(t);if(e.stickiness=\"toNext\",!this.position.isEqual(e))throw new a(\"insertcontent-invalid-insertion-position\",this);this.position=Ta._createAt(e.nodeBefore,\"end\");const n=Bl.fromPosition(this.position,\"toPrevious\");this._affectedEnd.isEqual(e)&&(this._affectedEnd.detach(),this._affectedEnd=Bl._createAt(e.nodeBefore,\"end\",\"toNext\")),this._firstNode===this._lastNode&&(this._firstNode=e.nodeBefore,this._lastNode=e.nodeBefore),this.writer.merge(e),e.getShiftedBy(-1).isEqual(this._affectedStart)&&this._firstNode===this._lastNode&&(this._affectedStart.detach(),this._affectedStart=Bl._createAt(e.nodeBefore,0,\"toPrevious\")),this.position=n.toPosition(),n.detach(),this._filterAttributesOf.push(this.position.parent),e.detach()}_canMergeLeft(t){const e=t.previousSibling;return e instanceof Da&&this.canMergeWith.has(e)&&this.model.schema.checkMerge(e,t)}_canMergeRight(t){const e=t.nextSibling;return e instanceof Da&&this.canMergeWith.has(e)&&this.model.schema.checkMerge(t,e)}_tryAutoparagraphing(t){const e=this.writer.createElement(\"paragraph\");this._getAllowedIn(this.position.parent,e)&&this.schema.checkChild(e,t)&&(e._appendChild(t),this._handleNode(e))}_checkAndAutoParagraphToAllowedPosition(t){if(this.schema.checkChild(this.position.parent,t))return!0;if(!this.schema.checkChild(this.position.parent,\"paragraph\")||!this.schema.checkChild(\"paragraph\",t))return!1;this._insertPartialFragment();const e=this.writer.createElement(\"paragraph\");return this.writer.insert(e,this.position),this._setAffectedBoundaries(this.position),this._lastAutoParagraph=e,this.position=this.writer.createPositionAt(e,0),!0}_checkAndSplitToAllowedPosition(t){const e=this._getAllowedIn(this.position.parent,t);if(!e)return!1;for(e!=this.position.parent&&this._insertPartialFragment();e!=this.position.parent;)if(this.position.isAtStart){const t=this.position.parent;this.position=this.writer.createPositionBefore(t),t.isEmpty&&t.parent===e&&this.writer.remove(t)}else if(this.position.isAtEnd)this.position=this.writer.createPositionAfter(this.position.parent);else{const t=this.writer.createPositionAfter(this.position.parent);this._setAffectedBoundaries(this.position),this.writer.split(this.position),this.position=t,this.canMergeWith.add(this.position.nodeAfter)}return!0}_getAllowedIn(t,e){return this.schema.checkChild(t,e)?t:this.schema.isLimit(t)?null:this._getAllowedIn(t.parent,e)}}function Pl(t,e,n={}){if(e.isCollapsed)return;const i=e.getFirstRange();if(\"$graveyard\"==i.root.rootName)return;const o=t.schema;t.change((t=>{if(!n.doNotResetEntireContent&&function(t,e){const n=t.getLimitElement(e);if(!e.containsEntireContent(n))return!1;const i=e.getFirstRange();if(i.start.parent==i.end.parent)return!1;return t.checkChild(n,\"paragraph\")}(o,e))return void function(t,e){const n=t.model.schema.getLimitElement(e);t.remove(t.createRangeIn(n)),jl(t,t.createPositionAt(n,0),e)}(t,e);const[r,s]=function(t){const e=t.root.document.model,n=t.start;let i=t.end;if(e.hasContent(t,{ignoreMarkers:!0})){const n=function(t){const e=t.parent,n=e.root.document.model.schema,i=e.getAncestors({parentFirst:!0,includeSelf:!0});for(const t of i){if(n.isLimit(t))return null;if(n.isBlock(t))return t}}(i);if(n&&i.isTouching(e.createPositionAt(n,0))){const n=e.createSelection(t);e.modifySelection(n,{direction:\"backward\"});const o=n.getLastPosition(),r=e.createRange(o,i);e.hasContent(r,{ignoreMarkers:!0})||(i=o)}}return[Bl.fromPosition(n,\"toPrevious\"),Bl.fromPosition(i,\"toNext\")]}(i);r.isTouching(s)||t.remove(t.createRange(r,s)),n.leaveUnmerged||(!function(t,e,n){const i=t.model;if(!Fl(t.model.schema,e,n))return;const[o,r]=function(t,e){const n=t.getAncestors(),i=e.getAncestors();let o=0;for(;n[o]&&n[o]==i[o];)o++;return[n[o],i[o]]}(e,n);if(!o||!r)return;!i.hasContent(o,{ignoreMarkers:!0})&&i.hasContent(r,{ignoreMarkers:!0})?Rl(t,e,n,o.parent):Ol(t,e,n,o.parent)}(t,r,s),o.removeDisallowedAttributes(r.parent.getChildren(),t)),Vl(t,e,r),!n.doNotAutoparagraph&&function(t,e){const n=t.checkChild(e,\"$text\"),i=t.checkChild(e,\"paragraph\");return!n&&i}(o,r)&&jl(t,r,e),r.detach(),s.detach()}))}function Ol(t,e,n,i){const o=e.parent,r=n.parent;if(o!=i&&r!=i){for(e=t.createPositionAfter(o),(n=t.createPositionBefore(r)).isEqual(e)||t.insert(r,e),t.merge(e);n.parent.isEmpty;){const e=n.parent;n=t.createPositionBefore(e),t.remove(e)}Fl(t.model.schema,e,n)&&Ol(t,e,n,i)}}function Rl(t,e,n,i){const o=e.parent,r=n.parent;if(o!=i&&r!=i){for(e=t.createPositionAfter(o),(n=t.createPositionBefore(r)).isEqual(e)||t.insert(o,n);e.parent.isEmpty;){const n=e.parent;e=t.createPositionBefore(n),t.remove(n)}n=t.createPositionBefore(r),function(t,e){const n=e.nodeBefore,i=e.nodeAfter;n.name!=i.name&&t.rename(n,i.name);t.clearAttributes(n),t.setAttributes(Object.fromEntries(i.getAttributes()),n),t.merge(e)}(t,n),Fl(t.model.schema,e,n)&&Rl(t,e,n,i)}}function Fl(t,e,n){const i=e.parent,o=n.parent;return i!=o&&(!t.isLimit(i)&&!t.isLimit(o)&&function(t,e,n){const i=new La(t,e);for(const t of i.getWalker())if(n.isLimit(t.item))return!1;return!0}(e,n,t))}function jl(t,e,n){const i=t.createElement(\"paragraph\");t.insert(i,e),Vl(t,n,t.createPositionAt(i,0))}function Vl(t,e,n){e instanceof Qa?t.setSelection(n):e.setTo(n)}const Hl=' ,.?!:;\"-()';function Ul(t,e){const{isForward:n,walker:i,unit:o,schema:r}=t,{type:s,item:a,nextPosition:c}=e;if(\"text\"==s)return\"word\"===t.unit?function(t,e){let n=t.position.textNode;if(n){let i=t.position.offset-n.startOffset;for(;!ql(n.data,i,e)&&!Wl(n,i,e);){t.next();const o=e?t.position.nodeAfter:t.position.nodeBefore;if(o&&o.is(\"$text\")){const i=o.data.charAt(e?0:o.data.length-1);Hl.includes(i)||(t.next(),n=t.position.textNode)}i=t.position.offset-n.startOffset}}return t.position}(i,n):function(t,e){const n=t.position.textNode;if(n){const i=n.data;let o=t.position.offset-n.startOffset;for(;vl(i,o)||\"character\"==e&&yl(i,o);)t.next(),o=t.position.offset-n.startOffset}return t.position}(i,o);if(s==(n?\"elementStart\":\"elementEnd\")){if(r.isSelectable(a))return Ta._createAt(a,n?\"after\":\"before\");if(r.checkChild(c,\"$text\"))return c}else{if(r.isLimit(a))return void i.skip((()=>!0));if(r.checkChild(c,\"$text\"))return c}}function Gl(t,e){const n=t.root,i=Ta._createAt(n,e?\"end\":0);return e?new La(t,i):new La(i,t)}function ql(t,e,n){const i=e+(n?0:-1);return Hl.includes(t.charAt(i))}function Wl(t,e,n){return e===(n?t.endOffset:0)}function Kl(t,e){const n=[];Array.from(t.getItems({direction:\"backward\"})).map((t=>e.createRangeOn(t))).filter((e=>(e.start.isAfter(t.start)||e.start.isEqual(t.start))&&(e.end.isBefore(t.end)||e.end.isEqual(t.end)))).forEach((t=>{n.push(t.start.parent),e.remove(t)})),n.forEach((t=>{let n=t;for(;n.parent&&n.isEmpty;){const t=e.createRangeOn(n);n=n.parent,e.remove(t)}}))}function $l(t){t.document.registerPostFixer((e=>function(t,e){const n=e.document.selection,i=e.schema,o=[];let r=!1;for(const t of n.getRanges()){const e=Yl(t,i);e&&!e.isEqual(t)?(o.push(e),r=!0):o.push(t)}r&&t.setSelection(function(t){const e=[];e.push(t.shift());for(const n of t){const t=e.pop();if(n.isEqual(t))e.push(t);else if(n.isIntersecting(t)){const i=t.start.isAfter(n.start)?n.start:t.start,o=t.end.isAfter(n.end)?t.end:n.end,r=new La(i,o);e.push(r)}else e.push(t),e.push(n)}return e}(o),{backward:n.isBackward})}(e,t)))}function Yl(t,e){return t.isCollapsed?function(t,e){const n=t.start,i=e.getNearestSelectionRange(n);if(!i)return null;if(!i.isCollapsed)return i;const o=i.start;if(n.isEqual(o))return null;return new La(o)}(t,e):function(t,e){const{start:n,end:i}=t,o=e.checkChild(n,\"$text\"),r=e.checkChild(i,\"$text\"),s=e.getLimitElement(n),a=e.getLimitElement(i);if(s===a){if(o&&r)return null;if(function(t,e,n){const i=t.nodeAfter&&!n.isLimit(t.nodeAfter)||n.checkChild(t,\"$text\"),o=e.nodeBefore&&!n.isLimit(e.nodeBefore)||n.checkChild(e,\"$text\");return i||o}(n,i,e)){const t=n.nodeAfter&&e.isSelectable(n.nodeAfter)?null:e.getNearestSelectionRange(n,\"forward\"),o=i.nodeBefore&&e.isSelectable(i.nodeBefore)?null:e.getNearestSelectionRange(i,\"backward\"),r=t?t.start:n,s=o?o.end:i;return new La(r,s)}}const c=s&&!s.is(\"rootElement\"),l=a&&!a.is(\"rootElement\");if(c||l){const t=n.nodeAfter&&i.nodeBefore&&n.nodeAfter.parent===i.nodeBefore.parent,o=c&&(!t||!Ql(n.nodeAfter,e)),r=l&&(!t||!Ql(i.nodeBefore,e));let d=n,h=i;return o&&(d=Ta._createBefore(Zl(s,e))),r&&(h=Ta._createAfter(Zl(a,e))),new La(d,h)}return null}(t,e)}function Zl(t,e){let n=t,i=n;for(;e.isLimit(i)&&i.parent;)n=i,i=i.parent;return n}function Ql(t,e){return t&&e.isSelectable(t)}class Jl{constructor(){this.markers=new Sl,this.document=new El(this),this.schema=new vc,this._pendingChanges=[],this._currentWriter=null,[\"insertContent\",\"deleteContent\",\"modifySelection\",\"getSelectedContent\",\"applyOperation\"].forEach((t=>this.decorate(t))),this.on(\"applyOperation\",((t,e)=>{e[0]._validate()}),{priority:\"highest\"}),this.schema.register(\"$root\",{isLimit:!0}),this.schema.register(\"$block\",{allowIn:\"$root\",isBlock:!0}),this.schema.register(\"$text\",{allowIn:\"$block\",isInline:!0,isContent:!0}),this.schema.register(\"$clipboardHolder\",{allowContentOf:\"$root\",allowChildren:\"$text\",isLimit:!0}),this.schema.register(\"$documentFragment\",{allowContentOf:\"$root\",allowChildren:\"$text\",isLimit:!0}),this.schema.register(\"$marker\"),this.schema.addChildCheck(((t,e)=>{if(\"$marker\"===e.name)return!0})),$l(this),this.document.registerPostFixer(lc)}change(t){try{return 0===this._pendingChanges.length?(this._pendingChanges.push({batch:new qc,callback:t}),this._runPendingChanges()[0]):t(this._currentWriter)}catch(t){a.rethrowUnexpectedError(t,this)}}enqueueChange(t,e){try{\"string\"==typeof t?t=new qc(t):\"function\"==typeof t&&(e=t,t=new qc),this._pendingChanges.push({batch:t,callback:e}),1==this._pendingChanges.length&&this._runPendingChanges()}catch(t){a.rethrowUnexpectedError(t,this)}}applyOperation(t){t._execute()}insertContent(t,e,n){return function(t,e,n,i){return t.change((o=>{let r;r=n?n instanceof Ha||n instanceof Qa?n:o.createSelection(n,i):t.document.selection,r.isCollapsed||t.deleteContent(r,{doNotAutoparagraph:!0});const s=new zl(t,o,r.anchor);let a;a=e.is(\"documentFragment\")?e.getChildren():[e],s.handleNodes(a);const c=s.getSelectionRange();c&&(r instanceof Qa?o.setSelection(c):r.setTo(c));const l=s.getAffectedRange()||t.createRange(r.anchor);return s.destroy(),l}))}(this,t,e,n)}deleteContent(t,e){Pl(this,t,e)}modifySelection(t,e){!function(t,e,n={}){const i=t.schema,o=\"backward\"!=n.direction,r=n.unit?n.unit:\"character\",s=e.focus,a=new Sa({boundaries:Gl(s,o),singleCharacters:!0,direction:o?\"forward\":\"backward\"}),c={walker:a,schema:i,isForward:o,unit:r};let l;for(;l=a.next();){if(l.done)return;const n=Ul(c,l.value);if(n)return void(e instanceof Qa?t.change((t=>{t.setSelectionFocus(n)})):e.setFocus(n))}}(this,t,e)}getSelectedContent(t){return function(t,e){return t.change((t=>{const n=t.createDocumentFragment(),i=e.getFirstRange();if(!i||i.isCollapsed)return n;const o=i.start.root,r=i.start.getCommonPath(i.end),s=o.getNodeByPath(r);let a;a=i.start.parent==i.end.parent?i:t.createRange(t.createPositionAt(s,i.start.path[r.length]),t.createPositionAt(s,i.end.path[r.length]+1));const c=a.end.offset-a.start.offset;for(const e of a.getItems({shallow:!0}))e.is(\"$textProxy\")?t.appendText(e.data,e.getAttributes(),n):t.append(t.cloneElement(e,!0),n);if(a!=i){const e=i._getTransformedByMove(a.start,t.createPositionAt(n,0),c)[0],o=t.createRange(t.createPositionAt(n,0),e.start);Kl(t.createRange(e.end,t.createPositionAt(n,\"end\")),t),Kl(o,t)}return n}))}(this,t)}hasContent(t,e={}){const n=t instanceof Da?La._createIn(t):t;if(n.isCollapsed)return!1;const{ignoreWhitespaces:i=!1,ignoreMarkers:o=!1}=e;if(!o)for(const t of this.markers.getMarkersIntersectingRange(n))if(t.affectsData)return!0;for(const t of n.getItems())if(this.schema.isContent(t)){if(!t.is(\"$textProxy\"))return!0;if(!i)return!0;if(-1!==t.data.search(/\\S/))return!0}return!1}createPositionFromPath(t,e,n){return new Ta(t,e,n)}createPositionAt(t,e){return Ta._createAt(t,e)}createPositionAfter(t){return Ta._createAfter(t)}createPositionBefore(t){return Ta._createBefore(t)}createRange(t,e){return new La(t,e)}createRangeIn(t){return La._createIn(t)}createRangeOn(t){return La._createOn(t)}createSelection(t,e,n){return new Ha(t,e,n)}createBatch(t){return new qc(t)}createOperationFromJSON(t){return class{static fromJSON(t,e){return Ml[t.__className].fromJSON(t,e)}}.fromJSON(t,this.document)}destroy(){this.document.destroy(),this.stopListening()}_runPendingChanges(){const t=[];for(this.fire(\"_beforeChanges\");this._pendingChanges.length;){const e=this._pendingChanges[0].batch;this._currentWriter=new ul(this,e);const n=this._pendingChanges[0].callback(this._currentWriter);t.push(n),this.document._handleChangeBlock(this._currentWriter),this._pendingChanges.shift(),this._currentWriter=null}return this.fire(\"_afterChanges\"),t}}ce(Jl,ne);class Xl extends da{constructor(t){super(),this.editor=t}set(t,e,n={}){if(\"string\"==typeof e){const t=e;e=(e,n)=>{this.editor.execute(t),n()}}super.set(t,e,n)}}class td{constructor(t={}){this._context=t.context||new Mi({language:t.language}),this._context._addEditor(this,!t.context);const e=Array.from(this.constructor.builtinPlugins||[]);this.config=new Ci(t,this.constructor.defaultConfig),this.config.define(\"plugins\",e),this.config.define(this._context._getEditorConfig()),this.plugins=new xi(this,e,this._context.plugins),this.locale=this._context.locale,this.t=this.locale.t,this.commands=new Cc,this.set(\"state\",\"initializing\"),this.once(\"ready\",(()=>this.state=\"ready\"),{priority:\"high\"}),this.once(\"destroy\",(()=>this.state=\"destroyed\"),{priority:\"high\"}),this.set(\"isReadOnly\",!1),this.model=new Jl;const n=new vo;this.data=new Vc(this.model,n),this.editing=new wc(this.model,n),this.editing.view.document.bind(\"isReadOnly\").to(this),this.conversion=new Hc([this.editing.downcastDispatcher,this.data.downcastDispatcher],this.data.upcastDispatcher),this.conversion.addAlias(\"dataDowncast\",this.data.downcastDispatcher),this.conversion.addAlias(\"editingDowncast\",this.editing.downcastDispatcher),this.keystrokes=new Xl(this),this.keystrokes.listenTo(this.editing.view.document)}initPlugins(){const t=this.config,e=t.get(\"plugins\"),n=t.get(\"removePlugins\")||[],i=t.get(\"extraPlugins\")||[],o=t.get(\"substitutePlugins\")||[];return this.plugins.init(e.concat(i),n,o)}destroy(){let t=Promise.resolve();return\"initializing\"==this.state&&(t=new Promise((t=>this.once(\"ready\",t)))),t.then((()=>{this.fire(\"destroy\"),this.stopListening(),this.commands.destroy()})).then((()=>this.plugins.destroy())).then((()=>{this.model.destroy(),this.data.destroy(),this.editing.destroy(),this.keystrokes.destroy()})).then((()=>this._context._removeEditor(this)))}execute(...t){try{return this.commands.execute(...t)}catch(t){a.rethrowUnexpectedError(t,this)}}focus(){this.editing.view.focus()}}ce(td,ne);class ed{constructor(t){this.editor=t,this._components=new Map}*names(){for(const t of this._components.values())yield t.originalName}add(t,e){this._components.set(nd(t),{callback:e,originalName:t})}create(t){if(!this.has(t))throw new a(\"componentfactory-item-missing\",this,{name:t});return this._components.get(nd(t)).callback(this.editor.locale)}has(t){return this._components.has(nd(t))}}function nd(t){return String(t).toLowerCase()}class id{constructor(t){this.editor=t,this.componentFactory=new ed(t),this.focusTracker=new la,this._editableElementsMap=new Map,this.listenTo(t.editing.view.document,\"layoutChanged\",(()=>this.update()))}get element(){return null}update(){this.fire(\"update\")}destroy(){this.stopListening(),this.focusTracker.destroy();for(const t of this._editableElementsMap.values())t.ckeditorInstance=null;this._editableElementsMap=new Map}setEditableElement(t,e){this._editableElementsMap.set(t,e),e.ckeditorInstance||(e.ckeditorInstance=this.editor)}getEditableElement(t=\"main\"){return this._editableElementsMap.get(t)}getEditableElementsNames(){return this._editableElementsMap.keys()}get _editableElements(){return console.warn(\"editor-ui-deprecated-editable-elements: The EditorUI#_editableElements property has been deprecated and will be removed in the near future.\",{editorUI:this}),this._editableElementsMap}}ce(id,p);const od={setData(t){this.data.set(t)},getData(t){return this.data.get(t)}};const rd={updateSourceElement(){if(!this.sourceElement)throw new a(\"editor-missing-sourceelement\",this);var t,e;t=this.sourceElement,e=this.data.get(),t instanceof HTMLTextAreaElement&&(t.value=e),t.innerHTML=e}};class sd extends Bi{static get pluginName(){return\"PendingActions\"}init(){this.set(\"hasAny\",!1),this._actions=new yi({idProperty:\"_id\"}),this._actions.delegate(\"add\",\"remove\").to(this)}add(t){if(\"string\"!=typeof t)throw new a(\"pendingactions-add-invalid-message\",this);const e=Object.create(ne);return e.set(\"message\",t),this._actions.add(e),this.hasAny=!0,e}remove(t){this._actions.remove(t),this.hasAny=!!this._actions.length}get first(){return this._actions.get(0)}[Symbol.iterator](){return this._actions[Symbol.iterator]()}}const ad={cancel:' ',caption:' ',check:' ',eraser:' ',lowVision:' ',image:' ',alignBottom:' ',alignMiddle:' ',alignTop:' ',alignLeft:' ',alignCenter:' ',alignRight:' ',alignJustify:' ',objectLeft:' ',objectCenter:' ',objectRight:' ',objectFullWidth:' ',objectInline:' ',objectBlockLeft:' ',objectBlockRight:' ',objectSizeFull:' ',objectSizeLarge:' ',objectSizeSmall:' ',objectSizeMedium:' ',pencil:' ',pilcrow:' ',quote:' ',threeVerticalDots:' '};function cd({emitter:t,activator:e,callback:n,contextElements:i}){t.listenTo(document,\"mousedown\",((t,o)=>{if(!e())return;const r=\"function\"==typeof o.composedPath?o.composedPath():[];for(const t of i)if(t.contains(o.target)||r.includes(t))return;n()}))}function ld(t){t.set(\"_isCssTransitionsDisabled\",!1),t.disableCssTransitions=()=>{t._isCssTransitionsDisabled=!0},t.enableCssTransitions=()=>{t._isCssTransitionsDisabled=!1},t.extendTemplate({attributes:{class:[t.bindTemplate.if(\"_isCssTransitionsDisabled\",\"ck-transitions-disabled\")]}})}function dd({view:t}){t.listenTo(t.element,\"submit\",((e,n)=>{n.preventDefault(),t.fire(\"submit\")}),{useCapture:!0})}class hd extends yi{constructor(t=[]){super(t,{idProperty:\"viewUid\"}),this.on(\"add\",((t,e,n)=>{this._renderViewIntoCollectionParent(e,n)})),this.on(\"remove\",((t,e)=>{e.element&&this._parentElement&&e.element.remove()})),this._parentElement=null}destroy(){this.map((t=>t.destroy()))}setParent(t){this._parentElement=t;for(const t of this)this._renderViewIntoCollectionParent(t)}delegate(...t){if(!t.length||!t.every((t=>\"string\"==typeof t)))throw new a(\"ui-viewcollection-delegate-wrong-events\",this);return{to:e=>{for(const n of this)for(const i of t)n.delegate(i).to(e);this.on(\"add\",((n,i)=>{for(const n of t)i.delegate(n).to(e)})),this.on(\"remove\",((n,i)=>{for(const n of t)i.stopDelegating(n,e)}))}}}_renderViewIntoCollectionParent(t,e){t.isRendered||t.render(),t.element&&this._parentElement&&this._parentElement.insertBefore(t.element,this._parentElement.children[e])}}var ud=n(3379),md=n.n(ud),gd=n(6150),pd={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(gd.Z,pd);gd.Z.locals;class fd{constructor(t){this.element=null,this.isRendered=!1,this.locale=t,this.t=t&&t.t,this._viewCollections=new yi,this._unboundChildren=this.createCollection(),this._viewCollections.on(\"add\",((e,n)=>{n.locale=t})),this.decorate(\"render\")}get bindTemplate(){return this._bindTemplate?this._bindTemplate:this._bindTemplate=kd.bind(this,this)}createCollection(t){const e=new hd(t);return this._viewCollections.add(e),e}registerChild(t){vi(t)||(t=[t]);for(const e of t)this._unboundChildren.add(e)}deregisterChild(t){vi(t)||(t=[t]);for(const e of t)this._unboundChildren.remove(e)}setTemplate(t){this.template=new kd(t)}extendTemplate(t){kd.extend(this.template,t)}render(){if(this.isRendered)throw new a(\"ui-view-render-already-rendered\",this);this.template&&(this.element=this.template.render(),this.registerChild(this.template.getViews())),this.isRendered=!0}destroy(){this.stopListening(),this._viewCollections.map((t=>t.destroy())),this.template&&this.template._revertData&&this.template.revert(this.element)}}ce(fd,os),ce(fd,ne);class kd{constructor(t){Object.assign(this,Dd(Ed(t))),this._isRendered=!1,this._revertData=null}render(){const t=this._renderNode({intoFragment:!0});return this._isRendered=!0,t}apply(t){return this._revertData={children:[],bindings:[],attributes:{}},this._renderNode({node:t,isApplying:!0,revertData:this._revertData}),t}revert(t){if(!this._revertData)throw new a(\"ui-template-revert-not-applied\",[this,t]);this._revertTemplateFromNode(t,this._revertData)}*getViews(){yield*function*t(e){if(e.children)for(const n of e.children)Nd(n)?yield n:Ld(n)&&(yield*t(n))}(this)}static bind(t,e){return{to:(n,i)=>new wd({eventNameOrFunction:n,attribute:n,observable:t,emitter:e,callback:i}),if:(n,i,o)=>new Cd({observable:t,emitter:e,attribute:n,valueIfTrue:i,callback:o})}}static extend(t,e){if(t._isRendered)throw new a(\"template-extend-render\",[this,t]);Md(t,Dd(Ed(e)))}_renderNode(t){let e;if(e=t.node?this.tag&&this.text:this.tag?this.text:!this.text,e)throw new a(\"ui-template-wrong-syntax\",this);return this.text?this._renderText(t):this._renderElement(t)}_renderElement(t){let e=t.node;return e||(e=t.node=document.createElementNS(this.ns||\"http://www.w3.org/1999/xhtml\",this.tag)),this._renderAttributes(t),this._renderElementChildren(t),this._setUpListeners(t),e}_renderText(t){let e=t.node;return e?t.revertData.text=e.textContent:e=t.node=document.createTextNode(\"\"),Ad(this.text)?this._bindToObservable({schema:this.text,updater:vd(e),data:t}):e.textContent=this.text.join(\"\"),e}_renderAttributes(t){let e,n,i,o;if(!this.attributes)return;const r=t.node,s=t.revertData;for(e in this.attributes)if(i=r.getAttribute(e),n=this.attributes[e],s&&(s.attributes[e]=i),o=v(n[0])&&n[0].ns?n[0].ns:null,Ad(n)){const a=o?n[0].value:n;s&&Pd(e)&&a.unshift(i),this._bindToObservable({schema:a,updater:yd(r,e,o),data:t})}else\"style\"==e&&\"string\"!=typeof n[0]?this._renderStyleAttribute(n[0],t):(s&&i&&Pd(e)&&n.unshift(i),n=n.map((t=>t&&t.value||t)).reduce(((t,e)=>t.concat(e)),[]).reduce(Id,\"\"),Bd(n)||r.setAttributeNS(o,e,n))}_renderStyleAttribute(t,e){const n=e.node;for(const i in t){const o=t[i];Ad(o)?this._bindToObservable({schema:[o],updater:xd(n,i),data:e}):n.style[i]=o}}_renderElementChildren(t){const e=t.node,n=t.intoFragment?document.createDocumentFragment():e,i=t.isApplying;let o=0;for(const r of this.children)if(zd(r)){if(!i){r.setParent(e);for(const t of r)n.appendChild(t.element)}}else if(Nd(r))i||(r.isRendered||r.render(),n.appendChild(r.element));else if(Hr(r))n.appendChild(r);else if(i){const e={children:[],bindings:[],attributes:{}};t.revertData.children.push(e),r._renderNode({node:n.childNodes[o++],isApplying:!0,revertData:e})}else n.appendChild(r.render());t.intoFragment&&e.appendChild(n)}_setUpListeners(t){if(this.eventListeners)for(const e in this.eventListeners){const n=this.eventListeners[e].map((n=>{const[i,o]=e.split(\"@\");return n.activateDomEventListener(i,o,t)}));t.revertData&&t.revertData.bindings.push(n)}}_bindToObservable({schema:t,updater:e,data:n}){const i=n.revertData;_d(t,e,n);const o=t.filter((t=>!Bd(t))).filter((t=>t.observable)).map((i=>i.activateAttributeListener(t,e,n)));i&&i.bindings.push(o)}_revertTemplateFromNode(t,e){for(const t of e.bindings)for(const e of t)e();if(e.text)t.textContent=e.text;else{for(const n in e.attributes){const i=e.attributes[n];null===i?t.removeAttribute(n):t.setAttribute(n,i)}for(let n=0;n_d(t,e,n);return this.emitter.listenTo(this.observable,\"change:\"+this.attribute,i),()=>{this.emitter.stopListening(this.observable,\"change:\"+this.attribute,i)}}}class wd extends bd{activateDomEventListener(t,e,n){const i=(t,n)=>{e&&!n.target.matches(e)||(\"function\"==typeof this.eventNameOrFunction?this.eventNameOrFunction(n):this.observable.fire(this.eventNameOrFunction,n))};return this.emitter.listenTo(n.node,t,i),()=>{this.emitter.stopListening(n.node,t,i)}}}class Cd extends bd{getValue(t){return!Bd(super.getValue(t))&&(this.valueIfTrue||!0)}}function Ad(t){return!!t&&(t.value&&(t=t.value),Array.isArray(t)?t.some(Ad):t instanceof bd)}function _d(t,e,{node:n}){let i=function(t,e){return t.map((t=>t instanceof bd?t.getValue(e):t))}(t,n);i=1==t.length&&t[0]instanceof Cd?i[0]:i.reduce(Id,\"\"),Bd(i)?e.remove():e.set(i)}function vd(t){return{set(e){t.textContent=e},remove(){t.textContent=\"\"}}}function yd(t,e,n){return{set(i){t.setAttributeNS(n,e,i)},remove(){t.removeAttributeNS(n,e)}}}function xd(t,e){return{set(n){t.style[e]=n},remove(){t.style[e]=null}}}function Ed(t){return bi(t,(t=>{if(t&&(t instanceof bd||Ld(t)||Nd(t)||zd(t)))return t}))}function Dd(t){if(\"string\"==typeof t?t=function(t){return{text:[t]}}(t):t.text&&function(t){t.text=Ei(t.text)}(t),t.on&&(t.eventListeners=function(t){for(const e in t)Sd(t,e);return t}(t.on),delete t.on),!t.text){t.attributes&&function(t){for(const e in t)t[e].value&&(t[e].value=Ei(t[e].value)),Sd(t,e)}(t.attributes);const e=[];if(t.children)if(zd(t.children))e.push(t.children);else for(const n of t.children)Ld(n)||Nd(n)||Hr(n)?e.push(n):e.push(new kd(n));t.children=e}return t}function Sd(t,e){t[e]=Ei(t[e])}function Id(t,e){return Bd(e)?t:Bd(t)?e:`${t} ${e}`}function Td(t,e){for(const n in e)t[n]?t[n].push(...e[n]):t[n]=e[n]}function Md(t,e){if(e.attributes&&(t.attributes||(t.attributes={}),Td(t.attributes,e.attributes)),e.eventListeners&&(t.eventListeners||(t.eventListeners={}),Td(t.eventListeners,e.eventListeners)),e.text&&t.text.push(...e.text),e.children&&e.children.length){if(t.children.length!=e.children.length)throw new a(\"ui-template-extend-children-mismatch\",t);let n=0;for(const i of e.children)Md(t.children[n++],i)}}function Bd(t){return!t&&0!==t}function Nd(t){return t instanceof fd}function Ld(t){return t instanceof kd}function zd(t){return t instanceof hd}function Pd(t){return\"class\"==t||\"style\"==t}class Od extends hd{constructor(t,e=[]){super(e),this.locale=t}attachToDom(){this._bodyCollectionContainer=new kd({tag:\"div\",attributes:{class:[\"ck\",\"ck-reset_all\",\"ck-body\",\"ck-rounded-corners\"],dir:this.locale.uiLanguageDirection},children:this}).render();let t=document.querySelector(\".ck-body-wrapper\");t||(t=Xs(document,\"div\",{class:\"ck-body-wrapper\"}),document.body.appendChild(t)),t.appendChild(this._bodyCollectionContainer)}detachFromDom(){super.destroy(),this._bodyCollectionContainer&&this._bodyCollectionContainer.remove();const t=document.querySelector(\".ck-body-wrapper\");t&&0==t.childElementCount&&t.remove()}}var Rd=n(1174),Fd={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(Rd.Z,Fd);Rd.Z.locals;class jd extends fd{constructor(){super();const t=this.bindTemplate;this.set(\"content\",\"\"),this.set(\"viewBox\",\"0 0 20 20\"),this.set(\"fillColor\",\"\"),this.setTemplate({tag:\"svg\",ns:\"http://www.w3.org/2000/svg\",attributes:{class:[\"ck\",\"ck-icon\"],viewBox:t.to(\"viewBox\")}})}render(){super.render(),this._updateXMLContent(),this._colorFillPaths(),this.on(\"change:content\",(()=>{this._updateXMLContent(),this._colorFillPaths()})),this.on(\"change:fillColor\",(()=>{this._colorFillPaths()}))}_updateXMLContent(){if(this.content){const t=(new DOMParser).parseFromString(this.content.trim(),\"image/svg+xml\").querySelector(\"svg\"),e=t.getAttribute(\"viewBox\");for(e&&(this.viewBox=e),this.element.innerHTML=\"\";t.childNodes.length>0;)this.element.appendChild(t.childNodes[0])}}_colorFillPaths(){this.fillColor&&this.element.querySelectorAll(\".ck-icon__fill\").forEach((t=>{t.style.fill=this.fillColor}))}}var Vd=n(9948),Hd={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(Vd.Z,Hd);Vd.Z.locals;class Ud extends fd{constructor(t){super(t),this.set(\"text\",\"\"),this.set(\"position\",\"s\");const e=this.bindTemplate;this.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-tooltip\",e.to(\"position\",(t=>\"ck-tooltip_\"+t)),e.if(\"text\",\"ck-hidden\",(t=>!t.trim()))]},children:[{tag:\"span\",attributes:{class:[\"ck\",\"ck-tooltip__text\"]},children:[{text:e.to(\"text\")}]}]})}}var Gd=n(4499),qd={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(Gd.Z,qd);Gd.Z.locals;class Wd extends fd{constructor(t){super(t);const e=this.bindTemplate,n=r();this.set(\"class\"),this.set(\"labelStyle\"),this.set(\"icon\"),this.set(\"isEnabled\",!0),this.set(\"isOn\",!1),this.set(\"isVisible\",!0),this.set(\"isToggleable\",!1),this.set(\"keystroke\"),this.set(\"label\"),this.set(\"tabindex\",-1),this.set(\"tooltip\"),this.set(\"tooltipPosition\",\"s\"),this.set(\"type\",\"button\"),this.set(\"withText\",!1),this.set(\"withKeystroke\",!1),this.children=this.createCollection(),this.tooltipView=this._createTooltipView(),this.labelView=this._createLabelView(n),this.iconView=new jd,this.iconView.extendTemplate({attributes:{class:\"ck-button__icon\"}}),this.keystrokeView=this._createKeystrokeView(),this.bind(\"_tooltipString\").to(this,\"tooltip\",this,\"label\",this,\"keystroke\",this._getTooltipString.bind(this)),this.setTemplate({tag:\"button\",attributes:{class:[\"ck\",\"ck-button\",e.to(\"class\"),e.if(\"isEnabled\",\"ck-disabled\",(t=>!t)),e.if(\"isVisible\",\"ck-hidden\",(t=>!t)),e.to(\"isOn\",(t=>t?\"ck-on\":\"ck-off\")),e.if(\"withText\",\"ck-button_with-text\"),e.if(\"withKeystroke\",\"ck-button_with-keystroke\")],type:e.to(\"type\",(t=>t||\"button\")),tabindex:e.to(\"tabindex\"),\"aria-labelledby\":`ck-editor__aria-label_${n}`,\"aria-disabled\":e.if(\"isEnabled\",!0,(t=>!t)),\"aria-pressed\":e.to(\"isOn\",(t=>!!this.isToggleable&&String(t)))},children:this.children,on:{mousedown:e.to((t=>{t.preventDefault()})),click:e.to((t=>{this.isEnabled?this.fire(\"execute\"):t.preventDefault()}))}})}render(){super.render(),this.icon&&(this.iconView.bind(\"content\").to(this,\"icon\"),this.children.add(this.iconView)),this.children.add(this.tooltipView),this.children.add(this.labelView),this.withKeystroke&&this.children.add(this.keystrokeView)}focus(){this.element.focus()}_createTooltipView(){const t=new Ud;return t.bind(\"text\").to(this,\"_tooltipString\"),t.bind(\"position\").to(this,\"tooltipPosition\"),t}_createLabelView(t){const e=new fd,n=this.bindTemplate;return e.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-button__label\"],style:n.to(\"labelStyle\"),id:`ck-editor__aria-label_${t}`},children:[{text:this.bindTemplate.to(\"label\")}]}),e}_createKeystrokeView(){const t=new fd;return t.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-button__keystroke\"]},children:[{text:this.bindTemplate.to(\"keystroke\",(t=>ar(t)))}]}),t}_getTooltipString(t,e,n){return t?\"string\"==typeof t?t:(n&&(n=ar(n)),t instanceof Function?t(e,n):`${e}${n?` (${n})`:\"\"}`):\"\"}}var Kd=n(9681),$d={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(Kd.Z,$d);Kd.Z.locals;class Yd extends Wd{constructor(t){super(t),this.isToggleable=!0,this.toggleSwitchView=this._createToggleView(),this.extendTemplate({attributes:{class:\"ck-switchbutton\"}})}render(){super.render(),this.children.add(this.toggleSwitchView)}_createToggleView(){const t=new fd;return t.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-button__toggle\"]},children:[{tag:\"span\",attributes:{class:[\"ck\",\"ck-button__toggle__inner\"]}}]}),t}}function Zd(t,e){const n=t.t,i={Black:n(\"Black\"),\"Dim grey\":n(\"Dim grey\"),Grey:n(\"Grey\"),\"Light grey\":n(\"Light grey\"),White:n(\"White\"),Red:n(\"Red\"),Orange:n(\"Orange\"),Yellow:n(\"Yellow\"),\"Light green\":n(\"Light green\"),Green:n(\"Green\"),Aquamarine:n(\"Aquamarine\"),Turquoise:n(\"Turquoise\"),\"Light blue\":n(\"Light blue\"),Blue:n(\"Blue\"),Purple:n(\"Purple\")};return e.map((t=>{const e=i[t.label];return e&&e!=t.label&&(t.label=e),t}))}function Qd(t){return t.map(Jd).filter((t=>!!t))}function Jd(t){return\"string\"==typeof t?{model:t,label:t,hasBorder:!1,view:{name:\"span\",styles:{color:t}}}:{model:t.color,label:t.label||t.color,hasBorder:void 0!==t.hasBorder&&t.hasBorder,view:{name:\"span\",styles:{color:`${t.color}`}}}}class Xd extends Wd{constructor(t){super(t);const e=this.bindTemplate;this.set(\"color\"),this.set(\"hasBorder\"),this.icon=' ',this.extendTemplate({attributes:{style:{backgroundColor:e.to(\"color\")},class:[\"ck\",\"ck-color-grid__tile\",e.if(\"hasBorder\",\"ck-color-table__color-tile_bordered\")]}})}render(){super.render(),this.iconView.fillColor=\"hsl(0, 0%, 100%)\"}}class th{constructor(t){if(Object.assign(this,t),t.actions&&t.keystrokeHandler)for(const e in t.actions){let n=t.actions[e];\"string\"==typeof n&&(n=[n]);for(const i of n)t.keystrokeHandler.set(i,((t,n)=>{this[e](),n()}))}}get first(){return this.focusables.find(eh)||null}get last(){return this.focusables.filter(eh).slice(-1)[0]||null}get next(){return this._getFocusableItem(1)}get previous(){return this._getFocusableItem(-1)}get current(){let t=null;return null===this.focusTracker.focusedElement?null:(this.focusables.find(((e,n)=>{const i=e.element===this.focusTracker.focusedElement;return i&&(t=n),i})),t)}focusFirst(){this._focus(this.first)}focusLast(){this._focus(this.last)}focusNext(){this._focus(this.next)}focusPrevious(){this._focus(this.previous)}_focus(t){t&&t.focus()}_getFocusableItem(t){const e=this.current,n=this.focusables.length;if(!n)return null;if(null===e)return this[1===t?\"first\":\"last\"];let i=(e+n+t)%n;do{const e=this.focusables.get(i);if(eh(e))return e;i=(i+n+t)%n}while(i!==e);return null}}function eh(t){return!(!t.focus||\"none\"==Kr.window.getComputedStyle(t.element).display)}var nh=n(4923),ih={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(nh.Z,ih);nh.Z.locals;class oh extends fd{constructor(t,e){super(t);const n=e&&e.colorDefinitions||[],i={};e&&e.columns&&(i.gridTemplateColumns=`repeat( ${e.columns}, 1fr)`),this.set(\"selectedColor\"),this.items=this.createCollection(),this.focusTracker=new la,this.keystrokes=new da,this._focusCycler=new th({focusables:this.items,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"arrowleft\",focusNext:\"arrowright\"}}),this.items.on(\"add\",((t,e)=>{e.isOn=e.color===this.selectedColor})),n.forEach((t=>{const e=new Xd;e.set({color:t.color,label:t.label,tooltip:!0,hasBorder:t.options.hasBorder}),e.on(\"execute\",(()=>{this.fire(\"execute\",{value:t.color,hasBorder:t.options.hasBorder,label:t.label})})),this.items.add(e)})),this.setTemplate({tag:\"div\",children:this.items,attributes:{class:[\"ck\",\"ck-color-grid\"],style:i}}),this.on(\"change:selectedColor\",((t,e,n)=>{for(const t of this.items)t.isOn=t.color===n}))}focus(){this.items.length&&this.items.first.focus()}focusLast(){this.items.length&&this.items.last.focus()}render(){super.render();for(const t of this.items)this.focusTracker.add(t.element);this.items.on(\"add\",((t,e)=>{this.focusTracker.add(e.element)})),this.items.on(\"remove\",((t,e)=>{this.focusTracker.remove(e.element)})),this.keystrokes.listenTo(this.element)}}const rh=' ';class sh extends Wd{constructor(t){super(t),this.arrowView=this._createArrowView(),this.extendTemplate({attributes:{\"aria-haspopup\":!0}}),this.delegate(\"execute\").to(this,\"open\")}render(){super.render(),this.children.add(this.arrowView)}_createArrowView(){const t=new jd;return t.content=rh,t.extendTemplate({attributes:{class:\"ck-dropdown__arrow\"}}),t}}var ah=n(66),ch={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(ah.Z,ch);ah.Z.locals;class lh extends fd{constructor(t){super(t);const e=this.bindTemplate;this.set(\"class\"),this.set(\"icon\"),this.set(\"isEnabled\",!0),this.set(\"isOn\",!1),this.set(\"isToggleable\",!1),this.set(\"isVisible\",!0),this.set(\"keystroke\"),this.set(\"label\"),this.set(\"tabindex\",-1),this.set(\"tooltip\"),this.set(\"tooltipPosition\",\"s\"),this.set(\"type\",\"button\"),this.set(\"withText\",!1),this.children=this.createCollection(),this.actionView=this._createActionView(),this.arrowView=this._createArrowView(),this.keystrokes=new da,this.focusTracker=new la,this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-splitbutton\",e.to(\"class\"),e.if(\"isVisible\",\"ck-hidden\",(t=>!t)),this.arrowView.bindTemplate.if(\"isOn\",\"ck-splitbutton_open\")]},children:this.children})}render(){super.render(),this.children.add(this.actionView),this.children.add(this.arrowView),this.focusTracker.add(this.actionView.element),this.focusTracker.add(this.arrowView.element),this.keystrokes.listenTo(this.element),this.keystrokes.set(\"arrowright\",((t,e)=>{this.focusTracker.focusedElement===this.actionView.element&&(this.arrowView.focus(),e())})),this.keystrokes.set(\"arrowleft\",((t,e)=>{this.focusTracker.focusedElement===this.arrowView.element&&(this.actionView.focus(),e())}))}focus(){this.actionView.focus()}_createActionView(){const t=new Wd;return t.bind(\"icon\",\"isEnabled\",\"isOn\",\"isToggleable\",\"keystroke\",\"label\",\"tabindex\",\"tooltip\",\"tooltipPosition\",\"type\",\"withText\").to(this),t.extendTemplate({attributes:{class:\"ck-splitbutton__action\"}}),t.delegate(\"execute\").to(this),t}_createArrowView(){const t=new Wd,e=t.bindTemplate;return t.icon=rh,t.extendTemplate({attributes:{class:\"ck-splitbutton__arrow\",\"aria-haspopup\":!0,\"aria-expanded\":e.to(\"isOn\",(t=>String(t)))}}),t.bind(\"isEnabled\").to(this),t.delegate(\"execute\").to(this,\"open\"),t}}class dh extends fd{constructor(t){super(t);const e=this.bindTemplate;this.set(\"isVisible\",!1),this.set(\"position\",\"se\"),this.children=this.createCollection(),this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-reset\",\"ck-dropdown__panel\",e.to(\"position\",(t=>`ck-dropdown__panel_${t}`)),e.if(\"isVisible\",\"ck-dropdown__panel-visible\")]},children:this.children,on:{selectstart:e.to((t=>t.preventDefault()))}})}focus(){this.children.length&&this.children.first.focus()}focusLast(){if(this.children.length){const t=this.children.last;\"function\"==typeof t.focusLast?t.focusLast():t.focus()}}}var hh=n(3488),uh={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(hh.Z,uh);hh.Z.locals;function mh({element:t,target:e,positions:n,limiter:i,fitInViewport:o}){O(e)&&(e=e()),O(i)&&(i=i());const r=function(t){return t&&t.parentNode?t.offsetParent===Kr.document.body?null:t.offsetParent:null}(t),s=new ia(t),a=new ia(e);let c,l;if(i||o){const t=function(t,e){const{elementRect:n,viewportRect:i}=e,o=n.getArea(),r=function(t,{targetRect:e,elementRect:n,limiterRect:i,viewportRect:o}){const r=[],s=n.getArea();for(const a of t){const t=gh(a,e,n);if(!t)continue;const[c,l]=t;let d=0,h=0;if(i)if(o){const t=i.getIntersection(o);t&&(d=t.getIntersectionArea(l))}else d=i.getIntersectionArea(l);o&&(h=o.getIntersectionArea(l));const u={positionName:c,positionRect:l,limiterIntersectArea:d,viewportIntersectArea:h};if(d===s)return[u];r.push(u)}return r}(t,e);if(i){const t=ph(r.filter((({viewportIntersectArea:t})=>t===o)),o);if(t)return t}return ph(r,o)}(n,{targetRect:a,elementRect:s,limiterRect:i&&new ia(i).getVisible(),viewportRect:o&&new ia(Kr.window)});[l,c]=t||gh(n[0],a,s)}else[l,c]=gh(n[0],a,s);let d=fh(c);return r&&(d=function({left:t,top:e},n){const i=fh(new ia(n)),o=ea(n);return t-=i.left,e-=i.top,t+=n.scrollLeft,e+=n.scrollTop,t-=o.left,e-=o.top,{left:t,top:e}}(d,r)),{left:d.left,top:d.top,name:l}}function gh(t,e,n){const i=t(e,n);if(!i)return null;const{left:o,top:r,name:s}=i;return[s,n.clone().moveTo(o,r)]}function ph(t,e){let n,i,o=0;for(const{positionName:r,positionRect:s,limiterIntersectArea:a,viewportIntersectArea:c}of t){if(a===e)return[r,s];const t=c**2+a**2;t>o&&(o=t,n=s,i=r)}return n?[i,n]:null}function fh({left:t,top:e}){const{scrollX:n,scrollY:i}=Kr.window;return{left:t+n,top:e+i}}class kh extends fd{constructor(t,e,n){super(t);const i=this.bindTemplate;this.buttonView=e,this.panelView=n,this.set(\"isOpen\",!1),this.set(\"isEnabled\",!0),this.set(\"class\"),this.set(\"id\"),this.set(\"panelPosition\",\"auto\"),this.keystrokes=new da,this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-dropdown\",i.to(\"class\"),i.if(\"isEnabled\",\"ck-disabled\",(t=>!t))],id:i.to(\"id\"),\"aria-describedby\":i.to(\"ariaDescribedById\")},children:[e,n]}),e.extendTemplate({attributes:{class:[\"ck-dropdown__button\"]}})}render(){super.render(),this.listenTo(this.buttonView,\"open\",(()=>{this.isOpen=!this.isOpen})),this.panelView.bind(\"isVisible\").to(this,\"isOpen\"),this.on(\"change:isOpen\",(()=>{this.isOpen&&(\"auto\"===this.panelPosition?this.panelView.position=kh._getOptimalPosition({element:this.panelView.element,target:this.buttonView.element,fitInViewport:!0,positions:this._panelPositions}).name:this.panelView.position=this.panelPosition)})),this.keystrokes.listenTo(this.element);const t=(t,e)=>{this.isOpen&&(this.buttonView.focus(),this.isOpen=!1,e())};this.keystrokes.set(\"arrowdown\",((t,e)=>{this.buttonView.isEnabled&&!this.isOpen&&(this.isOpen=!0,e())})),this.keystrokes.set(\"arrowright\",((t,e)=>{this.isOpen&&e()})),this.keystrokes.set(\"arrowleft\",t),this.keystrokes.set(\"esc\",t)}focus(){this.buttonView.focus()}get _panelPositions(){const{south:t,north:e,southEast:n,southWest:i,northEast:o,northWest:r,southMiddleEast:s,southMiddleWest:a,northMiddleEast:c,northMiddleWest:l}=kh.defaultPanelPositions;return\"rtl\"!==this.locale.uiLanguageDirection?[n,i,s,a,t,o,r,c,l,e]:[i,n,a,s,t,r,o,l,c,e]}}kh.defaultPanelPositions={south:(t,e)=>({top:t.bottom,left:t.left-(e.width-t.width)/2,name:\"s\"}),southEast:t=>({top:t.bottom,left:t.left,name:\"se\"}),southWest:(t,e)=>({top:t.bottom,left:t.left-e.width+t.width,name:\"sw\"}),southMiddleEast:(t,e)=>({top:t.bottom,left:t.left-(e.width-t.width)/4,name:\"sme\"}),southMiddleWest:(t,e)=>({top:t.bottom,left:t.left-3*(e.width-t.width)/4,name:\"smw\"}),north:(t,e)=>({top:t.top-e.height,left:t.left-(e.width-t.width)/2,name:\"n\"}),northEast:(t,e)=>({top:t.top-e.height,left:t.left,name:\"ne\"}),northWest:(t,e)=>({top:t.top-e.height,left:t.left-e.width+t.width,name:\"nw\"}),northMiddleEast:(t,e)=>({top:t.top-e.height,left:t.left-(e.width-t.width)/4,name:\"nme\"}),northMiddleWest:(t,e)=>({top:t.top-e.height,left:t.left-3*(e.width-t.width)/4,name:\"nmw\"})},kh._getOptimalPosition=mh;class bh extends fd{constructor(t){super(t),this.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-toolbar__separator\"]}})}}class wh extends fd{constructor(t){super(t),this.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-toolbar__line-break\"]}})}}function Ch(t){return Array.isArray(t)?{items:t,removeItems:[]}:t?Object.assign({items:[],removeItems:[]},t):{items:[],removeItems:[]}}var Ah=n(5571),_h={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(Ah.Z,_h);Ah.Z.locals;class vh extends fd{constructor(t,e){super(t);const n=this.bindTemplate,i=this.t;this.options=e||{},this.set(\"ariaLabel\",i(\"Editor toolbar\")),this.set(\"maxWidth\",\"auto\"),this.items=this.createCollection(),this.focusTracker=new la,this.keystrokes=new da,this.set(\"class\"),this.set(\"isCompact\",!1),this.itemsView=new yh(t),this.children=this.createCollection(),this.children.add(this.itemsView),this.focusables=this.createCollection();const o=\"rtl\"===t.uiLanguageDirection;this._focusCycler=new th({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:[o?\"arrowright\":\"arrowleft\",\"arrowup\"],focusNext:[o?\"arrowleft\":\"arrowright\",\"arrowdown\"]}});const r=[\"ck\",\"ck-toolbar\",n.to(\"class\"),n.if(\"isCompact\",\"ck-toolbar_compact\")];var s;this.options.shouldGroupWhenFull&&this.options.isFloating&&r.push(\"ck-toolbar_floating\"),this.setTemplate({tag:\"div\",attributes:{class:r,role:\"toolbar\",\"aria-label\":n.to(\"ariaLabel\"),style:{maxWidth:n.to(\"maxWidth\")}},children:this.children,on:{mousedown:(s=this,s.bindTemplate.to((t=>{t.target===s.element&&t.preventDefault()})))}}),this._behavior=this.options.shouldGroupWhenFull?new Eh(this):new xh(this)}render(){super.render();for(const t of this.items)this.focusTracker.add(t.element);this.items.on(\"add\",((t,e)=>{this.focusTracker.add(e.element)})),this.items.on(\"remove\",((t,e)=>{this.focusTracker.remove(e.element)})),this.keystrokes.listenTo(this.element),this._behavior.render(this)}destroy(){return this._behavior.destroy(),super.destroy()}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}fillFromConfig(t,e){const n=Ch(t),i=n.items.filter(((t,i,o)=>\"|\"===t||-1===n.removeItems.indexOf(t)&&(\"-\"===t?!this.options.shouldGroupWhenFull||(c(\"toolbarview-line-break-ignored-when-grouping-items\",o),!1):!!e.has(t)||(c(\"toolbarview-item-unavailable\",{name:t}),!1)))),o=this._cleanSeparators(i).map((t=>\"|\"===t?new bh:\"-\"===t?new wh:e.create(t)));this.items.addMany(o)}_cleanSeparators(t){const e=t=>\"-\"!==t&&\"|\"!==t,n=t.length,i=t.findIndex(e),o=n-t.slice().reverse().findIndex(e);return t.slice(i,o).filter(((t,n,i)=>{if(e(t))return!0;return!(n>0&&i[n-1]===t)}))}}class yh extends fd{constructor(t){super(t),this.children=this.createCollection(),this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-toolbar__items\"]},children:this.children})}}class xh{constructor(t){const e=t.bindTemplate;t.set(\"isVertical\",!1),t.itemsView.children.bindTo(t.items).using((t=>t)),t.focusables.bindTo(t.items).using((t=>t)),t.extendTemplate({attributes:{class:[e.if(\"isVertical\",\"ck-toolbar_vertical\")]}})}render(){}destroy(){}}class Eh{constructor(t){this.view=t,this.viewChildren=t.children,this.viewFocusables=t.focusables,this.viewItemsView=t.itemsView,this.viewFocusTracker=t.focusTracker,this.viewLocale=t.locale,this.ungroupedItems=t.createCollection(),this.groupedItems=t.createCollection(),this.groupedItemsDropdown=this._createGroupedItemsDropdown(),this.resizeObserver=null,this.cachedPadding=null,this.shouldUpdateGroupingOnNextResize=!1,t.itemsView.children.bindTo(this.ungroupedItems).using((t=>t)),this.ungroupedItems.on(\"add\",this._updateFocusCycleableItems.bind(this)),this.ungroupedItems.on(\"remove\",this._updateFocusCycleableItems.bind(this)),t.children.on(\"add\",this._updateFocusCycleableItems.bind(this)),t.children.on(\"remove\",this._updateFocusCycleableItems.bind(this)),t.items.on(\"change\",((t,e)=>{const n=e.index;for(const t of e.removed)n>=this.ungroupedItems.length?this.groupedItems.remove(t):this.ungroupedItems.remove(t);for(let t=n;tthis.ungroupedItems.length?this.groupedItems.add(i,t-this.ungroupedItems.length):this.ungroupedItems.add(i,t)}this._updateGrouping()})),t.extendTemplate({attributes:{class:[\"ck-toolbar_grouping\"]}})}render(t){this.viewElement=t.element,this._enableGroupingOnResize(),this._enableGroupingOnMaxWidthChange(t)}destroy(){this.groupedItemsDropdown.destroy(),this.resizeObserver.destroy()}_updateGrouping(){if(!this.viewElement.ownerDocument.body.contains(this.viewElement))return;if(!this.viewElement.offsetParent)return void(this.shouldUpdateGroupingOnNextResize=!0);const t=this.groupedItems.length;let e;for(;this._areItemsOverflowing;)this._groupLastItem(),e=!0;if(!e&&this.groupedItems.length){for(;this.groupedItems.length&&!this._areItemsOverflowing;)this._ungroupFirstItem();this._areItemsOverflowing&&this._groupLastItem()}this.groupedItems.length!==t&&this.view.fire(\"groupedItemsUpdate\")}get _areItemsOverflowing(){if(!this.ungroupedItems.length)return!1;const t=this.viewElement,e=this.viewLocale.uiLanguageDirection,n=new ia(t.lastChild),i=new ia(t);if(!this.cachedPadding){const n=Kr.window.getComputedStyle(t),i=\"ltr\"===e?\"paddingRight\":\"paddingLeft\";this.cachedPadding=Number.parseInt(n[i])}return\"ltr\"===e?n.right>i.right-this.cachedPadding:n.left{t&&t===e.contentRect.width&&!this.shouldUpdateGroupingOnNextResize||(this.shouldUpdateGroupingOnNextResize=!1,this._updateGrouping(),t=e.contentRect.width)})),this._updateGrouping()}_enableGroupingOnMaxWidthChange(t){t.on(\"change:maxWidth\",(()=>{this._updateGrouping()}))}_groupLastItem(){this.groupedItems.length||(this.viewChildren.add(new bh),this.viewChildren.add(this.groupedItemsDropdown),this.viewFocusTracker.add(this.groupedItemsDropdown.element)),this.groupedItems.add(this.ungroupedItems.remove(this.ungroupedItems.last),0)}_ungroupFirstItem(){this.ungroupedItems.add(this.groupedItems.remove(this.groupedItems.first)),this.groupedItems.length||(this.viewChildren.remove(this.groupedItemsDropdown),this.viewChildren.remove(this.viewChildren.last),this.viewFocusTracker.remove(this.groupedItemsDropdown.element))}_createGroupedItemsDropdown(){const t=this.viewLocale,e=t.t,n=Ph(t);return n.class=\"ck-toolbar__grouped-dropdown\",n.panelPosition=\"ltr\"===t.uiLanguageDirection?\"sw\":\"se\",Oh(n,[]),n.buttonView.set({label:e(\"Show more items\"),tooltip:!0,tooltipPosition:\"rtl\"===t.uiLanguageDirection?\"se\":\"sw\",icon:ad.threeVerticalDots}),n.toolbarView.items.bindTo(this.groupedItems).using((t=>t)),n}_updateFocusCycleableItems(){this.viewFocusables.clear(),this.ungroupedItems.map((t=>{this.viewFocusables.add(t)})),this.groupedItems.length&&this.viewFocusables.add(this.groupedItemsDropdown)}}var Dh=n(1162),Sh={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(Dh.Z,Sh);Dh.Z.locals;class Ih extends fd{constructor(){super(),this.items=this.createCollection(),this.focusTracker=new la,this.keystrokes=new da,this._focusCycler=new th({focusables:this.items,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"arrowup\",focusNext:\"arrowdown\"}}),this.setTemplate({tag:\"ul\",attributes:{class:[\"ck\",\"ck-reset\",\"ck-list\"]},children:this.items})}render(){super.render();for(const t of this.items)this.focusTracker.add(t.element);this.items.on(\"add\",((t,e)=>{this.focusTracker.add(e.element)})),this.items.on(\"remove\",((t,e)=>{this.focusTracker.remove(e.element)})),this.keystrokes.listenTo(this.element)}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}}class Th extends fd{constructor(t){super(t),this.children=this.createCollection(),this.setTemplate({tag:\"li\",attributes:{class:[\"ck\",\"ck-list__item\"]},children:this.children})}focus(){this.children.first.focus()}}class Mh extends fd{constructor(t){super(t),this.setTemplate({tag:\"li\",attributes:{class:[\"ck\",\"ck-list__separator\"]}})}}var Bh=n(5075),Nh={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(Bh.Z,Nh);Bh.Z.locals;var Lh=n(6875),zh={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(Lh.Z,zh);Lh.Z.locals;function Ph(t,e=sh){const n=new e(t),i=new dh(t),o=new kh(t,n,i);return n.bind(\"isEnabled\").to(o),n instanceof sh?n.bind(\"isOn\").to(o,\"isOpen\"):n.arrowView.bind(\"isOn\").to(o,\"isOpen\"),function(t){(function(t){t.on(\"render\",(()=>{cd({emitter:t,activator:()=>t.isOpen,callback:()=>{t.isOpen=!1},contextElements:[t.element]})}))})(t),function(t){t.on(\"execute\",(e=>{e.source instanceof Yd||(t.isOpen=!1)}))}(t),function(t){t.keystrokes.set(\"arrowdown\",((e,n)=>{t.isOpen&&(t.panelView.focus(),n())})),t.keystrokes.set(\"arrowup\",((e,n)=>{t.isOpen&&(t.panelView.focusLast(),n())}))}(t)}(o),o}function Oh(t,e){const n=t.locale,i=n.t,o=t.toolbarView=new vh(n);o.set(\"ariaLabel\",i(\"Dropdown toolbar\")),t.extendTemplate({attributes:{class:[\"ck-toolbar-dropdown\"]}}),e.map((t=>o.items.add(t))),t.panelView.children.add(o),o.items.delegate(\"execute\").to(t)}function Rh(t,e){const n=t.locale,i=t.listView=new Ih(n);i.items.bindTo(e).using((({type:t,model:e})=>{if(\"separator\"===t)return new Mh(n);if(\"button\"===t||\"switchbutton\"===t){const i=new Th(n);let o;return o=\"button\"===t?new Wd(n):new Yd(n),o.bind(...Object.keys(e)).to(e),o.delegate(\"execute\").to(i),i.children.add(o),i}})),t.panelView.children.add(i),i.items.delegate(\"execute\").to(t)}var Fh=n(4547),jh={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(Fh.Z,jh);Fh.Z.locals;class Vh extends fd{constructor(t){super(t),this.body=new Od(t)}render(){super.render(),this.body.attachToDom()}destroy(){return this.body.detachFromDom(),super.destroy()}}var Hh=n(2751),Uh={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(Hh.Z,Uh);Hh.Z.locals;class Gh extends fd{constructor(t){super(t),this.set(\"text\"),this.set(\"for\"),this.id=`ck-editor__label_${r()}`;const e=this.bindTemplate;this.setTemplate({tag:\"label\",attributes:{class:[\"ck\",\"ck-label\"],id:this.id,for:e.to(\"for\")},children:[{text:e.to(\"text\")}]})}}class qh extends Vh{constructor(t){super(t),this.top=this.createCollection(),this.main=this.createCollection(),this._voiceLabelView=this._createVoiceLabel(),this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-reset\",\"ck-editor\",\"ck-rounded-corners\"],role:\"application\",dir:t.uiLanguageDirection,lang:t.uiLanguage,\"aria-labelledby\":this._voiceLabelView.id},children:[this._voiceLabelView,{tag:\"div\",attributes:{class:[\"ck\",\"ck-editor__top\",\"ck-reset_all\"],role:\"presentation\"},children:this.top},{tag:\"div\",attributes:{class:[\"ck\",\"ck-editor__main\"],role:\"presentation\"},children:this.main}]})}_createVoiceLabel(){const t=this.t,e=new Gh;return e.text=t(\"Rich Text Editor\"),e.extendTemplate({attributes:{class:\"ck-voice-label\"}}),e}}class Wh extends fd{constructor(t,e,n){super(t),this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-content\",\"ck-editor__editable\",\"ck-rounded-corners\"],lang:t.contentLanguage,dir:t.contentLanguageDirection}}),this.name=null,this.set(\"isFocused\",!1),this._editableElement=n,this._hasExternalElement=!!this._editableElement,this._editingView=e}render(){super.render(),this._hasExternalElement?this.template.apply(this.element=this._editableElement):this._editableElement=this.element,this.on(\"change:isFocused\",(()=>this._updateIsFocusedClasses())),this._updateIsFocusedClasses()}destroy(){this._hasExternalElement&&this.template.revert(this._editableElement),super.destroy()}_updateIsFocusedClasses(){const t=this._editingView;function e(e){t.change((n=>{const i=t.document.getRoot(e.name);n.addClass(e.isFocused?\"ck-focused\":\"ck-blurred\",i),n.removeClass(e.isFocused?\"ck-blurred\":\"ck-focused\",i)}))}t.isRenderingInProgress?function n(i){t.once(\"change:isRenderingInProgress\",((t,o,r)=>{r?n(i):e(i)}))}(this):e(this)}}class Kh extends Wh{constructor(t,e,n){super(t,e,n),this.extendTemplate({attributes:{role:\"textbox\",class:\"ck-editor__editable_inline\"}})}render(){super.render();const t=this._editingView,e=this.t;t.change((n=>{const i=t.document.getRoot(this.name);n.setAttribute(\"aria-label\",e(\"Rich Text Editor, %0\",this.name),i)}))}}var $h=n(5523),Yh={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()($h.Z,Yh);$h.Z.locals;class Zh extends fd{constructor(t,e={}){super(t);const n=this.bindTemplate;this.set(\"label\",e.label||\"\"),this.set(\"class\",e.class||null),this.children=this.createCollection(),this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-form__header\",n.to(\"class\")]},children:this.children});const i=new fd(t);i.setTemplate({tag:\"span\",attributes:{class:[\"ck\",\"ck-form__header__label\"]},children:[{text:n.to(\"label\")}]}),this.children.add(i)}}var Qh=n(7661),Jh={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(Qh.Z,Jh);Qh.Z.locals;class Xh extends fd{constructor(t){super(t),this.set(\"value\"),this.set(\"id\"),this.set(\"placeholder\"),this.set(\"isReadOnly\",!1),this.set(\"hasError\",!1),this.set(\"ariaDescribedById\"),this.focusTracker=new la,this.bind(\"isFocused\").to(this.focusTracker),this.set(\"isEmpty\",!0);const e=this.bindTemplate;this.setTemplate({tag:\"input\",attributes:{type:\"text\",class:[\"ck\",\"ck-input\",\"ck-input-text\",e.if(\"isFocused\",\"ck-input_focused\"),e.if(\"isEmpty\",\"ck-input-text_empty\"),e.if(\"hasError\",\"ck-error\")],id:e.to(\"id\"),placeholder:e.to(\"placeholder\"),readonly:e.to(\"isReadOnly\"),\"aria-invalid\":e.if(\"hasError\",!0),\"aria-describedby\":e.to(\"ariaDescribedById\")},on:{input:e.to(\"input\"),change:e.to(this._updateIsEmpty.bind(this))}})}render(){super.render(),this.focusTracker.add(this.element),this._setDomElementValue(this.value),this._updateIsEmpty(),this.on(\"change:value\",((t,e,n)=>{this._setDomElementValue(n),this._updateIsEmpty()}))}select(){this.element.select()}focus(){this.element.focus()}_updateIsEmpty(){this.isEmpty=!this.element.value}_setDomElementValue(t){this.element.value=t||0===t?t:\"\"}}var tu=n(8111),eu={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(tu.Z,eu);tu.Z.locals;class nu extends fd{constructor(t,e){super(t);const n=`ck-labeled-field-view-${r()}`,i=`ck-labeled-field-view-status-${r()}`;this.fieldView=e(this,n,i),this.set(\"label\"),this.set(\"isEnabled\",!0),this.set(\"isEmpty\",!0),this.set(\"isFocused\",!1),this.set(\"errorText\",null),this.set(\"infoText\",null),this.set(\"class\"),this.set(\"placeholder\"),this.labelView=this._createLabelView(n),this.statusView=this._createStatusView(i),this.bind(\"_statusText\").to(this,\"errorText\",this,\"infoText\",((t,e)=>t||e));const o=this.bindTemplate;this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-labeled-field-view\",o.to(\"class\"),o.if(\"isEnabled\",\"ck-disabled\",(t=>!t)),o.if(\"isEmpty\",\"ck-labeled-field-view_empty\"),o.if(\"isFocused\",\"ck-labeled-field-view_focused\"),o.if(\"placeholder\",\"ck-labeled-field-view_placeholder\"),o.if(\"errorText\",\"ck-error\")]},children:[{tag:\"div\",attributes:{class:[\"ck\",\"ck-labeled-field-view__input-wrapper\"]},children:[this.fieldView,this.labelView]},this.statusView]})}_createLabelView(t){const e=new Gh(this.locale);return e.for=t,e.bind(\"text\").to(this,\"label\"),e}_createStatusView(t){const e=new fd(this.locale),n=this.bindTemplate;return e.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-labeled-field-view__status\",n.if(\"errorText\",\"ck-labeled-field-view__status_error\"),n.if(\"_statusText\",\"ck-hidden\",(t=>!t))],id:t,role:n.if(\"errorText\",\"alert\")},children:[{text:n.to(\"_statusText\")}]}),e}focus(){this.fieldView.focus()}}function iu(t,e,n){const i=new Xh(t.locale);return i.set({id:e,ariaDescribedById:n}),i.bind(\"isReadOnly\").to(t,\"isEnabled\",(t=>!t)),i.bind(\"hasError\").to(t,\"errorText\",(t=>!!t)),i.on(\"input\",(()=>{t.errorText=null})),t.bind(\"isEmpty\",\"isFocused\",\"placeholder\").to(i),i}function ou(t,e,n){const i=Ph(t.locale);return i.set({id:e,ariaDescribedById:n}),i.bind(\"isEnabled\").to(t),i}class ru extends Bi{static get pluginName(){return\"Notification\"}init(){this.on(\"show:warning\",((t,e)=>{window.alert(e.message)}),{priority:\"lowest\"})}showSuccess(t,e={}){this._showNotification({message:t,type:\"success\",namespace:e.namespace,title:e.title})}showInfo(t,e={}){this._showNotification({message:t,type:\"info\",namespace:e.namespace,title:e.title})}showWarning(t,e={}){this._showNotification({message:t,type:\"warning\",namespace:e.namespace,title:e.title})}_showNotification(t){const e=`show:${t.type}`+(t.namespace?`:${t.namespace}`:\"\");this.fire(e,{message:t.message,type:t.type,title:t.title||\"\"})}}class su{constructor(t,e){e&&Yt(this,e),t&&this.set(t)}}function au(t){return e=>e+t}ce(su,ne);var cu=n(8245),lu={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(cu.Z,lu);cu.Z.locals;const du=au(\"px\"),hu=Kr.document.body;class uu extends fd{constructor(t){super(t);const e=this.bindTemplate;this.set(\"top\",0),this.set(\"left\",0),this.set(\"position\",\"arrow_nw\"),this.set(\"isVisible\",!1),this.set(\"withArrow\",!0),this.set(\"class\"),this.content=this.createCollection(),this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-balloon-panel\",e.to(\"position\",(t=>`ck-balloon-panel_${t}`)),e.if(\"isVisible\",\"ck-balloon-panel_visible\"),e.if(\"withArrow\",\"ck-balloon-panel_with-arrow\"),e.to(\"class\")],style:{top:e.to(\"top\",du),left:e.to(\"left\",du)}},children:this.content})}show(){this.isVisible=!0}hide(){this.isVisible=!1}attachTo(t){this.show();const e=uu.defaultPositions,n=Object.assign({},{element:this.element,positions:[e.southArrowNorth,e.southArrowNorthMiddleWest,e.southArrowNorthMiddleEast,e.southArrowNorthWest,e.southArrowNorthEast,e.northArrowSouth,e.northArrowSouthMiddleWest,e.northArrowSouthMiddleEast,e.northArrowSouthWest,e.northArrowSouthEast],limiter:hu,fitInViewport:!0},t),i=uu._getOptimalPosition(n),o=parseInt(i.left),r=parseInt(i.top),s=i.name;Object.assign(this,{top:r,left:o,position:s})}pin(t){this.unpin(),this._pinWhenIsVisibleCallback=()=>{this.isVisible?this._startPinning(t):this._stopPinning()},this._startPinning(t),this.listenTo(this,\"change:isVisible\",this._pinWhenIsVisibleCallback)}unpin(){this._pinWhenIsVisibleCallback&&(this._stopPinning(),this.stopListening(this,\"change:isVisible\",this._pinWhenIsVisibleCallback),this._pinWhenIsVisibleCallback=null,this.hide())}_startPinning(t){this.attachTo(t);const e=mu(t.target),n=t.limiter?mu(t.limiter):hu;this.listenTo(Kr.document,\"scroll\",((i,o)=>{const r=o.target,s=e&&r.contains(e),a=n&&r.contains(n);!s&&!a&&e&&n||this.attachTo(t)}),{useCapture:!0}),this.listenTo(Kr.window,\"resize\",(()=>{this.attachTo(t)}))}_stopPinning(){this.stopListening(Kr.document,\"scroll\"),this.stopListening(Kr.window,\"resize\")}}function mu(t){return wi(t)?t:ta(t)?t.commonAncestorContainer:\"function\"==typeof t?mu(t()):null}function gu(t,e){return t.top-e.height-uu.arrowVerticalOffset}function pu(t){return t.bottom+uu.arrowVerticalOffset}uu.arrowHorizontalOffset=25,uu.arrowVerticalOffset=10,uu._getOptimalPosition=mh,uu.defaultPositions={northWestArrowSouthWest:(t,e)=>({top:gu(t,e),left:t.left-uu.arrowHorizontalOffset,name:\"arrow_sw\"}),northWestArrowSouthMiddleWest:(t,e)=>({top:gu(t,e),left:t.left-.25*e.width-uu.arrowHorizontalOffset,name:\"arrow_smw\"}),northWestArrowSouth:(t,e)=>({top:gu(t,e),left:t.left-e.width/2,name:\"arrow_s\"}),northWestArrowSouthMiddleEast:(t,e)=>({top:gu(t,e),left:t.left-.75*e.width+uu.arrowHorizontalOffset,name:\"arrow_sme\"}),northWestArrowSouthEast:(t,e)=>({top:gu(t,e),left:t.left-e.width+uu.arrowHorizontalOffset,name:\"arrow_se\"}),northArrowSouthWest:(t,e)=>({top:gu(t,e),left:t.left+t.width/2-uu.arrowHorizontalOffset,name:\"arrow_sw\"}),northArrowSouthMiddleWest:(t,e)=>({top:gu(t,e),left:t.left+t.width/2-.25*e.width-uu.arrowHorizontalOffset,name:\"arrow_smw\"}),northArrowSouth:(t,e)=>({top:gu(t,e),left:t.left+t.width/2-e.width/2,name:\"arrow_s\"}),northArrowSouthMiddleEast:(t,e)=>({top:gu(t,e),left:t.left+t.width/2-.75*e.width+uu.arrowHorizontalOffset,name:\"arrow_sme\"}),northArrowSouthEast:(t,e)=>({top:gu(t,e),left:t.left+t.width/2-e.width+uu.arrowHorizontalOffset,name:\"arrow_se\"}),northEastArrowSouthWest:(t,e)=>({top:gu(t,e),left:t.right-uu.arrowHorizontalOffset,name:\"arrow_sw\"}),northEastArrowSouthMiddleWest:(t,e)=>({top:gu(t,e),left:t.right-.25*e.width-uu.arrowHorizontalOffset,name:\"arrow_smw\"}),northEastArrowSouth:(t,e)=>({top:gu(t,e),left:t.right-e.width/2,name:\"arrow_s\"}),northEastArrowSouthMiddleEast:(t,e)=>({top:gu(t,e),left:t.right-.75*e.width+uu.arrowHorizontalOffset,name:\"arrow_sme\"}),northEastArrowSouthEast:(t,e)=>({top:gu(t,e),left:t.right-e.width+uu.arrowHorizontalOffset,name:\"arrow_se\"}),southWestArrowNorthWest:(t,e)=>({top:pu(t),left:t.left-uu.arrowHorizontalOffset,name:\"arrow_nw\"}),southWestArrowNorthMiddleWest:(t,e)=>({top:pu(t),left:t.left-.25*e.width-uu.arrowHorizontalOffset,name:\"arrow_nmw\"}),southWestArrowNorth:(t,e)=>({top:pu(t),left:t.left-e.width/2,name:\"arrow_n\"}),southWestArrowNorthMiddleEast:(t,e)=>({top:pu(t),left:t.left-.75*e.width+uu.arrowHorizontalOffset,name:\"arrow_nme\"}),southWestArrowNorthEast:(t,e)=>({top:pu(t),left:t.left-e.width+uu.arrowHorizontalOffset,name:\"arrow_ne\"}),southArrowNorthWest:(t,e)=>({top:pu(t),left:t.left+t.width/2-uu.arrowHorizontalOffset,name:\"arrow_nw\"}),southArrowNorthMiddleWest:(t,e)=>({top:pu(t),left:t.left+t.width/2-.25*e.width-uu.arrowHorizontalOffset,name:\"arrow_nmw\"}),southArrowNorth:(t,e)=>({top:pu(t),left:t.left+t.width/2-e.width/2,name:\"arrow_n\"}),southArrowNorthMiddleEast:(t,e)=>({top:pu(t),left:t.left+t.width/2-.75*e.width+uu.arrowHorizontalOffset,name:\"arrow_nme\"}),southArrowNorthEast:(t,e)=>({top:pu(t),left:t.left+t.width/2-e.width+uu.arrowHorizontalOffset,name:\"arrow_ne\"}),southEastArrowNorthWest:(t,e)=>({top:pu(t),left:t.right-uu.arrowHorizontalOffset,name:\"arrow_nw\"}),southEastArrowNorthMiddleWest:(t,e)=>({top:pu(t),left:t.right-.25*e.width-uu.arrowHorizontalOffset,name:\"arrow_nmw\"}),southEastArrowNorth:(t,e)=>({top:pu(t),left:t.right-e.width/2,name:\"arrow_n\"}),southEastArrowNorthMiddleEast:(t,e)=>({top:pu(t),left:t.right-.75*e.width+uu.arrowHorizontalOffset,name:\"arrow_nme\"}),southEastArrowNorthEast:(t,e)=>({top:pu(t),left:t.right-e.width+uu.arrowHorizontalOffset,name:\"arrow_ne\"})};var fu=n(1757),ku={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(fu.Z,ku);fu.Z.locals;var bu=n(3553),wu={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(bu.Z,wu);bu.Z.locals;const Cu=au(\"px\");class Au extends le{static get pluginName(){return\"ContextualBalloon\"}constructor(t){super(t),this.positionLimiter=()=>{const t=this.editor.editing.view,e=t.document.selection.editableElement;return e?t.domConverter.mapViewToDom(e.root):null},this.set(\"visibleView\",null),this.view=new uu(t.locale),t.ui.view.body.add(this.view),t.ui.focusTracker.add(this.view.element),this._viewToStack=new Map,this._idToStack=new Map,this.set(\"_numberOfStacks\",0),this.set(\"_singleViewMode\",!1),this._rotatorView=this._createRotatorView(),this._fakePanelsView=this._createFakePanelsView()}hasView(t){return Array.from(this._viewToStack.keys()).includes(t)}add(t){if(this.hasView(t.view))throw new a(\"contextualballoon-add-view-exist\",[this,t]);const e=t.stackId||\"main\";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));const n=this._idToStack.get(e);t.singleViewMode&&this.showStack(e),n.set(t.view,t),this._viewToStack.set(t.view,n),n===this._visibleStack&&this._showView(t)}remove(t){if(!this.hasView(t))throw new a(\"contextualballoon-remove-view-not-exist\",[this,t]);const e=this._viewToStack.get(t);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)}updatePosition(t){t&&(this._visibleStack.get(this.visibleView).position=t),this.view.pin(this._getBalloonPosition()),this._fakePanelsView.updatePosition()}showStack(t){this.visibleStack=t;const e=this._idToStack.get(t);if(!e)throw new a(\"contextualballoon-showstack-stack-not-exist\",this);this._visibleStack!==e&&this._showView(Array.from(e.values()).pop())}get _visibleStack(){return this._viewToStack.get(this.visibleView)}_getStackId(t){return Array.from(this._idToStack.entries()).find((e=>e[1]===t))[0]}_showNextStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)+1;t[e]||(e=0),this.showStack(this._getStackId(t[e]))}_showPrevStack(){const t=Array.from(this._idToStack.values());let e=t.indexOf(this._visibleStack)-1;t[e]||(e=t.length-1),this.showStack(this._getStackId(t[e]))}_createRotatorView(){const t=new _u(this.editor.locale),e=this.editor.locale.t;return this.view.content.add(t),t.bind(\"isNavigationVisible\").to(this,\"_numberOfStacks\",this,\"_singleViewMode\",((t,e)=>!e&&t>1)),t.on(\"change:isNavigationVisible\",(()=>this.updatePosition()),{priority:\"low\"}),t.bind(\"counter\").to(this,\"visibleView\",this,\"_numberOfStacks\",((t,n)=>{if(n<2)return\"\";const i=Array.from(this._idToStack.values()).indexOf(this._visibleStack)+1;return e(\"%0 of %1\",[i,n])})),t.buttonNextView.on(\"execute\",(()=>{t.focusTracker.isFocused&&this.editor.editing.view.focus(),this._showNextStack()})),t.buttonPrevView.on(\"execute\",(()=>{t.focusTracker.isFocused&&this.editor.editing.view.focus(),this._showPrevStack()})),t}_createFakePanelsView(){const t=new vu(this.editor.locale,this.view);return t.bind(\"numberOfPanels\").to(this,\"_numberOfStacks\",this,\"_singleViewMode\",((t,e)=>!e&&t>=2?Math.min(t-1,2):0)),t.listenTo(this.view,\"change:top\",(()=>t.updatePosition())),t.listenTo(this.view,\"change:left\",(()=>t.updatePosition())),this.editor.ui.view.body.add(t),t}_showView({view:t,balloonClassName:e=\"\",withArrow:n=!0,singleViewMode:i=!1}){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)}_getBalloonPosition(){let t=Array.from(this._visibleStack.values()).pop().position;return t&&!t.limiter&&(t=Object.assign({},t,{limiter:this.positionLimiter})),t}}class _u extends fd{constructor(t){super(t);const e=t.t,n=this.bindTemplate;this.set(\"isNavigationVisible\",!0),this.focusTracker=new la,this.buttonPrevView=this._createButtonView(e(\"Previous\"),' '),this.buttonNextView=this._createButtonView(e(\"Next\"),' '),this.content=this.createCollection(),this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-balloon-rotator\"],\"z-index\":\"-1\"},children:[{tag:\"div\",attributes:{class:[\"ck-balloon-rotator__navigation\",n.to(\"isNavigationVisible\",(t=>t?\"\":\"ck-hidden\"))]},children:[this.buttonPrevView,{tag:\"span\",attributes:{class:[\"ck-balloon-rotator__counter\"]},children:[{text:n.to(\"counter\")}]},this.buttonNextView]},{tag:\"div\",attributes:{class:\"ck-balloon-rotator__content\"},children:this.content}]})}render(){super.render(),this.focusTracker.add(this.element)}showView(t){this.hideView(),this.content.add(t)}hideView(){this.content.clear()}_createButtonView(t,e){const n=new Wd(this.locale);return n.set({label:t,icon:e,tooltip:!0}),n}}class vu extends fd{constructor(t,e){super(t);const n=this.bindTemplate;this.set(\"top\",0),this.set(\"left\",0),this.set(\"height\",0),this.set(\"width\",0),this.set(\"numberOfPanels\",0),this.content=this.createCollection(),this._balloonPanelView=e,this.setTemplate({tag:\"div\",attributes:{class:[\"ck-fake-panel\",n.to(\"numberOfPanels\",(t=>t?\"\":\"ck-hidden\"))],style:{top:n.to(\"top\",Cu),left:n.to(\"left\",Cu),width:n.to(\"width\",Cu),height:n.to(\"height\",Cu)}},children:this.content}),this.on(\"change:numberOfPanels\",((t,e,n,i)=>{n>i?this._addPanels(n-i):this._removePanels(i-n),this.updatePosition()}))}_addPanels(t){for(;t--;){const t=new fd;t.setTemplate({tag:\"div\"}),this.content.add(t),this.registerChild(t)}}_removePanels(t){for(;t--;){const t=this.content.last;this.content.remove(t),this.deregisterChild(t),t.destroy()}}updatePosition(){if(this.numberOfPanels){const{top:t,left:e}=this._balloonPanelView,{width:n,height:i}=new ia(this._balloonPanelView.element);Object.assign(this,{top:t,left:e,width:n,height:i})}}}var yu=n(3609),xu={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(yu.Z,xu);yu.Z.locals;const Eu=au(\"px\");class Du extends fd{constructor(t){super(t);const e=this.bindTemplate;this.set(\"isActive\",!1),this.set(\"isSticky\",!1),this.set(\"limiterElement\",null),this.set(\"limiterBottomOffset\",50),this.set(\"viewportTopOffset\",0),this.set(\"_marginLeft\",null),this.set(\"_isStickyToTheLimiter\",!1),this.set(\"_hasViewportTopOffset\",!1),this.content=this.createCollection(),this._contentPanelPlaceholder=new kd({tag:\"div\",attributes:{class:[\"ck\",\"ck-sticky-panel__placeholder\"],style:{display:e.to(\"isSticky\",(t=>t?\"block\":\"none\")),height:e.to(\"isSticky\",(t=>t?Eu(this._panelRect.height):null))}}}).render(),this._contentPanel=new kd({tag:\"div\",attributes:{class:[\"ck\",\"ck-sticky-panel__content\",e.if(\"isSticky\",\"ck-sticky-panel__content_sticky\"),e.if(\"_isStickyToTheLimiter\",\"ck-sticky-panel__content_sticky_bottom-limit\")],style:{width:e.to(\"isSticky\",(t=>t?Eu(this._contentPanelPlaceholder.getBoundingClientRect().width):null)),top:e.to(\"_hasViewportTopOffset\",(t=>t?Eu(this.viewportTopOffset):null)),bottom:e.to(\"_isStickyToTheLimiter\",(t=>t?Eu(this.limiterBottomOffset):null)),marginLeft:e.to(\"_marginLeft\")}},children:this.content}).render(),this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-sticky-panel\"]},children:[this._contentPanelPlaceholder,this._contentPanel]})}render(){super.render(),this._checkIfShouldBeSticky(),this.listenTo(Kr.window,\"scroll\",(()=>{this._checkIfShouldBeSticky()})),this.listenTo(this,\"change:isActive\",(()=>{this._checkIfShouldBeSticky()}))}_checkIfShouldBeSticky(){const t=this._panelRect=this._contentPanel.getBoundingClientRect();let e;this.limiterElement?(e=this._limiterRect=this.limiterElement.getBoundingClientRect(),this.isSticky=this.isActive&&e.topzu(s,t)))),Bu.get(s).set(n,{text:i,isDirectHost:o,keepOnFocus:r,hostElement:o?n:null}),e.change((t=>zu(s,t)))}function Lu(t,e){return!!e.hasClass(\"ck-placeholder\")&&(t.removeClass(\"ck-placeholder\",e),!0)}function zu(t,e){const n=Bu.get(t),i=[];let o=!1;for(const[t,r]of n)r.isDirectHost&&(i.push(t),Pu(e,t,r)&&(o=!0));for(const[t,r]of n){if(r.isDirectHost)continue;const n=Ou(t);n&&(i.includes(n)||(r.hostElement=n,Pu(e,t,r)&&(o=!0)))}return o}function Pu(t,e,n){const{text:i,isDirectHost:o,hostElement:r}=n;let s=!1;r.getAttribute(\"data-placeholder\")!==i&&(t.setAttribute(\"data-placeholder\",i,r),s=!0);return(o||1==e.childCount)&&function(t,e){if(!t.isAttached())return!1;if(Array.from(t.getChildren()).some((t=>!t.is(\"uiElement\"))))return!1;if(e)return!0;const n=t.document;if(!n.isFocused)return!0;const i=n.selection.anchor;return i&&i.parent!==t}(r,n.keepOnFocus)?function(t,e){return!e.hasClass(\"ck-placeholder\")&&(t.addClass(\"ck-placeholder\",e),!0)}(t,r)&&(s=!0):Lu(t,r)&&(s=!0),s}function Ou(t){if(t.childCount){const e=t.getChild(0);if(e.is(\"element\")&&!e.is(\"uiElement\"))return e}return null}const Ru=new Map;function Fu(t,e,n){let i=Ru.get(t);i||(i=new Map,Ru.set(t,i)),i.set(e,n)}function ju(t){return[t]}function Vu(t,e,n={}){const i=function(t,e){const n=Ru.get(t);return n&&n.has(e)?n.get(e):ju}(t.constructor,e.constructor);try{return i(t=t.clone(),e,n)}catch(t){throw t}}function Hu(t,e,n){t=t.slice(),e=e.slice();const i=new Uu(n.document,n.useRelations,n.forceWeakRemove);i.setOriginalOperations(t),i.setOriginalOperations(e);const o=i.originalOperations;if(0==t.length||0==e.length)return{operationsA:t,operationsB:e,originalOperations:o};const r=new WeakMap;for(const e of t)r.set(e,0);const s={nextBaseVersionA:t[t.length-1].baseVersion+1,nextBaseVersionB:e[e.length-1].baseVersion+1,originalOperationsACount:t.length,originalOperationsBCount:e.length};let a=0;for(;a{if(t.key===e.key&&t.range.start.hasSameParentAs(e.range.start)){const i=t.range.getDifference(e.range).map((e=>new nl(e,t.key,t.oldValue,t.newValue,0))),o=t.range.getIntersection(e.range);return o&&n.aIsStrong&&i.push(new nl(o,e.key,e.newValue,t.newValue,0)),0==i.length?[new Tl(0)]:i}return[t]})),Fu(nl,rl,((t,e)=>{if(t.range.start.hasSameParentAs(e.position)&&t.range.containsPosition(e.position)){const n=t.range._getTransformedByInsertion(e.position,e.howMany,!e.shouldReceiveAttributes).map((e=>new nl(e,t.key,t.oldValue,t.newValue,t.baseVersion)));if(e.shouldReceiveAttributes){const i=Wu(e,t.key,t.oldValue);i&&n.unshift(i)}return n}return t.range=t.range._getTransformedByInsertion(e.position,e.howMany,!1)[0],[t]})),Fu(nl,ll,((t,e)=>{const n=[];t.range.start.hasSameParentAs(e.deletionPosition)&&(t.range.containsPosition(e.deletionPosition)||t.range.start.isEqual(e.deletionPosition))&&n.push(La._createFromPositionAndShift(e.graveyardPosition,1));const i=t.range._getTransformedByMergeOperation(e);return i.isCollapsed||n.push(i),n.map((e=>new nl(e,t.key,t.oldValue,t.newValue,t.baseVersion)))})),Fu(nl,ol,((t,e)=>function(t,e){const n=La._createFromPositionAndShift(e.sourcePosition,e.howMany);let i=null,o=[];n.containsRange(t,!0)?i=t:t.start.hasSameParentAs(n.start)?(o=t.getDifference(n),i=t.getIntersection(n)):o=[t];const r=[];for(let t of o){t=t._getTransformedByDeletion(e.sourcePosition,e.howMany);const n=e.getMovedRangeStart(),i=t.start.hasSameParentAs(n);t=t._getTransformedByInsertion(n,e.howMany,i),r.push(...t)}i&&r.push(i._getTransformedByMove(e.sourcePosition,e.targetPosition,e.howMany,!1)[0]);return r}(t.range,e).map((e=>new nl(e,t.key,t.oldValue,t.newValue,t.baseVersion))))),Fu(nl,dl,((t,e)=>{if(t.range.end.isEqual(e.insertionPosition))return e.graveyardPosition||t.range.end.offset++,[t];if(t.range.start.hasSameParentAs(e.splitPosition)&&t.range.containsPosition(e.splitPosition)){const n=t.clone();return n.range=new La(e.moveTargetPosition.clone(),t.range.end._getCombined(e.splitPosition,e.moveTargetPosition)),t.range.end=e.splitPosition.clone(),t.range.end.stickiness=\"toPrevious\",[t,n]}return t.range=t.range._getTransformedBySplitOperation(e),[t]})),Fu(rl,nl,((t,e)=>{const n=[t];if(t.shouldReceiveAttributes&&t.position.hasSameParentAs(e.range.start)&&e.range.containsPosition(t.position)){const i=Wu(t,e.key,e.newValue);i&&n.push(i)}return n})),Fu(rl,rl,((t,e,n)=>(t.position.isEqual(e.position)&&n.aIsStrong||(t.position=t.position._getTransformedByInsertOperation(e)),[t]))),Fu(rl,ol,((t,e)=>(t.position=t.position._getTransformedByMoveOperation(e),[t]))),Fu(rl,dl,((t,e)=>(t.position=t.position._getTransformedBySplitOperation(e),[t]))),Fu(rl,ll,((t,e)=>(t.position=t.position._getTransformedByMergeOperation(e),[t]))),Fu(sl,rl,((t,e)=>(t.oldRange&&(t.oldRange=t.oldRange._getTransformedByInsertOperation(e)[0]),t.newRange&&(t.newRange=t.newRange._getTransformedByInsertOperation(e)[0]),[t]))),Fu(sl,sl,((t,e,n)=>{if(t.name==e.name){if(!n.aIsStrong)return[new Tl(0)];t.oldRange=e.newRange?e.newRange.clone():null}return[t]})),Fu(sl,ll,((t,e)=>(t.oldRange&&(t.oldRange=t.oldRange._getTransformedByMergeOperation(e)),t.newRange&&(t.newRange=t.newRange._getTransformedByMergeOperation(e)),[t]))),Fu(sl,ol,((t,e,n)=>{if(t.oldRange&&(t.oldRange=La._createFromRanges(t.oldRange._getTransformedByMoveOperation(e))),t.newRange){if(n.abRelation){const i=La._createFromRanges(t.newRange._getTransformedByMoveOperation(e));if(\"left\"==n.abRelation.side&&e.targetPosition.isEqual(t.newRange.start))return t.newRange.start.path=n.abRelation.path,t.newRange.end=i.end,[t];if(\"right\"==n.abRelation.side&&e.targetPosition.isEqual(t.newRange.end))return t.newRange.start=i.start,t.newRange.end.path=n.abRelation.path,[t]}t.newRange=La._createFromRanges(t.newRange._getTransformedByMoveOperation(e))}return[t]})),Fu(sl,dl,((t,e,n)=>{if(t.oldRange&&(t.oldRange=t.oldRange._getTransformedBySplitOperation(e)),t.newRange){if(n.abRelation){const i=t.newRange._getTransformedBySplitOperation(e);return t.newRange.start.isEqual(e.splitPosition)&&n.abRelation.wasStartBeforeMergedElement?t.newRange.start=Ta._createAt(e.insertionPosition):t.newRange.start.isEqual(e.splitPosition)&&!n.abRelation.wasInLeftElement&&(t.newRange.start=Ta._createAt(e.moveTargetPosition)),t.newRange.end.isEqual(e.splitPosition)&&n.abRelation.wasInRightElement?t.newRange.end=Ta._createAt(e.moveTargetPosition):t.newRange.end.isEqual(e.splitPosition)&&n.abRelation.wasEndBeforeMergedElement?t.newRange.end=Ta._createAt(e.insertionPosition):t.newRange.end=i.end,[t]}t.newRange=t.newRange._getTransformedBySplitOperation(e)}return[t]})),Fu(ll,rl,((t,e)=>(t.sourcePosition.hasSameParentAs(e.position)&&(t.howMany+=e.howMany),t.sourcePosition=t.sourcePosition._getTransformedByInsertOperation(e),t.targetPosition=t.targetPosition._getTransformedByInsertOperation(e),[t]))),Fu(ll,ll,((t,e,n)=>{if(t.sourcePosition.isEqual(e.sourcePosition)&&t.targetPosition.isEqual(e.targetPosition)){if(n.bWasUndone){const n=e.graveyardPosition.path.slice();return n.push(0),t.sourcePosition=new Ta(e.graveyardPosition.root,n),t.howMany=0,[t]}return[new Tl(0)]}if(t.sourcePosition.isEqual(e.sourcePosition)&&!t.targetPosition.isEqual(e.targetPosition)&&!n.bWasUndone&&\"splitAtSource\"!=n.abRelation){const i=\"$graveyard\"==t.targetPosition.root.rootName,o=\"$graveyard\"==e.targetPosition.root.rootName,r=i&&!o;if(o&&!i||!r&&n.aIsStrong){const n=e.targetPosition._getTransformedByMergeOperation(e),i=t.targetPosition._getTransformedByMergeOperation(e);return[new ol(n,t.howMany,i,0)]}return[new Tl(0)]}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]})),Fu(ll,ol,((t,e,n)=>{const i=La._createFromPositionAndShift(e.sourcePosition,e.howMany);return\"remove\"==e.type&&!n.bWasUndone&&!n.forceWeakRemove&&t.deletionPosition.hasSameParentAs(e.sourcePosition)&&i.containsPosition(t.sourcePosition)?[new Tl(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])})),Fu(ll,dl,((t,e,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)){const i=0!=e.howMany,o=e.graveyardPosition&&t.deletionPosition.isEqual(e.graveyardPosition);if(i||o||\"mergeTargetNotMoved\"==n.abRelation)return t.sourcePosition=t.sourcePosition._getTransformedBySplitOperation(e),[t]}if(t.sourcePosition.isEqual(e.splitPosition)){if(\"mergeSourceNotMoved\"==n.abRelation)return t.howMany=0,t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e),[t];if(\"mergeSameElement\"==n.abRelation||t.sourcePosition.offset>0)return t.sourcePosition=e.moveTargetPosition.clone(),t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e),[t]}return t.sourcePosition.hasSameParentAs(e.splitPosition)&&(t.howMany=e.splitPosition.offset),t.sourcePosition=t.sourcePosition._getTransformedBySplitOperation(e),t.targetPosition=t.targetPosition._getTransformedBySplitOperation(e),[t]})),Fu(ol,rl,((t,e)=>{const n=La._createFromPositionAndShift(t.sourcePosition,t.howMany)._getTransformedByInsertOperation(e,!1)[0];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]})),Fu(ol,ol,((t,e,n)=>{const i=La._createFromPositionAndShift(t.sourcePosition,t.howMany),o=La._createFromPositionAndShift(e.sourcePosition,e.howMany);let r,s=n.aIsStrong,a=!n.aIsStrong;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),Ku(t,e)&&Ku(e,t))return[e.getReversed()];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),$u([i],r);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()),$u([i],r);const c=Ni(t.sourcePosition.getParentPath(),e.sourcePosition.getParentPath());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),$u([i],r);\"remove\"!=t.type||\"remove\"==e.type||n.aWasUndone||n.forceWeakRemove?\"remove\"==t.type||\"remove\"!=e.type||n.bWasUndone||n.forceWeakRemove||(s=!1):s=!0;const l=[],d=i.getDifference(o);for(const t of d){t.start=t.start._getTransformedByDeletion(e.sourcePosition,e.howMany),t.end=t.end._getTransformedByDeletion(e.sourcePosition,e.howMany);const n=\"same\"==Ni(t.start.getParentPath(),e.getMovedRangeStart().getParentPath()),i=t._getTransformedByInsertion(e.getMovedRangeStart(),e.howMany,n);l.push(...i)}const h=i.getIntersection(o);return null!==h&&s&&(h.start=h.start._getCombined(e.sourcePosition,e.getMovedRangeStart()),h.end=h.end._getCombined(e.sourcePosition,e.getMovedRangeStart()),0===l.length?l.push(h):1==l.length?o.start.isBefore(i.start)||o.start.isEqual(i.start)?l.unshift(h):l.push(h):l.splice(1,0,h)),0===l.length?[new Tl(t.baseVersion)]:$u(l,r)})),Fu(ol,dl,((t,e,n)=>{let i=t.targetPosition.clone();t.targetPosition.isEqual(e.insertionPosition)&&e.graveyardPosition&&\"moveTargetAfter\"!=n.abRelation||(i=t.targetPosition._getTransformedBySplitOperation(e));const o=La._createFromPositionAndShift(t.sourcePosition,t.howMany);if(o.end.isEqual(e.insertionPosition))return e.graveyardPosition||t.howMany++,t.targetPosition=i,[t];if(o.start.hasSameParentAs(e.splitPosition)&&o.containsPosition(e.splitPosition)){let t=new La(e.splitPosition,o.end);t=t._getTransformedBySplitOperation(e);return $u([new La(o.start,e.splitPosition),t],i)}t.targetPosition.isEqual(e.splitPosition)&&\"insertAtSource\"==n.abRelation&&(i=e.moveTargetPosition),t.targetPosition.isEqual(e.insertionPosition)&&\"insertBetween\"==n.abRelation&&(i=t.targetPosition);const r=[o._getTransformedBySplitOperation(e)];if(e.graveyardPosition){const i=o.start.isEqual(e.graveyardPosition)||o.containsPosition(e.graveyardPosition);t.howMany>1&&i&&!n.aWasUndone&&r.push(La._createFromPositionAndShift(e.insertionPosition,1))}return $u(r,i)})),Fu(ol,ll,((t,e,n)=>{const i=La._createFromPositionAndShift(t.sourcePosition,t.howMany);if(e.deletionPosition.hasSameParentAs(t.sourcePosition)&&i.containsPosition(e.sourcePosition))if(\"remove\"!=t.type||n.forceWeakRemove){if(1==t.howMany)return n.bWasUndone?(t.sourcePosition=e.graveyardPosition.clone(),t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e),[t]):[new Tl(0)]}else if(!n.aWasUndone){const n=[];let i=e.graveyardPosition.clone(),o=e.targetPosition._getTransformedByMergeOperation(e);t.howMany>1&&(n.push(new ol(t.sourcePosition,t.howMany-1,t.targetPosition,0)),i=i._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany-1),o=o._getTransformedByMove(t.sourcePosition,t.targetPosition,t.howMany-1));const r=e.deletionPosition._getCombined(t.sourcePosition,t.targetPosition),s=new ol(i,1,r,0),a=s.getMovedRangeStart().path.slice();a.push(0);const c=new Ta(s.targetPosition.root,a);o=o._getTransformedByMove(i,r,1);const l=new ol(o,e.howMany,c,0);return n.push(s),n.push(l),n}const o=La._createFromPositionAndShift(t.sourcePosition,t.howMany)._getTransformedByMergeOperation(e);return t.sourcePosition=o.start,t.howMany=o.end.offset-o.start.offset,t.targetPosition=t.targetPosition._getTransformedByMergeOperation(e),[t]})),Fu(al,rl,((t,e)=>(t.position=t.position._getTransformedByInsertOperation(e),[t]))),Fu(al,ll,((t,e)=>t.position.isEqual(e.deletionPosition)?(t.position=e.graveyardPosition.clone(),t.position.stickiness=\"toNext\",[t]):(t.position=t.position._getTransformedByMergeOperation(e),[t]))),Fu(al,ol,((t,e)=>(t.position=t.position._getTransformedByMoveOperation(e),[t]))),Fu(al,al,((t,e,n)=>{if(t.position.isEqual(e.position)){if(!n.aIsStrong)return[new Tl(0)];t.oldName=e.newName}return[t]})),Fu(al,dl,((t,e)=>{if(\"same\"==Ni(t.position.path,e.splitPosition.getParentPath())&&!e.graveyardPosition){const e=new al(t.position.getShiftedBy(1),t.oldName,t.newName,0);return[t,e]}return t.position=t.position._getTransformedBySplitOperation(e),[t]})),Fu(cl,cl,((t,e,n)=>{if(t.root===e.root&&t.key===e.key){if(!n.aIsStrong||t.newValue===e.newValue)return[new Tl(0)];t.oldValue=e.newValue}return[t]})),Fu(dl,rl,((t,e)=>(t.splitPosition.hasSameParentAs(e.position)&&t.splitPosition.offset{if(!t.graveyardPosition&&!n.bWasUndone&&t.splitPosition.hasSameParentAs(e.sourcePosition)){const n=e.graveyardPosition.path.slice();n.push(0);const i=new Ta(e.graveyardPosition.root,n),o=dl.getInsertionPosition(new Ta(e.graveyardPosition.root,n)),r=new dl(i,0,o,null,0);return t.splitPosition=t.splitPosition._getTransformedByMergeOperation(e),t.insertionPosition=dl.getInsertionPosition(t.splitPosition),t.graveyardPosition=r.insertionPosition.clone(),t.graveyardPosition.stickiness=\"toNext\",[r,t]}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=dl.getInsertionPosition(t.splitPosition),t.graveyardPosition&&(t.graveyardPosition=t.graveyardPosition._getTransformedByMergeOperation(e)),[t]})),Fu(dl,ol,((t,e,n)=>{const i=La._createFromPositionAndShift(e.sourcePosition,e.howMany);if(t.graveyardPosition){const o=i.start.isEqual(t.graveyardPosition)||i.containsPosition(t.graveyardPosition);if(!n.bWasUndone&&o){const n=t.splitPosition._getTransformedByMoveOperation(e),i=t.graveyardPosition._getTransformedByMoveOperation(e),o=i.path.slice();o.push(0);const r=new Ta(i.root,o);return[new ol(n,t.howMany,r,0)]}t.graveyardPosition=t.graveyardPosition._getTransformedByMoveOperation(e)}const o=t.splitPosition.isEqual(e.targetPosition);if(o&&(\"insertAtSource\"==n.baRelation||\"splitBefore\"==n.abRelation))return t.howMany+=e.howMany,t.splitPosition=t.splitPosition._getTransformedByDeletion(e.sourcePosition,e.howMany),t.insertionPosition=dl.getInsertionPosition(t.splitPosition),[t];if(o&&n.abRelation&&n.abRelation.howMany){const{howMany:e,offset:i}=n.abRelation;return t.howMany+=e,t.splitPosition=t.splitPosition.getShiftedBy(i),[t]}if(t.splitPosition.hasSameParentAs(e.sourcePosition)&&i.containsPosition(t.splitPosition)){const n=e.howMany-(t.splitPosition.offset-e.sourcePosition.offset);return t.howMany-=n,t.splitPosition.hasSameParentAs(e.targetPosition)&&t.splitPosition.offset{if(t.splitPosition.isEqual(e.splitPosition)){if(!t.graveyardPosition&&!e.graveyardPosition)return[new Tl(0)];if(t.graveyardPosition&&e.graveyardPosition&&t.graveyardPosition.isEqual(e.graveyardPosition))return[new Tl(0)];if(\"splitBefore\"==n.abRelation)return t.howMany=0,t.graveyardPosition=t.graveyardPosition._getTransformedBySplitOperation(e),[t]}if(t.graveyardPosition&&e.graveyardPosition&&t.graveyardPosition.isEqual(e.graveyardPosition)){const i=\"$graveyard\"==t.splitPosition.root.rootName,o=\"$graveyard\"==e.splitPosition.root.rootName,r=i&&!o;if(o&&!i||!r&&n.aIsStrong){const n=[];return e.howMany&&n.push(new ol(e.moveTargetPosition,e.howMany,e.splitPosition,0)),t.howMany&&n.push(new ol(t.splitPosition,t.howMany,t.moveTargetPosition,0)),n}return[new Tl(0)]}if(t.graveyardPosition&&(t.graveyardPosition=t.graveyardPosition._getTransformedBySplitOperation(e)),t.splitPosition.isEqual(e.insertionPosition)&&\"splitBefore\"==n.abRelation)return t.howMany++,[t];if(e.splitPosition.isEqual(t.insertionPosition)&&\"splitBefore\"==n.baRelation){const n=e.insertionPosition.path.slice();n.push(0);const i=new Ta(e.insertionPosition.root,n);return[t,new ol(t.insertionPosition,1,i,0)]}return t.splitPosition.hasSameParentAs(e.splitPosition)&&t.splitPosition.offset{const{top:n,right:i,bottom:o,left:r}=e,s=[];return[n,i,r,o].every((t=>!!t))?s.push([t,Cm(e)]):(n&&s.push([t+\"-top\",n]),i&&s.push([t+\"-right\",i]),o&&s.push([t+\"-bottom\",o]),r&&s.push([t+\"-left\",r])),s}}function Cm({top:t,right:e,bottom:n,left:i}){const o=[];return i!==e?o.push(t,e,n,i):n!==t?o.push(t,e,n):e!==t?o.push(t,e):o.push(t),o.join(\" \")}function Am(t){return e=>({path:t,value:bm(e)})}function _m(t){return t.replace(/, /g,\",\").split(\" \").map((t=>t.replace(/,/g,\", \")))}function vm(t){t.setNormalizer(\"background\",ym),t.setNormalizer(\"background-color\",(t=>({path:\"background.color\",value:t}))),t.setReducer(\"background\",(t=>{const e=[];return e.push([\"background-color\",t.color]),e})),t.setStyleRelation(\"background\",[\"background-color\"])}function ym(t){const e={},n=_m(t);for(const t of n)i=t,hm.includes(i)?(e.repeat=e.repeat||[],e.repeat.push(t)):mm(t)?(e.position=e.position||[],e.position.push(t)):pm(t)?e.attachment=t:om(t)?e.color=t:km(t)&&(e.image=t);var i;return{path:\"background\",value:e}}function xm(t){t.setNormalizer(\"border\",Em),t.setNormalizer(\"border-top\",Dm(\"top\")),t.setNormalizer(\"border-right\",Dm(\"right\")),t.setNormalizer(\"border-bottom\",Dm(\"bottom\")),t.setNormalizer(\"border-left\",Dm(\"left\")),t.setNormalizer(\"border-color\",Sm(\"color\")),t.setNormalizer(\"border-width\",Sm(\"width\")),t.setNormalizer(\"border-style\",Sm(\"style\")),t.setNormalizer(\"border-top-color\",Tm(\"color\",\"top\")),t.setNormalizer(\"border-top-style\",Tm(\"style\",\"top\")),t.setNormalizer(\"border-top-width\",Tm(\"width\",\"top\")),t.setNormalizer(\"border-right-color\",Tm(\"color\",\"right\")),t.setNormalizer(\"border-right-style\",Tm(\"style\",\"right\")),t.setNormalizer(\"border-right-width\",Tm(\"width\",\"right\")),t.setNormalizer(\"border-bottom-color\",Tm(\"color\",\"bottom\")),t.setNormalizer(\"border-bottom-style\",Tm(\"style\",\"bottom\")),t.setNormalizer(\"border-bottom-width\",Tm(\"width\",\"bottom\")),t.setNormalizer(\"border-left-color\",Tm(\"color\",\"left\")),t.setNormalizer(\"border-left-style\",Tm(\"style\",\"left\")),t.setNormalizer(\"border-left-width\",Tm(\"width\",\"left\")),t.setExtractor(\"border-top\",Mm(\"top\")),t.setExtractor(\"border-right\",Mm(\"right\")),t.setExtractor(\"border-bottom\",Mm(\"bottom\")),t.setExtractor(\"border-left\",Mm(\"left\")),t.setExtractor(\"border-top-color\",\"border.color.top\"),t.setExtractor(\"border-right-color\",\"border.color.right\"),t.setExtractor(\"border-bottom-color\",\"border.color.bottom\"),t.setExtractor(\"border-left-color\",\"border.color.left\"),t.setExtractor(\"border-top-width\",\"border.width.top\"),t.setExtractor(\"border-right-width\",\"border.width.right\"),t.setExtractor(\"border-bottom-width\",\"border.width.bottom\"),t.setExtractor(\"border-left-width\",\"border.width.left\"),t.setExtractor(\"border-top-style\",\"border.style.top\"),t.setExtractor(\"border-right-style\",\"border.style.right\"),t.setExtractor(\"border-bottom-style\",\"border.style.bottom\"),t.setExtractor(\"border-left-style\",\"border.style.left\"),t.setReducer(\"border-color\",wm(\"border-color\")),t.setReducer(\"border-style\",wm(\"border-style\")),t.setReducer(\"border-width\",wm(\"border-width\")),t.setReducer(\"border-top\",Lm(\"top\")),t.setReducer(\"border-right\",Lm(\"right\")),t.setReducer(\"border-bottom\",Lm(\"bottom\")),t.setReducer(\"border-left\",Lm(\"left\")),t.setReducer(\"border\",function(){return e=>{const n=Bm(e,\"top\"),i=Bm(e,\"right\"),o=Bm(e,\"bottom\"),r=Bm(e,\"left\"),s=[n,i,o,r],a={width:t(s,\"width\"),style:t(s,\"style\"),color:t(s,\"color\")},c=zm(a,\"all\");if(c.length)return c;return[...Object.entries(a).reduce(((t,[e,n])=>(n&&(t.push([`border-${e}`,n]),s.forEach((t=>t[e]=null))),t)),[]),...zm(n,\"top\"),...zm(i,\"right\"),...zm(o,\"bottom\"),...zm(r,\"left\")]};function t(t,e){return t.map((t=>t[e])).reduce(((t,e)=>t==e?t:null))}}()),t.setStyleRelation(\"border\",[\"border-color\",\"border-style\",\"border-width\",\"border-top\",\"border-right\",\"border-bottom\",\"border-left\",\"border-top-color\",\"border-right-color\",\"border-bottom-color\",\"border-left-color\",\"border-top-style\",\"border-right-style\",\"border-bottom-style\",\"border-left-style\",\"border-top-width\",\"border-right-width\",\"border-bottom-width\",\"border-left-width\"]),t.setStyleRelation(\"border-color\",[\"border-top-color\",\"border-right-color\",\"border-bottom-color\",\"border-left-color\"]),t.setStyleRelation(\"border-style\",[\"border-top-style\",\"border-right-style\",\"border-bottom-style\",\"border-left-style\"]),t.setStyleRelation(\"border-width\",[\"border-top-width\",\"border-right-width\",\"border-bottom-width\",\"border-left-width\"]),t.setStyleRelation(\"border-top\",[\"border-top-color\",\"border-top-style\",\"border-top-width\"]),t.setStyleRelation(\"border-right\",[\"border-right-color\",\"border-right-style\",\"border-right-width\"]),t.setStyleRelation(\"border-bottom\",[\"border-bottom-color\",\"border-bottom-style\",\"border-bottom-width\"]),t.setStyleRelation(\"border-left\",[\"border-left-color\",\"border-left-style\",\"border-left-width\"])}function Em(t){const{color:e,style:n,width:i}=Nm(t);return{path:\"border\",value:{color:bm(e),style:bm(n),width:bm(i)}}}function Dm(t){return e=>{const{color:n,style:i,width:o}=Nm(e),r={};return void 0!==n&&(r.color={[t]:n}),void 0!==i&&(r.style={[t]:i}),void 0!==o&&(r.width={[t]:o}),{path:\"border\",value:r}}}function Sm(t){return e=>({path:\"border\",value:Im(e,t)})}function Im(t,e){return{[e]:bm(t)}}function Tm(t,e){return n=>({path:\"border\",value:{[t]:{[e]:n}}})}function Mm(t){return(e,n)=>{if(n.border)return Bm(n.border,t)}}function Bm(t,e){const n={};return t.width&&t.width[e]&&(n.width=t.width[e]),t.style&&t.style[e]&&(n.style=t.style[e]),t.color&&t.color[e]&&(n.color=t.color[e]),n}function Nm(t){const e={},n=_m(t);for(const t of n)cm(t)||/thin|medium|thick/.test(t)?e.width=t:sm(t)?e.style=t:e.color=t;return e}function Lm(t){return e=>zm(e,t)}function zm(t,e){const n=[];if(t&&t.width&&n.push(\"width\"),t&&t.style&&n.push(\"style\"),t&&t.color&&n.push(\"color\"),3==n.length){const i=n.map((e=>t[e])).join(\" \");return[\"all\"==e?[\"border\",i]:[`border-${e}`,i]]}return\"all\"==e?[]:n.map((n=>[`border-${e}-${n}`,t[n]]))}function Pm(t){t.setNormalizer(\"margin\",Am(\"margin\")),t.setNormalizer(\"margin-top\",(t=>({path:\"margin.top\",value:t}))),t.setNormalizer(\"margin-right\",(t=>({path:\"margin.right\",value:t}))),t.setNormalizer(\"margin-bottom\",(t=>({path:\"margin.bottom\",value:t}))),t.setNormalizer(\"margin-left\",(t=>({path:\"margin.left\",value:t}))),t.setReducer(\"margin\",wm(\"margin\")),t.setStyleRelation(\"margin\",[\"margin-top\",\"margin-right\",\"margin-bottom\",\"margin-left\"])}function Om(t){t.setNormalizer(\"padding\",Am(\"padding\")),t.setNormalizer(\"padding-top\",(t=>({path:\"padding.top\",value:t}))),t.setNormalizer(\"padding-right\",(t=>({path:\"padding.right\",value:t}))),t.setNormalizer(\"padding-bottom\",(t=>({path:\"padding.bottom\",value:t}))),t.setNormalizer(\"padding-left\",(t=>({path:\"padding.left\",value:t}))),t.setReducer(\"padding\",wm(\"padding\")),t.setStyleRelation(\"padding\",[\"padding-top\",\"padding-right\",\"padding-bottom\",\"padding-left\"])}class Rm extends id{constructor(t,e){super(t),this.view=e,this._toolbarConfig=Ch(t.config.get(\"toolbar\")),this._elementReplacer=new Qs}get element(){return this.view.element}init(t){const e=this.editor,n=this.view,i=e.editing.view,o=n.editable,r=i.document.getRoot();o.name=r.rootName,n.render();const s=o.element;this.setEditableElement(o.name,s),this.focusTracker.add(s),n.editable.bind(\"isFocused\").to(this.focusTracker),i.attachDomRoot(s),t&&this._elementReplacer.replace(t,this.element),this._initPlaceholder(),this._initToolbar(),this.fire(\"ready\")}destroy(){const t=this.view,e=this.editor.editing.view;this._elementReplacer.restore(),e.detachDomRoot(t.editable.name),t.destroy(),super.destroy()}_initToolbar(){const t=this.editor,e=this.view,n=t.editing.view;e.stickyPanel.bind(\"isActive\").to(this.focusTracker,\"isFocused\"),e.stickyPanel.limiterElement=e.element,this._toolbarConfig.viewportTopOffset&&(e.stickyPanel.viewportTopOffset=this._toolbarConfig.viewportTopOffset),e.toolbar.fillFromConfig(this._toolbarConfig,this.componentFactory),function({origin:t,originKeystrokeHandler:e,originFocusTracker:n,toolbar:i,beforeFocus:o,afterBlur:r}){n.add(i.element),e.set(\"Alt+F10\",((t,e)=>{n.isFocused&&!i.focusTracker.isFocused&&(o&&o(),i.focus(),e())})),i.keystrokes.set(\"Esc\",((e,n)=>{i.focusTracker.isFocused&&(t.focus(),r&&r(),n())}))}({origin:n,originFocusTracker:this.focusTracker,originKeystrokeHandler:t.keystrokes,toolbar:e.toolbar})}_initPlaceholder(){const t=this.editor,e=t.editing.view,n=e.document.getRoot(),i=t.sourceElement,o=t.config.get(\"placeholder\")||i&&\"textarea\"===i.tagName.toLowerCase()&&i.getAttribute(\"placeholder\");o&&Nu({view:e,element:n,text:o,isDirectHost:!1,keepOnFocus:!0})}}var Fm=n(3638),jm={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(Fm.Z,jm);Fm.Z.locals;class Vm extends qh{constructor(t,e,n={}){super(t),this.stickyPanel=new Du(t),this.toolbar=new vh(t,{shouldGroupWhenFull:n.shouldToolbarGroupWhenFull}),this.editable=new Kh(t,e)}render(){super.render(),this.stickyPanel.content.add(this.toolbar),this.top.add(this.stickyPanel),this.main.add(this.editable)}}class Hm extends td{constructor(t,e){super(e),wi(t)&&(this.sourceElement=t),this.model.document.createRoot();const n=!this.config.get(\"toolbar.shouldNotGroupWhenFull\"),i=new Vm(this.locale,this.editing.view,{shouldToolbarGroupWhenFull:n});this.ui=new Rm(this,i),function(t){if(!O(t.updateSourceElement))throw new a(\"attachtoform-missing-elementapi-interface\",t);const e=t.sourceElement;if(e&&\"textarea\"===e.tagName.toLowerCase()&&e.form){let n;const i=e.form,o=()=>t.updateSourceElement();O(i.submit)&&(n=i.submit,i.submit=()=>{o(),n.apply(i)}),i.addEventListener(\"submit\",o),t.on(\"destroy\",(()=>{i.removeEventListener(\"submit\",o),n&&(i.submit=n)}))}}(this)}destroy(){return this.sourceElement&&this.updateSourceElement(),this.ui.destroy(),super.destroy()}static create(t,e={}){return new Promise((n=>{const i=new this(t,e);n(i.initPlugins().then((()=>i.ui.init(wi(t)?t:null))).then((()=>{if(!wi(t)&&e.initialData)throw new a(\"editor-create-initial-data\",null);const n=void 0!==e.initialData?e.initialData:function(t){return wi(t)?(e=t,e instanceof HTMLTextAreaElement?e.value:e.innerHTML):t;var e}(t);return i.data.init(n)})).then((()=>i.fire(\"ready\"))).then((()=>i)))}))}}ce(Hm,od),ce(Hm,rd);const Um=[\"left\",\"right\",\"center\",\"justify\"];function Gm(t){return Um.includes(t)}function qm(t,e){return\"rtl\"==e.contentLanguageDirection?\"right\"===t:\"left\"===t}function Wm(t){const e=t.map((t=>{let e;return e=\"string\"==typeof t?{name:t}:t,e})).filter((t=>{const e=!!Um.includes(t.name);return e||c(\"alignment-config-name-not-recognized\",{option:t}),e})),n=e.filter((t=>!!t.className)).length;if(n&&n{const o=i.slice(n+1);if(o.some((t=>t.name==e.name)))throw new a(\"alignment-config-name-already-defined\",{option:e,configuredOptions:t});if(e.className){if(o.some((t=>t.className==e.className)))throw new a(\"alignment-config-classname-already-defined\",{option:e,configuredOptions:t})}})),e}const Km=\"alignment\";class $m extends he{refresh(){const t=this.editor.locale,e=ca(this.editor.model.document.selection.getSelectedBlocks());this.isEnabled=!!e&&this._canBeAligned(e),this.isEnabled&&e.hasAttribute(\"alignment\")?this.value=e.getAttribute(\"alignment\"):this.value=\"rtl\"===t.contentLanguageDirection?\"right\":\"left\"}execute(t={}){const e=this.editor,n=e.locale,i=e.model,o=i.document,r=t.value;i.change((t=>{const e=Array.from(o.selection.getSelectedBlocks()).filter((t=>this._canBeAligned(t))),i=e[0].getAttribute(\"alignment\");qm(r,n)||i===r||!r?function(t,e){for(const n of t)e.removeAttribute(Km,n)}(e,t):function(t,e,n){for(const i of t)e.setAttribute(Km,n,i)}(e,t,r)}))}_canBeAligned(t){return this.editor.model.schema.checkAttribute(t,Km)}}class Ym extends le{static get pluginName(){return\"AlignmentEditing\"}constructor(t){super(t),t.config.define(\"alignment\",{options:[...Um.map((t=>({name:t})))]})}init(){const t=this.editor,e=t.locale,n=t.model.schema,i=Wm(t.config.get(\"alignment.options\")).filter((t=>Gm(t.name)&&!qm(t.name,e))),o=i.some((t=>!!t.className));n.extend(\"$block\",{allowAttributes:\"alignment\"}),t.model.schema.setAttributeProperties(\"alignment\",{isFormatting:!0}),o?t.conversion.attributeToAttribute(function(t){const e={model:{key:\"alignment\",values:t.map((t=>t.name))},view:{}};for(const n of t)e.view[n.name]={key:\"class\",value:n.className};return e}(i)):t.conversion.for(\"downcast\").attributeToAttribute(function(t){const e={model:{key:\"alignment\",values:t.map((t=>t.name))},view:{}};for(const{name:n}of t)e.view[n]={key:\"style\",value:{\"text-align\":n}};return e}(i));const r=function(t){const e=[];for(const{name:n}of t)e.push({view:{key:\"style\",value:{\"text-align\":n}},model:{key:\"alignment\",value:n}});return e}(i);for(const e of r)t.conversion.for(\"upcast\").attributeToAttribute(e);const s=function(t){const e=[];for(const{name:n}of t)e.push({view:{key:\"align\",value:n},model:{key:\"alignment\",value:n}});return e}(i);for(const e of s)t.conversion.for(\"upcast\").attributeToAttribute(e);t.commands.add(\"alignment\",new $m(t))}}const Zm=new Map([[\"left\",ad.alignLeft],[\"right\",ad.alignRight],[\"center\",ad.alignCenter],[\"justify\",ad.alignJustify]]);class Qm extends le{get localizedOptionTitles(){const t=this.editor.t;return{left:t(\"Align left\"),right:t(\"Align right\"),center:t(\"Align center\"),justify:t(\"Justify\")}}static get pluginName(){return\"AlignmentUI\"}init(){const t=this.editor,e=t.ui.componentFactory,n=t.t,i=Wm(t.config.get(\"alignment.options\"));i.map((t=>t.name)).filter(Gm).forEach((t=>this._addButton(t))),e.add(\"alignment\",(t=>{const o=Ph(t),r=i.map((t=>e.create(`alignment:${t.name}`)));Oh(o,r),o.buttonView.set({label:n(\"Text alignment\"),tooltip:!0}),o.toolbarView.isVertical=!0,o.toolbarView.ariaLabel=n(\"Text alignment toolbar\"),o.extendTemplate({attributes:{class:\"ck-alignment-dropdown\"}});const s=\"rtl\"===t.contentLanguageDirection?Zm.get(\"right\"):Zm.get(\"left\");return o.buttonView.bind(\"icon\").toMany(r,\"isOn\",((...t)=>{const e=t.findIndex((t=>t));return e<0?s:r[e].icon})),o.bind(\"isEnabled\").toMany(r,\"isEnabled\",((...t)=>t.some((t=>t)))),o}))}_addButton(t){const e=this.editor;e.ui.componentFactory.add(`alignment:${t}`,(n=>{const i=e.commands.get(\"alignment\"),o=new Wd(n);return o.set({label:this.localizedOptionTitles[t],icon:Zm.get(t),tooltip:!0,isToggleable:!0}),o.bind(\"isEnabled\").to(i),o.bind(\"isOn\").to(i,\"value\",(e=>e===t)),this.listenTo(o,\"execute\",(()=>{e.execute(\"alignment\",{value:t}),e.editing.view.focus()})),o}))}}function Jm(t,e,n,i){let o,r=null;\"function\"==typeof i?o=i:(r=t.commands.get(i),o=()=>{t.execute(i)}),t.model.document.on(\"change:data\",((s,a)=>{if(r&&!r.isEnabled||!e.isEnabled)return;const c=ca(t.model.document.selection.getRanges());if(!c.isCollapsed)return;if(\"transparent\"==a.type)return;const l=Array.from(t.model.document.differ.getChanges()),d=l[0];if(1!=l.length||\"insert\"!==d.type||\"$text\"!=d.name||1!=d.length)return;const h=d.position.parent;if(h.is(\"element\",\"codeBlock\"))return;if(h.is(\"element\",\"listItem\")&&\"function\"!=typeof i&&![\"numberedList\",\"bulletedList\",\"todoList\"].includes(i))return;if(r&&!0===r.value)return;const u=h.getChild(0),m=t.model.createRangeOn(u);if(!m.containsRange(c)&&!c.end.isEqual(m.end))return;const g=n.exec(u.data.substr(0,c.end.offset));g&&t.model.enqueueChange((e=>{const n=e.createPositionAt(h,0),i=e.createPositionAt(h,g[0].length),r=new Ka(n,i);if(!1!==o({match:g})){e.remove(r);const n=t.model.document.selection.getFirstRange(),i=e.createRangeIn(h);!h.isEmpty||i.isEqual(n)||i.containsRange(n,!0)||e.remove(h)}r.detach()}))}))}function Xm(t,e,n,i){let o,r;n instanceof RegExp?o=n:r=n,r=r||(t=>{let e;const n=[],i=[];for(;null!==(e=o.exec(t))&&!(e&&e.length<4);){let{index:t,1:o,2:r,3:s}=e;const a=o+r+s;t+=e[0].length-a.length;const c=[t,t+o.length],l=[t+o.length+r.length,t+o.length+r.length+s.length];n.push(c),n.push(l),i.push([t+o.length,t+o.length+r.length])}return{remove:n,format:i}}),t.model.document.on(\"change:data\",((n,o)=>{if(\"transparent\"==o.type||!e.isEnabled)return;const s=t.model,a=s.document.selection;if(!a.isCollapsed)return;const c=Array.from(s.document.differ.getChanges()),l=c[0];if(1!=c.length||\"insert\"!==l.type||\"$text\"!=l.name||1!=l.length)return;const d=a.focus,h=d.parent,{text:u,range:m}=function(t,e){let n=t.start;return{text:Array.from(t.getItems()).reduce(((t,i)=>!i.is(\"$text\")&&!i.is(\"$textProxy\")||i.getAttribute(\"code\")?(n=e.createPositionAfter(i),\"\"):t+i.data),\"\"),range:e.createRange(n,t.end)}}(s.createRange(s.createPositionAt(h,0),d),s),g=r(u),p=tg(m.start,g.format,s),f=tg(m.start,g.remove,s);p.length&&f.length&&s.enqueueChange((t=>{if(!1!==i(t,p))for(const e of f.reverse())t.remove(e)}))}))}function tg(t,e,n){return e.filter((t=>void 0!==t[0]&&void 0!==t[1])).map((e=>n.createRange(t.getShiftedBy(e[0]),t.getShiftedBy(e[1]))))}function eg(t,e){return(n,i)=>{if(!t.commands.get(e).isEnabled)return!1;const o=t.model.schema.getValidRanges(i,e);for(const t of o)n.setAttribute(e,!0,t);n.removeSelectionAttribute(e)}}class ng{constructor(t){this.files=function(t){const e=t.files?Array.from(t.files):[],n=t.items?Array.from(t.items):[];if(e.length)return e;return n.filter((t=>\"file\"===t.kind)).map((t=>t.getAsFile()))}(t),this._native=t}get types(){return this._native.types}getData(t){return this._native.getData(t)}setData(t,e){this._native.setData(t,e)}set effectAllowed(t){this._native.effectAllowed=t}get effectAllowed(){return this._native.effectAllowed}set dropEffect(t){this._native.dropEffect=t}get dropEffect(){return this._native.dropEffect}get isCanceled(){return\"none\"==this._native.dropEffect||!!this._native.mozUserCancelled}}class ig extends Ms{constructor(t){super(t);const n=this.document;function i(t){return(i,o)=>{o.preventDefault();const r=o.dropRange?[o.dropRange]:null,s=new e(n,t);n.fire(s,{dataTransfer:o.dataTransfer,method:i.name,targetRanges:r,target:o.target}),s.stop.called&&o.stopPropagation()}}this.domEventType=[\"paste\",\"copy\",\"cut\",\"drop\",\"dragover\",\"dragstart\",\"dragend\",\"dragenter\",\"dragleave\"],this.listenTo(n,\"paste\",i(\"clipboardInput\"),{priority:\"low\"}),this.listenTo(n,\"drop\",i(\"clipboardInput\"),{priority:\"low\"}),this.listenTo(n,\"dragover\",i(\"dragging\"),{priority:\"low\"})}onDomEvent(t){const e={dataTransfer:new ng(t.clipboardData?t.clipboardData:t.dataTransfer)};\"drop\"!=t.type&&\"dragover\"!=t.type||(e.dropRange=function(t,e){const n=e.target.ownerDocument,i=e.clientX,o=e.clientY;let r;n.caretRangeFromPoint&&n.caretRangeFromPoint(i,o)?r=n.caretRangeFromPoint(i,o):e.rangeParent&&(r=n.createRange(),r.setStart(e.rangeParent,e.rangeOffset),r.collapse(!0));if(r)return t.domConverter.domRangeToView(r);return null}(this.view,t)),this.fire(t.type,t,e)}}const og=[\"figcaption\",\"li\"];function rg(t){let e=\"\";if(t.is(\"$text\")||t.is(\"$textProxy\"))e=t.data;else if(t.is(\"element\",\"img\")&&t.hasAttribute(\"alt\"))e=t.getAttribute(\"alt\");else if(t.is(\"element\",\"br\"))e=\"\\n\";else{let n=null;for(const i of t.getChildren()){const t=rg(i);n&&(n.is(\"containerElement\")||i.is(\"containerElement\"))&&(og.includes(n.name)||og.includes(i.name)?e+=\"\\n\":e+=\"\\n\\n\"),e+=t,n=i}}return e}class sg extends le{static get pluginName(){return\"ClipboardPipeline\"}init(){this.editor.editing.view.addObserver(ig),this._setupPasteDrop(),this._setupCopyCut()}_setupPasteDrop(){const t=this.editor,n=t.model,i=t.editing.view,o=i.document;this.listenTo(o,\"clipboardInput\",(e=>{t.isReadOnly&&e.stop()}),{priority:\"highest\"}),this.listenTo(o,\"clipboardInput\",((t,n)=>{const o=n.dataTransfer;let r=n.content||\"\";var s;r||(o.getData(\"text/html\")?r=function(t){return t.replace(/(\\s+)<\\/span>/g,((t,e)=>1==e.length?\" \":e))}(o.getData(\"text/html\")):o.getData(\"text/plain\")&&(((s=(s=o.getData(\"text/plain\")).replace(//g,\">\").replace(/\\r?\\n\\r?\\n/g,\"\").replace(/\\r?\\n/g,\" \").replace(/^\\s/,\" \").replace(/\\s$/,\" \").replace(/\\s\\s/g,\" \")).includes(\"
\")||s.includes(\" \"))&&(s=`
${s}
`),r=s),r=this.editor.data.htmlProcessor.toView(r));const a=new e(this,\"inputTransformation\");this.fire(a,{content:r,dataTransfer:o,targetRanges:n.targetRanges,method:n.method}),a.stop.called&&t.stop(),i.scrollToTheSelection()}),{priority:\"low\"}),this.listenTo(this,\"inputTransformation\",((t,e)=>{if(e.content.isEmpty)return;const i=this.editor.data.toModel(e.content,\"$clipboardHolder\");0!=i.childCount&&(t.stop(),n.change((()=>{this.fire(\"contentInsertion\",{content:i,method:e.method,dataTransfer:e.dataTransfer,targetRanges:e.targetRanges})})))}),{priority:\"low\"}),this.listenTo(this,\"contentInsertion\",((t,e)=>{e.resultRange=n.insertContent(e.content)}),{priority:\"low\"})}_setupCopyCut(){const t=this.editor,e=t.model.document,n=t.editing.view.document;function i(i,o){const r=o.dataTransfer;o.preventDefault();const s=t.data.toView(t.model.getSelectedContent(e.selection));n.fire(\"clipboardOutput\",{dataTransfer:r,content:s,method:i.name})}this.listenTo(n,\"copy\",i,{priority:\"low\"}),this.listenTo(n,\"cut\",((e,n)=>{t.isReadOnly?n.preventDefault():i(e,n)}),{priority:\"low\"}),this.listenTo(n,\"clipboardOutput\",((n,i)=>{i.content.isEmpty||(i.dataTransfer.setData(\"text/html\",this.editor.data.htmlProcessor.toData(i.content)),i.dataTransfer.setData(\"text/plain\",rg(i.content))),\"cut\"==i.method&&t.model.deleteContent(e.selection)}),{priority:\"low\"})}}function*ag(t,e){for(const n of e)n&&t.getAttributeProperties(n[0]).copyOnEnter&&(yield n)}class cg extends he{execute(){const t=this.editor.model,e=t.document;t.change((n=>{!function(t,e,n,i){const o=n.isCollapsed,r=n.getFirstRange(),s=r.start.parent,a=r.end.parent;if(i.isLimit(s)||i.isLimit(a))return void(o||s!=a||t.deleteContent(n));if(o){const t=ag(e.model.schema,n.getAttributes());lg(e,r.start),e.setSelectionAttribute(t)}else{const i=!(r.start.isAtStart&&r.end.isAtEnd),o=s==a;t.deleteContent(n,{leaveUnmerged:i}),i&&(o?lg(e,n.focus):e.setSelection(a,0))}}(this.editor.model,n,e.selection,t.schema),this.fire(\"afterExecute\",{writer:n})}))}}function lg(t,e){t.split(e),t.setSelection(e.parent.nextSibling,0)}class dg extends as{constructor(t){super(t);const e=this.document;e.on(\"keydown\",((t,n)=>{if(this.isEnabled&&n.keyCode==ir.enter){const i=new jo(e,\"enter\",e.selection.getFirstRange());e.fire(i,new Ts(e,n.domEvent,{isSoft:n.shiftKey})),i.stop.called&&t.stop()}}))}observe(){}}class hg extends le{static get pluginName(){return\"Enter\"}init(){const t=this.editor,e=t.editing.view,n=e.document;e.addObserver(dg),t.commands.add(\"enter\",new cg(t)),this.listenTo(n,\"enter\",((n,i)=>{i.preventDefault(),i.isSoft||(t.execute(\"enter\"),e.scrollToTheSelection())}),{priority:\"low\"})}}class ug{constructor(t,e=20){this.model=t,this.size=0,this.limit=e,this.isLocked=!1,this._changeCallback=(t,e)=>{\"transparent\"!=e.type&&e!==this._batch&&this._reset(!0)},this._selectionChangeCallback=()=>{this._reset()},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)}get batch(){return this._batch||(this._batch=this.model.createBatch()),this._batch}input(t){this.size+=t,this.size>=this.limit&&this._reset(!0)}lock(){this.isLocked=!0}unlock(){this.isLocked=!1}destroy(){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)}_reset(t){this.isLocked&&!t||(this._batch=null,this.size=0)}}class mg extends he{constructor(t,e){super(t),this.direction=e,this._buffer=new ug(t.model,t.config.get(\"typing.undoStep\"))}get buffer(){return this._buffer}execute(t={}){const e=this.editor.model,n=e.document;e.enqueueChange(this._buffer.batch,(i=>{this._buffer.lock();const o=i.createSelection(t.selection||n.selection),r=t.sequence||1,s=o.isCollapsed;if(o.isCollapsed&&e.modifySelection(o,{direction:this.direction,unit:t.unit}),this._shouldEntireContentBeReplacedWithParagraph(r))return void this._replaceEntireContentWithParagraph(i);if(this._shouldReplaceFirstBlockWithParagraph(o,r))return void this.editor.execute(\"paragraph\",{selection:o});if(o.isCollapsed)return;let a=0;o.getFirstRange().getMinimalFlatRanges().forEach((t=>{a+=Oo(t.getWalker({singleCharacters:!0,ignoreElementEnd:!0,shallow:!0}))})),e.deleteContent(o,{doNotResetEntireContent:s,direction:this.direction}),this._buffer.input(a),i.setSelection(o),this._buffer.unlock()}))}_shouldEntireContentBeReplacedWithParagraph(t){if(t>1)return!1;const e=this.editor.model,n=e.document.selection,i=e.schema.getLimitElement(n);if(!(n.isCollapsed&&n.containsEntireContent(i)))return!1;if(!e.schema.checkChild(i,\"paragraph\"))return!1;const o=i.getChild(0);return!o||\"paragraph\"!==o.name}_replaceEntireContentWithParagraph(t){const e=this.editor.model,n=e.document.selection,i=e.schema.getLimitElement(n),o=t.createElement(\"paragraph\");t.remove(t.createRangeIn(i)),t.insert(o,i),t.setSelection(o,0)}_shouldReplaceFirstBlockWithParagraph(t,e){const n=this.editor.model;if(e>1||\"backward\"!=this.direction)return!1;if(!t.isCollapsed)return!1;const i=t.getFirstPosition(),o=n.schema.getLimitElement(i),r=o.getChild(0);return i.parent==r&&(!!t.containsEntireContent(r)&&(!!n.schema.checkChild(o,\"paragraph\")&&\"paragraph\"!=r.name))}}class gg extends as{constructor(t){super(t);const e=t.document;let n=0;function i(t,n,i){const o=new jo(e,\"delete\",e.selection.getFirstRange());e.fire(o,new Ts(e,n,i)),o.stop.called&&t.stop()}e.on(\"keyup\",((t,e)=>{e.keyCode!=ir.delete&&e.keyCode!=ir.backspace||(n=0)})),e.on(\"keydown\",((t,e)=>{const o={};if(e.keyCode==ir.delete)o.direction=\"forward\",o.unit=\"character\";else{if(e.keyCode!=ir.backspace)return;o.direction=\"backward\",o.unit=\"codePoint\"}const r=tr.isMac?e.altKey:e.ctrlKey;o.unit=r?\"word\":o.unit,o.sequence=++n,i(t,e.domEvent,o)})),tr.isAndroid&&e.on(\"beforeinput\",((e,n)=>{if(\"deleteContentBackward\"!=n.domEvent.inputType)return;const o={unit:\"codepoint\",direction:\"backward\",sequence:1},r=n.domTarget.ownerDocument.defaultView.getSelection();r.anchorNode==r.focusNode&&r.anchorOffset+1!=r.focusOffset&&(o.selectionToRemove=t.domConverter.domSelectionToView(r)),i(e,n.domEvent,o)}))}observe(){}}class pg extends le{static get pluginName(){return\"Delete\"}init(){const t=this.editor,e=t.editing.view,n=e.document;e.addObserver(gg);const i=new mg(t,\"forward\");if(t.commands.add(\"deleteForward\",i),t.commands.add(\"forwardDelete\",i),t.commands.add(\"delete\",new mg(t,\"backward\")),this.listenTo(n,\"delete\",((n,i)=>{const o={unit:i.unit,sequence:i.sequence};if(i.selectionToRemove){const e=t.model.createSelection(),n=[];for(const e of i.selectionToRemove.getRanges())n.push(t.editing.mapper.toModelRange(e));e.setTo(n),o.selection=e}t.execute(\"forward\"==i.direction?\"deleteForward\":\"delete\",o),i.preventDefault(),e.scrollToTheSelection()}),{priority:\"low\"}),tr.isAndroid){let t=null;this.listenTo(n,\"delete\",((e,n)=>{const i=n.domTarget.ownerDocument.defaultView.getSelection();t={anchorNode:i.anchorNode,anchorOffset:i.anchorOffset,focusNode:i.focusNode,focusOffset:i.focusOffset}}),{priority:\"lowest\"}),this.listenTo(n,\"keyup\",((e,n)=>{if(t){const e=n.domTarget.ownerDocument.defaultView.getSelection();e.collapse(t.anchorNode,t.anchorOffset),e.extend(t.focusNode,t.focusOffset),t=null}}))}}}class fg{constructor(){this._stack=[]}add(t,e){const n=this._stack,i=n[0];this._insertDescriptor(t);const o=n[0];i===o||kg(i,o)||this.fire(\"change:top\",{oldDescriptor:i,newDescriptor:o,writer:e})}remove(t,e){const n=this._stack,i=n[0];this._removeDescriptor(t);const o=n[0];i===o||kg(i,o)||this.fire(\"change:top\",{oldDescriptor:i,newDescriptor:o,writer:e})}_insertDescriptor(t){const e=this._stack,n=e.findIndex((e=>e.id===t.id));if(kg(t,e[n]))return;n>-1&&e.splice(n,1);let i=0;for(;e[i]&&bg(e[i],t);)i++;e.splice(i,0,t)}_removeDescriptor(t){const e=this._stack,n=e.findIndex((e=>e.id===t));n>-1&&e.splice(n,1)}}function kg(t,e){return t&&e&&t.priority==e.priority&&wg(t.classes)==wg(e.classes)}function bg(t,e){return t.priority>e.priority||!(t.prioritywg(e.classes)}function wg(t){return Array.isArray(t)?t.sort().join(\",\"):t}ce(fg,p);const Cg=' ',Ag=\"ck-widget_selected\";function _g(t){return!!t.is(\"element\")&&!!t.getCustomProperty(\"widget\")}function vg(t,e,n={}){if(!t.is(\"containerElement\"))throw new a(\"widget-to-widget-wrong-element-type\",null,{element:t});return e.setAttribute(\"contenteditable\",\"false\",t),e.addClass(\"ck-widget\",t),e.setCustomProperty(\"widget\",!0,t),t.getFillerOffset=Mg,n.label&&function(t,e,n){n.setCustomProperty(\"widgetLabel\",e,t)}(t,n.label,e),n.hasSelectionHandle&&function(t,e){const n=e.createUIElement(\"div\",{class:\"ck ck-widget__selection-handle\"},(function(t){const e=this.toDomElement(t),n=new jd;return n.set(\"content\",Cg),n.render(),e.appendChild(n.element),e}));e.insert(e.createPositionAt(t,0),n),e.addClass([\"ck-widget_with-selection-handle\"],t)}(t,e),Eg(t,e,yg,xg),t}function yg(t,e,n){if(e.classes&&n.addClass(Ei(e.classes),t),e.attributes)for(const i in e.attributes)n.setAttribute(i,e.attributes[i],t)}function xg(t,e,n){if(e.classes&&n.removeClass(Ei(e.classes),t),e.attributes)for(const i in e.attributes)n.removeAttribute(i,t)}function Eg(t,e,n,i){const o=new fg;o.on(\"change:top\",((e,o)=>{o.oldDescriptor&&i(t,o.oldDescriptor,o.writer),o.newDescriptor&&n(t,o.newDescriptor,o.writer)})),e.setCustomProperty(\"addHighlight\",((t,e,n)=>o.add(e,n)),t),e.setCustomProperty(\"removeHighlight\",((t,e,n)=>o.remove(e,n)),t)}function Dg(t){const e=t.getCustomProperty(\"widgetLabel\");return e?\"function\"==typeof e?e():e:\"\"}function Sg(t,e){return e.addClass([\"ck-editor__editable\",\"ck-editor__nested-editable\"],t),e.setAttribute(\"contenteditable\",t.isReadOnly?\"false\":\"true\",t),t.on(\"change:isReadOnly\",((n,i,o)=>{e.setAttribute(\"contenteditable\",o?\"false\":\"true\",t)})),t.on(\"change:isFocused\",((n,i,o)=>{o?e.addClass(\"ck-editor__nested-editable_focused\",t):e.removeClass(\"ck-editor__nested-editable_focused\",t)})),t}function Ig(t,e){const n=t.getSelectedElement();if(n){const i=Lg(t);if(i)return e.createRange(e.createPositionAt(n,i));if(e.schema.isObject(n)&&!e.schema.isInline(n))return e.createRangeOn(n)}const i=t.getSelectedBlocks().next().value;if(i){if(i.isEmpty)return e.createRange(e.createPositionAt(i,0));const n=e.createPositionAfter(i);return t.focus.isTouching(n)?e.createRange(n):e.createRange(e.createPositionBefore(i))}return e.createRange(t.focus)}function Tg(t,e){const n=new ia(Kr.window),i=n.getIntersection(t),o=e.height+uu.arrowVerticalOffset;if(t.top-o>n.top||t.bottom+o ',\"image/svg+xml\").firstChild,Vg=\"ck-widget__type-around_disabled\";class Hg extends le{static get pluginName(){return\"WidgetTypeAround\"}static get requires(){return[hg,pg]}constructor(t){super(t),this._currentFakeCaretModelElement=null}init(){const t=this.editor,e=t.editing.view;this.on(\"change:isEnabled\",((n,i,o)=>{e.change((t=>{for(const n of e.document.roots)o?t.removeClass(Vg,n):t.addClass(Vg,n)})),o||t.model.change((t=>{t.removeSelectionAttribute(Bg)}))})),this._enableTypeAroundUIInjection(),this._enableInsertingParagraphsOnButtonClick(),this._enableInsertingParagraphsOnEnterKeypress(),this._enableInsertingParagraphsOnTypingKeystroke(),this._enableTypeAroundFakeCaretActivationUsingKeyboardArrows(),this._enableDeleteIntegration(),this._enableInsertContentIntegration(),this._enableDeleteContentIntegration()}destroy(){this._currentFakeCaretModelElement=null}_insertParagraph(t,e){const n=this.editor,i=n.editing.view;n.execute(\"insertParagraph\",{position:n.model.createPositionAt(t,e)}),i.focus(),i.scrollToTheSelection()}_listenToIfEnabled(t,e,n,i){this.listenTo(t,e,((...t)=>{this.isEnabled&&n(...t)}),i)}_insertParagraphAccordingToFakeCaretPosition(){const t=this.editor.model.document.selection,e=Lg(t);if(!e)return!1;const n=t.getSelectedElement();return this._insertParagraph(n,e),!0}_enableTypeAroundUIInjection(){const t=this.editor,e=t.model.schema,n=t.locale.t,i={before:n(\"Insert paragraph before block\"),after:n(\"Insert paragraph after block\")};t.editing.downcastDispatcher.on(\"insert\",((t,n,o)=>{const r=o.mapper.toViewElement(n.item);Ng(r,n.item,e)&&function(t,e,n){const i=t.createUIElement(\"div\",{class:\"ck ck-reset_all ck-widget__type-around\"},(function(t){const n=this.toDomElement(t);return function(t,e){for(const n of Fg){const i=new kd({tag:\"div\",attributes:{class:[\"ck\",\"ck-widget__type-around__button\",`ck-widget__type-around__button_${n}`],title:e[n]},children:[t.ownerDocument.importNode(jg,!0)]});t.appendChild(i.render())}}(n,e),function(t){const e=new kd({tag:\"div\",attributes:{class:[\"ck\",\"ck-widget__type-around__fake-caret\"]}});t.appendChild(e.render())}(n),n}));t.insert(t.createPositionAt(n,\"end\"),i)}(o.writer,i,r)}),{priority:\"low\"})}_enableTypeAroundFakeCaretActivationUsingKeyboardArrows(){const t=this.editor,e=t.model,n=e.document.selection,i=e.schema,o=t.editing.view;function r(t){return`ck-widget_type-around_show-fake-caret_${t}`}this._listenToIfEnabled(o.document,\"arrowKey\",((t,e)=>{this._handleArrowKeyPress(t,e)}),{context:[_g,\"$text\"],priority:\"high\"}),this._listenToIfEnabled(n,\"change:range\",((e,n)=>{n.directChange&&t.model.change((t=>{t.removeSelectionAttribute(Bg)}))})),this._listenToIfEnabled(e.document,\"change:data\",(()=>{const e=n.getSelectedElement();if(e){if(Ng(t.editing.mapper.toViewElement(e),e,i))return}t.model.change((t=>{t.removeSelectionAttribute(Bg)}))})),this._listenToIfEnabled(t.editing.downcastDispatcher,\"selection\",((t,e,n)=>{const o=n.writer;if(this._currentFakeCaretModelElement){const t=n.mapper.toViewElement(this._currentFakeCaretModelElement);t&&(o.removeClass(Fg.map(r),t),this._currentFakeCaretModelElement=null)}const s=e.selection.getSelectedElement();if(!s)return;const a=n.mapper.toViewElement(s);if(!Ng(a,s,i))return;const c=Lg(e.selection);c&&(o.addClass(r(c),a),this._currentFakeCaretModelElement=s)})),this._listenToIfEnabled(t.ui.focusTracker,\"change:isFocused\",((e,n,i)=>{i||t.model.change((t=>{t.removeSelectionAttribute(Bg)}))}))}_handleArrowKeyPress(t,e){const n=this.editor,i=n.model,o=i.document.selection,r=i.schema,s=n.editing.view,a=lr(e.keyCode,n.locale.contentLanguageDirection),c=s.document.selection.getSelectedElement();let l;Ng(c,n.editing.mapper.toModelElement(c),r)?l=this._handleArrowKeyPressOnSelectedWidget(a):o.isCollapsed&&(l=this._handleArrowKeyPressWhenSelectionNextToAWidget(a)),l&&(e.preventDefault(),t.stop())}_handleArrowKeyPressOnSelectedWidget(t){const e=this.editor.model,n=Lg(e.document.selection);return e.change((e=>{if(!n)return e.setSelectionAttribute(Bg,t?\"after\":\"before\"),!0;if(!(n===(t?\"after\":\"before\")))return e.removeSelectionAttribute(Bg),!0;return!1}))}_handleArrowKeyPressWhenSelectionNextToAWidget(t){const e=this.editor,n=e.model,i=n.schema,o=e.plugins.get(\"Widget\"),r=o._getObjectElementNextToSelection(t);return!!Ng(e.editing.mapper.toViewElement(r),r,i)&&(n.change((e=>{o._setSelectionOverElement(r),e.setSelectionAttribute(Bg,t?\"before\":\"after\")})),!0)}_enableInsertingParagraphsOnButtonClick(){const t=this.editor,e=t.editing.view;this._listenToIfEnabled(e.document,\"mousedown\",((n,i)=>{const o=i.domTarget.closest(\".ck-widget__type-around__button\");if(!o)return;const r=function(t){return t.classList.contains(\"ck-widget__type-around__button_before\")?\"before\":\"after\"}(o),s=function(t,e){const n=t.closest(\".ck-widget\");return e.mapDomToView(n)}(o,e.domConverter),a=t.editing.mapper.toModelElement(s);this._insertParagraph(a,r),i.preventDefault(),n.stop()}))}_enableInsertingParagraphsOnEnterKeypress(){const t=this.editor,e=t.model.document.selection,n=t.editing.view;this._listenToIfEnabled(n.document,\"enter\",((n,i)=>{if(\"atTarget\"!=n.eventPhase)return;const o=e.getSelectedElement(),r=t.editing.mapper.toViewElement(o),s=t.model.schema;let a;this._insertParagraphAccordingToFakeCaretPosition()?a=!0:Ng(r,o,s)&&(this._insertParagraph(o,i.isSoft?\"before\":\"after\"),a=!0),a&&(i.preventDefault(),n.stop())}),{context:_g})}_enableInsertingParagraphsOnTypingKeystroke(){const t=this.editor.editing.view,e=[ir.enter,ir.delete,ir.backspace];this._listenToIfEnabled(t.document,\"keydown\",((t,n)=>{e.includes(n.keyCode)||Pg(n)||this._insertParagraphAccordingToFakeCaretPosition()}),{priority:\"high\"})}_enableDeleteIntegration(){const t=this.editor,e=t.editing.view,n=t.model,i=n.schema;this._listenToIfEnabled(e.document,\"delete\",((e,o)=>{if(\"atTarget\"!=e.eventPhase)return;const r=Lg(n.document.selection);if(!r)return;const s=o.direction,a=n.document.selection.getSelectedElement(),c=\"forward\"==s;if(\"before\"===r===c)t.execute(\"delete\",{selection:n.createSelection(a,\"on\")});else{const e=i.getNearestSelectionRange(n.createPositionAt(a,r),s);if(e)if(e.isCollapsed){const o=n.createSelection(e.start);if(n.modifySelection(o,{direction:s}),o.focus.isEqual(e.start)){const t=function(t,e){let n=e;for(const i of e.getAncestors({parentFirst:!0})){if(i.childCount>1||t.isLimit(i))break;n=i}return n}(i,e.start.parent);n.deleteContent(n.createSelection(t,\"on\"),{doNotAutoparagraph:!0})}else n.change((n=>{n.setSelection(e),t.execute(c?\"deleteForward\":\"delete\")}))}else n.change((n=>{n.setSelection(e),t.execute(c?\"deleteForward\":\"delete\")}))}o.preventDefault(),e.stop()}),{context:_g})}_enableInsertContentIntegration(){const t=this.editor,e=this.editor.model,n=e.document.selection;this._listenToIfEnabled(t.model,\"insertContent\",((t,[i,o])=>{if(o&&!o.is(\"documentSelection\"))return;const r=Lg(n);return r?(t.stop(),e.change((t=>{const o=n.getSelectedElement(),s=e.createPositionAt(o,r),a=t.createSelection(s),c=e.insertContent(i,a);return t.setSelection(a),c}))):void 0}),{priority:\"high\"})}_enableDeleteContentIntegration(){const t=this.editor,e=this.editor.model.document.selection;this._listenToIfEnabled(t.model,\"deleteContent\",((t,[n])=>{if(n&&!n.is(\"documentSelection\"))return;Lg(e)&&t.stop()}),{priority:\"high\"})}}var Ug=n(6507),Gg={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(Ug.Z,Gg);Ug.Z.locals;function qg(t){const e=t.model;return(n,i)=>{const o=i.keyCode==ir.arrowup,r=i.keyCode==ir.arrowdown,s=i.shiftKey,a=e.document.selection;if(!o&&!r)return;const c=r;if(s&&function(t,e){return!t.isCollapsed&&t.isBackward==e}(a,c))return;const l=function(t,e,n){const i=t.model;if(n){const t=e.isCollapsed?e.focus:e.getLastPosition(),n=Wg(i,t,\"forward\");if(!n)return null;const o=i.createRange(t,n),r=Kg(i.schema,o,\"backward\");return r&&t.isBefore(r)?i.createRange(t,r):null}{const t=e.isCollapsed?e.focus:e.getFirstPosition(),n=Wg(i,t,\"backward\");if(!n)return null;const o=i.createRange(n,t),r=Kg(i.schema,o,\"forward\");return r&&t.isAfter(r)?i.createRange(r,t):null}}(t,a,c);l&&!l.isCollapsed&&function(t,e,n){const i=t.model,o=t.view.domConverter;if(n){const t=i.createSelection(e.start);i.modifySelection(t),t.focus.isAtEnd||e.start.isEqual(t.focus)||(e=i.createRange(t.focus,e.end))}const r=t.mapper.toViewRange(e),s=o.viewRangeToDom(r),a=ia.getDomRangeRects(s);let c;for(const t of a)if(void 0!==c){if(Math.round(t.top)>=c)return!1;c=Math.max(c,Math.round(t.bottom))}else c=Math.round(t.bottom);return!0}(t,l,c)&&(e.change((t=>{const n=c?l.end:l.start;if(s){const i=e.createSelection(a.anchor);i.setFocus(n),t.setSelection(i)}else t.setSelection(n)})),n.stop(),i.preventDefault(),i.stopPropagation())}}function Wg(t,e,n){const i=t.schema,o=t.createRangeIn(e.root),r=\"forward\"==n?\"elementStart\":\"elementEnd\";for(const{previousPosition:t,item:s,type:a}of o.getWalker({startPosition:e,direction:n})){if(i.isLimit(s)&&!i.isInline(s))return t;if(a==r&&i.isBlock(s))return null}return null}function Kg(t,e,n){const i=\"backward\"==n?e.end:e.start;if(t.checkChild(i,\"$text\"))return i;for(const{nextPosition:i}of e.getWalker({direction:n}))if(t.checkChild(i,\"$text\"))return i}class $g extends le{static get pluginName(){return\"Widget\"}static get requires(){return[Hg,pg]}init(){const t=this.editor,e=t.editing.view,n=e.document;this._previouslySelected=new Set,this.editor.editing.downcastDispatcher.on(\"selection\",((e,n,i)=>{const o=i.writer,r=n.selection;if(r.isCollapsed)return;const s=r.getSelectedElement();if(!s)return;const a=t.editing.mapper.toViewElement(s);_g(a)&&i.consumable.consume(r,\"selection\")&&o.setSelection(o.createRangeOn(a),{fake:!0,label:Dg(a)})})),this.editor.editing.downcastDispatcher.on(\"selection\",((t,e,n)=>{this._clearPreviouslySelectedWidgets(n.writer);const i=n.writer,o=i.document.selection;let r=null;for(const t of o.getRanges())for(const e of t){const t=e.item;_g(t)&&!Yg(t,r)&&(i.addClass(Ag,t),this._previouslySelected.add(t),r=t)}}),{priority:\"low\"}),e.addObserver(Zu),this.listenTo(n,\"mousedown\",((...t)=>this._onMousedown(...t))),this.listenTo(n,\"arrowKey\",((...t)=>{this._handleSelectionChangeOnArrowKeyPress(...t)}),{context:[_g,\"$text\"]}),this.listenTo(n,\"arrowKey\",((...t)=>{this._preventDefaultOnArrowKeyPress(...t)}),{context:\"$root\"}),this.listenTo(n,\"arrowKey\",qg(this.editor.editing),{context:\"$text\"}),this.listenTo(n,\"delete\",((t,e)=>{this._handleDelete(\"forward\"==e.direction)&&(e.preventDefault(),t.stop())}),{context:\"$root\"})}_onMousedown(t,e){const n=this.editor,i=n.editing.view,o=i.document;let r=e.target;if(function(t){for(;t;){if(t.is(\"editableElement\")&&!t.is(\"rootElement\"))return!0;if(_g(t))return!1;t=t.parent}return!1}(r)){if((tr.isSafari||tr.isGecko)&&e.domEvent.detail>=3){const t=n.editing.mapper,i=r.is(\"attributeElement\")?r.findAncestor((t=>!t.is(\"attributeElement\"))):r,o=t.toModelElement(i);e.preventDefault(),this.editor.model.change((t=>{t.setSelection(o,\"in\")}))}return}if(!_g(r)&&(r=r.findAncestor(_g),!r))return;tr.isAndroid&&e.preventDefault(),o.isFocused||i.focus();const s=n.editing.mapper.toModelElement(r);this._setSelectionOverElement(s)}_handleSelectionChangeOnArrowKeyPress(t,e){const n=e.keyCode,i=this.editor.model,o=i.schema,r=i.document.selection,s=r.getSelectedElement(),a=lr(n,this.editor.locale.contentLanguageDirection);if(s&&o.isObject(s)){const n=a?r.getLastPosition():r.getFirstPosition(),s=o.getNearestSelectionRange(n,a?\"forward\":\"backward\");return void(s&&(i.change((t=>{t.setSelection(s)})),e.preventDefault(),t.stop()))}if(!r.isCollapsed)return;const c=this._getObjectElementNextToSelection(a);c&&o.isObject(c)&&(this._setSelectionOverElement(c),e.preventDefault(),t.stop())}_preventDefaultOnArrowKeyPress(t,e){const n=this.editor.model,i=n.schema,o=n.document.selection.getSelectedElement();o&&i.isObject(o)&&(e.preventDefault(),t.stop())}_handleDelete(t){if(this.editor.isReadOnly)return;const e=this.editor.model.document.selection;if(!e.isCollapsed)return;const n=this._getObjectElementNextToSelection(t);return n?(this.editor.model.change((t=>{let i=e.anchor.parent;for(;i.isEmpty;){const e=i;i=e.parent,t.remove(e)}this._setSelectionOverElement(n)})),!0):void 0}_setSelectionOverElement(t){this.editor.model.change((e=>{e.setSelection(e.createRangeOn(t))}))}_getObjectElementNextToSelection(t){const e=this.editor.model,n=e.schema,i=e.document.selection,o=e.createSelection(i);e.modifySelection(o,{direction:t?\"forward\":\"backward\"});const r=t?o.focus.nodeBefore:o.focus.nodeAfter;return r&&n.isObject(r)?r:null}_clearPreviouslySelectedWidgets(t){for(const e of this._previouslySelected)t.removeClass(Ag,e);this._previouslySelected.clear()}}function Yg(t,e){return!!e&&Array.from(t.getAncestors()).includes(e)}const Zg=function(t,e,n){var i=!0,o=!0;if(\"function\"!=typeof t)throw new TypeError(\"Expected a function\");return v(n)&&(i=\"leading\"in n?!!n.leading:i,o=\"trailing\"in n?!!n.trailing:o),qs(t,e,{leading:i,maxWait:e,trailing:o})};var Qg=n(390),Jg={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(Qg.Z,Jg);Qg.Z.locals;class Xg extends le{static get pluginName(){return\"DragDrop\"}static get requires(){return[sg,$g]}init(){const t=this.editor,e=t.editing.view;this._draggedRange=null,this._draggingUid=\"\",this._draggableElement=null,this._updateDropMarkerThrottled=Zg((t=>this._updateDropMarker(t)),40),this._removeDropMarkerDelayed=np((()=>this._removeDropMarker()),40),this._clearDraggableAttributesDelayed=np((()=>this._clearDraggableAttributes()),40),e.addObserver(ig),e.addObserver(Zu),this._setupDragging(),this._setupContentInsertionIntegration(),this._setupClipboardInputIntegration(),this._setupDropMarker(),this._setupDraggableAttributeHandling(),this.listenTo(t,\"change:isReadOnly\",((t,e,n)=>{n?this.forceDisabled(\"readOnlyMode\"):this.clearForceDisabled(\"readOnlyMode\")})),this.on(\"change:isEnabled\",((t,e,n)=>{n||this._finalizeDragging(!1)})),tr.isAndroid&&this.forceDisabled(\"noAndroidSupport\")}destroy(){return this._draggedRange&&(this._draggedRange.detach(),this._draggedRange=null),this._updateDropMarkerThrottled.cancel(),this._removeDropMarkerDelayed.cancel(),this._clearDraggableAttributesDelayed.cancel(),super.destroy()}_setupDragging(){const t=this.editor,e=t.model,n=e.document,i=t.editing.view,o=i.document;this.listenTo(o,\"dragstart\",((i,s)=>{const a=n.selection;if(s.target&&s.target.is(\"editableElement\"))return void s.preventDefault();const c=s.target?ip(s.target):null;if(c){const n=t.editing.mapper.toModelElement(c);this._draggedRange=Ka.fromRange(e.createRangeOn(n)),t.plugins.has(\"WidgetToolbarRepository\")&&t.plugins.get(\"WidgetToolbarRepository\").forceDisabled(\"dragDrop\")}else if(!o.selection.isCollapsed){const t=o.selection.getSelectedElement();t&&_g(t)||(this._draggedRange=Ka.fromRange(a.getFirstRange()))}if(!this._draggedRange)return void s.preventDefault();this._draggingUid=r(),s.dataTransfer.effectAllowed=this.isEnabled?\"copyMove\":\"copy\",s.dataTransfer.setData(\"application/ckeditor5-dragging-uid\",this._draggingUid);const l=e.createSelection(this._draggedRange.toRange()),d=t.data.toView(e.getSelectedContent(l));o.fire(\"clipboardOutput\",{dataTransfer:s.dataTransfer,content:d,method:i.name}),this.isEnabled||(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid=\"\")}),{priority:\"low\"}),this.listenTo(o,\"dragend\",((t,e)=>{this._finalizeDragging(!e.dataTransfer.isCanceled&&\"move\"==e.dataTransfer.dropEffect)}),{priority:\"low\"}),this.listenTo(o,\"dragenter\",(()=>{this.isEnabled&&i.focus()})),this.listenTo(o,\"dragleave\",(()=>{this._removeDropMarkerDelayed()})),this.listenTo(o,\"dragging\",((e,n)=>{if(!this.isEnabled)return void(n.dataTransfer.dropEffect=\"none\");this._removeDropMarkerDelayed.cancel();const i=tp(t,n.targetRanges,n.target);this._draggedRange||(n.dataTransfer.dropEffect=\"copy\"),tr.isGecko||(\"copy\"==n.dataTransfer.effectAllowed?n.dataTransfer.dropEffect=\"copy\":[\"all\",\"copyMove\"].includes(n.dataTransfer.effectAllowed)&&(n.dataTransfer.dropEffect=\"move\")),i&&this._updateDropMarkerThrottled(i)}),{priority:\"low\"})}_setupClipboardInputIntegration(){const t=this.editor,e=t.editing.view.document;this.listenTo(e,\"clipboardInput\",((e,n)=>{if(\"drop\"!=n.method)return;const i=tp(t,n.targetRanges,n.target);if(this._removeDropMarker(),!i)return this._finalizeDragging(!1),void e.stop();this._draggedRange&&this._draggingUid!=n.dataTransfer.getData(\"application/ckeditor5-dragging-uid\")&&(this._draggedRange.detach(),this._draggedRange=null,this._draggingUid=\"\");if(\"move\"==ep(n.dataTransfer)&&this._draggedRange&&this._draggedRange.containsRange(i,!0))return this._finalizeDragging(!1),void e.stop();n.targetRanges=[t.editing.mapper.toViewRange(i)]}),{priority:\"high\"})}_setupContentInsertionIntegration(){const t=this.editor.plugins.get(sg);t.on(\"contentInsertion\",((t,e)=>{if(!this.isEnabled||\"drop\"!==e.method)return;const n=e.targetRanges.map((t=>this.editor.editing.mapper.toModelRange(t)));this.editor.model.change((t=>t.setSelection(n)))}),{priority:\"high\"}),t.on(\"contentInsertion\",((t,e)=>{if(!this.isEnabled||\"drop\"!==e.method)return;const n=\"move\"==ep(e.dataTransfer),i=!e.resultRange||!e.resultRange.isCollapsed;this._finalizeDragging(i&&n)}),{priority:\"lowest\"})}_setupDraggableAttributeHandling(){const t=this.editor,e=t.editing.view,n=e.document;this.listenTo(n,\"mousedown\",((i,o)=>{if(tr.isAndroid||!o)return;this._clearDraggableAttributesDelayed.cancel();let r=ip(o.target);if(tr.isBlink&&!t.isReadOnly&&!r&&!n.selection.isCollapsed){const t=n.selection.getSelectedElement();t&&_g(t)||(r=n.selection.editableElement)}r&&(e.change((t=>{t.setAttribute(\"draggable\",\"true\",r)})),this._draggableElement=t.editing.mapper.toModelElement(r))})),this.listenTo(n,\"mouseup\",(()=>{tr.isAndroid||this._clearDraggableAttributesDelayed()}))}_clearDraggableAttributes(){const t=this.editor.editing;t.view.change((e=>{this._draggableElement&&\"$graveyard\"!=this._draggableElement.root.rootName&&e.removeAttribute(\"draggable\",t.mapper.toViewElement(this._draggableElement)),this._draggableElement=null}))}_setupDropMarker(){const t=this.editor;t.conversion.for(\"editingDowncast\").markerToHighlight({model:\"drop-target\",view:{classes:[\"ck-clipboard-drop-target-range\"]}}),t.conversion.for(\"editingDowncast\").markerToElement({model:\"drop-target\",view:(e,{writer:n})=>{if(t.model.schema.checkChild(e.markerRange.start,\"$text\"))return n.createUIElement(\"span\",{class:\"ck ck-clipboard-drop-target-position\"},(function(t){const e=this.toDomElement(t);return e.innerHTML=\"⁠ ⁠\",e}))}})}_updateDropMarker(t){const e=this.editor,n=e.model.markers;e.model.change((e=>{n.has(\"drop-target\")?n.get(\"drop-target\").getRange().isEqual(t)||e.updateMarker(\"drop-target\",{range:t}):e.addMarker(\"drop-target\",{range:t,usingOperation:!1,affectsData:!1})}))}_removeDropMarker(){const t=this.editor.model;this._removeDropMarkerDelayed.cancel(),this._updateDropMarkerThrottled.cancel(),t.markers.has(\"drop-target\")&&t.change((t=>{t.removeMarker(\"drop-target\")}))}_finalizeDragging(t){const e=this.editor,n=e.model;this._removeDropMarker(),this._clearDraggableAttributes(),e.plugins.has(\"WidgetToolbarRepository\")&&e.plugins.get(\"WidgetToolbarRepository\").clearForceDisabled(\"dragDrop\"),this._draggingUid=\"\",this._draggedRange&&(t&&this.isEnabled&&n.deleteContent(n.createSelection(this._draggedRange),{doNotAutoparagraph:!0}),this._draggedRange.detach(),this._draggedRange=null)}}function tp(t,e,n){const i=t.model,o=t.editing.mapper;let r=null;const s=e?e[0].start:null;if(n.is(\"uiElement\")&&(n=n.parent),r=function(t,e){const n=t.model,i=t.editing.mapper;if(_g(e))return n.createRangeOn(i.toModelElement(e));if(!e.is(\"editableElement\")){const t=e.findAncestor((t=>_g(t)||t.is(\"editableElement\")));if(_g(t))return n.createRangeOn(i.toModelElement(t))}return null}(t,n),r)return r;const a=function(t,e){const n=t.editing.mapper,i=t.editing.view,o=n.toModelElement(e);if(o)return o;const r=i.createPositionBefore(e),s=n.findMappedViewAncestor(r);return n.toModelElement(s)}(t,n),c=s?o.toModelPosition(s):null;return c?(r=function(t,e,n){const i=t.model;if(!i.schema.checkChild(n,\"$block\"))return null;const o=i.createPositionAt(n,0),r=e.path.slice(0,o.path.length),s=i.createPositionFromPath(e.root,r).nodeAfter;if(s&&i.schema.isObject(s))return i.createRangeOn(s);return null}(t,c,a),r||(r=i.schema.getNearestSelectionRange(c,tr.isGecko?\"forward\":\"backward\"),r||function(t,e){const n=t.model;for(;e;){if(n.schema.isObject(e))return n.createRangeOn(e);e=e.parent}}(t,c.parent))):function(t,e){const n=t.model,i=n.schema,o=n.createPositionAt(e,0);return i.getNearestSelectionRange(o,\"forward\")}(t,a)}function ep(t){return tr.isGecko?t.dropEffect:[\"all\",\"copyMove\"].includes(t.effectAllowed)?\"move\":\"copy\"}function np(t,e){let n;function i(...o){i.cancel(),n=setTimeout((()=>t(...o)),e)}return i.cancel=()=>{clearTimeout(n)},i}function ip(t){if(t.is(\"editableElement\"))return null;if(t.hasClass(\"ck-widget__selection-handle\"))return t.findAncestor(_g);if(_g(t))return t;const e=t.findAncestor((t=>_g(t)||t.is(\"editableElement\")));return _g(e)?e:null}class op extends le{static get pluginName(){return\"PastePlainText\"}static get requires(){return[sg]}init(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document,o=e.document.selection;let r=!1;n.addObserver(ig),this.listenTo(i,\"keydown\",((t,e)=>{r=e.shiftKey,console.log(\"shiftpressed\")})),t.plugins.get(sg).on(\"contentInsertion\",((t,n)=>{(r||function(t,e){if(t.childCount>1)return!1;const n=t.getChild(0);if(e.isObject(n))return!1;return 0==[...n.getAttributeKeys()].length}(n.content,e.schema))&&e.change((t=>{const i=Array.from(o.getAttributes()).filter((([t])=>e.schema.getAttributeProperties(t).isFormatting));o.isCollapsed||e.deleteContent(o,{doNotAutoparagraph:!0}),i.push(...o.getAttributes());const r=t.createRangeIn(n.content);for(const e of r.getItems())e.is(\"$textProxy\")&&t.setAttributes(i,e)}))}))}}class rp extends le{static get pluginName(){return\"Clipboard\"}static get requires(){return[sg,Xg,op]}}class sp extends he{constructor(t){super(t),this._stack=[],this._createdBatches=new WeakSet,this.refresh(),this.listenTo(t.data,\"set\",((t,e)=>{e[1]={...e[1]};const n=e[1];n.batchType||(n.batchType=\"transparent\")}),{priority:\"high\"}),this.listenTo(t.data,\"set\",((t,e)=>{\"transparent\"===e[1].batchType&&this.clearStack()}))}refresh(){this.isEnabled=this._stack.length>0}addBatch(t){const e=this.editor.model.document.selection,n={ranges:e.hasOwnRange?Array.from(e.getRanges()):[],isBackward:e.isBackward};this._stack.push({batch:t,selection:n}),this.refresh()}clearStack(){this._stack=[],this.refresh()}_restoreSelection(t,e,n){const i=this.editor.model,o=i.document,r=[],s=t.map((t=>t.getTransformedByOperations(n))),a=s.flat();for(const t of s){const e=t.filter((t=>t.root!=o.graveyard)).filter((t=>!cp(t,a)));e.length&&(ap(e),r.push(e[0]))}r.length&&i.change((t=>{t.setSelection(r,{backward:e})}))}_undo(t,e){const n=this.editor.model,i=n.document;this._createdBatches.add(e);const o=t.operations.slice().filter((t=>t.isDocumentOperation));o.reverse();for(const t of o){const o=t.baseVersion+1,r=Array.from(i.history.getOperations(o)),s=Hu([t.getReversed()],r,{useRelations:!0,document:this.editor.model.document,padWithNoOps:!1,forceWeakRemove:!0}).operationsA;for(const o of s)e.addOperation(o),n.applyOperation(o),i.history.setOperationAsUndone(t,o)}}}function ap(t){t.sort(((t,e)=>t.start.isBefore(e.start)?-1:1));for(let e=1;ee!==t&&e.containsRange(t,!0)))}class lp extends sp{execute(t=null){const e=t?this._stack.findIndex((e=>e.batch==t)):this._stack.length-1,n=this._stack.splice(e,1)[0],i=this.editor.model.createBatch(\"transparent\");this.editor.model.enqueueChange(i,(()=>{this._undo(n.batch,i);const t=this.editor.model.document.history.getOperations(n.batch.baseVersion);this._restoreSelection(n.selection.ranges,n.selection.isBackward,t),this.fire(\"revert\",n.batch,i)})),this.refresh()}}class dp extends sp{execute(){const t=this._stack.pop(),e=this.editor.model.createBatch(\"transparent\");this.editor.model.enqueueChange(e,(()=>{const n=t.batch.operations[t.batch.operations.length-1].baseVersion+1,i=this.editor.model.document.history.getOperations(n);this._restoreSelection(t.selection.ranges,t.selection.isBackward,i),this._undo(t.batch,e)})),this.refresh()}}class hp extends le{static get pluginName(){return\"UndoEditing\"}constructor(t){super(t),this._batchRegistry=new WeakSet}init(){const t=this.editor;this._undoCommand=new lp(t),this._redoCommand=new dp(t),t.commands.add(\"undo\",this._undoCommand),t.commands.add(\"redo\",this._redoCommand),this.listenTo(t.model,\"applyOperation\",((t,e)=>{const n=e[0];if(!n.isDocumentOperation)return;const i=n.batch,o=this._redoCommand._createdBatches.has(i),r=this._undoCommand._createdBatches.has(i);this._batchRegistry.has(i)||\"transparent\"==i.type&&!o&&!r||(o?this._undoCommand.addBatch(i):r||(this._undoCommand.addBatch(i),this._redoCommand.clearStack()),this._batchRegistry.add(i))}),{priority:\"highest\"}),this.listenTo(this._undoCommand,\"revert\",((t,e,n)=>{this._redoCommand.addBatch(n)})),t.keystrokes.set(\"CTRL+Z\",\"undo\"),t.keystrokes.set(\"CTRL+Y\",\"redo\"),t.keystrokes.set(\"CTRL+SHIFT+Z\",\"redo\")}}const up=' ',mp=' ';class gp extends le{static get pluginName(){return\"UndoUI\"}init(){const t=this.editor,e=t.locale,n=t.t,i=\"ltr\"==e.uiLanguageDirection?up:mp,o=\"ltr\"==e.uiLanguageDirection?mp:up;this._addButton(\"undo\",n(\"Undo\"),\"CTRL+Z\",i),this._addButton(\"redo\",n(\"Redo\"),\"CTRL+Y\",o)}_addButton(t,e,n,i){const o=this.editor;o.ui.componentFactory.add(t,(r=>{const s=o.commands.get(t),a=new Wd(r);return a.set({label:e,icon:i,keystroke:n,tooltip:!0}),a.bind(\"isEnabled\").to(s,\"isEnabled\"),this.listenTo(a,\"execute\",(()=>{o.execute(t),o.editing.view.focus()})),a}))}}class pp extends le{static get requires(){return[hp,gp]}static get pluginName(){return\"Undo\"}}class fp extends le{static get requires(){return[Au]}static get pluginName(){return\"WidgetToolbarRepository\"}init(){const t=this.editor;if(t.plugins.has(\"BalloonToolbar\")){const e=t.plugins.get(\"BalloonToolbar\");this.listenTo(e,\"show\",(e=>{(function(t){const e=t.getSelectedElement();return!(!e||!_g(e))})(t.editing.view.document.selection)&&e.stop()}),{priority:\"high\"})}this._toolbarDefinitions=new Map,this._balloon=this.editor.plugins.get(\"ContextualBalloon\"),this.on(\"change:isEnabled\",(()=>{this._updateToolbarsVisibility()})),this.listenTo(t.ui,\"update\",(()=>{this._updateToolbarsVisibility()})),this.listenTo(t.ui.focusTracker,\"change:isFocused\",(()=>{this._updateToolbarsVisibility()}),{priority:\"low\"})}destroy(){super.destroy();for(const t of this._toolbarDefinitions.values())t.view.destroy()}register(t,{ariaLabel:e,items:n,getRelatedElement:i,balloonClassName:o=\"ck-toolbar-container\"}){if(!n.length)return void c(\"widget-toolbar-no-items\",{toolbarId:t});const r=this.editor,s=r.t,l=new vh(r.locale);if(l.ariaLabel=e||s(\"Widget toolbar\"),this._toolbarDefinitions.has(t))throw new a(\"widget-toolbar-duplicated\",this,{toolbarId:t});l.fillFromConfig(n,r.ui.componentFactory),this._toolbarDefinitions.set(t,{view:l,getRelatedElement:i,balloonClassName:o})}_updateToolbarsVisibility(){let t=0,e=null,n=null;for(const i of this._toolbarDefinitions.values()){const o=i.getRelatedElement(this.editor.editing.view.document.selection);if(this.isEnabled&&o)if(this.editor.ui.focusTracker.isFocused){const r=o.getAncestors().length;r>t&&(t=r,e=o,n=i)}else this._isToolbarVisible(i)&&this._hideToolbar(i);else this._isToolbarInBalloon(i)&&this._hideToolbar(i)}n&&this._showToolbar(n,e)}_hideToolbar(t){this._balloon.remove(t.view),this.stopListening(this._balloon,\"change:visibleView\")}_showToolbar(t,e){this._isToolbarVisible(t)?kp(this.editor,e):this._isToolbarInBalloon(t)||(this._balloon.add({view:t.view,position:bp(this.editor,e),balloonClassName:t.balloonClassName}),this.listenTo(this._balloon,\"change:visibleView\",(()=>{for(const t of this._toolbarDefinitions.values())if(this._isToolbarVisible(t)){const e=t.getRelatedElement(this.editor.editing.view.document.selection);kp(this.editor,e)}})))}_isToolbarVisible(t){return this._balloon.visibleView===t.view}_isToolbarInBalloon(t){return this._balloon.hasView(t.view)}}function kp(t,e){const n=t.plugins.get(\"ContextualBalloon\"),i=bp(t,e);n.updatePosition(i)}function bp(t,e){const n=t.editing.view,i=uu.defaultPositions;return{target:n.domConverter.mapViewToDom(e),positions:[i.northArrowSouth,i.northArrowSouthWest,i.northArrowSouthEast,i.southArrowNorth,i.southArrowNorthWest,i.southArrowNorthEast,Tg]}}class wp{constructor(t){this.set(\"activeHandlePosition\",null),this.set(\"proposedWidthPercents\",null),this.set(\"proposedWidth\",null),this.set(\"proposedHeight\",null),this.set(\"proposedHandleHostWidth\",null),this.set(\"proposedHandleHostHeight\",null),this._options=t,this._referenceCoordinates=null}begin(t,e,n){const i=new ia(e);this.activeHandlePosition=function(t){const e=[\"top-left\",\"top-right\",\"bottom-right\",\"bottom-left\"];for(const n of e)if(t.classList.contains(Cp(n)))return n}(t),this._referenceCoordinates=function(t,e){const n=new ia(t),i=e.split(\"-\"),o={x:\"right\"==i[1]?n.right:n.left,y:\"bottom\"==i[0]?n.bottom:n.top};return o.x+=t.ownerDocument.defaultView.scrollX,o.y+=t.ownerDocument.defaultView.scrollY,o}(e,function(t){const e=t.split(\"-\"),n={top:\"bottom\",bottom:\"top\",left:\"right\",right:\"left\"};return`${n[e[0]]}-${n[e[1]]}`}(this.activeHandlePosition)),this.originalWidth=i.width,this.originalHeight=i.height,this.aspectRatio=i.width/i.height;const o=n.style.width;o&&o.match(/^\\d+(\\.\\d*)?%$/)?this.originalWidthPercents=parseFloat(o):this.originalWidthPercents=function(t,e){const n=t.parentElement,i=parseFloat(n.ownerDocument.defaultView.getComputedStyle(n).width);return e.width/i*100}(n,i)}update(t){this.proposedWidth=t.width,this.proposedHeight=t.height,this.proposedWidthPercents=t.widthPercents,this.proposedHandleHostWidth=t.handleHostWidth,this.proposedHandleHostHeight=t.handleHostHeight}}function Cp(t){return`ck-widget__resizer__handle-${t}`}ce(wp,ne);class Ap extends fd{constructor(){super();const t=this.bindTemplate;this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-size-view\",t.to(\"_viewPosition\",(t=>t?`ck-orientation-${t}`:\"\"))],style:{display:t.if(\"_isVisible\",\"none\",(t=>!t))}},children:[{text:t.to(\"_label\")}]})}_bindToState(t,e){this.bind(\"_isVisible\").to(e,\"proposedWidth\",e,\"proposedHeight\",((t,e)=>null!==t&&null!==e)),this.bind(\"_label\").to(e,\"proposedHandleHostWidth\",e,\"proposedHandleHostHeight\",e,\"proposedWidthPercents\",((e,n,i)=>\"px\"===t.unit?`${e}×${n}`:`${i}%`)),this.bind(\"_viewPosition\").to(e,\"activeHandlePosition\",e,\"proposedHandleHostWidth\",e,\"proposedHandleHostHeight\",((t,e,n)=>e<50||n<50?\"above-center\":t))}_dismiss(){this.unbind(),this._isVisible=!1}}class _p{constructor(t){this._options=t,this._domResizerWrapper=null,this._viewResizerWrapper=null,this.set(\"isEnabled\",!0),this.decorate(\"begin\"),this.decorate(\"cancel\"),this.decorate(\"commit\"),this.decorate(\"updateSize\"),this.on(\"commit\",(t=>{this.state.proposedWidth||this.state.proposedWidthPercents||(this._cleanup(),t.stop())}),{priority:\"high\"}),this.on(\"change:isEnabled\",(()=>{this.isEnabled&&this.redraw()}))}attach(){const t=this,e=this._options.viewElement;this._options.editor.editing.view.change((n=>{const i=n.createUIElement(\"div\",{class:\"ck ck-reset_all ck-widget__resizer\"},(function(e){const n=this.toDomElement(e);return t._appendHandles(n),t._appendSizeUI(n),t._domResizerWrapper=n,t.on(\"change:isEnabled\",((t,e,i)=>{n.style.display=i?\"\":\"none\"})),n.style.display=t.isEnabled?\"\":\"none\",n}));n.insert(n.createPositionAt(e,\"end\"),i),n.addClass(\"ck-widget_with-resizer\",e),this._viewResizerWrapper=i}))}begin(t){this.state=new wp(this._options),this._sizeView._bindToState(this._options,this.state),this._initialViewWidth=this._options.viewElement.getStyle(\"width\"),this.state.begin(t,this._getHandleHost(),this._getResizeHost())}updateSize(t){const e=this._proposeNewSize(t);this._options.editor.editing.view.change((t=>{const n=this._options.unit||\"%\",i=(\"%\"===n?e.widthPercents:e.width)+n;t.setStyle(\"width\",i,this._options.viewElement)}));const n=this._getHandleHost(),i=new ia(n);e.handleHostWidth=Math.round(i.width),e.handleHostHeight=Math.round(i.height);const o=new ia(n);e.width=Math.round(o.width),e.height=Math.round(o.height),this.redraw(i),this.state.update(e)}commit(){const t=this._options.unit||\"%\",e=(\"%\"===t?this.state.proposedWidthPercents:this.state.proposedWidth)+t;this._options.editor.editing.view.change((()=>{this._cleanup(),this._options.onCommit(e)}))}cancel(){this._cleanup()}destroy(){this.cancel()}redraw(t){const e=this._domResizerWrapper;if(!((n=e)&&n.ownerDocument&&n.ownerDocument.contains(n)))return;var n;const i=e.parentElement,o=this._getHandleHost(),r=this._viewResizerWrapper,s=[r.getStyle(\"width\"),r.getStyle(\"height\"),r.getStyle(\"left\"),r.getStyle(\"top\")];let a;if(i.isSameNode(o)){const e=t||new ia(o);a=[e.width+\"px\",e.height+\"px\",void 0,void 0]}else a=[o.offsetWidth+\"px\",o.offsetHeight+\"px\",o.offsetLeft+\"px\",o.offsetTop+\"px\"];\"same\"!==Ni(s,a)&&this._options.editor.editing.view.change((t=>{t.setStyle({width:a[0],height:a[1],left:a[2],top:a[3]},r)}))}containsHandle(t){return this._domResizerWrapper.contains(t)}static isResizeHandle(t){return t.classList.contains(\"ck-widget__resizer__handle\")}_cleanup(){this._sizeView._dismiss();this._options.editor.editing.view.change((t=>{t.setStyle(\"width\",this._initialViewWidth,this._options.viewElement)}))}_proposeNewSize(t){const e=this.state,n={x:(i=t).pageX,y:i.pageY};var i;const o=!this._options.isCentered||this._options.isCentered(this),r={x:e._referenceCoordinates.x-(n.x+e.originalWidth),y:n.y-e.originalHeight-e._referenceCoordinates.y};o&&e.activeHandlePosition.endsWith(\"-right\")&&(r.x=n.x-(e._referenceCoordinates.x+e.originalWidth)),o&&(r.x*=2);const s={width:Math.abs(e.originalWidth+r.x),height:Math.abs(e.originalHeight+r.y)};s.dominant=s.width/e.aspectRatio>s.height?\"width\":\"height\",s.max=s[s.dominant];const a={width:s.width,height:s.height};return\"width\"==s.dominant?a.height=a.width/e.aspectRatio:a.width=a.height*e.aspectRatio,{width:Math.round(a.width),height:Math.round(a.height),widthPercents:Math.min(Math.round(e.originalWidthPercents/e.originalWidth*a.width*100)/100,100)}}_getResizeHost(){const t=this._domResizerWrapper.parentElement;return this._options.getResizeHost(t)}_getHandleHost(){const t=this._domResizerWrapper.parentElement;return this._options.getHandleHost(t)}_appendHandles(t){const e=[\"top-left\",\"top-right\",\"bottom-right\",\"bottom-left\"];for(const i of e)t.appendChild(new kd({tag:\"div\",attributes:{class:\"ck-widget__resizer__handle \"+(n=i,`ck-widget__resizer__handle-${n}`)}}).render());var n}_appendSizeUI(t){this._sizeView=new Ap,this._sizeView.render(),t.appendChild(this._sizeView.element)}}ce(_p,ne);var vp=n(2263),yp={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(vp.Z,yp);vp.Z.locals;class xp extends le{static get pluginName(){return\"WidgetResize\"}init(){this.set(\"visibleResizer\",null),this.set(\"_activeResizer\",null),this._resizers=new Map;const t=Kr.window.document;this.editor.editing.view.addObserver(Zu),this._observer=Object.create(os),this.listenTo(this.editor.editing.view.document,\"mousedown\",this._mouseDownListener.bind(this),{priority:\"high\"}),this._observer.listenTo(t,\"mousemove\",this._mouseMoveListener.bind(this)),this._observer.listenTo(t,\"mouseup\",this._mouseUpListener.bind(this));const e=()=>{this.visibleResizer&&this.visibleResizer.redraw()};this._redrawFocusedResizerThrottled=Zg(e,200),this.on(\"change:visibleResizer\",e),this.editor.ui.on(\"update\",this._redrawFocusedResizerThrottled),this._observer.listenTo(Kr.window,\"resize\",this._redrawFocusedResizerThrottled);const n=this.editor.editing.view.document.selection;n.on(\"change\",(()=>{const t=n.getSelectedElement();this.visibleResizer=this.getResizerByViewElement(t)||null}))}destroy(){this._observer.stopListening();for(const t of this._resizers.values())t.destroy();this._redrawFocusedResizerThrottled.cancel()}attachTo(t){const e=new _p(t),n=this.editor.plugins;if(e.attach(),n.has(\"WidgetToolbarRepository\")){const t=n.get(\"WidgetToolbarRepository\");e.on(\"begin\",(()=>{t.forceDisabled(\"resize\")}),{priority:\"lowest\"}),e.on(\"cancel\",(()=>{t.clearForceDisabled(\"resize\")}),{priority:\"highest\"}),e.on(\"commit\",(()=>{t.clearForceDisabled(\"resize\")}),{priority:\"highest\"})}this._resizers.set(t.viewElement,e);const i=this.editor.editing.view.document.selection.getSelectedElement();return this.getResizerByViewElement(i)==e&&(this.visibleResizer=e),e}getResizerByViewElement(t){return this._resizers.get(t)}_getResizerByHandle(t){for(const e of this._resizers.values())if(e.containsHandle(t))return e}_mouseDownListener(t,e){const n=e.domTarget;_p.isResizeHandle(n)&&(this._activeResizer=this._getResizerByHandle(n),this._activeResizer&&(this._activeResizer.begin(n),t.stop(),e.preventDefault()))}_mouseMoveListener(t,e){this._activeResizer&&this._activeResizer.updateSize(e)}_mouseUpListener(){this._activeResizer&&(this._activeResizer.commit(),this._activeResizer=null)}}function Ep(t,e){const n=t.createEmptyElement(\"img\"),i=\"imageBlock\"===e?t.createContainerElement(\"figure\",{class:\"image\"}):t.createContainerElement(\"span\",{class:\"image-inline\"},{isAllowedInsideAttributeElement:!0});return t.insert(t.createPositionAt(i,0),n),i}function Dp(t,e){if(t.plugins.has(\"ImageInlineEditing\")!==t.plugins.has(\"ImageBlockEditing\"))return{name:\"img\",attributes:{src:!0}};const n=t.plugins.get(\"ImageUtils\");return t=>{if(!n.isInlineImageView(t)||!t.hasAttribute(\"src\"))return null;return(t.findAncestor(n.isBlockImageView)?\"imageBlock\":\"imageInline\")!==e?null:{name:!0,attributes:[\"src\"]}}}function Sp(t,e){const n=ca(e.getSelectedBlocks());return!n||t.isObject(n)||n.isEmpty&&\"listItem\"!=n.name?\"imageBlock\":\"imageInline\"}ce(xp,ne);class Ip extends le{static get pluginName(){return\"ImageUtils\"}isImage(t){return this.isInlineImage(t)||this.isBlockImage(t)}isInlineImageView(t){return!!t&&t.is(\"element\",\"img\")}isBlockImageView(t){return!!t&&t.is(\"element\",\"figure\")&&t.hasClass(\"image\")}insertImage(t={},e=null,n=null){const i=this.editor,o=i.model,r=o.document.selection;n=Tp(i,e||r,n),t={...Object.fromEntries(r.getAttributes()),...t};for(const e in t)o.schema.checkAttribute(n,e)||delete t[e];return o.change((i=>{const s=i.createElement(n,t);return e||\"imageInline\"==n||(e=Ig(r,o)),o.insertContent(s,e),s.parent?(i.setSelection(s,\"on\"),s):null}))}getClosestSelectedImageWidget(t){const e=t.getSelectedElement();if(e&&this.isImageWidget(e))return e;let n=t.getFirstPosition().parent;for(;n;){if(n.is(\"element\")&&this.isImageWidget(n))return n;n=n.parent}return null}getClosestSelectedImageElement(t){const e=t.getSelectedElement();return this.isImage(e)?e:t.getFirstPosition().findAncestor(\"imageBlock\")}isImageAllowed(){const t=this.editor.model.document.selection;return function(t,e){if(\"imageBlock\"==Tp(t,e)){const n=function(t,e){const n=Ig(t,e).start.parent;if(n.isEmpty&&!n.is(\"element\",\"$root\"))return n.parent;return n}(e,t.model);if(t.model.schema.checkChild(n,\"imageBlock\"))return!0}else if(t.model.schema.checkChild(e.focus,\"imageInline\"))return!0;return!1}(this.editor,t)&&function(t){return[...t.focus.getAncestors()].every((t=>!t.is(\"element\",\"imageBlock\")))}(t)}toImageWidget(t,e,n){e.setCustomProperty(\"image\",!0,t);return vg(t,e,{label:()=>{const e=this.getViewImageFromWidget(t).getAttribute(\"alt\");return e?`${e} ${n}`:n}})}isImageWidget(t){return!!t.getCustomProperty(\"image\")&&_g(t)}isBlockImage(t){return!!t&&t.is(\"element\",\"imageBlock\")}isInlineImage(t){return!!t&&t.is(\"element\",\"imageInline\")}getViewImageFromWidget(t){if(this.isInlineImageView(t))return t;const e=[];for(const n of t.getChildren())e.push(n),n.is(\"element\")&&e.push(...n.getChildren());return e.find(this.isInlineImageView)}}function Tp(t,e,n){const i=t.model.schema,o=t.config.get(\"image.insert.type\");return t.plugins.has(\"ImageBlockEditing\")?t.plugins.has(\"ImageInlineEditing\")?n||(\"inline\"===o?\"imageInline\":\"block\"===o?\"imageBlock\":e.is(\"selection\")?Sp(i,e):i.checkChild(e,\"imageInline\")?\"imageInline\":\"imageBlock\"):\"imageBlock\":\"imageInline\"}const Mp=new RegExp(String(/^(http(s)?:\\/\\/)?[\\w-]+\\.[\\w.~:/[\\]@!$&'()*+,;=%-]+/.source+/\\.(jpg|jpeg|png|gif|ico|webp|JPG|JPEG|PNG|GIF|ICO|WEBP)/.source+/(\\?[\\w.~:/[\\]@!$&'()*+,;=%-]*)?/.source+/(#[\\w.~:/[\\]@!$&'()*+,;=%-]*)?$/.source));class Bp extends he{constructor(t,e){super(t),this._buffer=new ug(t.model,e),this._batches=new WeakSet}get buffer(){return this._buffer}destroy(){super.destroy(),this._buffer.destroy()}execute(t={}){const e=this.editor.model,n=e.document,i=t.text||\"\",o=i.length,r=t.range?e.createSelection(t.range):n.selection,s=t.resultRange;e.enqueueChange(this._buffer.batch,(t=>{this._buffer.lock(),this._batches.add(this._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),this._buffer.unlock(),this._buffer.input(o)}))}}function Np(t){if(t.newChildren.length-t.oldChildren.length!=1)return;const e=function(t,e){const n=[];let i,o=0;return t.forEach((t=>{\"equal\"==t?(r(),o++):\"insert\"==t?(s(\"insert\")?i.values.push(e[o]):(r(),i={type:\"insert\",index:o,values:[e[o]]}),o++):s(\"delete\")?i.howMany++:(r(),i={type:\"delete\",index:o,howMany:1})})),r(),n;function r(){i&&(n.push(i),i=null)}function s(t){return i&&i.type==t}}(Fr(t.oldChildren,t.newChildren,Lp),t.newChildren);if(e.length>1)return;const n=e[0];return n.values[0]&&n.values[0].is(\"$text\")?n:void 0}function Lp(t,e){return t&&t.is(\"$text\")&&e&&e.is(\"$text\")?t.data===e.data:t===e}class zp{constructor(t){this.editor=t,this.editing=this.editor.editing}handle(t,e){if(function(t){if(0==t.length)return!1;for(const e of t)if(\"children\"===e.type&&!Np(e))return!0;return!1}(t))this._handleContainerChildrenMutations(t,e);else for(const n of t)this._handleTextMutation(n,e),this._handleTextNodeInsertion(n)}_handleContainerChildrenMutations(t,e){const n=function(t){const e=t.map((t=>t.node)).reduce(((t,e)=>t.getCommonAncestor(e,{includeSelf:!0})));if(!e)return;return e.getAncestors({includeSelf:!0,parentFirst:!0}).find((t=>t.is(\"containerElement\")||t.is(\"rootElement\")))}(t);if(!n)return;const i=this.editor.editing.view.domConverter.mapViewToDom(n),o=new Xr(this.editor.editing.view.document),r=this.editor.data.toModel(o.domToView(i)).getChild(0),s=this.editor.editing.mapper.toModelElement(n);if(!s)return;const a=Array.from(r.getChildren()),c=Array.from(s.getChildren()),l=a[a.length-1],d=c[c.length-1],h=l&&l.is(\"element\",\"softBreak\"),u=d&&!d.is(\"element\",\"softBreak\");h&&u&&a.pop();const m=this.editor.model.schema;if(!Pp(a,m)||!Pp(c,m))return;const g=a.map((t=>t.is(\"$text\")?t.data:\"@\")).join(\"\").replace(/\\u00A0/g,\" \"),p=c.map((t=>t.is(\"$text\")?t.data:\"@\")).join(\"\").replace(/\\u00A0/g,\" \");if(p===g)return;const f=Fr(p,g),{firstChangeAt:k,insertions:b,deletions:w}=Op(f);let C=null;e&&(C=this.editing.mapper.toModelRange(e.getFirstRange()));const A=g.substr(k,b),_=this.editor.model.createRange(this.editor.model.createPositionAt(s,k),this.editor.model.createPositionAt(s,k+w));this.editor.execute(\"input\",{text:A,range:_,resultRange:C})}_handleTextMutation(t,e){if(\"text\"!=t.type)return;const n=t.newText.replace(/\\u00A0/g,\" \"),i=t.oldText.replace(/\\u00A0/g,\" \");if(i===n)return;const o=Fr(i,n),{firstChangeAt:r,insertions:s,deletions:a}=Op(o);let c=null;e&&(c=this.editing.mapper.toModelRange(e.getFirstRange()));const l=this.editing.view.createPositionAt(t.node,r),d=this.editing.mapper.toModelPosition(l),h=this.editor.model.createRange(d,d.getShiftedBy(a)),u=n.substr(r,s);this.editor.execute(\"input\",{text:u,range:h,resultRange:c})}_handleTextNodeInsertion(t){if(\"children\"!=t.type)return;const e=Np(t),n=this.editing.view.createPositionAt(t.node,e.index),i=this.editing.mapper.toModelPosition(n),o=e.values[0].data;this.editor.execute(\"input\",{text:o.replace(/\\u00A0/g,\" \"),range:this.editor.model.createRange(i)})}}function Pp(t,e){return t.every((t=>e.isInline(t)))}function Op(t){let e=null,n=null;for(let i=0;i{n.deleteContent(n.document.selection)})),t.unlock()}tr.isAndroid?i.document.on(\"beforeinput\",((t,e)=>r(e)),{priority:\"lowest\"}):i.document.on(\"keydown\",((t,e)=>r(e)),{priority:\"lowest\"}),i.document.on(\"compositionstart\",(function(){const t=n.document,e=1!==t.selection.rangeCount||t.selection.getFirstRange().isFlat;t.selection.isCollapsed||e||s()}),{priority:\"lowest\"}),i.document.on(\"compositionend\",(()=>{e=n.createSelection(n.document.selection)}),{priority:\"lowest\"})}(t),function(t){t.editing.view.document.on(\"mutations\",((e,n,i)=>{new zp(t).handle(n,i)}))}(t)}isInput(t){return this.editor.commands.get(\"input\")._batches.has(t)}}class Fp extends le{static get requires(){return[Rp,pg]}static get pluginName(){return\"Typing\"}}function jp(t,e){let n=t.start;return{text:Array.from(t.getItems()).reduce(((t,i)=>i.is(\"$text\")||i.is(\"$textProxy\")?t+i.data:(n=e.createPositionAfter(i),\"\")),\"\"),range:e.createRange(n,t.end)}}class Vp{constructor(t,e){this.model=t,this.testCallback=e,this.hasMatch=!1,this.set(\"isEnabled\",!0),this.on(\"change:isEnabled\",(()=>{this.isEnabled?this._startListening():(this.stopListening(t.document.selection),this.stopListening(t.document))})),this._startListening()}_startListening(){const t=this.model.document;this.listenTo(t.selection,\"change:range\",((e,{directChange:n})=>{n&&(t.selection.isCollapsed?this._evaluateTextBeforeSelection(\"selection\"):this.hasMatch&&(this.fire(\"unmatched\"),this.hasMatch=!1))})),this.listenTo(t,\"change:data\",((t,e)=>{\"transparent\"!=e.type&&this._evaluateTextBeforeSelection(\"data\",{batch:e})}))}_evaluateTextBeforeSelection(t,e={}){const n=this.model,i=n.document.selection,o=n.createRange(n.createPositionAt(i.focus.parent,0),i.focus),{text:r,range:s}=jp(o,n),a=this.testCallback(r);if(!a&&this.hasMatch&&this.fire(\"unmatched\"),this.hasMatch=!!a,a){const n=Object.assign(e,{text:r,range:s});\"object\"==typeof a&&Object.assign(n,a),this.fire(`matched:${t}`,n)}}}ce(Vp,ne);class Hp extends le{static get pluginName(){return\"TwoStepCaretMovement\"}constructor(t){super(t),this.attributes=new Set,this._overrideUid=null}init(){const t=this.editor,e=t.model,n=t.editing.view,i=t.locale,o=e.document.selection;this.listenTo(n.document,\"arrowKey\",((t,e)=>{if(!o.isCollapsed)return;if(e.shiftKey||e.altKey||e.ctrlKey)return;const n=e.keyCode==ir.arrowright,r=e.keyCode==ir.arrowleft;if(!n&&!r)return;const s=i.contentLanguageDirection;let a=!1;a=\"ltr\"===s&&n||\"rtl\"===s&&r?this._handleForwardMovement(e):this._handleBackwardMovement(e),!0===a&&t.stop()}),{context:\"$text\",priority:\"highest\"}),this._isNextGravityRestorationSkipped=!1,this.listenTo(o,\"change:range\",((t,e)=>{this._isNextGravityRestorationSkipped?this._isNextGravityRestorationSkipped=!1:this._isGravityOverridden&&(!e.directChange&&Wp(o.getFirstPosition(),this.attributes)||this._restoreGravity())}))}registerAttribute(t){this.attributes.add(t)}_handleForwardMovement(t){const e=this.attributes,n=this.editor.model.document.selection,i=n.getFirstPosition();return!this._isGravityOverridden&&((!i.isAtStart||!Up(n,e))&&(Wp(i,e)?(qp(t),this._overrideGravity(),!0):void 0))}_handleBackwardMovement(t){const e=this.attributes,n=this.editor.model,i=n.document.selection,o=i.getFirstPosition();return this._isGravityOverridden?(qp(t),this._restoreGravity(),Gp(n,e,o),!0):o.isAtStart?!!Up(i,e)&&(qp(t),Gp(n,e,o),!0):function(t,e){return Wp(t.getShiftedBy(-1),e)}(o,e)?o.isAtEnd&&!Up(i,e)&&Wp(o,e)?(qp(t),Gp(n,e,o),!0):(this._isNextGravityRestorationSkipped=!0,this._overrideGravity(),!1):void 0}get _isGravityOverridden(){return!!this._overrideUid}_overrideGravity(){this._overrideUid=this.editor.model.change((t=>t.overrideSelectionGravity()))}_restoreGravity(){this.editor.model.change((t=>{t.restoreSelectionGravity(this._overrideUid),this._overrideUid=null}))}}function Up(t,e){for(const n of e)if(t.hasAttribute(n))return!0;return!1}function Gp(t,e,n){const i=n.nodeBefore;t.change((t=>{i?t.setSelectionAttribute(i.getAttributes()):t.removeSelectionAttribute(e)}))}function qp(t){t.preventDefault()}function Wp(t,e){const{nodeBefore:n,nodeAfter:i}=t;for(const t of e){const e=n?n.getAttribute(t):void 0;if((i?i.getAttribute(t):void 0)!==e)return!0}return!1}var Kp=/[\\\\^$.*+?()[\\]{}|]/g,$p=RegExp(Kp.source);const Yp=function(t){return(t=eo(t))&&$p.test(t)?t.replace(Kp,\"\\\\$&\"):t},Zp={copyright:{from:\"(c)\",to:\"©\"},registeredTrademark:{from:\"(r)\",to:\"®\"},trademark:{from:\"(tm)\",to:\"™\"},oneHalf:{from:\"1/2\",to:\"½\"},oneThird:{from:\"1/3\",to:\"⅓\"},twoThirds:{from:\"2/3\",to:\"⅔\"},oneForth:{from:\"1/4\",to:\"¼\"},threeQuarters:{from:\"3/4\",to:\"¾\"},lessThanOrEqual:{from:\"<=\",to:\"≤\"},greaterThanOrEqual:{from:\">=\",to:\"≥\"},notEqual:{from:\"!=\",to:\"≠\"},arrowLeft:{from:\"<-\",to:\"←\"},arrowRight:{from:\"->\",to:\"→\"},horizontalEllipsis:{from:\"...\",to:\"…\"},enDash:{from:/(^| )(--)( )$/,to:[null,\"–\",null]},emDash:{from:/(^| )(---)( )$/,to:[null,\"—\",null]},quotesPrimary:{from:nf('\"'),to:[null,\"“\",null,\"”\"]},quotesSecondary:{from:nf(\"'\"),to:[null,\"‘\",null,\"’\"]},quotesPrimaryEnGb:{from:nf(\"'\"),to:[null,\"‘\",null,\"’\"]},quotesSecondaryEnGb:{from:nf('\"'),to:[null,\"“\",null,\"”\"]},quotesPrimaryPl:{from:nf('\"'),to:[null,\"„\",null,\"”\"]},quotesSecondaryPl:{from:nf(\"'\"),to:[null,\"‚\",null,\"’\"]}},Qp={symbols:[\"copyright\",\"registeredTrademark\",\"trademark\"],mathematical:[\"oneHalf\",\"oneThird\",\"twoThirds\",\"oneForth\",\"threeQuarters\",\"lessThanOrEqual\",\"greaterThanOrEqual\",\"notEqual\",\"arrowLeft\",\"arrowRight\"],typography:[\"horizontalEllipsis\",\"enDash\",\"emDash\"],quotes:[\"quotesPrimary\",\"quotesSecondary\"]},Jp=[\"symbols\",\"mathematical\",\"typography\",\"quotes\"];function Xp(t){return\"string\"==typeof t?new RegExp(`(${Yp(t)})$`):t}function tf(t){return\"string\"==typeof t?()=>[t]:t instanceof Array?()=>t:t}function ef(t){return(t.textNode?t.textNode:t.nodeAfter).getAttributes()}function nf(t){return new RegExp(`(^|\\\\s)(${t})([^${t}]*)(${t})$`)}function of(t,e,n,i){return i.createRange(rf(t,e,n,!0,i),rf(t,e,n,!1,i))}function rf(t,e,n,i,o){let r=t.textNode||(i?t.nodeBefore:t.nodeAfter),s=null;for(;r&&r.getAttribute(e)==n;)s=r,r=i?r.previousSibling:r.nextSibling;return s?o.createPositionAt(s,i?\"before\":\"after\"):t}const sf=function(t,e,n){var i=t.length;return n=void 0===n?i:n,!e&&n>=i?t:so(t,e,n)};var af=RegExp(\"[\\\\u200d\\\\ud800-\\\\udfff\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff\\\\ufe0e\\\\ufe0f]\");const cf=function(t){return af.test(t)};const lf=function(t){return t.split(\"\")};var df=\"[\\\\ud800-\\\\udfff]\",hf=\"[\\\\u0300-\\\\u036f\\\\ufe20-\\\\ufe2f\\\\u20d0-\\\\u20ff]\",uf=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",mf=\"[^\\\\ud800-\\\\udfff]\",gf=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",pf=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",ff=\"(?:\"+hf+\"|\"+uf+\")\"+\"?\",kf=\"[\\\\ufe0e\\\\ufe0f]?\",bf=kf+ff+(\"(?:\\\\u200d(?:\"+[mf,gf,pf].join(\"|\")+\")\"+kf+ff+\")*\"),wf=\"(?:\"+[mf+hf+\"?\",hf,gf,pf,df].join(\"|\")+\")\",Cf=RegExp(uf+\"(?=\"+uf+\")|\"+wf+bf,\"g\");const Af=function(t){return t.match(Cf)||[]};const _f=function(t){return cf(t)?Af(t):lf(t)};const vf=function(t){return function(e){e=eo(e);var n=cf(e)?_f(e):void 0,i=n?n[0]:e.charAt(0),o=n?sf(n,1).join(\"\"):e.slice(1);return i[t]()+o}}(\"toUpperCase\"),yf=/[\\u0000-\\u0020\\u00A0\\u1680\\u180E\\u2000-\\u2029\\u205f\\u3000]/g,xf=/^(?:(?:https?|ftps?|mailto):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))/i,Ef=/^[\\S]+@((?![-_])(?:[-\\w\\u00a1-\\uffff]{0,63}[^-_]\\.))+(?:[a-z\\u00a1-\\uffff]{2,})$/i,Df=/^((\\w+:(\\/{2,})?)|(\\W))/i,Sf=\"Ctrl+K\";function If(t,{writer:e}){const n=e.createAttributeElement(\"a\",{href:t},{priority:5});return e.setCustomProperty(\"link\",!0,n),n}function Tf(t){return function(t){return t.replace(yf,\"\").match(xf)}(t=String(t))?t:\"#\"}function Mf(t,e){return!!t&&e.checkAttribute(t.name,\"linkHref\")}function Bf(t,e){const n=(i=t,Ef.test(i)?\"mailto:\":e);var i;const o=!!n&&!Df.test(t);return t&&o?n+t:t}const Nf=new RegExp(\"(^|\\\\s)(((?:(?:(?:https?|ftp):)?\\\\/\\\\/)(?:\\\\S+(?::\\\\S*)?@)?(?:(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}(?:\\\\.(?:[1-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))|(((?!www\\\\.)|(www\\\\.))(?![-_])(?:[-_a-z0-9\\\\u00a1-\\\\uffff]{1,63}\\\\.)+(?:[a-z\\\\u00a1-\\\\uffff]{2,63})))(?::\\\\d{2,5})?(?:[/?#]\\\\S*)?)|((www.|(\\\\S+@))((?![-_])(?:[-_a-z0-9\\\\u00a1-\\\\uffff]{1,63}\\\\.))+(?:[a-z\\\\u00a1-\\\\uffff]{2,63})))$\",\"i\");class Lf extends le{static get pluginName(){return\"AutoLink\"}init(){const t=this.editor.model.document.selection;t.on(\"change:range\",(()=>{this.isEnabled=!t.anchor.parent.is(\"element\",\"codeBlock\")})),this._enableTypingHandling()}afterInit(){this._enableEnterHandling(),this._enableShiftEnterHandling()}_enableTypingHandling(){const t=this.editor,e=new Vp(t.model,(t=>{if(!function(t){return t.length>4&&\" \"===t[t.length-1]&&\" \"!==t[t.length-2]}(t))return;const e=zf(t.substr(0,t.length-1));return e?{url:e}:void 0})),n=t.plugins.get(\"Input\");e.on(\"matched:data\",((e,i)=>{const{batch:o,range:r,url:s}=i;if(!n.isInput(o))return;const a=r.end.getShiftedBy(-1),c=a.getShiftedBy(-s.length),l=t.model.createRange(c,a);this._applyAutoLink(s,l)})),e.bind(\"isEnabled\").to(this)}_enableEnterHandling(){const t=this.editor,e=t.model,n=t.commands.get(\"enter\");n&&n.on(\"execute\",(()=>{const t=e.document.selection.getFirstPosition();if(!t.parent.previousSibling)return;const n=e.createRangeIn(t.parent.previousSibling);this._checkAndApplyAutoLinkOnRange(n)}))}_enableShiftEnterHandling(){const t=this.editor,e=t.model,n=t.commands.get(\"shiftEnter\");n&&n.on(\"execute\",(()=>{const t=e.document.selection.getFirstPosition(),n=e.createRange(e.createPositionAt(t.parent,0),t.getShiftedBy(-1));this._checkAndApplyAutoLinkOnRange(n)}))}_checkAndApplyAutoLinkOnRange(t){const e=this.editor.model,{text:n,range:i}=jp(t,e),o=zf(n);if(o){const t=e.createRange(i.end.getShiftedBy(-o.length),i.end);this._applyAutoLink(o,t)}}_applyAutoLink(t,e){const n=this.editor.model;this.isEnabled&&function(t,e){return e.schema.checkAttributeInSelection(e.createSelection(t),\"linkHref\")}(e,n)&&n.enqueueChange((n=>{const i=this.editor.config.get(\"link.defaultProtocol\"),o=Bf(t,i);n.setAttribute(\"linkHref\",o,e)}))}}function zf(t){const e=Nf.exec(t);return e?e[2]:null}class Pf extends le{static get pluginName(){return\"Autosave\"}static get requires(){return[sd]}constructor(t){super(t);const e=t.config.get(\"autosave\")||{},n=e.waitingTime||1e3;this.set(\"state\",\"synchronized\"),this._debouncedSave=qs(this._save.bind(this),n),this._lastDocumentVersion=t.model.document.version,this._domEmitter=Object.create(os),this._config=e}init(){const t=this.editor,e=t.model.document,n=t.t;this._pendingActions=t.plugins.get(sd),this.listenTo(e,\"change:data\",(()=>{this._saveCallbacks.length&&(\"synchronized\"==this.state?(this._action=this._pendingActions.add(n(\"Saving changes\")),this.state=\"waiting\",this._debouncedSave()):\"waiting\"==this.state&&this._debouncedSave())})),this.listenTo(t,\"destroy\",(()=>this._flush()),{priority:\"highest\"}),this._domEmitter.listenTo(window,\"beforeunload\",((t,e)=>{this._pendingActions.hasAny&&(e.returnValue=this._pendingActions.first.message)}))}destroy(){this._domEmitter.stopListening(),super.destroy()}_flush(){this._debouncedSave.flush()}_save(){const t=this.editor.model.document.version;tPromise.all(this._saveCallbacks.map((t=>t(this.editor)))))).catch((t=>{throw this.state=\"error\",this.state=\"saving\",this._debouncedSave(),t})).then((()=>{this.editor.model.document.version>this._lastDocumentVersion?(this.state=\"waiting\",this._debouncedSave()):(this.state=\"synchronized\",this._pendingActions.remove(this._action),this._action=null)})))}get _saveCallbacks(){const t=[];return this.adapter&&this.adapter.save&&t.push(this.adapter.save),this._config.save&&t.push(this._config.save),t}}ce(Pf,ne);class Of extends he{execute(){const t=this.editor.model,e=t.document;t.change((n=>{!function(t,e,n){const i=n.isCollapsed,o=n.getFirstRange(),r=o.start.parent,s=o.end.parent,a=r==s;if(i){const i=ag(t.schema,n.getAttributes());Rf(t,e,o.end),e.removeSelectionAttribute(n.getAttributeKeys()),e.setSelectionAttribute(i)}else{const i=!(o.start.isAtStart&&o.end.isAtEnd);t.deleteContent(n,{leaveUnmerged:i}),a?Rf(t,e,n.focus):i&&e.setSelection(s,0)}}(t,n,e.selection),this.fire(\"afterExecute\",{writer:n})}))}refresh(){const t=this.editor.model,e=t.document;this.isEnabled=function(t,e){if(e.rangeCount>1)return!1;const n=e.anchor;if(!n||!t.checkChild(n,\"softBreak\"))return!1;const i=e.getFirstRange(),o=i.start.parent,r=i.end.parent;if((Ff(o,t)||Ff(r,t))&&o!==r)return!1;return!0}(t.schema,e.selection)}}function Rf(t,e,n){const i=e.createElement(\"softBreak\");t.insertContent(i,n),e.setSelection(i,\"after\")}function Ff(t,e){return!t.is(\"rootElement\")&&(e.isLimit(t)||Ff(t.parent,e))}class jf extends le{static get pluginName(){return\"ShiftEnter\"}init(){const t=this.editor,e=t.model.schema,n=t.conversion,i=t.editing.view,o=i.document;e.register(\"softBreak\",{allowWhere:\"$text\",isInline:!0}),n.for(\"upcast\").elementToElement({model:\"softBreak\",view:\"br\"}),n.for(\"downcast\").elementToElement({model:\"softBreak\",view:(t,{writer:e})=>e.createEmptyElement(\"br\")}),i.addObserver(dg),t.commands.add(\"shiftEnter\",new Of(t)),this.listenTo(o,\"enter\",((e,n)=>{n.preventDefault(),n.isSoft&&(t.execute(\"shiftEnter\"),i.scrollToTheSelection())}),{priority:\"low\"})}}class Vf extends he{refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,n=e.schema,i=e.document.selection,o=Array.from(i.getSelectedBlocks()),r=void 0===t.forceValue?!this.value:t.forceValue;e.change((t=>{if(r){const e=o.filter((t=>Hf(t)||Gf(n,t)));this._applyQuote(t,e)}else this._removeQuote(t,o.filter(Hf))}))}_getValue(){const t=ca(this.editor.model.document.selection.getSelectedBlocks());return!(!t||!Hf(t))}_checkEnabled(){if(this.value)return!0;const t=this.editor.model.document.selection,e=this.editor.model.schema,n=ca(t.getSelectedBlocks());return!!n&&Gf(e,n)}_removeQuote(t,e){Uf(t,e).reverse().forEach((e=>{if(e.start.isAtStart&&e.end.isAtEnd)return void t.unwrap(e.start.parent);if(e.start.isAtStart){const n=t.createPositionBefore(e.start.parent);return void t.move(e,n)}e.end.isAtEnd||t.split(e.end);const n=t.createPositionAfter(e.end.parent);t.move(e,n)}))}_applyQuote(t,e){const n=[];Uf(t,e).reverse().forEach((e=>{let i=Hf(e.start);i||(i=t.createElement(\"blockQuote\"),t.wrap(e,i)),n.push(i)})),n.reverse().reduce(((e,n)=>e.nextSibling==n?(t.merge(t.createPositionAfter(e)),e):n))}}function Hf(t){return\"blockQuote\"==t.parent.name?t.parent:null}function Uf(t,e){let n,i=0;const o=[];for(;i{const i=t.model.document.differ.getChanges();for(const t of i)if(\"insert\"==t.type){const i=t.position.nodeAfter;if(!i)continue;if(i.is(\"element\",\"blockQuote\")&&i.isEmpty)return n.remove(i),!0;if(i.is(\"element\",\"blockQuote\")&&!e.checkChild(t.position,i))return n.unwrap(i),!0;if(i.is(\"element\")){const t=n.createRangeIn(i);for(const i of t.getItems())if(i.is(\"element\",\"blockQuote\")&&!e.checkChild(n.createPositionBefore(i),i))return n.unwrap(i),!0}}else if(\"remove\"==t.type){const e=t.position.parent;if(e.is(\"element\",\"blockQuote\")&&e.isEmpty)return n.remove(e),!0}return!1}));const n=this.editor.editing.view.document,i=t.model.document.selection,o=t.commands.get(\"blockQuote\");this.listenTo(n,\"enter\",((e,n)=>{if(!i.isCollapsed||!o.value)return;i.getLastPosition().parent.isEmpty&&(t.execute(\"blockQuote\"),t.editing.view.scrollToTheSelection(),n.preventDefault(),e.stop())}),{context:\"blockquote\"}),this.listenTo(n,\"delete\",((e,n)=>{if(\"backward\"!=n.direction||!i.isCollapsed||!o.value)return;const r=i.getLastPosition().parent;r.isEmpty&&!r.previousSibling&&(t.execute(\"blockQuote\"),t.editing.view.scrollToTheSelection(),n.preventDefault(),e.stop())}),{context:\"blockquote\"})}}var Wf=n(636),Kf={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(Wf.Z,Kf);Wf.Z.locals;class $f extends le{static get pluginName(){return\"BlockQuoteUI\"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add(\"blockQuote\",(n=>{const i=t.commands.get(\"blockQuote\"),o=new Wd(n);return o.set({label:e(\"Block quote\"),icon:ad.quote,tooltip:!0,isToggleable:!0}),o.bind(\"isOn\",\"isEnabled\").to(i,\"value\",\"isEnabled\"),this.listenTo(o,\"execute\",(()=>{t.execute(\"blockQuote\"),t.editing.view.focus()})),o}))}}class Yf extends he{constructor(t,e){super(t),this.attributeKey=e}refresh(){const t=this.editor.model,e=t.document;this.value=this._getValueFromFirstAllowedNode(),this.isEnabled=t.schema.checkAttributeInSelection(e.selection,this.attributeKey)}execute(t={}){const e=this.editor.model,n=e.document.selection,i=void 0===t.forceValue?!this.value:t.forceValue;e.change((t=>{if(n.isCollapsed)i?t.setSelectionAttribute(this.attributeKey,!0):t.removeSelectionAttribute(this.attributeKey);else{const o=e.schema.getValidRanges(n.getRanges(),this.attributeKey);for(const e of o)i?t.setAttribute(this.attributeKey,i,e):t.removeAttribute(this.attributeKey,e)}}))}_getValueFromFirstAllowedNode(){const t=this.editor.model,e=t.schema,n=t.document.selection;if(n.isCollapsed)return n.hasAttribute(this.attributeKey);for(const t of n.getRanges())for(const n of t.getItems())if(e.checkAttribute(n,this.attributeKey))return n.hasAttribute(this.attributeKey);return!1}}const Zf=\"bold\";class Qf extends le{static get pluginName(){return\"BoldEditing\"}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:Zf}),t.model.schema.setAttributeProperties(Zf,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:Zf,view:\"strong\",upcastAlso:[\"b\",t=>{const e=t.getStyle(\"font-weight\");return e?\"bold\"==e||Number(e)>=600?{name:!0,styles:[\"font-weight\"]}:void 0:null}]}),t.commands.add(Zf,new Yf(t,Zf)),t.keystrokes.set(\"CTRL+B\",Zf)}}const Jf=\"bold\";class Xf extends le{static get pluginName(){return\"BoldUI\"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add(Jf,(n=>{const i=t.commands.get(Jf),o=new Wd(n);return o.set({label:e(\"Bold\"),icon:' ',keystroke:\"CTRL+B\",tooltip:!0,isToggleable:!0}),o.bind(\"isOn\",\"isEnabled\").to(i,\"value\",\"isEnabled\"),this.listenTo(o,\"execute\",(()=>{t.execute(Jf),t.editing.view.focus()})),o}))}}class tk extends he{execute(){const t=this.editor.model,e=t.document.selection;let n=t.schema.getLimitElement(e);if(e.containsEntireContent(n)||!ek(t.schema,n))do{if(n=n.parent,!n)return}while(!ek(t.schema,n));t.change((t=>{t.setSelection(n,\"in\")}))}}function ek(t,e){return t.isLimit(e)&&(t.checkChild(e,\"$text\")||t.checkChild(e,\"paragraph\"))}const nk=sr(\"Ctrl+A\");class ik extends le{static get pluginName(){return\"SelectAllEditing\"}init(){const t=this.editor,e=t.editing.view.document;t.commands.add(\"selectAll\",new tk(t)),this.listenTo(e,\"keydown\",((e,n)=>{rr(n)===nk&&(t.execute(\"selectAll\"),n.preventDefault())}))}}class ok extends le{static get pluginName(){return\"SelectAllUI\"}init(){const t=this.editor;t.ui.componentFactory.add(\"selectAll\",(e=>{const n=t.commands.get(\"selectAll\"),i=new Wd(e),o=e.t;return i.set({label:o(\"Select all\"),icon:' ',keystroke:\"Ctrl+A\",tooltip:!0}),i.bind(\"isOn\",\"isEnabled\").to(n,\"value\",\"isEnabled\"),this.listenTo(i,\"execute\",(()=>{t.execute(\"selectAll\"),t.editing.view.focus()})),i}))}}class rk extends le{static get requires(){return[ik,ok]}static get pluginName(){return\"SelectAll\"}}var sk=n(1590),ak={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(sk.Z,ak);sk.Z.locals;var ck=n(9289),lk={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(ck.Z,lk);ck.Z.locals;class dk extends fd{constructor(t){super(t);const e=this.bindTemplate;this.set(\"class\"),this.set(\"isEnabled\",!0),this.set(\"isVisible\",!0),this.set(\"isChecked\",!1),this.set(\"label\"),this.set(\"id\",null),this.set(\"tabindex\",-1),this.children=this.createCollection(),this.labelView=this._createLabelView(),this.checkboxInputView=this._createCheckboxInputView(),this.setTemplate({tag:\"div\",attributes:{class:[e.to(\"class\"),e.if(\"isEnabled\",\"ck-disabled\",(t=>!t)),e.if(\"isVisible\",\"ck-hidden\",(t=>!t))],tabindex:e.to(\"tabindex\")},on:{keydown:e.to((t=>{t.target===this.element&&t.keyCode==rr(\"space\")&&(this.isChecked=!this.isChecked)}))},children:this.children})}render(){super.render(),this.children.add(this.checkboxInputView),this.children.add(this.labelView)}focus(){this.element.focus()}_createCheckboxInputView(){const t=new fd,e=this.bindTemplate;return t.setTemplate({tag:\"input\",attributes:{type:\"checkbox\",id:e.to(\"id\"),checked:e.if(\"isChecked\"),disabled:e.if(\"isEnabled\",!0,(t=>!t)),\"aria-disabled\":e.if(\"isEnabled\",!0,(t=>!t))},on:{change:e.to((t=>{this.isChecked=t.target.checked}))}}),t}_createLabelView(){const t=new fd;return t.setTemplate({tag:\"label\",attributes:{for:this.bindTemplate.to(\"id\")},children:[{text:this.bindTemplate.to(\"label\")}]}),t}}class hk extends fd{constructor(t){super(t);const e=t.t;this.set(\"isSearching\"),this.set(\"searchText\",\"\"),this.set(\"replaceText\",\"\"),this.set(\"matchCount\",null),this.set(\"highlightOffset\",null),this.set(\"isCounterHidden\",!0),this.findInputView=this._createInputField(e(\"Find in text…\")),this.findButtonView=this._createButton(e(\"Find\"),\"ck-button-find\"),this.findButtonView.on(\"execute\",(()=>{this.fire(\"findNext\",{searchText:this.searchText,matchCase:this.matchCaseView.isChecked,wholeWords:this.matchWholeWordsView.isChecked})})),this.findPrevButtonView=this._createButton(e(\"Previous result\"),\"ck-button-prev\",rh,!1),this.findPrevButtonView.on(\"execute\",(()=>{this.fire(\"findPrevious\")})),this.findNextButtonView=this._createButton(e(\"Next result\"),\"ck-button-next\",rh,!1),this.findNextButtonView.on(\"execute\",(()=>{this.fire(\"findNext\")})),this.replaceButtonView=this._createButton(e(\"Replace\"),\"ck-button-replace\"),this.replaceButtonView.on(\"execute\",(()=>{this.fire(\"replace\",{searchText:this.searchText,replaceText:this.replaceText})})),this.replaceAllButtonView=this._createButton(e(\"Replace all\"),\"ck-button-replaceall\"),this.replaceAllButtonView.on(\"execute\",(()=>{this.fire(\"replaceAll\",{searchText:this.searchText,replaceText:this.replaceText})})),this.matchCaseView=this._createCheckbox(e(\"Match case\")),this.matchWholeWordsView=this._createCheckbox(e(\"Whole words only\")),this.replaceInputView=this._createInputField(e(\"Replace with…\")),this.findView=this._createFindView(),this.replaceView=this._createReplaceView(),this.focusTracker=new la,this.keystrokes=new da,this._focusables=new hd,this._focusCycler=new th({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}}),this.bind(\"searchText\").to(this.findInputView.fieldView,\"value\"),this.findButtonView.bind(\"isEnabled\").to(this.findInputView.fieldView,\"isEmpty\",(t=>!t)),this.bind(\"replaceText\").to(this.replaceInputView.fieldView,\"value\"),this.replaceButtonView.bind(\"isEnabled\").to(this,\"isSearching\"),this.replaceAllButtonView.bind(\"isEnabled\").to(this,\"isSearching\"),this.bind(\"isCounterHidden\").to(this,\"matchCount\",this,\"highlightOffset\",((t,e)=>null===t||0===t||null===e||0===e)),this.setTemplate({tag:\"form\",attributes:{class:[\"ck\",\"ck-find-and-replace-form\"]},children:[this.findView,this.replaceView]})}render(){super.render(),dd({view:this});[this.findInputView,this.matchCaseView,this.matchWholeWordsView,this.findButtonView,this.findPrevButtonView,this.findNextButtonView,this.replaceInputView,this.replaceAllButtonView,this.replaceButtonView].forEach((t=>{this._focusables.add(t),this.focusTracker.add(t.element)})),this.keystrokes.listenTo(this.element);const t=t=>t.stopPropagation(),e=t=>{t.stopPropagation(),t.preventDefault()};this.keystrokes.set(\"f3\",(t=>{e(t),this.findNextButtonView.fire(\"execute\")})),this.keystrokes.set(\"shift+f3\",(t=>{e(t),this.findPrevButtonView.fire(\"execute\")})),this.keystrokes.set(\"enter\",(t=>{const n=t.target;n.classList.contains(\"ck-input-text\")&&(n.parentElement.parentElement.parentElement.classList.contains(\"ck-find-form__wrapper\")&&this.findButtonView.isEnabled?(this.findButtonView.fire(\"execute\"),e(t)):n.parentElement.parentElement.parentElement.classList.contains(\"ck-replace-form__wrapper\")&&this.replaceButtonView.isEnabled&&(this.replaceButtonView.fire(\"execute\"),e(t)))})),this.keystrokes.set(\"arrowright\",t),this.keystrokes.set(\"arrowleft\",t),this.keystrokes.set(\"arrowup\",t),this.keystrokes.set(\"arrowdown\",t),this.listenTo(this.findInputView.element,\"selectstart\",((t,e)=>{e.stopPropagation()}),{priority:\"high\"}),this.listenTo(this.replaceInputView.element,\"selectstart\",((t,e)=>{e.stopPropagation()}),{priority:\"high\"})}focus(){this._focusCycler.focusFirst()}_createFindView(){const t=new fd,e=this.bindTemplate,n=this.locale.t;return t.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-find-form__wrapper\",\"ck-responsive-form\",e.if(\"isSearching\",\"ck-is-searching\")],tabindex:\"-1\"},children:[this.findInputView,{tag:\"span\",attributes:{class:[\"ck-results-counter\",e.if(\"isCounterHidden\",\"ck-hidden\")]},children:[{text:e.to(\"highlightOffset\")},n(\" of \"),{text:e.to(\"matchCount\")}]},{tag:\"div\",attributes:{class:[\"ck-find-checkboxes\"]},children:[this.matchCaseView,this.matchWholeWordsView]},{tag:\"div\",attributes:{class:[\"ck-find-buttons\"]},children:[this.findButtonView,this.findPrevButtonView,this.findNextButtonView]}]}),t}_createReplaceView(){const t=new fd,e=this.bindTemplate;return t.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-replace-form__wrapper\",\"ck-responsive-form\",e.if(\"isSearching\",\"ck-is-searching\")],tabindex:\"-1\"},children:[this.replaceInputView,{tag:\"div\",attributes:{class:[\"ck-replace-buttons\"]},children:[this.replaceAllButtonView,this.replaceButtonView]}]}),t}_createInputField(t){const e=new nu(this.locale,iu),n=e.fieldView;return n.on(\"input\",(()=>{n.value=n.element.value})),e.label=t,e.render(),e}_createButton(t,e,n,i=!0){const o=new Wd(this.locale);return o.set({label:t,icon:n,withText:i}),o.extendTemplate({attributes:{class:e}}),o}_createCheckbox(t){const e=new dk(this.locale);return e.set({isVisible:!0,tooltip:!0,class:\"ck-find-checkboxes__box\",id:r(),label:t}),e}}class uk extends le{static get pluginName(){return\"FindAndReplaceUI\"}constructor(t){super(t),this.set(\"searchText\"),this.set(\"replaceText\"),this.set(\"isSearching\",!1),this.set(\"matchCount\",null),this.set(\"highlightOffset\",null),this.bind(\"isSearching\").to(this,\"matchCount\",(t=>t>0)),this.formView=null}init(){this.findAndReplacePlugin=this.editor.plugins.get(\"FindAndReplace\");const t=this.editor;t.ui.componentFactory.add(\"findAndReplace\",(e=>{const n=Ph(e,lh),i=new hk(t.locale);if(i.delegate(\"findNext\").to(this),i.delegate(\"findPrevious\").to(this),i.delegate(\"replace\").to(this),i.delegate(\"replaceAll\").to(this),i.bind(\"matchCount\").to(this),i.bind(\"highlightOffset\").to(this),i.bind(\"isSearching\").to(this),this._createToolbarDropdown(n,' ',i),n.panelView.children.add(i),n.on(\"change:isOpen\",((t,e,n)=>{n||this.fire(\"dropdown:closed\")})),this.formView=i,this._state){this.unbind(\"isSearching\");const t=i.findInputView.fieldView;this.bind(\"isSearching\").to(this,\"matchCount\",t,\"value\",this._state,\"searchText\",i.matchCaseView,\"isChecked\",this._state,\"matchCase\",i.matchWholeWordsView,\"isChecked\",this._state,\"matchWholeWords\",((t,e,n,i,o,r,s)=>t>0&&e==n&&i==o&&r==s))}return t.keystrokes.set(\"Ctrl+F\",((t,e)=>{n.buttonView.actionView.fire(\"execute\"),e()})),n}))}_setState(t){this._state=t,this.listenTo(t.results,\"change\",(()=>{this.set(\"matchCount\",t.results.length)})),this.bind(\"highlightOffset\").to(t,\"highlightedResult\",(e=>{if(!e)return null;const n=Array.from(t.results).sort(((t,e)=>({before:-1,same:0,after:1}[t.marker.getStart().compareWith(e.marker.getStart())]))).indexOf(e);return-1===n?null:n+1}))}_createToolbarDropdown(t,e,n){const i=this.editor.locale.t,o=t.buttonView;o.set({icon:e,tooltip:i(\"Find and replace\")}),o.actionView.delegate(\"execute\").to(o.arrowView),o.on(\"open\",(()=>{n.findInputView.fieldView.select(),n.focus()}),{priority:\"low\"})}}function mk(t,e,n,i){const o=i||new yi;return[...t].forEach((({type:t,item:i})=>{if(\"elementStart\"===t&&e.schema.checkChild(i,\"$text\")){const t=n({item:i,text:gk(e.createRangeIn(i))});if(!t)return;t.forEach((t=>{e.change((e=>{const n=`findResult:${r()}`,s=e.addMarker(n,{usingOperation:!1,affectsData:!1,range:e.createRange(e.createPositionAt(i,t.start),e.createPositionAt(i,t.end))}),a=function(t,e){const n=t.find((({marker:t})=>e.getStart().isBefore(t.getStart())));return n?t.getIndex(n):t.length}(o,s);o.add({id:n,label:t.label,marker:s},a)}))}))}})),o}function gk(t){return Array.from(t.getItems()).reduce(((t,e)=>e.is(\"text\")||e.is(\"textProxy\")?t+e.data:`${t}\\n`),\"\")}function pk(t){const e=t.length-1;let n=t.index;return 3===t.length&&(n+=t[1].length),{label:t[e],start:n,end:n+t[e].length}}function fk(t,e){let n=\"gu\";e.matchCase||(n+=\"i\");let i=`(${Yp(t)})`;if(e.wholeWords){const t=\"[^a-zA-ZÀ-ɏḀ-ỿ]\";i=`(^|${t}|_)`+i+`(?:_|${t}|$)`}const o=new RegExp(i,n);return function({text:t}){return[...t.matchAll(o)].map(pk)}}class kk extends he{constructor(t,e){super(t),this.isEnabled=!0,this.state=e,this.listenTo(t,\"change:isReadOnly\",((t,e,n)=>{n&&this.clearForceDisabled(\"readOnlyMode\")}))}execute(t,{matchCase:e,wholeWords:n}={}){const{editor:i}=this,{model:o}=i;let r;\"string\"==typeof t?(r=fk(t,{matchCase:e,wholeWords:n}),this.state.searchText=t):r=t;const s={results:mk(o.createRangeIn(o.document.getRoot()),o,r),findCallback:r};return this.state.clear(o),this.state.results.addMany(Array.from(s.results)),this.state.highlightedResult=s.results.get(0),\"string\"==typeof t&&(this.state.searchText=t),this.state.matchCase=!!e,this.state.matchWholeWords=!!n,s}}class bk extends he{constructor(t,e){super(t),this.isEnabled=!0,this._state=e}execute(t,e){const{model:n}=this.editor;n.change((i=>{const o=e.marker.getRange();let r={};for(const t of o.getItems())if(t.is(\"$text\")||t.is(\"$textProxy\")){r=t.getAttributes();break}n.insertContent(i.createText(t,r),o),this._state.results.has(e)&&this._state.results.remove(e)}))}}class wk extends bk{execute(t,e){const{editor:n}=this,{model:i}=n,o=i.createRangeIn(i.document.getRoot()),r=e instanceof yi?e:mk(o,i,fk(e,this._state));r.length&&this.editor.model.change((()=>{[...r].forEach((e=>{super.execute(t,e)}))}))}}class Ck extends he{constructor(t,e){super(t),this._state=e,this.isEnabled=!1,this.listenTo(this._state.results,\"change\",(()=>{this.isEnabled=this._state.results.length>1})),this.listenTo(t,\"change:isReadOnly\",((t,e,n)=>{n&&this.clearForceDisabled(\"readOnlyMode\")}))}refresh(){this.isEnabled=this._state.results.length>1}execute(){const t=this._state.results,e=t.getIndex(this._state.highlightedResult),n=e+1>=t.length?0:e+1;this._state.highlightedResult=this._state.results.get(n)}}class Ak extends Ck{execute(){const t=this._state.results.getIndex(this._state.highlightedResult),e=t-1<0?this._state.results.length-1:t-1;this._state.highlightedResult=this._state.results.get(e)}}var _k=n(5436),vk={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(_k.Z,vk);_k.Z.locals;class yk{constructor(t){this.set(\"results\",new yi),this.set(\"highlightedResult\",null),this.set(\"searchText\",\"\"),this.set(\"replaceText\",\"\"),this.set(\"matchCase\",!1),this.set(\"matchWholeWords\",!1),this.results.on(\"change\",((e,{removed:n,index:i})=>{if((n=Array.from(n)).length){let e=!1;if(t.change((i=>{for(const o of n)this.highlightedResult===o&&(e=!0),t.markers.has(o.marker.name)&&i.removeMarker(o.marker)})),e){const t=i>=this.results.length?0:i;this.highlightedResult=this.results.get(t)}}}))}clear(t){this.searchText=\"\",t.change((e=>{if(this.highlightedResult){const n=this.highlightedResult.marker.name.split(\":\")[1],i=t.markers.get(`findResultHighlighted:${n}`);i&&e.removeMarker(i)}[...this.results].forEach((({marker:t})=>{e.removeMarker(t)}))})),this.results.clear()}}ce(yk,ne);class xk extends le{static get pluginName(){return\"FindAndReplaceEditing\"}init(){this.activeResults=null,this.state=new yk(this.editor.model),this._defineConverters(),this._defineCommands(),this.listenTo(this.state,\"change:highlightedResult\",((t,e,n,i)=>{const{model:o}=this.editor;o.change((t=>{if(i){const e=i.marker.name.split(\":\")[1],n=o.markers.get(`findResultHighlighted:${e}`);n&&t.removeMarker(n)}if(n){const e=n.marker.name.split(\":\")[1];t.addMarker(`findResultHighlighted:${e}`,{usingOperation:!1,affectsData:!1,range:n.marker.getRange()})}}))}));const t=qs(function(t,e,n){if(n){const t=this.editor.editing.view.domConverter,e=this.editor.editing.mapper.toViewRange(n.marker.getRange());ua({target:t.viewRangeToDom(e),viewportOffset:40})}}.bind(this),32);this.listenTo(this.state,\"change:highlightedResult\",t,{priority:\"low\"}),this.listenTo(this.editor,\"destroy\",t.cancel)}find(t){const{editor:e}=this,{model:n}=e,{findCallback:i,results:o}=e.execute(\"find\",t);return this.activeResults=o,this.listenTo(n.document,\"change:data\",(()=>function(t,e,n){const i=new Set,o=new Set;e.document.differ.getChanges().forEach((t=>{\"$text\"===t.name||e.schema.isInline(t.position.nodeAfter)?(i.add(t.position.parent),[...e.markers.getMarkersAtPosition(t.position)].forEach((t=>{o.add(t.name)}))):\"insert\"===t.type&&i.add(t.position.nodeAfter)})),e.document.differ.getChangedMarkers().forEach((({name:t,data:{newRange:e}})=>{e&&\"$graveyard\"===e.start.root.rootName&&o.add(t)})),i.forEach((t=>{[...e.markers.getMarkersIntersectingRange(e.createRangeIn(t))].forEach((t=>o.add(t.name)))})),e.change((e=>{o.forEach((n=>{t.has(n)&&t.remove(n),e.removeMarker(n)}))})),i.forEach((i=>{mk(e.createRangeOn(i),e,n,t)}))}(this.activeResults,n,i))),this.activeResults}stop(){this.activeResults&&(this.stopListening(this.editor.model.document),this.state.clear(this.editor.model),this.activeResults=null)}_defineCommands(){this.editor.commands.add(\"find\",new kk(this.editor,this.state)),this.editor.commands.add(\"findNext\",new Ck(this.editor,this.state)),this.editor.commands.add(\"findPrevious\",new Ak(this.editor,this.state)),this.editor.commands.add(\"replace\",new bk(this.editor,this.state)),this.editor.commands.add(\"replaceAll\",new wk(this.editor,this.state))}_defineConverters(){const{editor:t}=this;t.conversion.for(\"editingDowncast\").markerToHighlight({model:\"findResult\",view:({markerName:t})=>{const[,e]=t.split(\":\");return{name:\"span\",classes:[\"ck-find-result\"],attributes:{\"data-find-result\":e}}}}),t.conversion.for(\"editingDowncast\").markerToHighlight({model:\"findResultHighlighted\",view:({markerName:t})=>{const[,e]=t.split(\":\");return{name:\"span\",classes:[\"ck-find-result_selected\"],attributes:{\"data-find-result\":e}}}})}}class Ek extends he{constructor(t,e){super(t),this.attributeKey=e}refresh(){const t=this.editor.model,e=t.document;this.value=e.selection.getAttribute(this.attributeKey),this.isEnabled=t.schema.checkAttributeInSelection(e.selection,this.attributeKey)}execute(t={}){const e=this.editor.model,n=e.document.selection,i=t.value;e.change((t=>{if(n.isCollapsed)i?t.setSelectionAttribute(this.attributeKey,i):t.removeSelectionAttribute(this.attributeKey);else{const o=e.schema.getValidRanges(n.getRanges(),this.attributeKey);for(const e of o)i?t.setAttribute(this.attributeKey,i,e):t.removeAttribute(this.attributeKey,e)}}))}}class Dk extends yi{constructor(t){super(t),this.set(\"isEmpty\",!0),this.on(\"change\",(()=>{this.set(\"isEmpty\",0===this.length)}))}add(t,e){this.find((e=>e.color===t.color))||super.add(t,e)}hasColor(t){return!!this.find((e=>e.color===t))}}ce(Dk,ne);var Sk=n(2585),Ik={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(Sk.Z,Ik);Sk.Z.locals;class Tk extends fd{constructor(t,{colors:e,columns:n,removeButtonLabel:i,documentColorsLabel:o,documentColorsCount:r}){super(t),this.items=this.createCollection(),this.colorDefinitions=e,this.focusTracker=new la,this.keystrokes=new da,this.set(\"selectedColor\"),this.removeButtonLabel=i,this.columns=n,this.documentColors=new Dk,this.documentColorsCount=r,this._focusCycler=new th({focusables:this.items,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"arrowup\",focusNext:\"arrowdown\"}}),this._documentColorsLabel=o,this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-color-table\"]},children:this.items}),this.items.add(this._removeColorButton())}updateDocumentColors(t,e){const n=t.document,i=this.documentColorsCount;this.documentColors.clear();for(const o of n.getRootNames()){const r=n.getRoot(o),s=t.createRangeIn(r);for(const t of s.getItems())if(t.is(\"$textProxy\")&&t.hasAttribute(e)&&(this._addColorToDocumentColors(t.getAttribute(e)),this.documentColors.length>=i))return}}updateSelectedColors(){const t=this.documentColorsGrid,e=this.staticColorsGrid,n=this.selectedColor;e.selectedColor=n,t&&(t.selectedColor=n)}render(){super.render();for(const t of this.items)this.focusTracker.add(t.element);this.keystrokes.listenTo(this.element)}appendGrids(){if(!this.staticColorsGrid&&(this.staticColorsGrid=this._createStaticColorsGrid(),this.items.add(this.staticColorsGrid),this.documentColorsCount)){const t=kd.bind(this.documentColors,this.documentColors),e=new Gh(this.locale);e.text=this._documentColorsLabel,e.extendTemplate({attributes:{class:[\"ck\",\"ck-color-grid__label\",t.if(\"isEmpty\",\"ck-hidden\")]}}),this.items.add(e),this.documentColorsGrid=this._createDocumentColorsGrid(),this.items.add(this.documentColorsGrid)}}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}_removeColorButton(){const t=new Wd;return t.set({withText:!0,icon:ad.eraser,tooltip:!0,label:this.removeButtonLabel}),t.class=\"ck-color-table__remove-color\",t.on(\"execute\",(()=>{this.fire(\"execute\",{value:null})})),t}_createStaticColorsGrid(){const t=new oh(this.locale,{colorDefinitions:this.colorDefinitions,columns:this.columns});return t.delegate(\"execute\").to(this),t}_createDocumentColorsGrid(){const t=kd.bind(this.documentColors,this.documentColors),e=new oh(this.locale,{columns:this.columns});return e.delegate(\"execute\").to(this),e.extendTemplate({attributes:{class:t.if(\"isEmpty\",\"ck-hidden\")}}),e.items.bindTo(this.documentColors).using((t=>{const e=new Xd;return e.set({color:t.color,hasBorder:t.options&&t.options.hasBorder}),t.label&&e.set({label:t.label,tooltip:!0}),e.on(\"execute\",(()=>{this.fire(\"execute\",{value:t.color})})),e})),this.documentColors.on(\"change:isEmpty\",((t,n,i)=>{i&&(e.selectedColor=null)})),e}_addColorToDocumentColors(t){const e=this.colorDefinitions.find((e=>e.color===t));e?this.documentColors.add(Object.assign({},e)):this.documentColors.add({color:t,label:t,options:{hasBorder:!1}})}}const Mk=\"fontSize\",Bk=\"fontFamily\",Nk=\"fontColor\",Lk=\"fontBackgroundColor\";function zk(t,e){const n={model:{key:t,values:[]},view:{},upcastAlso:{}};for(const t of e)n.model.values.push(t.model),n.view[t.model]=t.view,t.upcastAlso&&(n.upcastAlso[t.model]=t.upcastAlso);return n}function Pk(t){return e=>e.getStyle(t).replace(/\\s/g,\"\")}function Ok(t){return(e,{writer:n})=>n.createAttributeElement(\"span\",{style:`${t}:${e}`},{priority:7})}class Rk extends Ek{constructor(t){super(t,Lk)}}class Fk extends le{static get pluginName(){return\"FontBackgroundColorEditing\"}constructor(t){super(t),t.config.define(Lk,{colors:[{color:\"hsl(0, 0%, 0%)\",label:\"Black\"},{color:\"hsl(0, 0%, 30%)\",label:\"Dim grey\"},{color:\"hsl(0, 0%, 60%)\",label:\"Grey\"},{color:\"hsl(0, 0%, 90%)\",label:\"Light grey\"},{color:\"hsl(0, 0%, 100%)\",label:\"White\",hasBorder:!0},{color:\"hsl(0, 75%, 60%)\",label:\"Red\"},{color:\"hsl(30, 75%, 60%)\",label:\"Orange\"},{color:\"hsl(60, 75%, 60%)\",label:\"Yellow\"},{color:\"hsl(90, 75%, 60%)\",label:\"Light green\"},{color:\"hsl(120, 75%, 60%)\",label:\"Green\"},{color:\"hsl(150, 75%, 60%)\",label:\"Aquamarine\"},{color:\"hsl(180, 75%, 60%)\",label:\"Turquoise\"},{color:\"hsl(210, 75%, 60%)\",label:\"Light blue\"},{color:\"hsl(240, 75%, 60%)\",label:\"Blue\"},{color:\"hsl(270, 75%, 60%)\",label:\"Purple\"}],columns:5}),t.data.addStyleProcessorRules(vm),t.conversion.for(\"upcast\").elementToAttribute({view:{name:\"span\",styles:{\"background-color\":/[\\s\\S]+/}},model:{key:Lk,value:Pk(\"background-color\")}}),t.conversion.for(\"downcast\").attributeToElement({model:Lk,view:Ok(\"background-color\")}),t.commands.add(Lk,new Rk(t)),t.model.schema.extend(\"$text\",{allowAttributes:Lk}),t.model.schema.setAttributeProperties(Lk,{isFormatting:!0,copyOnEnter:!0})}}class jk extends le{constructor(t,{commandName:e,icon:n,componentName:i,dropdownLabel:o}){super(t),this.commandName=e,this.componentName=i,this.icon=n,this.dropdownLabel=o,this.columns=t.config.get(`${this.componentName}.columns`),this.colorTableView=void 0}init(){const t=this.editor,e=t.locale,n=e.t,i=t.commands.get(this.commandName),o=Zd(e,Qd(t.config.get(this.componentName).colors)),r=t.config.get(`${this.componentName}.documentColors`);t.ui.componentFactory.add(this.componentName,(e=>{const s=Ph(e);return this.colorTableView=function({dropdownView:t,colors:e,columns:n,removeButtonLabel:i,documentColorsLabel:o,documentColorsCount:r}){const s=t.locale,a=new Tk(s,{colors:e,columns:n,removeButtonLabel:i,documentColorsLabel:o,documentColorsCount:r});return t.colorTableView=a,t.panelView.children.add(a),a.delegate(\"execute\").to(t,\"execute\"),a}({dropdownView:s,colors:o.map((t=>({label:t.label,color:t.model,options:{hasBorder:t.hasBorder}}))),columns:this.columns,removeButtonLabel:n(\"Remove color\"),documentColorsLabel:0!==r?n(\"Document colors\"):void 0,documentColorsCount:void 0===r?this.columns:r}),this.colorTableView.bind(\"selectedColor\").to(i,\"value\"),s.buttonView.set({label:this.dropdownLabel,icon:this.icon,tooltip:!0}),s.extendTemplate({attributes:{class:\"ck-color-ui-dropdown\"}}),s.bind(\"isEnabled\").to(i),s.on(\"execute\",((e,n)=>{t.execute(this.commandName,n),t.editing.view.focus()})),s.on(\"change:isOpen\",((e,n,i)=>{s.colorTableView.appendGrids(),i&&(0!==r&&this.colorTableView.updateDocumentColors(t.model,this.componentName),this.colorTableView.updateSelectedColors())})),s}))}}class Vk extends jk{constructor(t){const e=t.locale.t;super(t,{commandName:Lk,componentName:Lk,icon:' ',dropdownLabel:e(\"Font Background Color\")})}static get pluginName(){return\"FontBackgroundColorUI\"}}class Hk extends Ek{constructor(t){super(t,Nk)}}class Uk extends le{static get pluginName(){return\"FontColorEditing\"}constructor(t){super(t),t.config.define(Nk,{colors:[{color:\"hsl(0, 0%, 0%)\",label:\"Black\"},{color:\"hsl(0, 0%, 30%)\",label:\"Dim grey\"},{color:\"hsl(0, 0%, 60%)\",label:\"Grey\"},{color:\"hsl(0, 0%, 90%)\",label:\"Light grey\"},{color:\"hsl(0, 0%, 100%)\",label:\"White\",hasBorder:!0},{color:\"hsl(0, 75%, 60%)\",label:\"Red\"},{color:\"hsl(30, 75%, 60%)\",label:\"Orange\"},{color:\"hsl(60, 75%, 60%)\",label:\"Yellow\"},{color:\"hsl(90, 75%, 60%)\",label:\"Light green\"},{color:\"hsl(120, 75%, 60%)\",label:\"Green\"},{color:\"hsl(150, 75%, 60%)\",label:\"Aquamarine\"},{color:\"hsl(180, 75%, 60%)\",label:\"Turquoise\"},{color:\"hsl(210, 75%, 60%)\",label:\"Light blue\"},{color:\"hsl(240, 75%, 60%)\",label:\"Blue\"},{color:\"hsl(270, 75%, 60%)\",label:\"Purple\"}],columns:5}),t.conversion.for(\"upcast\").elementToAttribute({view:{name:\"span\",styles:{color:/[\\s\\S]+/}},model:{key:Nk,value:Pk(\"color\")}}),t.conversion.for(\"upcast\").elementToAttribute({view:{name:\"font\",attributes:{color:/^#?\\w+$/}},model:{key:Nk,value:t=>t.getAttribute(\"color\")}}),t.conversion.for(\"downcast\").attributeToElement({model:Nk,view:Ok(\"color\")}),t.commands.add(Nk,new Hk(t)),t.model.schema.extend(\"$text\",{allowAttributes:Nk}),t.model.schema.setAttributeProperties(Nk,{isFormatting:!0,copyOnEnter:!0})}}class Gk extends jk{constructor(t){const e=t.locale.t;super(t,{commandName:Nk,componentName:Nk,icon:' ',dropdownLabel:e(\"Font Color\")})}static get pluginName(){return\"FontColorUI\"}}class qk extends Ek{constructor(t){super(t,Bk)}}function Wk(t){return t.map(Kk).filter((t=>!!t))}function Kk(t){return\"object\"==typeof t?t:\"default\"===t?{title:\"Default\",model:void 0}:\"string\"==typeof t?function(t){const e=t.replace(/\"|'/g,\"\").split(\",\"),n=e[0],i=e.map($k).join(\", \");return{title:n,model:i,view:{name:\"span\",styles:{\"font-family\":i},priority:7}}}(t):void 0}function $k(t){return(t=t.trim()).indexOf(\" \")>0&&(t=`'${t}'`),t}class Yk extends le{static get pluginName(){return\"FontFamilyEditing\"}constructor(t){super(t),t.config.define(Bk,{options:[\"default\",\"Arial, Helvetica, sans-serif\",\"Courier New, Courier, monospace\",\"Georgia, serif\",\"Lucida Sans Unicode, Lucida Grande, sans-serif\",\"Tahoma, Geneva, sans-serif\",\"Times New Roman, Times, serif\",\"Trebuchet MS, Helvetica, sans-serif\",\"Verdana, Geneva, sans-serif\"],supportAllValues:!1})}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:Bk}),t.model.schema.setAttributeProperties(Bk,{isFormatting:!0,copyOnEnter:!0});const e=Wk(t.config.get(\"fontFamily.options\")).filter((t=>t.model)),n=zk(Bk,e);t.config.get(\"fontFamily.supportAllValues\")?(this._prepareAnyValueConverters(),this._prepareCompatibilityConverter()):t.conversion.attributeToElement(n),t.commands.add(Bk,new qk(t))}_prepareAnyValueConverters(){const t=this.editor;t.conversion.for(\"downcast\").attributeToElement({model:Bk,view:(t,{writer:e})=>e.createAttributeElement(\"span\",{style:\"font-family:\"+t},{priority:7})}),t.conversion.for(\"upcast\").elementToAttribute({model:{key:Bk,value:t=>t.getStyle(\"font-family\")},view:{name:\"span\",styles:{\"font-family\":/.*/}}})}_prepareCompatibilityConverter(){this.editor.conversion.for(\"upcast\").elementToAttribute({view:{name:\"font\",attributes:{face:/.*/}},model:{key:Bk,value:t=>t.getAttribute(\"face\")}})}}class Zk extends le{static get pluginName(){return\"FontFamilyUI\"}init(){const t=this.editor,e=t.t,n=this._getLocalizedOptions(),i=t.commands.get(Bk);t.ui.componentFactory.add(Bk,(o=>{const r=Ph(o);return Rh(r,function(t,e){const n=new yi;for(const i of t){const t={type:\"button\",model:new su({commandName:Bk,commandParam:i.model,label:i.title,withText:!0})};t.model.bind(\"isOn\").to(e,\"value\",(t=>t===i.model||!(!t||!i.model)&&t.split(\",\")[0].replace(/'/g,\"\").toLowerCase()===i.model.toLowerCase())),i.view&&i.view.styles&&t.model.set(\"labelStyle\",`font-family: ${i.view.styles[\"font-family\"]}`),n.add(t)}return n}(n,i)),r.buttonView.set({label:e(\"Font Family\"),icon:' ',tooltip:!0}),r.extendTemplate({attributes:{class:\"ck-font-family-dropdown\"}}),r.bind(\"isEnabled\").to(i),this.listenTo(r,\"execute\",(e=>{t.execute(e.source.commandName,{value:e.source.commandParam}),t.editing.view.focus()})),r}))}_getLocalizedOptions(){const t=this.editor,e=t.t;return Wk(t.config.get(Bk).options).map((t=>(\"Default\"===t.title&&(t.title=e(\"Default\")),t)))}}class Qk extends Ek{constructor(t){super(t,Mk)}}function Jk(t){return t.map((t=>function(t){if(e=t,\"object\"==typeof e&&e.title&&e.model&&e.view)return tb(t);var e;const n=function(t){return Xk[t]||Xk[t.model]}(t);if(n)return tb(n);if(\"default\"===t)return{model:void 0,title:\"Default\"};if(function(t){let e;if(\"object\"==typeof t){if(!t.model)throw new a(\"font-size-invalid-definition\",null,t);e=parseFloat(t.model)}else e=parseFloat(t);return isNaN(e)}(t))return;return function(t){\"number\"!=typeof t&&\"string\"!=typeof t||(t={title:String(t),model:`${parseFloat(t)}px`});return t.view={name:\"span\",styles:{\"font-size\":t.model}},tb(t)}(t)}(t))).filter((t=>!!t))}const Xk={get tiny(){return{title:\"Tiny\",model:\"tiny\",view:{name:\"span\",classes:\"text-tiny\",priority:7}}},get small(){return{title:\"Small\",model:\"small\",view:{name:\"span\",classes:\"text-small\",priority:7}}},get big(){return{title:\"Big\",model:\"big\",view:{name:\"span\",classes:\"text-big\",priority:7}}},get huge(){return{title:\"Huge\",model:\"huge\",view:{name:\"span\",classes:\"text-huge\",priority:7}}}};function tb(t){return t.view.priority||(t.view.priority=7),t}const eb=[\"x-small\",\"x-small\",\"small\",\"medium\",\"large\",\"x-large\",\"xx-large\",\"xxx-large\"];class nb extends le{static get pluginName(){return\"FontSizeEditing\"}constructor(t){super(t),t.config.define(Mk,{options:[\"tiny\",\"small\",\"default\",\"big\",\"huge\"],supportAllValues:!1})}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:Mk}),t.model.schema.setAttributeProperties(Mk,{isFormatting:!0,copyOnEnter:!0});const e=t.config.get(\"fontSize.supportAllValues\"),n=Jk(this.editor.config.get(\"fontSize.options\")).filter((t=>t.model)),i=zk(Mk,n);e?(this._prepareAnyValueConverters(i),this._prepareCompatibilityConverter()):t.conversion.attributeToElement(i),t.commands.add(Mk,new Qk(t))}_prepareAnyValueConverters(t){const e=this.editor,n=t.model.values.filter((t=>!cm(String(t))&&!dm(String(t))));if(n.length)throw new a(\"font-size-invalid-use-of-named-presets\",null,{presets:n});e.conversion.for(\"downcast\").attributeToElement({model:Mk,view:(t,{writer:e})=>{if(t)return e.createAttributeElement(\"span\",{style:\"font-size:\"+t},{priority:7})}}),e.conversion.for(\"upcast\").elementToAttribute({model:{key:Mk,value:t=>t.getStyle(\"font-size\")},view:{name:\"span\",styles:{\"font-size\":/.*/}}})}_prepareCompatibilityConverter(){this.editor.conversion.for(\"upcast\").elementToAttribute({view:{name:\"font\",attributes:{size:/^[+-]?\\d{1,3}$/}},model:{key:Mk,value:t=>{const e=t.getAttribute(\"size\"),n=\"-\"===e[0]||\"+\"===e[0];let i=parseInt(e,10);n&&(i=3+i);const o=eb.length-1,r=Math.min(Math.max(i,0),o);return eb[r]}}})}}var ib=n(6203),ob={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(ib.Z,ob);ib.Z.locals;class rb extends le{static get pluginName(){return\"FontSizeUI\"}init(){const t=this.editor,e=t.t,n=this._getLocalizedOptions(),i=t.commands.get(Mk);t.ui.componentFactory.add(Mk,(o=>{const r=Ph(o);return Rh(r,function(t,e){const n=new yi;for(const i of t){const t={type:\"button\",model:new su({commandName:Mk,commandParam:i.model,label:i.title,class:\"ck-fontsize-option\",withText:!0})};i.view&&i.view.styles&&t.model.set(\"labelStyle\",`font-size:${i.view.styles[\"font-size\"]}`),i.view&&i.view.classes&&t.model.set(\"class\",`${t.model.class} ${i.view.classes}`),t.model.bind(\"isOn\").to(e,\"value\",(t=>t===i.model)),n.add(t)}return n}(n,i)),r.buttonView.set({label:e(\"Font Size\"),icon:' ',tooltip:!0}),r.extendTemplate({attributes:{class:[\"ck-font-size-dropdown\"]}}),r.bind(\"isEnabled\").to(i),this.listenTo(r,\"execute\",(e=>{t.execute(e.source.commandName,{value:e.source.commandParam}),t.editing.view.focus()})),r}))}_getLocalizedOptions(){const t=this.editor,e=t.t,n={Default:e(\"Default\"),Tiny:e(\"Tiny\"),Small:e(\"Small\"),Big:e(\"Big\"),Huge:e(\"Huge\")};return Jk(t.config.get(Mk).options).map((t=>{const e=n[t.title];return e&&e!=t.title&&(t=Object.assign({},t,{title:e})),t}))}}const sb=[{model:\"heading1\",view:\"h2\"},{model:\"heading2\",view:\"h3\"},{model:\"heading3\",view:\"h4\"},{model:\"codeBlock\",view:\"pre\"},{model:\"paragraph\",view:\"p\"},{model:\"blockQuote\",view:\"blockquote\"},{model:\"listItem\",view:\"li\"},{model:\"pageBreak\",view:\"div\"},{model:\"rawHtml\",view:\"div\"},{model:\"$htmlSection\",modelSchema:{allowChildren:\"$block\",allowIn:[\"$root\",\"$htmlSection\"],isBlock:!0}},{model:\"htmlP\",view:\"p\",modelSchema:{inheritAllFrom:\"$block\"}},{model:\"htmlBlockquote\",view:\"blockquote\",modelSchema:{inheritAllFrom:\"$htmlSection\"}},{model:\"htmlTable\",view:\"table\",modelSchema:{allowIn:[\"$htmlSection\",\"$root\"],isBlock:!0}},{model:\"htmlTbody\",view:\"tbody\",modelSchema:{allowIn:\"htmlTable\",isBlock:!0}},{model:\"htmlThead\",view:\"thead\",modelSchema:{allowIn:\"htmlTable\",isBlock:!0}},{model:\"htmlTfoot\",view:\"tfoot\",modelSchema:{allowIn:\"htmlTable\",isBlock:!0}},{model:\"htmlCaption\",view:\"caption\",modelSchema:{allowIn:\"htmlTable\",allowChildren:\"$text\",isBlock:!0}},{model:\"htmlTr\",view:\"tr\",modelSchema:{allowIn:[\"htmlTable\",\"htmlThead\",\"htmlTbody\"],isBlock:!0}},{model:\"htmlTd\",view:\"td\",modelSchema:{allowIn:\"htmlTr\",allowChildren:[\"$block\",\"$htmlSection\"],isBlock:!0}},{model:\"htmlTh\",view:\"th\",modelSchema:{allowIn:\"htmlTr\",allowChildren:[\"$block\",\"$htmlSection\"],isBlock:!0}},{model:\"htmlFigure\",view:\"figure\",modelSchema:{inheritAllFrom:\"$htmlSection\",isBlock:!0}},{model:\"htmlFigcaption\",view:\"figcaption\",modelSchema:{allowIn:\"htmlFigure\",allowChildren:\"$text\",isBlock:!0}},{model:\"htmlAddress\",view:\"address\",modelSchema:{inheritAllFrom:\"$htmlSection\"}},{model:\"htmlAside\",view:\"aside\",modelSchema:{inheritAllFrom:\"$htmlSection\"}},{model:\"htmlMain\",view:\"main\",modelSchema:{inheritAllFrom:\"$htmlSection\"}},{model:\"htmlDetails\",view:\"details\",modelSchema:{inheritAllFrom:\"$htmlSection\"}},{model:\"htmlSumary\",view:\"summary\",modelSchema:{allowChildren:\"$text\",allowIn:\"htmlDetails\",isBlock:!0}},{model:\"htmlDiv\",view:\"div\",modelSchema:{inheritAllFrom:\"$htmlSection\"}},{model:\"htmlFieldset\",view:\"fieldset\",modelSchema:{inheritAllFrom:\"$htmlSection\"}},{model:\"htmlLegend\",view:\"legend\",modelSchema:{allowIn:\"htmlFieldset\",allowChildren:\"$text\"}},{model:\"htmlHeader\",view:\"header\",modelSchema:{inheritAllFrom:\"$htmlSection\"}},{model:\"htmlFooter\",view:\"footer\",modelSchema:{inheritAllFrom:\"$htmlSection\"}},{model:\"htmlForm\",view:\"form\",modelSchema:{inheritAllFrom:\"$htmlSection\"}},{model:\"htmlHgroup\",view:\"hgroup\",modelSchema:{allowChildren:[\"htmlHeading1\",\"htmlHeading2\",\"htmlHeading3\",\"htmlHeading4\",\"htmlHeading5\",\"htmlHeading6\",\"heading1\",\"heading2\",\"heading3\"],isBlock:!0}},{model:\"htmlH1\",view:\"h1\",modelSchema:{inheritAllFrom:\"$block\"}},{model:\"htmlH2\",view:\"h2\",modelSchema:{inheritAllFrom:\"$block\"}},{model:\"htmlH3\",view:\"h3\",modelSchema:{inheritAllFrom:\"$block\"}},{model:\"htmlH4\",view:\"h4\",modelSchema:{inheritAllFrom:\"$block\"}},{model:\"htmlH5\",view:\"h5\",modelSchema:{inheritAllFrom:\"$block\"}},{model:\"htmlH6\",view:\"h6\",modelSchema:{inheritAllFrom:\"$block\"}},{model:\"$htmlList\",modelSchema:{allowWhere:\"$htmlSection\",allowChildren:[\"$htmlList\",\"htmlLi\"],isBlock:!0}},{model:\"htmlDir\",view:\"dir\",modelSchema:{inheritAllFrom:\"$htmlList\"}},{model:\"htmlMenu\",view:\"menu\",modelSchema:{inheritAllFrom:\"$htmlList\"}},{model:\"htmlUl\",view:\"ul\",modelSchema:{inheritAllFrom:\"$htmlList\"}},{model:\"htmlOl\",view:\"ol\",modelSchema:{inheritAllFrom:\"$htmlList\"}},{model:\"htmlLi\",view:\"li\",modelSchema:{allowIn:\"$htmlList\",allowChildren:\"$text\",isBlock:!0}},{model:\"htmlPre\",view:\"pre\",modelSchema:{inheritAllFrom:\"$block\"}},{model:\"htmlArticle\",view:\"article\",modelSchema:{inheritAllFrom:\"$htmlSection\"}},{model:\"htmlSection\",view:\"section\",modelSchema:{inheritAllFrom:\"$htmlSection\"}},{model:\"htmlNav\",view:\"nav\",modelSchema:{inheritAllFrom:\"$htmlSection\"}},{model:\"htmlDl\",view:\"dl\",modelSchema:{allowIn:[\"$htmlSection\",\"$root\"],allowChildren:[\"htmlDt\",\"htmlDd\"],isBlock:!0}},{model:\"htmlDt\",view:\"dt\",modelSchema:{allowChildren:\"$block\",isBlock:!0}},{model:\"htmlDd\",view:\"dd\",modelSchema:{allowChildren:\"$block\",isBlock:!0}},{model:\"htmlCenter\",view:\"center\",modelSchema:{inheritAllFrom:\"$htmlSection\"}},{model:\"$htmlObjectBlock\",isObject:!0,modelSchema:{isObject:!0,isBlock:!0,allowWhere:\"$block\"}}],ab=[{model:\"htmlAcronym\",view:\"acronym\",attributeProperties:{copyOnEnter:!0}},{model:\"htmlTt\",view:\"tt\",attributeProperties:{copyOnEnter:!0}},{model:\"htmlFont\",view:\"font\",attributeProperties:{copyOnEnter:!0}},{model:\"htmlTime\",view:\"time\",attributeProperties:{copyOnEnter:!0}},{model:\"htmlVar\",view:\"var\",attributeProperties:{copyOnEnter:!0}},{model:\"htmlBig\",view:\"big\",attributeProperties:{copyOnEnter:!0}},{model:\"htmlSmall\",view:\"small\",attributeProperties:{copyOnEnter:!0}},{model:\"htmlSamp\",view:\"samp\",attributeProperties:{copyOnEnter:!0}},{model:\"htmlQ\",view:\"q\",attributeProperties:{copyOnEnter:!0}},{model:\"htmlOutput\",view:\"output\",attributeProperties:{copyOnEnter:!0}},{model:\"htmlKbd\",view:\"kbd\",attributeProperties:{copyOnEnter:!0}},{model:\"htmlBdi\",view:\"bdi\",attributeProperties:{copyOnEnter:!0}},{model:\"htmlBdo\",view:\"bdo\",attributeProperties:{copyOnEnter:!0}},{model:\"htmlAbbr\",view:\"abbr\",attributeProperties:{copyOnEnter:!0}},{model:\"htmlA\",view:\"a\",priority:5,attributeProperties:{copyOnEnter:!0}},{model:\"htmlStrong\",view:\"strong\",attributeProperties:{copyOnEnter:!0}},{model:\"htmlB\",view:\"b\",attributeProperties:{copyOnEnter:!0}},{model:\"htmlI\",view:\"i\",attributeProperties:{copyOnEnter:!0}},{model:\"htmlEm\",view:\"em\",attributeProperties:{copyOnEnter:!0}},{model:\"htmlS\",view:\"s\",attributeProperties:{copyOnEnter:!0}},{model:\"htmlDel\",view:\"del\",attributeProperties:{copyOnEnter:!0}},{model:\"htmlIns\",view:\"ins\",attributeProperties:{copyOnEnter:!0}},{model:\"htmlU\",view:\"u\",attributeProperties:{copyOnEnter:!0}},{model:\"htmlSub\",view:\"sub\",attributeProperties:{copyOnEnter:!0}},{model:\"htmlSup\",view:\"sup\",attributeProperties:{copyOnEnter:!0}},{model:\"htmlCode\",view:\"code\",attributeProperties:{copyOnEnter:!0}},{model:\"htmlMark\",view:\"mark\",attributeProperties:{copyOnEnter:!0}},{model:\"htmlSpan\",view:\"span\",attributeProperties:{copyOnEnter:!0}},{model:\"htmlCite\",view:\"cite\",attributeProperties:{copyOnEnter:!0}},{model:\"htmlLabel\",view:\"label\",attributeProperties:{copyOnEnter:!0}},{model:\"htmlDfn\",view:\"dfn\",attributeProperties:{copyOnEnter:!0}},{model:\"$htmlObjectInline\",isObject:!0,modelSchema:{isObject:!0,isInline:!0,allowWhere:\"$text\",allowAttributesOf:\"$text\"}},{model:\"htmlObject\",view:\"object\",isObject:!0,modelSchema:{inheritAllFrom:\"$htmlObjectInline\"}},{model:\"htmlIframe\",view:\"iframe\",isObject:!0,modelSchema:{inheritAllFrom:\"$htmlObjectInline\"}},{model:\"htmlInput\",view:\"input\",isObject:!0,modelSchema:{inheritAllFrom:\"$htmlObjectInline\"}},{model:\"htmlButton\",view:\"button\",isObject:!0,modelSchema:{inheritAllFrom:\"$htmlObjectInline\"}},{model:\"htmlTextarea\",view:\"textarea\",isObject:!0,modelSchema:{inheritAllFrom:\"$htmlObjectInline\"}},{model:\"htmlSelect\",view:\"select\",isObject:!0,modelSchema:{inheritAllFrom:\"$htmlObjectInline\"}},{model:\"htmlVideo\",view:\"video\",isObject:!0,modelSchema:{inheritAllFrom:\"$htmlObjectInline\"}},{model:\"htmlEmbed\",view:\"embed\",isObject:!0,modelSchema:{inheritAllFrom:\"$htmlObjectInline\"}},{model:\"htmlAudio\",view:\"audio\",isObject:!0,modelSchema:{inheritAllFrom:\"$htmlObjectInline\"}},{model:\"htmlImg\",view:\"img\",isObject:!0,modelSchema:{inheritAllFrom:\"$htmlObjectInline\"}},{model:\"htmlCanvas\",view:\"canvas\",isObject:!0,modelSchema:{inheritAllFrom:\"$htmlObjectInline\"}},{model:\"htmlMeter\",view:\"meter\",isObject:!0,modelSchema:{inheritAllFrom:\"$htmlObjectInline\"}},{model:\"htmlProgress\",view:\"progress\",isObject:!0,modelSchema:{inheritAllFrom:\"$htmlObjectInline\"}}];class cb extends le{constructor(t){super(t),this._definitions=new Map}static get pluginName(){return\"DataSchema\"}init(){for(const t of sb)this.registerBlockElement(t);for(const t of ab)this.registerInlineElement(t)}registerBlockElement(t){this._definitions.set(t.model,{...t,isBlock:!0})}registerInlineElement(t){this._definitions.set(t.model,{...t,isInline:!0})}getDefinitionsForView(t,e){const n=new Set;for(const i of this._getMatchingViewDefinitions(t)){if(e)for(const t of this._getReferences(i.model))n.add(t);n.add(i)}return n}_getMatchingViewDefinitions(t){return Array.from(this._definitions.values()).filter((e=>e.view&&function(t,e){if(\"string\"==typeof t)return t===e;if(t instanceof RegExp)return t.test(e);return!1}(t,e.view)))}*_getReferences(t){const{modelSchema:e}=this._definitions.get(t);if(!e)return;const n=[\"inheritAllFrom\",\"inheritTypesFrom\",\"allowWhere\",\"allowContentOf\",\"allowAttributesOf\"];for(const i of n)for(const n of Ei(e[i]||[])){const e=this._definitions.get(n);n!==t&&e&&(yield*this._getReferences(e.model),yield e)}}}function lb(t,e,n){if(e.attributes)for(const[i,o]of Object.entries(e.attributes))t.setAttribute(i,o,n);e.styles&&t.setStyle(e.styles,n),e.classes&&t.addClass(e.classes,n)}function db(t,e){const n=ec(t);for(const i in e)Array.isArray(e[i])?n[i]=Array.from(new Set([...t[i],...e[i]])):n[i]={...t[i],...e[i]};return n}function hb({view:t},e){return n=>{n.on(`element:${t}`,((t,n,i)=>{e._consumeDisallowedAttributes(n.viewItem,i)}),{priority:\"high\"})}}function ub({model:t}){return(e,n)=>n.writer.createElement(t,{htmlContent:e.getCustomProperty(\"$rawContent\")})}function mb(t,{view:e,isInline:n}){const i=t.t;return(t,{writer:o,consumable:r})=>{const s=i(\"HTML object\"),a=o.createContainerElement(n?\"span\":\"div\",{class:\"html-object-embed\",\"data-html-object-embed-label\":s},{isAllowedInsideAttributeElement:n}),c=gb(e,t,o);o.addClass(\"html-object-embed__content\",c);const l=t.getAttribute(\"htmlAttributes\");return l&&r.consume(t,`attribute:htmlAttributes:${t.name}`)&&lb(o,l,c),o.insert(o.createPositionAt(a,0),c),vg(a,o,{widgetLabel:s})}}function gb(t,e,n){return n.createRawElement(t,null,(function(t){t.innerHTML=e.getAttribute(\"htmlContent\")}))}function pb({priority:t,view:e}){return(n,i)=>{if(!n)return;const{writer:o}=i,r=o.createAttributeElement(e,null,{priority:t});return lb(o,n,r),r}}function fb({view:t},e){return n=>{n.on(`element:${t}`,((t,n,i)=>{if(!n.modelRange)return;const o=e._consumeAllowedAttributes(n.viewItem,i);o&&i.writer.setAttribute(\"htmlAttributes\",o,n.modelRange)}),{priority:\"low\"})}}function kb({model:t}){return e=>{e.on(`attribute:htmlAttributes:${t}`,((t,e,n)=>{const i=e.attributeNewValue;if(!n.consumable.consume(e.item,t.name))return;lb(n.writer,i,n.mapper.toViewElement(e.item))}))}}const bb=function(t,e,n,i){for(var o=t.length,r=n+(i?1:-1);i?r--:++r-1;)a!==t&&vb.call(a,c,1),vb.call(t,c,1);return t};const xb=ut((function(t,e){return t&&t.length&&e&&e.length?yb(t,e):t}));var Eb=n(8468),Db={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(Eb.Z,Db);Eb.Z.locals;class Sb extends le{constructor(t){super(t),this._dataSchema=t.plugins.get(\"DataSchema\"),this._allowedAttributes=new Fi,this._disallowedAttributes=new Fi,this._allowedElements=new Set,this._dataInitialized=!1,this._registerElementsAfterInit(),this._registerElementHandlers()}static get pluginName(){return\"DataFilter\"}static get requires(){return[cb,$g]}loadAllowedConfig(t){this._loadConfig(t,(t=>this.allowAttributes(t)))}loadDisallowedConfig(t){this._loadConfig(t,(t=>this.disallowAttributes(t)))}allowElement(t){for(const e of this._dataSchema.getDefinitionsForView(t,!0))this._allowedElements.has(e)||(this._allowedElements.add(e),this._dataInitialized&&this._fireRegisterEvent(e))}allowAttributes(t){this._allowedAttributes.add(t)}disallowAttributes(t){this._disallowedAttributes.add(t)}_loadConfig(t,e){for(const n of t){const t=n.name||/[\\s\\S]+/;this.allowElement(t),Nb(n).forEach(e)}}_consumeAllowedAttributes(t,e){return Ib(t,e,this._allowedAttributes)}_consumeDisallowedAttributes(t,e){return Ib(t,e,this._disallowedAttributes)}_registerElementsAfterInit(){this.editor.data.on(\"init\",(()=>{this._dataInitialized=!0;for(const t of this._allowedElements)this._fireRegisterEvent(t)}),{priority:s.get(\"high\")+1})}_registerElementHandlers(){this.on(\"register\",((t,e)=>{const n=this.editor.model.schema;if(e.isObject&&!n.isRegistered(e.model))this._registerObjectElement(e);else if(e.isBlock)this._registerBlockElement(e);else{if(!e.isInline)throw new a(\"data-filter-invalid-definition\",null,e);this._registerInlineElement(e)}t.stop()}),{priority:\"lowest\"})}_fireRegisterEvent(t){this.fire(t.view?`register:${t.view}`:\"register\",t)}_registerObjectElement(t){const e=this.editor,n=e.model.schema,i=e.conversion,{view:o,model:r}=t;n.register(r,t.modelSchema),o&&(n.extend(t.model,{allowAttributes:[\"htmlAttributes\",\"htmlContent\"]}),e.data.registerRawContentMatcher({name:o}),i.for(\"upcast\").add(hb(t,this)),i.for(\"upcast\").elementToElement({view:o,model:ub(t),converterPriority:s.get(\"low\")+1}),i.for(\"upcast\").add(fb(t,this)),i.for(\"editingDowncast\").elementToElement({model:r,view:mb(e,t)}),i.for(\"dataDowncast\").elementToElement({model:r,view:(t,{writer:e})=>gb(o,t,e)}),i.for(\"dataDowncast\").add(kb(t)))}_registerBlockElement(t){const e=this.editor,n=e.model.schema,i=e.conversion,{view:o,model:r}=t;if(!n.isRegistered(t.model)){if(n.register(t.model,t.modelSchema),!o)return;i.for(\"upcast\").elementToElement({model:r,view:o,converterPriority:s.get(\"low\")+1}),i.for(\"downcast\").elementToElement({model:r,view:o})}o&&(n.extend(t.model,{allowAttributes:\"htmlAttributes\"}),i.for(\"upcast\").add(hb(t,this)),i.for(\"upcast\").add(fb(t,this)),i.for(\"downcast\").add(kb(t)))}_registerInlineElement(t){const e=this.editor,n=e.model.schema,i=e.conversion,o=t.model;n.extend(\"$text\",{allowAttributes:o}),t.attributeProperties&&n.setAttributeProperties(o,t.attributeProperties),i.for(\"upcast\").add(hb(t,this)),i.for(\"upcast\").add(function({view:t,model:e},n){return i=>{i.on(`element:${t}`,((t,i,o)=>{const r=n._consumeAllowedAttributes(i.viewItem,o);i.modelRange||(i=Object.assign(i,o.convertChildren(i.viewItem,i.modelCursor)));for(const t of i.modelRange.getItems())if(o.schema.checkAttribute(t,e)){const n=db(r||{},t.getAttribute(e)||{});o.writer.setAttribute(e,n,t)}}),{priority:\"low\"})}}(t,this)),i.for(\"downcast\").attributeToElement({model:o,view:pb(t)})}}function Ib(t,e,n){const i=function(t,{consumable:e},n){const i=n.matchAll(t)||[],o=[];for(const n of i)Tb(e,t,n),delete n.match.name,e.consume(t,n.match)&&o.push(n);return o}(t,e,n),{attributes:o,styles:r,classes:s}=function(t){const e={attributes:new Set,classes:new Set,styles:new Set};for(const n of t)for(const t in e){(n.match[t]||[]).forEach((n=>e[t].add(n)))}return e}(i),a={};return o.size&&(a.attributes=Mb(o,(e=>t.getAttribute(e)))),r.size&&(a.styles=Mb(r,(e=>t.getStyle(e)))),s.size&&(a.classes=Array.from(s)),Object.keys(a).length?a:null}function Tb(t,e,n){for(const i of[\"attributes\",\"classes\",\"styles\"]){const o=n.match[i];if(o)for(const n of o)t.test(e,{[i]:[n]})||xb(o,n)}}function Mb(t,e){const n={};for(const i of t){void 0!==e(i)&&(n[i]=e(i))}return n}function Bb(t,e){const{name:n}=t;return Ae(t[e])?Object.entries(t[e]).map((([t,i])=>({name:n,[e]:{[t]:i}}))):Array.isArray(t[e])?t[e].map((t=>({name:n,[e]:[t]}))):[t]}function Nb(t){const{name:e,attributes:n,classes:i,styles:o}=t,r=[];return n&&r.push(...Bb({name:e,attributes:n},\"attributes\")),i&&r.push(...Bb({name:e,classes:i},\"classes\")),o&&r.push(...Bb({name:e,styles:o},\"styles\")),r}class Lb extends le{static get requires(){return[Sb]}init(){if(!this.editor.plugins.has(\"CodeBlockEditing\"))return;const t=this.editor.plugins.get(Sb);t.on(\"register:pre\",((e,n)=>{if(\"codeBlock\"!==n.model)return;const i=this.editor,o=i.model.schema,r=i.conversion;o.extend(\"codeBlock\",{allowAttributes:[\"htmlAttributes\",\"htmlContentAttributes\"]}),r.for(\"upcast\").add(hb(n,t)),r.for(\"upcast\").add(function(t){return e=>{e.on(\"element:code\",((e,n,i)=>{const o=n.viewItem,r=o.parent;function s(e,o){const r=t._consumeAllowedAttributes(e,i);r&&i.writer.setAttribute(o,r,n.modelRange)}r&&r.is(\"element\",\"pre\")&&(s(r,\"htmlAttributes\"),s(o,\"htmlContentAttributes\"))}),{priority:\"low\"})}}(t)),r.for(\"downcast\").add((t=>{t.on(\"attribute:htmlAttributes:codeBlock\",((t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const i=n.mapper.toViewElement(e.item).parent;lb(n.writer,e.attributeNewValue,i)})),t.on(\"attribute:htmlContentAttributes:codeBlock\",((t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const i=n.mapper.toViewElement(e.item);lb(n.writer,e.attributeNewValue,i)}))})),e.stop()}))}}class zb extends he{refresh(){const t=this.editor.model,e=ca(t.document.selection.getSelectedBlocks());this.value=!!e&&e.is(\"element\",\"paragraph\"),this.isEnabled=!!e&&Pb(e,t.schema)}execute(t={}){const e=this.editor.model,n=e.document;e.change((i=>{const o=(t.selection||n.selection).getSelectedBlocks();for(const t of o)!t.is(\"element\",\"paragraph\")&&Pb(t,e.schema)&&i.rename(t,\"paragraph\")}))}}function Pb(t,e){return e.checkChild(t.parent,\"paragraph\")&&!e.isObject(t)}class Ob extends he{execute(t){const e=this.editor.model;let n=t.position;e.change((t=>{const i=t.createElement(\"paragraph\");if(!e.schema.checkChild(n.parent,i)){const o=e.schema.findAllowedParent(n,i);if(!o)return;n=t.split(n,o).position}e.insertContent(i,n),t.setSelection(i,\"in\")}))}}class Rb extends le{static get pluginName(){return\"Paragraph\"}init(){const t=this.editor,e=t.model;t.commands.add(\"paragraph\",new zb(t)),t.commands.add(\"insertParagraph\",new Ob(t)),e.schema.register(\"paragraph\",{inheritAllFrom:\"$block\"}),t.conversion.elementToElement({model:\"paragraph\",view:\"p\"}),t.conversion.for(\"upcast\").elementToElement({model:(t,{writer:e})=>Rb.paragraphLikeElements.has(t.name)?t.isEmpty?null:e.createElement(\"paragraph\"):null,view:/.+/,converterPriority:\"low\"})}}Rb.paragraphLikeElements=new Set([\"blockquote\",\"dd\",\"div\",\"dt\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"li\",\"p\",\"td\",\"th\"]);class Fb extends he{constructor(t,e){super(t),this.modelElements=e}refresh(){const t=ca(this.editor.model.document.selection.getSelectedBlocks());this.value=!!t&&this.modelElements.includes(t.name)&&t.name,this.isEnabled=!!t&&this.modelElements.some((e=>jb(t,e,this.editor.model.schema)))}execute(t){const e=this.editor.model,n=e.document,i=t.value;e.change((t=>{const o=Array.from(n.selection.getSelectedBlocks()).filter((t=>jb(t,i,e.schema)));for(const e of o)e.is(\"element\",i)||t.rename(e,i)}))}}function jb(t,e,n){return n.checkChild(t.parent,e)&&!n.isObject(t)}const Vb=\"paragraph\";class Hb extends le{static get pluginName(){return\"HeadingEditing\"}constructor(t){super(t),t.config.define(\"heading\",{options:[{model:\"paragraph\",title:\"Paragraph\",class:\"ck-heading_paragraph\"},{model:\"heading1\",view:\"h2\",title:\"Heading 1\",class:\"ck-heading_heading1\"},{model:\"heading2\",view:\"h3\",title:\"Heading 2\",class:\"ck-heading_heading2\"},{model:\"heading3\",view:\"h4\",title:\"Heading 3\",class:\"ck-heading_heading3\"}]})}static get requires(){return[Rb]}init(){const t=this.editor,e=t.config.get(\"heading.options\"),n=[];for(const i of e)i.model!==Vb&&(t.model.schema.register(i.model,{inheritAllFrom:\"$block\"}),t.conversion.elementToElement(i),n.push(i.model));this._addDefaultH1Conversion(t),t.commands.add(\"heading\",new Fb(t,n))}afterInit(){const t=this.editor,e=t.commands.get(\"enter\"),n=t.config.get(\"heading.options\");e&&this.listenTo(e,\"afterExecute\",((e,i)=>{const o=t.model.document.selection.getFirstPosition().parent;n.some((t=>o.is(\"element\",t.model)))&&!o.is(\"element\",Vb)&&0===o.childCount&&i.writer.rename(o,Vb)}))}_addDefaultH1Conversion(t){t.conversion.for(\"upcast\").elementToElement({model:\"heading1\",view:\"h1\",converterPriority:s.get(\"low\")+1})}}var Ub=n(3230),Gb={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(Ub.Z,Gb);Ub.Z.locals;class qb extends le{static get pluginName(){return\"HeadingUI\"}init(){const t=this.editor,e=t.t,n=function(t){const e=t.t,n={Paragraph:e(\"Paragraph\"),\"Heading 1\":e(\"Heading 1\"),\"Heading 2\":e(\"Heading 2\"),\"Heading 3\":e(\"Heading 3\"),\"Heading 4\":e(\"Heading 4\"),\"Heading 5\":e(\"Heading 5\"),\"Heading 6\":e(\"Heading 6\")};return t.config.get(\"heading.options\").map((t=>{const e=n[t.title];return e&&e!=t.title&&(t.title=e),t}))}(t),i=e(\"Choose heading\"),o=e(\"Heading\");t.ui.componentFactory.add(\"heading\",(e=>{const r={},s=new yi,a=t.commands.get(\"heading\"),c=t.commands.get(\"paragraph\"),l=[a];for(const t of n){const e={type:\"button\",model:new su({label:t.title,class:t.class,withText:!0})};\"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\",(e=>e===t.model)),e.model.set({commandName:\"heading\",commandValue:t.model})),s.add(e),r[t.model]=t.title}const d=Ph(e);return Rh(d,s),d.buttonView.set({isOn:!1,withText:!0,tooltip:o}),d.extendTemplate({attributes:{class:[\"ck-heading-dropdown\"]}}),d.bind(\"isEnabled\").toMany(l,\"isEnabled\",((...t)=>t.some((t=>t)))),d.buttonView.bind(\"label\").to(a,\"value\",c,\"value\",((t,e)=>{const n=t||e&&\"paragraph\";return r[n]?r[n]:i})),this.listenTo(d,\"execute\",(e=>{t.execute(e.source.commandName,e.source.commandValue?{value:e.source.commandValue}:void 0),t.editing.view.focus()})),d}))}}class Wb extends he{refresh(){const t=this.editor.model,e=t.document;this.value=e.selection.getAttribute(\"highlight\"),this.isEnabled=t.schema.checkAttributeInSelection(e.selection,\"highlight\")}execute(t={}){const e=this.editor.model,n=e.document.selection,i=t.value;e.change((t=>{const o=e.schema.getValidRanges(n.getRanges(),\"highlight\");if(n.isCollapsed){const e=n.getFirstPosition();if(n.hasAttribute(\"highlight\")){const n=t=>t.item.hasAttribute(\"highlight\")&&t.item.getAttribute(\"highlight\")===this.value,o=e.getLastMatchingPosition(n,{direction:\"backward\"}),r=e.getLastMatchingPosition(n),s=t.createRange(o,r);i&&this.value!==i?(t.setAttribute(\"highlight\",i,s),t.setSelectionAttribute(\"highlight\",i)):(t.removeAttribute(\"highlight\",s),t.removeSelectionAttribute(\"highlight\"))}else i&&t.setSelectionAttribute(\"highlight\",i)}else for(const e of o)i?t.setAttribute(\"highlight\",i,e):t.removeAttribute(\"highlight\",e)}))}}class Kb extends le{static get pluginName(){return\"HighlightEditing\"}constructor(t){super(t),t.config.define(\"highlight\",{options:[{model:\"yellowMarker\",class:\"marker-yellow\",title:\"Yellow marker\",color:\"var(--ck-highlight-marker-yellow)\",type:\"marker\"},{model:\"greenMarker\",class:\"marker-green\",title:\"Green marker\",color:\"var(--ck-highlight-marker-green)\",type:\"marker\"},{model:\"pinkMarker\",class:\"marker-pink\",title:\"Pink marker\",color:\"var(--ck-highlight-marker-pink)\",type:\"marker\"},{model:\"blueMarker\",class:\"marker-blue\",title:\"Blue marker\",color:\"var(--ck-highlight-marker-blue)\",type:\"marker\"},{model:\"redPen\",class:\"pen-red\",title:\"Red pen\",color:\"var(--ck-highlight-pen-red)\",type:\"pen\"},{model:\"greenPen\",class:\"pen-green\",title:\"Green pen\",color:\"var(--ck-highlight-pen-green)\",type:\"pen\"}]})}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:\"highlight\"});const e=t.config.get(\"highlight.options\");t.conversion.attributeToElement(function(t){const e={model:{key:\"highlight\",values:[]},view:{}};for(const n of t)e.model.values.push(n.model),e.view[n.model]={name:\"mark\",classes:n.class};return e}(e)),t.commands.add(\"highlight\",new Wb(t))}}var $b=n(713),Yb={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()($b.Z,Yb);$b.Z.locals;class Zb extends le{get localizedOptionTitles(){const t=this.editor.t;return{\"Yellow marker\":t(\"Yellow marker\"),\"Green marker\":t(\"Green marker\"),\"Pink marker\":t(\"Pink marker\"),\"Blue marker\":t(\"Blue marker\"),\"Red pen\":t(\"Red pen\"),\"Green pen\":t(\"Green pen\")}}static get pluginName(){return\"HighlightUI\"}init(){const t=this.editor.config.get(\"highlight.options\");for(const e of t)this._addHighlighterButton(e);this._addRemoveHighlightButton(),this._addDropdown(t)}_addRemoveHighlightButton(){const t=this.editor.t,e=this.editor.commands.get(\"highlight\");this._addButton(\"removeHighlight\",t(\"Remove highlight\"),ad.eraser,null,(t=>{t.bind(\"isEnabled\").to(e,\"isEnabled\")}))}_addHighlighterButton(t){const e=this.editor.commands.get(\"highlight\");this._addButton(\"highlight:\"+t.model,t.title,Qb(t.type),t.model,(function(n){n.bind(\"isEnabled\").to(e,\"isEnabled\"),n.bind(\"isOn\").to(e,\"value\",(e=>e===t.model)),n.iconView.fillColor=t.color,n.isToggleable=!0}))}_addButton(t,e,n,i,o){const r=this.editor;r.ui.componentFactory.add(t,(t=>{const s=new Wd(t),a=this.localizedOptionTitles[e]?this.localizedOptionTitles[e]:e;return s.set({label:a,icon:n,tooltip:!0}),s.on(\"execute\",(()=>{r.execute(\"highlight\",{value:i}),r.editing.view.focus()})),o(s),s}))}_addDropdown(t){const e=this.editor,n=e.t,i=e.ui.componentFactory,o=t[0],r=t.reduce(((t,e)=>(t[e.model]=e,t)),{});i.add(\"highlight\",(s=>{const a=e.commands.get(\"highlight\"),c=Ph(s,lh),l=c.buttonView;l.set({tooltip:n(\"Highlight\"),lastExecuted:o.model,commandValue:o.model,isToggleable:!0}),l.bind(\"icon\").to(a,\"value\",(t=>Qb(h(t,\"type\")))),l.bind(\"color\").to(a,\"value\",(t=>h(t,\"color\"))),l.bind(\"commandValue\").to(a,\"value\",(t=>h(t,\"model\"))),l.bind(\"isOn\").to(a,\"value\",(t=>!!t)),l.delegate(\"execute\").to(c);const d=t.map((t=>{const e=i.create(\"highlight:\"+t.model);return this.listenTo(e,\"execute\",(()=>c.buttonView.set({lastExecuted:t.model}))),e}));function h(t,e){const n=t&&t!==l.lastExecuted?t:l.lastExecuted;return r[n][e]}return c.bind(\"isEnabled\").toMany(d,\"isEnabled\",((...t)=>t.some((t=>t)))),d.push(new bh),d.push(i.create(\"removeHighlight\")),Oh(c,d),function(t){t.buttonView.actionView.iconView.bind(\"fillColor\").to(t.buttonView,\"color\")}(c),c.toolbarView.ariaLabel=n(\"Text highlight toolbar\"),l.on(\"execute\",(()=>{e.execute(\"highlight\",{value:l.commandValue}),e.editing.view.focus()})),c}))}}function Qb(t){return\"marker\"===t?' ':' '}class Jb extends he{refresh(){const t=this.editor.model,e=t.schema,n=t.document.selection;this.isEnabled=function(t,e,n){const i=function(t,e){const n=Ig(t,e).start.parent;if(n.isEmpty&&!n.is(\"element\",\"$root\"))return n.parent;return n}(t,n);return e.checkChild(i,\"horizontalLine\")}(n,e,t)}execute(){const t=this.editor.model;t.change((e=>{const n=e.createElement(\"horizontalLine\");t.insertContent(n);let i=n.nextSibling;!(i&&t.schema.checkChild(i,\"$text\"))&&t.schema.checkChild(n.parent,\"paragraph\")&&(i=e.createElement(\"paragraph\"),t.insertContent(i,e.createPositionAfter(n))),i&&e.setSelection(i,0)}))}}var Xb=n(2536),tw={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(Xb.Z,tw);Xb.Z.locals;class ew extends le{static get pluginName(){return\"HorizontalLineEditing\"}init(){const t=this.editor,e=t.model.schema,n=t.t,i=t.conversion;e.register(\"horizontalLine\",{isObject:!0,allowWhere:\"$block\"}),i.for(\"dataDowncast\").elementToElement({model:\"horizontalLine\",view:(t,{writer:e})=>e.createEmptyElement(\"hr\")}),i.for(\"editingDowncast\").elementToElement({model:\"horizontalLine\",view:(t,{writer:e})=>{const i=n(\"Horizontal line\"),o=e.createContainerElement(\"div\"),r=e.createEmptyElement(\"hr\");return e.addClass(\"ck-horizontal-line\",o),e.setCustomProperty(\"hr\",!0,o),e.insert(e.createPositionAt(o,0),r),function(t,e,n){return e.setCustomProperty(\"horizontalLine\",!0,t),vg(t,e,{label:n})}(o,e,i)}}),i.for(\"upcast\").elementToElement({view:\"hr\",model:\"horizontalLine\"}),t.commands.add(\"horizontalLine\",new Jb(t))}}class nw extends le{static get pluginName(){return\"HorizontalLineUI\"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add(\"horizontalLine\",(n=>{const i=t.commands.get(\"horizontalLine\"),o=new Wd(n);return o.set({label:e(\"Horizontal line\"),icon:' ',tooltip:!0}),o.bind(\"isEnabled\").to(i,\"isEnabled\"),this.listenTo(o,\"execute\",(()=>{t.execute(\"horizontalLine\"),t.editing.view.focus()})),o}))}}class iw extends he{refresh(){const t=this.editor.model,e=t.schema,n=t.document.selection;this.isEnabled=function(t,e,n){const i=function(t,e){const n=Ig(t,e).start.parent;if(n.isEmpty&&!n.is(\"element\",\"$root\"))return n.parent;return n}(t,n);return e.checkChild(i,\"rawHtml\")}(n,e,t)}execute(){const t=this.editor.model;t.change((e=>{const n=e.createElement(\"rawHtml\");t.insertContent(n),e.setSelection(n,\"on\")}))}}class ow extends he{refresh(){const t=rw(this.editor.model.document.selection);this.isEnabled=!!t}execute(t){const e=this.editor.model,n=rw(e.document.selection);e.change((e=>{e.setAttribute(\"value\",t,n)}))}}function rw(t){const e=t.getSelectedElement();return e&&e.is(\"element\",\"rawHtml\")?e:null}var sw=n(3403),aw={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(sw.Z,aw);sw.Z.locals;class cw extends le{static get pluginName(){return\"HtmlEmbedEditing\"}constructor(t){super(t),t.config.define(\"htmlEmbed\",{showPreviews:!1,sanitizeHtml:t=>(c(\"html-embed-provide-sanitize-function\"),{html:t,hasChanged:!1})})}init(){const t=this.editor;t.model.schema.register(\"rawHtml\",{isObject:!0,allowWhere:\"$block\",allowAttributes:[\"value\"]}),t.commands.add(\"updateHtmlEmbed\",new ow(t)),t.commands.add(\"insertHtmlEmbed\",new iw(t)),this._setupConversion()}_setupConversion(){const t=this.editor,e=t.t,n=t.editing.view,i=t.config.get(\"htmlEmbed\");function o({domElement:t,editor:n,state:i,props:o}){t.textContent=\"\";const s=t.ownerDocument;let a;if(i.isEditable){const e={isDisabled:!1,placeholder:o.textareaPlaceholder};a=r({domDocument:s,state:i,props:e}),t.append(a)}else if(i.showPreviews){const r={sanitizeHtml:o.sanitizeHtml};t.append(function({domDocument:t,state:n,props:i,editor:o}){const r=i.sanitizeHtml(n.getRawHtmlValue()),s=n.getRawHtmlValue().length>0?e(\"No preview available\"):e(\"Empty snippet content\"),a=Xs(t,\"div\",{class:\"ck ck-reset_all raw-html-embed__preview-placeholder\"},s),c=Xs(t,\"div\",{class:\"raw-html-embed__preview-content\",dir:o.locale.contentLanguageDirection}),l=t.createRange().createContextualFragment(r.html);c.appendChild(l);return Xs(t,\"div\",{class:\"raw-html-embed__preview\"},[a,c])}({domDocument:s,state:i,props:r,editor:n}))}else{const e={isDisabled:!0,placeholder:o.textareaPlaceholder};t.append(r({domDocument:s,state:i,props:e}))}const c={onEditClick:o.onEditClick,onSaveClick:()=>{o.onSaveClick(a.value)},onCancelClick:o.onCancelClick};t.prepend(function({editor:t,domDocument:e,state:n,props:i}){const o=Xs(e,\"div\",{class:\"raw-html-embed__buttons-wrapper\"}),r=lw(t,\"edit\"),s=lw(t,\"save\"),a=lw(t,\"cancel\");if(n.isEditable){const t=s.cloneNode(!0),e=a.cloneNode(!0);t.addEventListener(\"click\",(t=>{t.preventDefault(),i.onSaveClick()})),e.addEventListener(\"click\",(t=>{t.preventDefault(),i.onCancelClick()})),o.appendChild(t),o.appendChild(e)}else{const t=r.cloneNode(!0);t.addEventListener(\"click\",(t=>{t.preventDefault(),i.onEditClick()})),o.appendChild(t)}return o}({editor:n,domDocument:s,state:i,props:c}))}function r({domDocument:t,state:e,props:n}){const i=Xs(t,\"textarea\",{placeholder:n.placeholder,class:\"ck ck-reset ck-input ck-input-text raw-html-embed__source\"});return i.disabled=n.isDisabled,i.value=e.getRawHtmlValue(),i}t.data.registerRawContentMatcher({name:\"div\",classes:\"raw-html-embed\"}),t.conversion.for(\"upcast\").elementToElement({view:{name:\"div\",classes:\"raw-html-embed\"},model:(t,{writer:e})=>e.createElement(\"rawHtml\",{value:t.getCustomProperty(\"$rawContent\")})}),t.conversion.for(\"dataDowncast\").elementToElement({model:\"rawHtml\",view:(t,{writer:e})=>e.createRawElement(\"div\",{class:\"raw-html-embed\"},(function(e){e.innerHTML=t.getAttribute(\"value\")||\"\"}))}),t.conversion.for(\"editingDowncast\").elementToElement({triggerBy:{attributes:[\"value\"]},model:\"rawHtml\",view:(r,{writer:s})=>{let a,c,l;const d=s.createContainerElement(\"div\",{class:\"raw-html-embed\",\"data-html-embed-label\":e(\"HTML snippet\"),dir:t.locale.uiLanguageDirection}),h=s.createRawElement(\"div\",{class:\"raw-html-embed__content-wrapper\"},(function(e){a=e,o({domElement:e,editor:t,state:c,props:l}),a.addEventListener(\"mousedown\",(()=>{if(c.isEditable){const e=t.model;e.document.selection.getSelectedElement()!==r&&e.change((t=>t.setSelection(r,\"on\")))}}),!0)})),u={makeEditable(){c=Object.assign({},c,{isEditable:!0}),o({domElement:a,editor:t,state:c,props:l}),n.change((t=>{t.setAttribute(\"data-cke-ignore-events\",\"true\",h)})),a.querySelector(\"textarea\").focus()},save(e){e!==c.getRawHtmlValue()?(t.execute(\"updateHtmlEmbed\",e),t.editing.view.focus()):this.cancel()},cancel(){c=Object.assign({},c,{isEditable:!1}),o({domElement:a,editor:t,state:c,props:l}),t.editing.view.focus(),n.change((t=>{t.removeAttribute(\"data-cke-ignore-events\",h)}))}};return c={showPreviews:i.showPreviews,isEditable:!1,getRawHtmlValue:()=>r.getAttribute(\"value\")||\"\"},l={sanitizeHtml:i.sanitizeHtml,textareaPlaceholder:e(\"Paste raw HTML here...\"),onEditClick(){u.makeEditable()},onSaveClick(t){u.save(t)},onCancelClick(){u.cancel()}},s.insert(s.createPositionAt(d,0),h),s.setCustomProperty(\"rawHtmlApi\",u,d),s.setCustomProperty(\"rawHtml\",!0,d),vg(d,s,{widgetLabel:e(\"HTML snippet\"),hasSelectionHandle:!0})}})}}function lw(t,e){const n=t.locale.t,i=new Wd(t.locale),o=t.commands.get(\"updateHtmlEmbed\");return i.set({tooltipPosition:\"rtl\"===t.locale.uiLanguageDirection?\"e\":\"w\",icon:ad.pencil,tooltip:!0}),i.render(),\"edit\"===e?i.set({icon:ad.pencil,label:n(\"Edit source\"),class:\"raw-html-embed__edit-button\"}):\"save\"===e?(i.set({icon:ad.check,label:n(\"Save changes\"),class:\"raw-html-embed__save-button\"}),i.bind(\"isEnabled\").to(o,\"isEnabled\")):i.set({icon:ad.cancel,label:n(\"Cancel\"),class:\"raw-html-embed__cancel-button\"}),i.destroy(),i.element.cloneNode(!0)}class dw extends le{static get pluginName(){return\"HtmlEmbedUI\"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add(\"htmlEmbed\",(n=>{const i=t.commands.get(\"insertHtmlEmbed\"),o=new Wd(n);return o.set({label:e(\"Insert HTML\"),icon:' ',tooltip:!0}),o.bind(\"isEnabled\").to(i,\"isEnabled\"),this.listenTo(o,\"execute\",(()=>{t.execute(\"insertHtmlEmbed\"),t.editing.view.focus();t.editing.view.document.selection.getSelectedElement().getCustomProperty(\"rawHtmlApi\").makeEditable()})),o}))}}class hw extends he{refresh(){const t=this.editor.plugins.get(\"ImageUtils\").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!t,this.isEnabled&&t.hasAttribute(\"alt\")?this.value=t.getAttribute(\"alt\"):this.value=!1}execute(t){const e=this.editor,n=e.plugins.get(\"ImageUtils\"),i=e.model,o=n.getClosestSelectedImageElement(i.document.selection);i.change((e=>{e.setAttribute(\"alt\",t.newValue,o)}))}}class uw extends le{static get requires(){return[Ip]}static get pluginName(){return\"ImageTextAlternativeEditing\"}init(){this.editor.commands.add(\"imageTextAlternative\",new hw(this.editor))}}var mw=n(6831),gw={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(mw.Z,gw);mw.Z.locals;class pw extends fd{constructor(t){super(t);const e=this.locale.t;this.focusTracker=new la,this.keystrokes=new da,this.labeledInput=this._createLabeledInputView(),this.saveButtonView=this._createButton(e(\"Save\"),ad.check,\"ck-button-save\"),this.saveButtonView.type=\"submit\",this.cancelButtonView=this._createButton(e(\"Cancel\"),ad.cancel,\"ck-button-cancel\",\"cancel\"),this._focusables=new hd,this._focusCycler=new th({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}}),this.setTemplate({tag:\"form\",attributes:{class:[\"ck\",\"ck-text-alternative-form\",\"ck-responsive-form\"],tabindex:\"-1\"},children:[this.labeledInput,this.saveButtonView,this.cancelButtonView]}),ld(this)}render(){super.render(),this.keystrokes.listenTo(this.element),dd({view:this}),[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach((t=>{this._focusables.add(t),this.focusTracker.add(t.element)}))}_createButton(t,e,n,i){const o=new Wd(this.locale);return o.set({label:t,icon:e,tooltip:!0}),o.extendTemplate({attributes:{class:n}}),i&&o.delegate(\"execute\").to(this,i),o}_createLabeledInputView(){const t=this.locale.t,e=new nu(this.locale,iu);return e.label=t(\"Text alternative\"),e}}function fw(t){const e=t.editing.view,n=uu.defaultPositions,i=t.plugins.get(\"ImageUtils\");return{target:e.domConverter.viewToDom(i.getClosestSelectedImageWidget(e.document.selection)),positions:[n.northArrowSouth,n.northArrowSouthWest,n.northArrowSouthEast,n.southArrowNorth,n.southArrowNorthWest,n.southArrowNorthEast]}}class kw extends le{static get requires(){return[Au]}static get pluginName(){return\"ImageTextAlternativeUI\"}init(){this._createButton(),this._createForm()}destroy(){super.destroy(),this._form.destroy()}_createButton(){const t=this.editor,e=t.t;t.ui.componentFactory.add(\"imageTextAlternative\",(n=>{const i=t.commands.get(\"imageTextAlternative\"),o=new Wd(n);return o.set({label:e(\"Change image text alternative\"),icon:ad.lowVision,tooltip:!0}),o.bind(\"isEnabled\").to(i,\"isEnabled\"),this.listenTo(o,\"execute\",(()=>{this._showForm()})),o}))}_createForm(){const t=this.editor,e=t.editing.view.document,n=t.plugins.get(\"ImageUtils\");this._balloon=this.editor.plugins.get(\"ContextualBalloon\"),this._form=new pw(t.locale),this._form.render(),this.listenTo(this._form,\"submit\",(()=>{t.execute(\"imageTextAlternative\",{newValue:this._form.labeledInput.fieldView.element.value}),this._hideForm(!0)})),this.listenTo(this._form,\"cancel\",(()=>{this._hideForm(!0)})),this._form.keystrokes.set(\"Esc\",((t,e)=>{this._hideForm(!0),e()})),this.listenTo(t.ui,\"update\",(()=>{n.getClosestSelectedImageWidget(e.selection)?this._isVisible&&function(t){const e=t.plugins.get(\"ContextualBalloon\");if(t.plugins.get(\"ImageUtils\").getClosestSelectedImageWidget(t.editing.view.document.selection)){const n=fw(t);e.updatePosition(n)}}(t):this._hideForm(!0)})),cd({emitter:this._form,activator:()=>this._isVisible,contextElements:[this._balloon.view.element],callback:()=>this._hideForm()})}_showForm(){if(this._isVisible)return;const t=this.editor,e=t.commands.get(\"imageTextAlternative\"),n=this._form.labeledInput;this._form.disableCssTransitions(),this._isInBalloon||this._balloon.add({view:this._form,position:fw(t)}),n.fieldView.value=n.fieldView.element.value=e.value||\"\",this._form.labeledInput.fieldView.select(),this._form.enableCssTransitions()}_hideForm(t){this._isInBalloon&&(this._form.focusTracker.isFocused&&this._form.saveButtonView.focus(),this._balloon.remove(this._form),t&&this.editor.editing.view.focus())}get _isVisible(){return this._balloon.visibleView===this._form}get _isInBalloon(){return this._balloon.hasView(this._form)}}class bw extends le{static get requires(){return[uw,kw]}static get pluginName(){return\"ImageTextAlternative\"}}function ww(t,e){return t=>{t.on(`attribute:srcset:${e}`,n)};function n(e,n,i){if(!i.consumable.consume(n.item,e.name))return;const o=i.writer,r=i.mapper.toViewElement(n.item),s=t.getViewImageFromWidget(r);if(null===n.attributeNewValue){const t=n.attributeOldValue;t.data&&(o.removeAttribute(\"srcset\",s),o.removeAttribute(\"sizes\",s),t.width&&o.removeAttribute(\"width\",s))}else{const t=n.attributeNewValue;t.data&&(o.setAttribute(\"srcset\",t.data,s),o.setAttribute(\"sizes\",\"100vw\",s),t.width&&o.setAttribute(\"width\",t.width,s))}}}function Cw(t,e,n){return t=>{t.on(`attribute:${n}:${e}`,i)};function i(e,n,i){if(!i.consumable.consume(n.item,e.name))return;const o=i.writer,r=i.mapper.toViewElement(n.item),s=t.getViewImageFromWidget(r);o.setAttribute(n.attributeKey,n.attributeNewValue||\"\",s)}}class Aw extends as{observe(t){this.listenTo(t,\"load\",((t,e)=>{const n=e.target;this.checkShouldIgnoreEventFromTarget(n)||\"IMG\"==n.tagName&&this._fireEvents(e)}),{useCapture:!0})}_fireEvents(t){this.isEnabled&&(this.document.fire(\"layoutChanged\"),this.document.fire(\"imageLoaded\",t))}}class _w extends he{constructor(t){super(t);const e=t.config.get(\"image.insert.type\");t.plugins.has(\"ImageBlockEditing\")||\"block\"===e&&c(\"image-block-plugin-required\"),t.plugins.has(\"ImageInlineEditing\")||\"inline\"===e&&c(\"image-inline-plugin-required\")}refresh(){this.isEnabled=this.editor.plugins.get(\"ImageUtils\").isImageAllowed()}execute(t){const e=Ei(t.source),n=this.editor.model.document.selection,i=this.editor.plugins.get(\"ImageUtils\"),o=Object.fromEntries(n.getAttributes());e.forEach(((t,e)=>{const r=n.getSelectedElement();if(e&&r&&i.isImage(r)){const e=this.editor.model.createPositionAfter(r);i.insertImage({src:t,...o},e)}else i.insertImage({src:t,...o})}))}}class vw extends le{static get requires(){return[Ip]}static get pluginName(){return\"ImageEditing\"}init(){const t=this.editor,e=t.conversion;t.editing.view.addObserver(Aw),e.for(\"upcast\").attributeToAttribute({view:{name:\"img\",key:\"alt\"},model:\"alt\"}).attributeToAttribute({view:{name:\"img\",key:\"srcset\"},model:{key:\"srcset\",value:t=>{const e={data:t.getAttribute(\"srcset\")};return t.hasAttribute(\"width\")&&(e.width=t.getAttribute(\"width\")),e}}});const n=new _w(t);t.commands.add(\"insertImage\",n),t.commands.add(\"imageInsert\",n)}}class yw extends he{constructor(t,e){super(t),this._modelElementName=e}refresh(){const t=this.editor.plugins.get(\"ImageUtils\"),e=t.getClosestSelectedImageElement(this.editor.model.document.selection);\"imageBlock\"===this._modelElementName?this.isEnabled=t.isInlineImage(e):this.isEnabled=t.isBlockImage(e)}execute(){const t=this.editor,e=this.editor.model,n=t.plugins.get(\"ImageUtils\"),i=n.getClosestSelectedImageElement(e.document.selection),o=Object.fromEntries(i.getAttributes());return o.src||o.uploadId?e.change((t=>{const r=Array.from(e.markers).filter((t=>t.getRange().containsItem(i))),s=n.insertImage(o,e.createSelection(i,\"on\"),this._modelElementName);if(!s)return null;const a=t.createRangeOn(s);for(const e of r){const n=e.getRange(),i=\"$graveyard\"!=n.root.rootName?n.getJoined(a,!0):a;t.updateMarker(e,{range:i})}return{oldElement:i,newElement:s}})):null}}class xw extends le{static get requires(){return[vw,Ip,sg]}static get pluginName(){return\"ImageBlockEditing\"}init(){const t=this.editor;t.model.schema.register(\"imageBlock\",{isObject:!0,isBlock:!0,allowWhere:\"$block\",allowAttributes:[\"alt\",\"src\",\"srcset\"]}),this._setupConversion(),t.plugins.has(\"ImageInlineEditing\")&&(t.commands.add(\"imageTypeBlock\",new yw(this.editor,\"imageBlock\")),this._setupClipboardIntegration())}_setupConversion(){const t=this.editor,e=t.t,n=t.conversion,i=t.plugins.get(\"ImageUtils\");n.for(\"dataDowncast\").elementToElement({model:\"imageBlock\",view:(t,{writer:e})=>Ep(e,\"imageBlock\")}),n.for(\"editingDowncast\").elementToElement({model:\"imageBlock\",view:(t,{writer:n})=>i.toImageWidget(Ep(n,\"imageBlock\"),n,e(\"image widget\"))}),n.for(\"downcast\").add(Cw(i,\"imageBlock\",\"src\")).add(Cw(i,\"imageBlock\",\"alt\")).add(ww(i,\"imageBlock\")),n.for(\"upcast\").elementToElement({view:Dp(t,\"imageBlock\"),model:(t,{writer:e})=>e.createElement(\"imageBlock\",{src:t.getAttribute(\"src\")})}).add(function(t){return t=>{t.on(\"element:figure\",e)};function e(e,n,i){if(!i.consumable.test(n.viewItem,{name:!0,classes:\"image\"}))return;const o=t.getViewImageFromWidget(n.viewItem);if(!o||!o.hasAttribute(\"src\")||!i.consumable.test(o,{name:!0}))return;const r=ca(i.convertItem(o,n.modelCursor).modelRange.getItems());r&&(i.convertChildren(n.viewItem,r),i.updateConversionResult(r,n))}}(i))}_setupClipboardIntegration(){const t=this.editor,e=t.model,n=t.editing.view,i=t.plugins.get(\"ImageUtils\");this.listenTo(t.plugins.get(\"ClipboardPipeline\"),\"inputTransformation\",((o,r)=>{const s=Array.from(r.content.getChildren());let a;if(!s.every(i.isInlineImageView))return;a=r.targetRanges?t.editing.mapper.toModelRange(r.targetRanges[0]):e.document.selection.getFirstRange();const c=e.createSelection(a);if(\"imageBlock\"===Sp(e.schema,c)){const t=new Qu(n.document),e=s.map((e=>t.createElement(\"figure\",{class:\"image\"},e)));r.content=t.createDocumentFragment(e)}}))}}var Ew=n(9048),Dw={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(Ew.Z,Dw);Ew.Z.locals;class Sw extends le{static get requires(){return[xw,$g,bw]}static get pluginName(){return\"ImageBlock\"}}class Iw extends le{static get requires(){return[vw,Ip,sg]}static get pluginName(){return\"ImageInlineEditing\"}init(){const t=this.editor,e=t.model.schema;e.register(\"imageInline\",{isObject:!0,isInline:!0,allowWhere:\"$text\",allowAttributes:[\"alt\",\"src\",\"srcset\"]}),e.addChildCheck(((t,e)=>{if(t.endsWith(\"caption\")&&\"imageInline\"===e.name)return!1})),this._setupConversion(),t.plugins.has(\"ImageBlockEditing\")&&(t.commands.add(\"imageTypeInline\",new yw(this.editor,\"imageInline\")),this._setupClipboardIntegration())}_setupConversion(){const t=this.editor,e=t.t,n=t.conversion,i=t.plugins.get(\"ImageUtils\");n.for(\"dataDowncast\").elementToElement({model:\"imageInline\",view:(t,{writer:e})=>e.createEmptyElement(\"img\")}),n.for(\"editingDowncast\").elementToElement({model:\"imageInline\",view:(t,{writer:n})=>i.toImageWidget(Ep(n,\"imageInline\"),n,e(\"image widget\"))}),n.for(\"downcast\").add(Cw(i,\"imageInline\",\"src\")).add(Cw(i,\"imageInline\",\"alt\")).add(ww(i,\"imageInline\")),n.for(\"upcast\").elementToElement({view:Dp(t,\"imageInline\"),model:(t,{writer:e})=>e.createElement(\"imageInline\",{src:t.getAttribute(\"src\")})})}_setupClipboardIntegration(){const t=this.editor,e=t.model,n=t.editing.view,i=t.plugins.get(\"ImageUtils\");this.listenTo(t.plugins.get(\"ClipboardPipeline\"),\"inputTransformation\",((o,r)=>{const s=Array.from(r.content.getChildren());let a;if(!s.every(i.isBlockImageView))return;a=r.targetRanges?t.editing.mapper.toModelRange(r.targetRanges[0]):e.document.selection.getFirstRange();const c=e.createSelection(a);if(\"imageInline\"===Sp(e.schema,c)){const t=new Qu(n.document),e=s.map((e=>1===e.childCount?(Array.from(e.getAttributes()).forEach((n=>t.setAttribute(...n,i.getViewImageFromWidget(e)))),e.getChild(0)):e));r.content=t.createDocumentFragment(e)}}))}}class Tw extends le{static get requires(){return[Iw,$g,bw]}static get pluginName(){return\"ImageInline\"}}function Mw(t){for(const e of t.getChildren())if(e&&e.is(\"element\",\"caption\"))return e;return null}function Bw(t,e){const n=e.getFirstPosition().findAncestor(\"caption\");return n&&t.isBlockImage(n.parent)?n:null}class Nw extends he{refresh(){const t=this.editor,e=t.plugins.get(\"ImageUtils\");if(!t.plugins.has(xw))return this.isEnabled=!1,void(this.value=!1);const n=t.model.document.selection,i=n.getSelectedElement();if(!i){const t=Bw(e,n);return this.isEnabled=!!t,void(this.value=!!t)}this.isEnabled=this.editor.plugins.get(\"ImageUtils\").isImage(i),this.isEnabled?this.value=!!Mw(i):this.value=!1}execute(t={}){const{focusCaptionOnShow:e}=t;this.editor.model.change((t=>{this.value?this._hideImageCaption(t):this._showImageCaption(t,e)}))}_showImageCaption(t,e){const n=this.editor.model.document.selection,i=this.editor.plugins.get(\"ImageCaptionEditing\");let o=n.getSelectedElement();const r=i._getSavedCaption(o);this.editor.plugins.get(\"ImageUtils\").isInlineImage(o)&&(this.editor.execute(\"imageTypeBlock\"),o=n.getSelectedElement());const s=r||t.createElement(\"caption\");t.append(s,o),e&&t.setSelection(s,\"in\")}_hideImageCaption(t){const e=this.editor,n=e.model.document.selection,i=e.plugins.get(\"ImageCaptionEditing\"),o=e.plugins.get(\"ImageUtils\");let r,s=n.getSelectedElement();s?r=Mw(s):(r=Bw(o,n),s=r.parent),i._saveCaption(s,r),t.setSelection(s,\"on\"),t.remove(r)}}class Lw extends le{static get requires(){return[Ip]}static get pluginName(){return\"ImageCaptionEditing\"}constructor(t){super(t),this._savedCaptionsMap=new WeakMap}init(){const t=this.editor,e=t.model.schema;e.isRegistered(\"caption\")?e.extend(\"caption\",{allowIn:\"imageBlock\"}):e.register(\"caption\",{allowIn:\"imageBlock\",allowContentOf:\"$block\",isLimit:!0}),t.commands.add(\"toggleImageCaption\",new Nw(this.editor)),this._setupConversion(),this._setupImageTypeCommandsIntegration()}_setupConversion(){const t=this.editor,e=t.editing.view,n=t.plugins.get(\"ImageUtils\"),i=t.t;t.conversion.for(\"upcast\").elementToElement({view:t=>function(t,e){return\"figcaption\"==e.name&&t.isBlockImageView(e.parent)?{name:!0}:null}(n,t),model:\"caption\"}),t.conversion.for(\"dataDowncast\").elementToElement({model:\"caption\",view:(t,{writer:e})=>n.isBlockImage(t.parent)?e.createContainerElement(\"figcaption\"):null}),t.conversion.for(\"editingDowncast\").elementToElement({model:\"caption\",view:(t,{writer:o})=>{if(!n.isBlockImage(t.parent))return null;const r=o.createEditableElement(\"figcaption\");o.setCustomProperty(\"imageCaption\",!0,r),Nu({view:e,element:r,text:i(\"Enter image caption\"),keepOnFocus:!0});const s=Sg(r,o);return Eg(s,o,((t,e,n)=>n.addClass(Ei(e.classes),t)),((t,e,n)=>n.removeClass(Ei(e.classes),t))),s}}),t.editing.mapper.on(\"modelToViewPosition\",zw(e)),t.data.mapper.on(\"modelToViewPosition\",zw(e))}_setupImageTypeCommandsIntegration(){const t=this.editor,e=t.plugins.get(\"ImageUtils\"),n=t.commands.get(\"imageTypeInline\"),i=t.commands.get(\"imageTypeBlock\"),o=t=>{if(!t.return)return;const{oldElement:n,newElement:i}=t.return;if(!n)return;if(e.isBlockImage(n)){const t=Mw(n);if(t)return void this._saveCaption(i,t)}const o=this._getSavedCaption(n);o&&this._saveCaption(i,o)};n&&this.listenTo(n,\"execute\",o,{priority:\"low\"}),i&&this.listenTo(i,\"execute\",o,{priority:\"low\"})}_getSavedCaption(t){const e=this._savedCaptionsMap.get(t);return e?Da.fromJSON(e):null}_saveCaption(t,e){this._savedCaptionsMap.set(t,e.toJSON())}}function zw(t){return(e,n)=>{const i=n.modelPosition,o=i.parent;if(!o.is(\"element\",\"imageBlock\"))return;const r=n.mapper.toViewElement(o);n.viewPosition=t.createPositionAt(r,i.offset+1)}}class Pw extends le{static get requires(){return[Ip]}static get pluginName(){return\"ImageCaptionUI\"}init(){const t=this.editor,e=t.editing.view,n=t.plugins.get(\"ImageUtils\"),i=t.t;t.ui.componentFactory.add(\"toggleImageCaption\",(o=>{const r=t.commands.get(\"toggleImageCaption\"),s=new Wd(o);return s.set({icon:ad.caption,tooltip:!0,isToggleable:!0}),s.bind(\"isOn\",\"isEnabled\").to(r,\"value\",\"isEnabled\"),s.bind(\"label\").to(r,\"value\",(t=>i(t?\"Toggle caption off\":\"Toggle caption on\"))),this.listenTo(s,\"execute\",(()=>{t.execute(\"toggleImageCaption\",{focusCaptionOnShow:!0});const i=Bw(n,t.model.document.selection);if(i){const n=t.editing.mapper.toViewElement(i);e.scrollToTheSelection(),e.change((t=>{t.addClass(\"image__caption_highlighted\",n)}))}})),s}))}}var Ow=n(8662),Rw={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(Ow.Z,Rw);Ow.Z.locals;class Fw{constructor(){const t=new window.FileReader;this._reader=t,this._data=void 0,this.set(\"loaded\",0),t.onprogress=t=>{this.loaded=t.loaded}}get error(){return this._reader.error}get data(){return this._data}read(t){const e=this._reader;return this.total=t.size,new Promise(((n,i)=>{e.onload=()=>{const t=e.result;this._data=t,n(t)},e.onerror=()=>{i(\"error\")},e.onabort=()=>{i(\"aborted\")},this._reader.readAsDataURL(t)}))}abort(){this._reader.abort()}}ce(Fw,ne);class jw extends le{static get pluginName(){return\"FileRepository\"}static get requires(){return[sd]}init(){this.loaders=new yi,this.loaders.on(\"add\",(()=>this._updatePendingAction())),this.loaders.on(\"remove\",(()=>this._updatePendingAction())),this._loadersMap=new Map,this._pendingAction=null,this.set(\"uploaded\",0),this.set(\"uploadTotal\",null),this.bind(\"uploadedPercent\").to(this,\"uploaded\",this,\"uploadTotal\",((t,e)=>e?t/e*100:0))}getLoader(t){return this._loadersMap.get(t)||null}createLoader(t){if(!this.createUploadAdapter)return c(\"filerepository-no-upload-adapter\"),null;const e=new Vw(Promise.resolve(t),this.createUploadAdapter);return this.loaders.add(e),this._loadersMap.set(t,e),t instanceof Promise&&e.file.then((t=>{this._loadersMap.set(t,e)})).catch((()=>{})),e.on(\"change:uploaded\",(()=>{let t=0;for(const e of this.loaders)t+=e.uploaded;this.uploaded=t})),e.on(\"change:uploadTotal\",(()=>{let t=0;for(const e of this.loaders)e.uploadTotal&&(t+=e.uploadTotal);this.uploadTotal=t})),e}destroyLoader(t){const e=t instanceof Vw?t:this.getLoader(t);e._destroy(),this.loaders.remove(e),this._loadersMap.forEach(((t,n)=>{t===e&&this._loadersMap.delete(n)}))}_updatePendingAction(){const t=this.editor.plugins.get(sd);if(this.loaders.length){if(!this._pendingAction){const e=this.editor.t,n=t=>`${e(\"Upload in progress\")} ${parseInt(t)}%.`;this._pendingAction=t.add(n(this.uploadedPercent)),this._pendingAction.bind(\"message\").to(this,\"uploadedPercent\",n)}}else t.remove(this._pendingAction),this._pendingAction=null}}ce(jw,ne);class Vw{constructor(t,e){this.id=r(),this._filePromiseWrapper=this._createFilePromiseWrapper(t),this._adapter=e(this),this._reader=new Fw,this.set(\"status\",\"idle\"),this.set(\"uploaded\",0),this.set(\"uploadTotal\",null),this.bind(\"uploadedPercent\").to(this,\"uploaded\",this,\"uploadTotal\",((t,e)=>e?t/e*100:0)),this.set(\"uploadResponse\",null)}get file(){return this._filePromiseWrapper?this._filePromiseWrapper.promise.then((t=>this._filePromiseWrapper?t:null)):Promise.resolve(null)}get data(){return this._reader.data}read(){if(\"idle\"!=this.status)throw new a(\"filerepository-read-wrong-status\",this);return this.status=\"reading\",this.file.then((t=>this._reader.read(t))).then((t=>{if(\"reading\"!==this.status)throw this.status;return this.status=\"idle\",t})).catch((t=>{if(\"aborted\"===t)throw this.status=\"aborted\",\"aborted\";throw this.status=\"error\",this._reader.error?this._reader.error:t}))}upload(){if(\"idle\"!=this.status)throw new a(\"filerepository-upload-wrong-status\",this);return this.status=\"uploading\",this.file.then((()=>this._adapter.upload())).then((t=>(this.uploadResponse=t,this.status=\"idle\",t))).catch((t=>{if(\"aborted\"===this.status)throw\"aborted\";throw this.status=\"error\",t}))}abort(){const t=this.status;this.status=\"aborted\",this._filePromiseWrapper.isFulfilled?\"reading\"==t?this._reader.abort():\"uploading\"==t&&this._adapter.abort&&this._adapter.abort():(this._filePromiseWrapper.promise.catch((()=>{})),this._filePromiseWrapper.rejecter(\"aborted\")),this._destroy()}_destroy(){this._filePromiseWrapper=void 0,this._reader=void 0,this._adapter=void 0,this.uploadResponse=void 0}_createFilePromiseWrapper(t){const e={};return e.promise=new Promise(((n,i)=>{e.rejecter=i,e.isFulfilled=!1,t.then((t=>{e.isFulfilled=!0,n(t)})).catch((t=>{e.isFulfilled=!0,i(t)}))})),e}}ce(Vw,ne);class Hw extends fd{constructor(t){super(t),this.buttonView=new Wd(t),this._fileInputView=new Uw(t),this._fileInputView.bind(\"acceptedType\").to(this),this._fileInputView.bind(\"allowMultipleFiles\").to(this),this._fileInputView.delegate(\"done\").to(this),this.setTemplate({tag:\"span\",attributes:{class:\"ck-file-dialog-button\"},children:[this.buttonView,this._fileInputView]}),this.buttonView.on(\"execute\",(()=>{this._fileInputView.open()}))}focus(){this.buttonView.focus()}}class Uw extends fd{constructor(t){super(t),this.set(\"acceptedType\"),this.set(\"allowMultipleFiles\",!1);const e=this.bindTemplate;this.setTemplate({tag:\"input\",attributes:{class:[\"ck-hidden\"],type:\"file\",tabindex:\"-1\",accept:e.to(\"acceptedType\"),multiple:e.to(\"allowMultipleFiles\")},on:{change:e.to((()=>{this.element&&this.element.files&&this.element.files.length&&this.fire(\"done\",this.element.files),this.element.value=\"\"}))}})}open(){this.element.click()}}class Gw{constructor(t,e){this.loader=t,this.options=e}upload(){return this.loader.file.then((t=>new Promise(((e,n)=>{this._initRequest(),this._initListeners(e,n,t),this._sendRequest(t)}))))}abort(){this.xhr&&this.xhr.abort()}_initRequest(){const t=this.xhr=new XMLHttpRequest;t.open(\"POST\",this.options.uploadUrl,!0),t.responseType=\"json\"}_initListeners(t,e,n){const i=this.xhr,o=this.loader,r=`Couldn't upload file: ${n.name}.`;i.addEventListener(\"error\",(()=>e(r))),i.addEventListener(\"abort\",(()=>e())),i.addEventListener(\"load\",(()=>{const n=i.response;if(!n||n.error)return e(n&&n.error&&n.error.message?n.error.message:r);const o=n.url?{default:n.url}:n.urls;t({...n,urls:o})})),i.upload&&i.upload.addEventListener(\"progress\",(t=>{t.lengthComputable&&(o.uploadTotal=t.total,o.uploaded=t.loaded)}))}_sendRequest(t){const e=this.options.headers||{},n=this.options.withCredentials||!1;for(const t of Object.keys(e))this.xhr.setRequestHeader(t,e[t]);this.xhr.withCredentials=n;const i=new FormData;i.append(\"upload\",t),this.xhr.send(i)}}function qw(t){const e=t.map((t=>t.replace(\"+\",\"\\\\+\")));return new RegExp(`^image\\\\/(${e.join(\"|\")})$`)}function Ww(t){return new Promise(((e,n)=>{const i=t.getAttribute(\"src\");fetch(i).then((t=>t.blob())).then((t=>{const n=Kw(t,i),o=n.replace(\"image/\",\"\"),r=new File([t],`image.${o}`,{type:n});e(r)})).catch((t=>t&&\"TypeError\"===t.name?function(t){return function(t){return new Promise(((e,n)=>{const i=Kr.document.createElement(\"img\");i.addEventListener(\"load\",(()=>{const t=Kr.document.createElement(\"canvas\");t.width=i.width,t.height=i.height;t.getContext(\"2d\").drawImage(i,0,0),t.toBlob((t=>t?e(t):n()))})),i.addEventListener(\"error\",(()=>n())),i.src=t}))}(t).then((e=>{const n=Kw(e,t),i=n.replace(\"image/\",\"\");return new File([e],`image.${i}`,{type:n})}))}(i).then(e).catch(n):n(t)))}))}function Kw(t,e){return t.type?t.type:e.match(/data:(image\\/\\w+);base64/)?e.match(/data:(image\\/\\w+);base64/)[1].toLowerCase():\"image/jpeg\"}class $w extends le{static get pluginName(){return\"ImageUploadUI\"}init(){const t=this.editor,e=t.t,n=n=>{const i=new Hw(n),o=t.commands.get(\"uploadImage\"),r=t.config.get(\"image.upload.types\"),s=qw(r);return i.set({acceptedType:r.map((t=>`image/${t}`)).join(\",\"),allowMultipleFiles:!0}),i.buttonView.set({label:e(\"Insert image\"),icon:ad.image,tooltip:!0}),i.buttonView.bind(\"isEnabled\").to(o),i.on(\"done\",((e,n)=>{const i=Array.from(n).filter((t=>s.test(t.type)));i.length&&t.execute(\"uploadImage\",{file:i})})),i};t.ui.componentFactory.add(\"uploadImage\",n),t.ui.componentFactory.add(\"imageUpload\",n)}}var Yw=n(5870),Zw={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(Yw.Z,Zw);Yw.Z.locals;var Qw=n(9899),Jw={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(Qw.Z,Jw);Qw.Z.locals;var Xw=n(9825),tC={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(Xw.Z,tC);Xw.Z.locals;class eC extends le{static get pluginName(){return\"ImageUploadProgress\"}constructor(t){super(t),this.placeholder=\"data:image/svg+xml;utf8,\"+encodeURIComponent(' ')}init(){const t=this.editor;t.plugins.has(\"ImageBlockEditing\")&&t.editing.downcastDispatcher.on(\"attribute:uploadStatus:imageBlock\",((...t)=>this.uploadStatusChange(...t))),t.plugins.has(\"ImageInlineEditing\")&&t.editing.downcastDispatcher.on(\"attribute:uploadStatus:imageInline\",((...t)=>this.uploadStatusChange(...t)))}uploadStatusChange(t,e,n){const i=this.editor,o=e.item,r=o.getAttribute(\"uploadId\");if(!n.consumable.consume(e.item,t.name))return;const s=i.plugins.get(\"ImageUtils\"),a=i.plugins.get(jw),c=r?e.attributeNewValue:null,l=this.placeholder,d=i.editing.mapper.toViewElement(o),h=n.writer;if(\"reading\"==c)return nC(d,h),void iC(s,l,d,h);if(\"uploading\"==c){const t=a.loaders.get(r);return nC(d,h),void(t?(oC(d,h),function(t,e,n,i){const o=function(t){const e=t.createUIElement(\"div\",{class:\"ck-progress-bar\"});return t.setCustomProperty(\"progressBar\",!0,e),e}(e);e.insert(e.createPositionAt(t,\"end\"),o),n.on(\"change:uploadedPercent\",((t,e,n)=>{i.change((t=>{t.setStyle(\"width\",n+\"%\",o)}))}))}(d,h,t,i.editing.view),function(t,e,n,i){if(i.data){const o=t.getViewImageFromWidget(e);n.setAttribute(\"src\",i.data,o)}}(s,d,h,t)):iC(s,l,d,h))}\"complete\"==c&&a.loaders.get(r)&&function(t,e,n){const i=e.createUIElement(\"div\",{class:\"ck-image-upload-complete-icon\"});e.insert(e.createPositionAt(t,\"end\"),i),setTimeout((()=>{n.change((t=>t.remove(t.createRangeOn(i))))}),3e3)}(d,h,i.editing.view),function(t,e){sC(t,e,\"progressBar\")}(d,h),oC(d,h),function(t,e){e.removeClass(\"ck-appear\",t)}(d,h)}}function nC(t,e){t.hasClass(\"ck-appear\")||e.addClass(\"ck-appear\",t)}function iC(t,e,n,i){n.hasClass(\"ck-image-upload-placeholder\")||i.addClass(\"ck-image-upload-placeholder\",n);const o=t.getViewImageFromWidget(n);o.getAttribute(\"src\")!==e&&i.setAttribute(\"src\",e,o),rC(n,\"placeholder\")||i.insert(i.createPositionAfter(o),function(t){const e=t.createUIElement(\"div\",{class:\"ck-upload-placeholder-loader\"});return t.setCustomProperty(\"placeholder\",!0,e),e}(i))}function oC(t,e){t.hasClass(\"ck-image-upload-placeholder\")&&e.removeClass(\"ck-image-upload-placeholder\",t),sC(t,e,\"placeholder\")}function rC(t,e){for(const n of t.getChildren())if(n.getCustomProperty(e))return n}function sC(t,e,n){const i=rC(t,n);i&&e.remove(e.createRangeOn(i))}class aC extends he{refresh(){const t=this.editor,e=t.plugins.get(\"ImageUtils\"),n=t.model.document.selection.getSelectedElement();this.isEnabled=e.isImageAllowed()||e.isImage(n)}execute(t){const e=Ei(t.file),n=this.editor.model.document.selection,i=this.editor.plugins.get(\"ImageUtils\"),o=Object.fromEntries(n.getAttributes());e.forEach(((t,e)=>{const r=n.getSelectedElement();if(e&&r&&i.isImage(r)){const e=this.editor.model.createPositionAfter(r);this._uploadImage(t,o,e)}else this._uploadImage(t,o)}))}_uploadImage(t,e,n){const i=this.editor,o=i.plugins.get(jw).createLoader(t),r=i.plugins.get(\"ImageUtils\");o&&r.insertImage({...e,uploadId:o.id},n)}}class cC extends le{static get requires(){return[jw,ru,sg,Ip]}static get pluginName(){return\"ImageUploadEditing\"}constructor(t){super(t),t.config.define(\"image\",{upload:{types:[\"jpeg\",\"png\",\"gif\",\"bmp\",\"webp\",\"tiff\"]}}),this._uploadImageElements=new Map}init(){const t=this.editor,e=t.model.document,n=t.conversion,i=t.plugins.get(jw),o=t.plugins.get(\"ImageUtils\"),r=qw(t.config.get(\"image.upload.types\")),s=new aC(t);t.commands.add(\"uploadImage\",s),t.commands.add(\"imageUpload\",s),n.for(\"upcast\").attributeToAttribute({view:{name:\"img\",key:\"uploadId\"},model:\"uploadId\"}),this.listenTo(t.editing.view.document,\"clipboardInput\",((e,n)=>{if(i=n.dataTransfer,Array.from(i.types).includes(\"text/html\")&&\"\"!==i.getData(\"text/html\"))return;var i;const o=Array.from(n.dataTransfer.files).filter((t=>!!t&&r.test(t.type)));o.length&&(e.stop(),t.model.change((e=>{n.targetRanges&&e.setSelection(n.targetRanges.map((e=>t.editing.mapper.toModelRange(e)))),t.model.enqueueChange(\"default\",(()=>{t.execute(\"uploadImage\",{file:o})}))})))})),this.listenTo(t.plugins.get(\"ClipboardPipeline\"),\"inputTransformation\",((e,n)=>{const r=Array.from(t.editing.view.createRangeIn(n.content)).filter((t=>function(t,e){return!(!t.isInlineImageView(e)||!e.getAttribute(\"src\"))&&(e.getAttribute(\"src\").match(/^data:image\\/\\w+;base64,/g)||e.getAttribute(\"src\").match(/^blob:/g))}(o,t.item)&&!t.item.getAttribute(\"uploadProcessed\"))).map((t=>({promise:Ww(t.item),imageElement:t.item})));if(!r.length)return;const s=new Qu(t.editing.view.document);for(const t of r){s.setAttribute(\"uploadProcessed\",!0,t.imageElement);const e=i.createLoader(t.promise);e&&(s.setAttribute(\"src\",\"\",t.imageElement),s.setAttribute(\"uploadId\",e.id,t.imageElement))}})),t.editing.view.document.on(\"dragover\",((t,e)=>{e.preventDefault()})),e.on(\"change\",(()=>{const n=e.differ.getChanges({includeChangesInGraveyard:!0}).reverse(),o=new Set;for(const e of n)if(\"insert\"==e.type&&\"$text\"!=e.name){const n=e.position.nodeAfter,r=\"$graveyard\"==e.position.root.rootName;for(const e of lC(t,n)){const t=e.getAttribute(\"uploadId\");if(!t)continue;const n=i.loaders.get(t);n&&(r?o.has(t)||n.abort():(o.add(t),this._uploadImageElements.set(t,e),\"idle\"==n.status&&this._readAndUpload(n)))}}})),this.on(\"uploadComplete\",((t,{imageElement:e,data:n})=>{const i=n.urls?n.urls:n;this.editor.model.change((t=>{t.setAttribute(\"src\",i.default,e),this._parseAndSetSrcsetAttributeOnImage(i,e,t)}))}),{priority:\"low\"})}afterInit(){const t=this.editor.model.schema;this.editor.plugins.has(\"ImageBlockEditing\")&&t.extend(\"imageBlock\",{allowAttributes:[\"uploadId\",\"uploadStatus\"]}),this.editor.plugins.has(\"ImageInlineEditing\")&&t.extend(\"imageInline\",{allowAttributes:[\"uploadId\",\"uploadStatus\"]})}_readAndUpload(t){const e=this.editor,n=e.model,i=e.locale.t,o=e.plugins.get(jw),r=e.plugins.get(ru),s=e.plugins.get(\"ImageUtils\"),a=this._uploadImageElements;return n.enqueueChange(\"transparent\",(e=>{e.setAttribute(\"uploadStatus\",\"reading\",a.get(t.id))})),t.read().then((()=>{const i=t.upload(),o=a.get(t.id);if(tr.isSafari){const t=e.editing.mapper.toViewElement(o),n=s.getViewImageFromWidget(t);e.editing.view.once(\"render\",(()=>{if(!n.parent)return;const t=e.editing.view.domConverter.mapViewToDom(n.parent);if(!t)return;const i=t.style.display;t.style.display=\"none\",t._ckHack=t.offsetHeight,t.style.display=i}))}return n.enqueueChange(\"transparent\",(t=>{t.setAttribute(\"uploadStatus\",\"uploading\",o)})),i})).then((e=>{n.enqueueChange(\"transparent\",(n=>{const i=a.get(t.id);n.setAttribute(\"uploadStatus\",\"complete\",i),this.fire(\"uploadComplete\",{data:e,imageElement:i})})),c()})).catch((e=>{if(\"error\"!==t.status&&\"aborted\"!==t.status)throw e;\"error\"==t.status&&e&&r.showWarning(e,{title:i(\"Upload failed\"),namespace:\"upload\"}),n.enqueueChange(\"transparent\",(e=>{e.remove(a.get(t.id))})),c()}));function c(){n.enqueueChange(\"transparent\",(e=>{const n=a.get(t.id);e.removeAttribute(\"uploadId\",n),e.removeAttribute(\"uploadStatus\",n),a.delete(t.id)})),o.destroyLoader(t)}}_parseAndSetSrcsetAttributeOnImage(t,e,n){let i=0;const o=Object.keys(t).filter((t=>{const e=parseInt(t,10);if(!isNaN(e))return i=Math.max(i,e),!0})).map((e=>`${t[e]} ${e}w`)).join(\", \");\"\"!=o&&n.setAttribute(\"srcset\",{data:o,width:i},e)}}function lC(t,e){const n=t.plugins.get(\"ImageUtils\");return Array.from(t.model.createRangeOn(e)).filter((t=>n.isImage(t.item))).map((t=>t.item))}class dC extends le{static get pluginName(){return\"ImageUpload\"}static get requires(){return[cC,$w,eC]}}var hC=n(5150),uC={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(hC.Z,uC);hC.Z.locals;class mC extends fd{constructor(t,e={}){super(t);const n=this.bindTemplate;this.set(\"class\",e.class||null),this.children=this.createCollection(),e.children&&e.children.forEach((t=>this.children.add(t))),this.set(\"_role\",null),this.set(\"_ariaLabelledBy\",null),e.labelView&&this.set({_role:\"group\",_ariaLabelledBy:e.labelView.id}),this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-form__row\",n.to(\"class\")],role:n.to(\"_role\"),\"aria-labelledby\":n.to(\"_ariaLabelledBy\")},children:this.children})}}var gC=n(9292),pC={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(gC.Z,pC);gC.Z.locals;class fC extends fd{constructor(t,e){super(t);const{insertButtonView:n,cancelButtonView:i}=this._createActionButtons(t);if(this.insertButtonView=n,this.cancelButtonView=i,this.dropdownView=this._createDropdownView(t),this.set(\"imageURLInputValue\",\"\"),this.focusTracker=new la,this.keystrokes=new da,this._focusables=new hd,this._focusCycler=new th({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}}),this.set(\"_integrations\",new yi),e)for(const[t,n]of Object.entries(e))\"insertImageViaUrl\"===t&&(n.fieldView.bind(\"value\").to(this,\"imageURLInputValue\",(t=>t||\"\")),n.fieldView.on(\"input\",(()=>{this.imageURLInputValue=n.fieldView.element.value.trim()}))),n.name=t,this._integrations.add(n);this.setTemplate({tag:\"form\",attributes:{class:[\"ck\",\"ck-image-insert-form\"],tabindex:\"-1\"},children:[...this._integrations,new mC(t,{children:[this.insertButtonView,this.cancelButtonView],class:\"ck-image-insert-form__action-row\"})]})}render(){super.render(),dd({view:this});const t=[...this._integrations,this.insertButtonView,this.cancelButtonView];t.forEach((t=>{this._focusables.add(t),this.focusTracker.add(t.element)})),this.keystrokes.listenTo(this.element);const e=t=>t.stopPropagation();this.keystrokes.set(\"arrowright\",e),this.keystrokes.set(\"arrowleft\",e),this.keystrokes.set(\"arrowup\",e),this.keystrokes.set(\"arrowdown\",e),this.listenTo(t[0].element,\"selectstart\",((t,e)=>{e.stopPropagation()}),{priority:\"high\"})}getIntegration(t){return this._integrations.find((e=>e.name===t))}_createDropdownView(t){const e=t.t,n=Ph(t,lh),i=n.buttonView,o=n.panelView;return i.set({label:e(\"Insert image\"),icon:ad.image,tooltip:!0}),o.extendTemplate({attributes:{class:\"ck-image-insert__panel\"}}),n}_createActionButtons(t){const e=t.t,n=new Wd(t),i=new Wd(t);return n.set({label:e(\"Insert\"),icon:ad.check,class:\"ck-button-save\",type:\"submit\",withText:!0,isEnabled:this.imageURLInputValue}),i.set({label:e(\"Cancel\"),icon:ad.cancel,class:\"ck-button-cancel\",withText:!0}),n.bind(\"isEnabled\").to(this,\"imageURLInputValue\",(t=>!!t)),n.delegate(\"execute\").to(this,\"submit\"),i.delegate(\"execute\").to(this,\"cancel\"),{insertButtonView:n,cancelButtonView:i}}focus(){this._focusCycler.focusFirst()}}function kC(t){const e=t.t,n=new nu(t,iu);return n.set({label:e(\"Insert image via URL\")}),n.fieldView.placeholder=\"https://example.com/image.png\",n}class bC extends le{static get pluginName(){return\"ImageInsertUI\"}init(){const t=this.editor,e=t=>this._createDropdownView(t);t.ui.componentFactory.add(\"insertImage\",e),t.ui.componentFactory.add(\"imageInsert\",e)}_createDropdownView(t){const e=this.editor,n=new fC(t,function(t){const e=t.config.get(\"image.insert.integrations\"),n=t.plugins.get(\"ImageInsertUI\"),i={insertImageViaUrl:kC(t.locale)};if(!e)return i;if(e.find((t=>\"openCKFinder\"===t))&&t.ui.componentFactory.has(\"ckfinder\")){const e=t.ui.componentFactory.create(\"ckfinder\");e.set({withText:!0,class:\"ck-image-insert__ck-finder-button\"}),e.delegate(\"execute\").to(n,\"cancel\"),i.openCKFinder=e}return e.reduce(((e,n)=>(i[n]?e[n]=i[n]:t.ui.componentFactory.has(n)&&(e[n]=t.ui.componentFactory.create(n)),e)),{})}(e)),i=e.commands.get(\"uploadImage\"),o=n.dropdownView,r=o.buttonView;return r.actionView=e.ui.componentFactory.create(\"uploadImage\"),r.actionView.extendTemplate({attributes:{class:\"ck ck-button ck-splitbutton__action\"}}),this._setUpDropdown(o,n,i)}_setUpDropdown(t,e,n){const i=this.editor,o=i.t,r=e.insertButtonView,s=e.getIntegration(\"insertImageViaUrl\"),a=t.panelView,c=this.editor.plugins.get(\"ImageUtils\");function l(){i.editing.view.focus(),t.isOpen=!1}return t.bind(\"isEnabled\").to(n),t.buttonView.once(\"open\",(()=>{a.children.add(e)})),t.on(\"change:isOpen\",(()=>{const n=i.model.document.selection.getSelectedElement();t.isOpen&&(e.focus(),c.isImage(n)?(e.imageURLInputValue=n.getAttribute(\"src\"),r.label=o(\"Update\"),s.label=o(\"Update image URL\")):(e.imageURLInputValue=\"\",r.label=o(\"Insert\"),s.label=o(\"Insert image via URL\")))}),{priority:\"low\"}),e.delegate(\"submit\",\"cancel\").to(t),this.delegate(\"cancel\").to(t),t.on(\"submit\",(()=>{l(),function(){const t=i.model.document.selection.getSelectedElement();c.isImage(t)?i.model.change((n=>{n.setAttribute(\"src\",e.imageURLInputValue,t),n.removeAttribute(\"srcset\",t),n.removeAttribute(\"sizes\",t)})):i.execute(\"insertImage\",{source:e.imageURLInputValue})}()})),t.on(\"cancel\",(()=>{l()})),t}}class wC extends he{refresh(){const t=this.editor,e=t.plugins.get(\"ImageUtils\").getClosestSelectedImageElement(t.model.document.selection);this.isEnabled=!!e,e&&e.hasAttribute(\"width\")?this.value={width:e.getAttribute(\"width\"),height:null}:this.value=null}execute(t){const e=this.editor,n=e.model,i=e.plugins.get(\"ImageUtils\").getClosestSelectedImageElement(n.document.selection);this.value={width:t.width,height:null},i&&n.change((e=>{e.setAttribute(\"width\",t.width,i)}))}}class CC extends le{static get requires(){return[Ip]}static get pluginName(){return\"ImageResizeEditing\"}constructor(t){super(t),t.config.define(\"image\",{resizeUnit:\"%\",resizeOptions:[{name:\"resizeImage:original\",value:null,icon:\"original\"},{name:\"resizeImage:25\",value:\"25\",icon:\"small\"},{name:\"resizeImage:50\",value:\"50\",icon:\"medium\"},{name:\"resizeImage:75\",value:\"75\",icon:\"large\"}]})}init(){const t=this.editor,e=new wC(t);this._registerSchema(),this._registerConverters(\"imageBlock\"),this._registerConverters(\"imageInline\"),t.commands.add(\"resizeImage\",e),t.commands.add(\"imageResize\",e)}_registerSchema(){this.editor.plugins.has(\"ImageBlockEditing\")&&this.editor.model.schema.extend(\"imageBlock\",{allowAttributes:\"width\"}),this.editor.plugins.has(\"ImageInlineEditing\")&&this.editor.model.schema.extend(\"imageInline\",{allowAttributes:\"width\"})}_registerConverters(t){const e=this.editor;e.conversion.for(\"downcast\").add((e=>e.on(`attribute:width:${t}`,((t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const i=n.writer,o=n.mapper.toViewElement(e.item);null!==e.attributeNewValue?(i.setStyle(\"width\",e.attributeNewValue,o),i.addClass(\"image_resized\",o)):(i.removeStyle(\"width\",o),i.removeClass(\"image_resized\",o))})))),e.conversion.for(\"upcast\").attributeToAttribute({view:{name:\"imageBlock\"===t?\"figure\":\"img\",styles:{width:/.+/}},model:{key:\"width\",value:t=>t.getStyle(\"width\")}})}}const AC={small:ad.objectSizeSmall,medium:ad.objectSizeMedium,large:ad.objectSizeLarge,original:ad.objectSizeFull};class _C extends le{static get requires(){return[CC]}static get pluginName(){return\"ImageResizeButtons\"}constructor(t){super(t),this._resizeUnit=t.config.get(\"image.resizeUnit\")}init(){const t=this.editor,e=t.config.get(\"image.resizeOptions\"),n=t.commands.get(\"resizeImage\");this.bind(\"isEnabled\").to(n);for(const t of e)this._registerImageResizeButton(t);this._registerImageResizeDropdown(e)}_registerImageResizeButton(t){const e=this.editor,{name:n,value:i,icon:o}=t,r=i?i+this._resizeUnit:null;e.ui.componentFactory.add(n,(n=>{const i=new Wd(n),s=e.commands.get(\"resizeImage\"),c=this._getOptionLabelValue(t,!0);if(!AC[o])throw new a(\"imageresizebuttons-missing-icon\",e,t);return i.set({label:c,icon:AC[o],tooltip:c,isToggleable:!0}),i.bind(\"isEnabled\").to(this),i.bind(\"isOn\").to(s,\"value\",vC(r)),this.listenTo(i,\"execute\",(()=>{e.execute(\"resizeImage\",{width:r})})),i}))}_registerImageResizeDropdown(t){const e=this.editor,n=e.t,i=t.find((t=>!t.value)),o=o=>{const r=e.commands.get(\"resizeImage\"),s=Ph(o,sh),a=s.buttonView;return a.set({tooltip:n(\"Resize image\"),commandValue:i.value,icon:AC.medium,isToggleable:!0,label:this._getOptionLabelValue(i),withText:!0,class:\"ck-resize-image-button\"}),a.bind(\"label\").to(r,\"value\",(t=>t&&t.width?t.width:this._getOptionLabelValue(i))),s.bind(\"isOn\").to(r),s.bind(\"isEnabled\").to(this),Rh(s,this._getResizeDropdownListItemDefinitions(t,r)),s.listView.ariaLabel=n(\"Image resize list\"),this.listenTo(s,\"execute\",(t=>{e.execute(t.source.commandName,{width:t.source.commandValue}),e.editing.view.focus()})),s};e.ui.componentFactory.add(\"resizeImage\",o),e.ui.componentFactory.add(\"imageResize\",o)}_getOptionLabelValue(t,e){const n=this.editor.t;return t.label?t.label:e?t.value?n(\"Resize image to %0\",t.value+this._resizeUnit):n(\"Resize image to the original size\"):t.value?t.value+this._resizeUnit:n(\"Original\")}_getResizeDropdownListItemDefinitions(t,e){const n=new yi;return t.map((t=>{const i=t.value?t.value+this._resizeUnit:null,o={type:\"button\",model:new su({commandName:\"resizeImage\",commandValue:i,label:this._getOptionLabelValue(t),withText:!0,icon:null})};o.model.bind(\"isOn\").to(e,\"value\",vC(i)),n.add(o)})),n}}function vC(t){return e=>null===t&&e===t||e&&e.width===t}const yC=/(image|image-inline)/,xC=\"image_resized\";class EC extends le{static get requires(){return[xp]}static get pluginName(){return\"ImageResizeHandles\"}init(){const t=this.editor.commands.get(\"resizeImage\");this.bind(\"isEnabled\").to(t),this._setupResizerCreator()}_setupResizerCreator(){const t=this.editor,e=t.editing.view;e.addObserver(Aw),this.listenTo(e.document,\"imageLoaded\",((n,i)=>{if(!i.target.matches(\"figure.image.ck-widget > img,figure.image.ck-widget > a > img,span.image-inline.ck-widget > img\"))return;const o=t.editing.view.domConverter,r=o.domToView(i.target).findAncestor({classes:yC});let s=this.editor.plugins.get(xp).getResizerByViewElement(r);if(s)return void s.redraw();const a=t.editing.mapper,c=a.toModelElement(r);s=t.plugins.get(xp).attachTo({unit:t.config.get(\"image.resizeUnit\"),modelElement:c,viewElement:r,editor:t,getHandleHost:t=>t.querySelector(\"img\"),getResizeHost:()=>o.viewToDom(a.toViewElement(c.parent)),isCentered(){const t=c.getAttribute(\"imageStyle\");return!t||\"block\"==t||\"alignCenter\"==t},onCommit(n){e.change((t=>{t.removeClass(xC,r)})),t.execute(\"resizeImage\",{width:n})}}),s.on(\"updateSize\",(()=>{r.hasClass(xC)||e.change((t=>{t.addClass(xC,r)}))})),s.bind(\"isEnabled\").to(this)}))}}var DC=n(1043),SC={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(DC.Z,SC);DC.Z.locals;class IC extends he{constructor(t,e){super(t),this._defaultStyles={imageBlock:!1,imageInline:!1},this._styles=new Map(e.map((t=>{if(t.isDefault)for(const e of t.modelElements)this._defaultStyles[e]=t.name;return[t.name,t]})))}refresh(){const t=this.editor.plugins.get(\"ImageUtils\").getClosestSelectedImageElement(this.editor.model.document.selection);this.isEnabled=!!t,this.isEnabled?t.hasAttribute(\"imageStyle\")?this.value=t.getAttribute(\"imageStyle\"):this.value=this._defaultStyles[t.name]:this.value=!1}execute(t={}){const e=this.editor,n=e.model,i=e.plugins.get(\"ImageUtils\");n.change((e=>{const o=t.value;let r=i.getClosestSelectedImageElement(n.document.selection);o&&this.shouldConvertImageType(o,r)&&(this.editor.execute(i.isBlockImage(r)?\"imageTypeInline\":\"imageTypeBlock\"),r=i.getClosestSelectedImageElement(n.document.selection)),!o||this._styles.get(o).isDefault?e.removeAttribute(\"imageStyle\",r):e.setAttribute(\"imageStyle\",o,r)}))}shouldConvertImageType(t,e){return!this._styles.get(t).modelElements.includes(e.name)}}const{objectFullWidth:TC,objectInline:MC,objectLeft:BC,objectRight:NC,objectCenter:LC,objectBlockLeft:zC,objectBlockRight:PC}=ad,OC={inline:{name:\"inline\",title:\"In line\",icon:MC,modelElements:[\"imageInline\"],isDefault:!0},alignLeft:{name:\"alignLeft\",title:\"Left aligned image\",icon:BC,modelElements:[\"imageBlock\",\"imageInline\"],className:\"image-style-align-left\"},alignBlockLeft:{name:\"alignBlockLeft\",title:\"Left aligned image\",icon:zC,modelElements:[\"imageBlock\"],className:\"image-style-block-align-left\"},alignCenter:{name:\"alignCenter\",title:\"Centered image\",icon:LC,modelElements:[\"imageBlock\"],className:\"image-style-align-center\"},alignRight:{name:\"alignRight\",title:\"Right aligned image\",icon:NC,modelElements:[\"imageBlock\",\"imageInline\"],className:\"image-style-align-right\"},alignBlockRight:{name:\"alignBlockRight\",title:\"Right aligned image\",icon:PC,modelElements:[\"imageBlock\"],className:\"image-style-block-align-right\"},block:{name:\"block\",title:\"Centered image\",icon:LC,modelElements:[\"imageBlock\"],isDefault:!0},side:{name:\"side\",title:\"Side image\",icon:NC,modelElements:[\"imageBlock\"],className:\"image-style-side\"}},RC={full:TC,left:zC,right:PC,center:LC,inlineLeft:BC,inlineRight:NC,inline:MC},FC=[{name:\"imageStyle:wrapText\",title:\"Wrap text\",defaultItem:\"imageStyle:alignLeft\",items:[\"imageStyle:alignLeft\",\"imageStyle:alignRight\"]},{name:\"imageStyle:breakText\",title:\"Break text\",defaultItem:\"imageStyle:block\",items:[\"imageStyle:alignBlockLeft\",\"imageStyle:block\",\"imageStyle:alignBlockRight\"]}];function jC(t){c(\"image-style-configuration-definition-invalid\",t)}const VC={normalizeStyles:function(t){return(t.configuredStyles.options||[]).map((t=>function(t){t=\"string\"==typeof t?OC[t]?{...OC[t]}:{name:t}:function(t,e){const n={...e};for(const i in t)Object.prototype.hasOwnProperty.call(e,i)||(n[i]=t[i]);return n}(OC[t.name],t);\"string\"==typeof t.icon&&(t.icon=RC[t.icon]||t.icon);return t}(t))).filter((e=>function(t,{isBlockPluginLoaded:e,isInlinePluginLoaded:n}){const{modelElements:i,name:o}=t;if(!(i&&i.length&&o))return jC({style:t}),!1;{const o=[e?\"imageBlock\":null,n?\"imageInline\":null];if(!i.some((t=>o.includes(t))))return c(\"image-style-missing-dependency\",{style:t,missingPlugins:i.map((t=>\"imageBlock\"===t?\"ImageBlockEditing\":\"ImageInlineEditing\"))}),!1}return!0}(e,t)))},getDefaultStylesConfiguration:function(t,e){return t&&e?{options:[\"inline\",\"alignLeft\",\"alignRight\",\"alignCenter\",\"alignBlockLeft\",\"alignBlockRight\",\"block\",\"side\"]}:t?{options:[\"block\",\"side\"]}:e?{options:[\"inline\",\"alignLeft\",\"alignRight\"]}:{}},getDefaultDropdownDefinitions:function(t){return t.has(\"ImageBlockEditing\")&&t.has(\"ImageInlineEditing\")?[...FC]:[]},warnInvalidStyle:jC,DEFAULT_OPTIONS:OC,DEFAULT_ICONS:RC,DEFAULT_DROPDOWN_DEFINITIONS:FC};function HC(t,e){for(const n of e)if(n.name===t)return n}class UC extends le{static get pluginName(){return\"ImageStyleEditing\"}static get requires(){return[Ip]}init(){const{normalizeStyles:t,getDefaultStylesConfiguration:e}=VC,n=this.editor,i=n.plugins.has(\"ImageBlockEditing\"),o=n.plugins.has(\"ImageInlineEditing\");n.config.define(\"image.styles\",e(i,o)),this.normalizedStyles=t({configuredStyles:n.config.get(\"image.styles\"),isBlockPluginLoaded:i,isInlinePluginLoaded:o}),this._setupConversion(i,o),this._setupPostFixer(),n.commands.add(\"imageStyle\",new IC(n,this.normalizedStyles))}_setupConversion(t,e){const n=this.editor,i=n.model.schema,o=(r=this.normalizedStyles,(t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const i=HC(e.attributeNewValue,r),o=HC(e.attributeOldValue,r),s=n.mapper.toViewElement(e.item),a=n.writer;o&&a.removeClass(o.className,s),i&&a.addClass(i.className,s)});var r;const s=function(t){const e={imageInline:t.filter((t=>!t.isDefault&&t.modelElements.includes(\"imageInline\"))),imageBlock:t.filter((t=>!t.isDefault&&t.modelElements.includes(\"imageBlock\")))};return(t,n,i)=>{if(!n.modelRange)return;const o=n.viewItem,r=ca(n.modelRange.getItems());if(r&&i.schema.checkAttribute(r,\"imageStyle\"))for(const t of e[r.name])i.consumable.consume(o,{classes:t.className})&&i.writer.setAttribute(\"imageStyle\",t.name,r)}}(this.normalizedStyles);n.editing.downcastDispatcher.on(\"attribute:imageStyle\",o),n.data.downcastDispatcher.on(\"attribute:imageStyle\",o),t&&(i.extend(\"imageBlock\",{allowAttributes:\"imageStyle\"}),n.data.upcastDispatcher.on(\"element:figure\",s,{priority:\"low\"})),e&&(i.extend(\"imageInline\",{allowAttributes:\"imageStyle\"}),n.data.upcastDispatcher.on(\"element:img\",s,{priority:\"low\"}))}_setupPostFixer(){const t=this.editor,e=t.model.document,n=t.plugins.get(Ip),i=new Map(this.normalizedStyles.map((t=>[t.name,t])));e.registerPostFixer((t=>{let o=!1;for(const r of e.differ.getChanges())if(\"insert\"==r.type||\"attribute\"==r.type&&\"imageStyle\"==r.attributeKey){let e=\"insert\"==r.type?r.position.nodeAfter:r.range.start.nodeAfter;if(e&&e.is(\"element\",\"paragraph\")&&e.childCount>0&&(e=e.getChild(0)),!n.isImage(e))continue;const s=e.getAttribute(\"imageStyle\");if(!s)continue;const a=i.get(s);a&&a.modelElements.includes(e.name)||(t.removeAttribute(\"imageStyle\",e),o=!0)}return o}))}}var GC=n(4622),qC={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(GC.Z,qC);GC.Z.locals;class WC extends le{static get requires(){return[UC]}static get pluginName(){return\"ImageStyleUI\"}get localizedDefaultStylesTitles(){const t=this.editor.t;return{\"Wrap text\":t(\"Wrap text\"),\"Break text\":t(\"Break text\"),\"In line\":t(\"In line\"),\"Full size image\":t(\"Full size image\"),\"Side image\":t(\"Side image\"),\"Left aligned image\":t(\"Left aligned image\"),\"Centered image\":t(\"Centered image\"),\"Right aligned image\":t(\"Right aligned image\")}}init(){const t=this.editor.plugins,e=this.editor.config.get(\"image.toolbar\")||[],n=KC(t.get(\"ImageStyleEditing\").normalizedStyles,this.localizedDefaultStylesTitles);for(const t of n)this._createButton(t);const i=KC([...e.filter(v),...VC.getDefaultDropdownDefinitions(t)],this.localizedDefaultStylesTitles);for(const t of i)this._createDropdown(t,n)}_createDropdown(t,e){const n=this.editor.ui.componentFactory;n.add(t.name,(i=>{let o;const{defaultItem:r,items:s,title:a}=t,c=s.filter((t=>e.find((({name:e})=>$C(e)===t)))).map((t=>{const e=n.create(t);return t===r&&(o=e),e}));s.length!==c.length&&VC.warnInvalidStyle({dropdown:t});const l=Ph(i,lh),d=l.buttonView;return Oh(l,c),d.set({label:YC(a,o.label),class:null,tooltip:!0}),d.bind(\"icon\").toMany(c,\"isOn\",((...t)=>{const e=t.findIndex(ot);return e<0?o.icon:c[e].icon})),d.bind(\"label\").toMany(c,\"isOn\",((...t)=>{const e=t.findIndex(ot);return YC(a,e<0?o.label:c[e].label)})),d.bind(\"isOn\").toMany(c,\"isOn\",((...t)=>t.some(ot))),d.bind(\"class\").toMany(c,\"isOn\",((...t)=>t.some(ot)?\"ck-splitbutton_flatten\":null)),d.on(\"execute\",(()=>{c.some((({isOn:t})=>t))?l.isOpen=!l.isOpen:o.fire(\"execute\")})),l.bind(\"isEnabled\").toMany(c,\"isEnabled\",((...t)=>t.some(ot))),l}))}_createButton(t){const e=t.name;this.editor.ui.componentFactory.add($C(e),(n=>{const i=this.editor.commands.get(\"imageStyle\"),o=new Wd(n);return o.set({label:t.title,icon:t.icon,tooltip:!0,isToggleable:!0}),o.bind(\"isEnabled\").to(i,\"isEnabled\"),o.bind(\"isOn\").to(i,\"value\",(t=>t===e)),o.on(\"execute\",this._executeCommand.bind(this,e)),o}))}_executeCommand(t){this.editor.execute(\"imageStyle\",{value:t}),this.editor.editing.view.focus()}}function KC(t,e){for(const n of t)e[n.title]&&(n.title=e[n.title]);return t}function $C(t){return`imageStyle:${t}`}function YC(t,e){return(t?t+\": \":\"\")+e}class ZC extends le{static get pluginName(){return\"IndentEditing\"}init(){const t=this.editor;t.commands.add(\"indent\",new me(t)),t.commands.add(\"outdent\",new me(t))}}const QC=' ',JC=' ';class XC extends le{static get pluginName(){return\"IndentUI\"}init(){const t=this.editor,e=t.locale,n=t.t,i=\"ltr\"==e.uiLanguageDirection?QC:JC,o=\"ltr\"==e.uiLanguageDirection?JC:QC;this._defineButton(\"indent\",n(\"Increase indent\"),i),this._defineButton(\"outdent\",n(\"Decrease indent\"),o)}_defineButton(t,e,n){const i=this.editor;i.ui.componentFactory.add(t,(o=>{const r=i.commands.get(t),s=new Wd(o);return s.set({label:e,icon:n,tooltip:!0}),s.bind(\"isOn\",\"isEnabled\").to(r,\"value\",\"isEnabled\"),this.listenTo(s,\"execute\",(()=>{i.execute(t),i.editing.view.focus()})),s}))}}class tA extends he{constructor(t,e){super(t),this._indentBehavior=e}refresh(){const t=this.editor.model,e=ca(t.document.selection.getSelectedBlocks());e&&t.schema.checkAttribute(e,\"blockIndent\")?this.isEnabled=this._indentBehavior.checkEnabled(e.getAttribute(\"blockIndent\")):this.isEnabled=!1}execute(){const t=this.editor.model,e=function(t){const e=t.document.selection,n=t.schema;return Array.from(e.getSelectedBlocks()).filter((t=>n.checkAttribute(t,\"blockIndent\")))}(t);t.change((t=>{for(const n of e){const e=n.getAttribute(\"blockIndent\"),i=this._indentBehavior.getNextIndent(e);i?t.setAttribute(\"blockIndent\",i,n):t.removeAttribute(\"blockIndent\",n)}}))}}class eA{constructor(t){this.isForward=\"forward\"===t.direction,this.offset=t.offset,this.unit=t.unit}checkEnabled(t){const e=parseFloat(t||0);return this.isForward||e>0}getNextIndent(t){const e=parseFloat(t||0);if(!(!t||t.endsWith(this.unit)))return this.isForward?this.offset+this.unit:void 0;const n=e+(this.isForward?this.offset:-this.offset);return n>0?n+this.unit:void 0}}class nA{constructor(t){this.isForward=\"forward\"===t.direction,this.classes=t.classes}checkEnabled(t){const e=this.classes.indexOf(t);return this.isForward?e=0}getNextIndent(t){const e=this.classes.indexOf(t),n=this.isForward?1:-1;return this.classes[e+n]}}const iA=[\"paragraph\",\"heading1\",\"heading2\",\"heading3\",\"heading4\",\"heading5\",\"heading6\"];const oA=\"italic\";class rA extends le{static get pluginName(){return\"ItalicEditing\"}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:oA}),t.model.schema.setAttributeProperties(oA,{isFormatting:!0,copyOnEnter:!0}),t.conversion.attributeToElement({model:oA,view:\"i\",upcastAlso:[\"em\",{styles:{\"font-style\":\"italic\"}}]}),t.commands.add(oA,new Yf(t,oA)),t.keystrokes.set(\"CTRL+I\",oA)}}const sA=\"italic\";class aA extends le{static get pluginName(){return\"ItalicUI\"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add(sA,(n=>{const i=t.commands.get(sA),o=new Wd(n);return o.set({label:e(\"Italic\"),icon:' ',keystroke:\"CTRL+I\",tooltip:!0,isToggleable:!0}),o.bind(\"isOn\",\"isEnabled\").to(i,\"value\",\"isEnabled\"),this.listenTo(o,\"execute\",(()=>{t.execute(sA),t.editing.view.focus()})),o}))}}class cA{constructor(){this._definitions=new Set}get length(){return this._definitions.size}add(t){Array.isArray(t)?t.forEach((t=>this._definitions.add(t))):this._definitions.add(t)}getDispatcher(){return t=>{t.on(\"attribute:linkHref\",((t,e,n)=>{if(!n.consumable.test(e.item,\"attribute:linkHref\"))return;const i=n.writer,o=i.document.selection;for(const t of this._definitions){const r=i.createAttributeElement(\"a\",t.attributes,{priority:5});i.setCustomProperty(\"link\",!0,r),t.callback(e.attributeNewValue)?e.item.is(\"selection\")?i.wrap(o.getFirstRange(),r):i.wrap(n.mapper.toViewRange(e.range),r):i.unwrap(n.mapper.toViewRange(e.range),r)}}),{priority:\"high\"})}}getDispatcherForLinkedImage(){return t=>{t.on(\"attribute:linkHref:imageBlock\",((t,e,n)=>{const i=n.mapper.toViewElement(e.item),o=Array.from(i.getChildren()).find((t=>\"a\"===t.name));for(const t of this._definitions){const i=Ri(t.attributes);if(t.callback(e.attributeNewValue))for(const[t,e]of i)\"class\"===t?n.writer.addClass(e,o):n.writer.setAttribute(t,e,o);else for(const[t,e]of i)\"class\"===t?n.writer.removeClass(e,o):n.writer.removeAttribute(t,o)}}))}}}class lA extends he{constructor(t){super(t),this.manualDecorators=new yi,this.automaticDecorators=new cA}restoreManualDecoratorStates(){for(const t of this.manualDecorators)t.value=this._getDecoratorStateFromModel(t.id)}refresh(){const t=this.editor.model,e=t.document.selection,n=e.getSelectedElement()||ca(e.getSelectedBlocks());Mf(n,t.schema)?(this.value=n.getAttribute(\"linkHref\"),this.isEnabled=t.schema.checkAttribute(n,\"linkHref\")):(this.value=e.getAttribute(\"linkHref\"),this.isEnabled=t.schema.checkAttributeInSelection(e,\"linkHref\"));for(const t of this.manualDecorators)t.value=this._getDecoratorStateFromModel(t.id)}execute(t,e={}){const n=this.editor.model,i=n.document.selection,o=[],r=[];for(const t in e)e[t]?o.push(t):r.push(t);n.change((e=>{if(i.isCollapsed){const s=i.getFirstPosition();if(i.hasAttribute(\"linkHref\")){const a=of(s,\"linkHref\",i.getAttribute(\"linkHref\"),n);e.setAttribute(\"linkHref\",t,a),o.forEach((t=>{e.setAttribute(t,!0,a)})),r.forEach((t=>{e.removeAttribute(t,a)})),e.setSelection(e.createPositionAfter(a.end.nodeBefore))}else if(\"\"!==t){const r=Ri(i.getAttributes());r.set(\"linkHref\",t),o.forEach((t=>{r.set(t,!0)}));const{end:a}=n.insertContent(e.createText(t,r),s);e.setSelection(a)}[\"linkHref\",...o,...r].forEach((t=>{e.removeSelectionAttribute(t)}))}else{const s=n.schema.getValidRanges(i.getRanges(),\"linkHref\"),a=[];for(const t of i.getSelectedBlocks())n.schema.checkAttribute(t,\"linkHref\")&&a.push(e.createRangeOn(t));const c=a.slice();for(const t of s)this._isRangeToUpdate(t,a)&&c.push(t);for(const n of c)e.setAttribute(\"linkHref\",t,n),o.forEach((t=>{e.setAttribute(t,!0,n)})),r.forEach((t=>{e.removeAttribute(t,n)}))}}))}_getDecoratorStateFromModel(t){const e=this.editor.model,n=e.document.selection,i=n.getSelectedElement();return Mf(i,e.schema)?i.getAttribute(t):n.getAttribute(t)}_isRangeToUpdate(t,e){for(const n of e)if(n.containsRange(t))return!1;return!0}}class dA extends he{refresh(){const t=this.editor.model,e=t.document.selection,n=e.getSelectedElement();Mf(n,t.schema)?this.isEnabled=t.schema.checkAttribute(n,\"linkHref\"):this.isEnabled=t.schema.checkAttributeInSelection(e,\"linkHref\")}execute(){const t=this.editor,e=this.editor.model,n=e.document.selection,i=t.commands.get(\"link\");e.change((t=>{const o=n.isCollapsed?[of(n.getFirstPosition(),\"linkHref\",n.getAttribute(\"linkHref\"),e)]:e.schema.getValidRanges(n.getRanges(),\"linkHref\");for(const e of o)if(t.removeAttribute(\"linkHref\",e),i)for(const n of i.manualDecorators)t.removeAttribute(n.id,e)}))}}class hA{constructor({id:t,label:e,attributes:n,defaultValue:i}){this.id=t,this.set(\"value\"),this.defaultValue=i,this.label=e,this.attributes=n}}ce(hA,ne);var uA=n(399),mA={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(uA.Z,mA);uA.Z.locals;const gA=\"automatic\",pA=/^(https?:)?\\/\\//;class fA extends le{static get pluginName(){return\"LinkEditing\"}static get requires(){return[Hp,Rp,sg]}constructor(t){super(t),t.config.define(\"link\",{addTargetToExternalLinks:!1})}init(){const t=this.editor;t.model.schema.extend(\"$text\",{allowAttributes:\"linkHref\"}),t.conversion.for(\"dataDowncast\").attributeToElement({model:\"linkHref\",view:If}),t.conversion.for(\"editingDowncast\").attributeToElement({model:\"linkHref\",view:(t,e)=>If(Tf(t),e)}),t.conversion.for(\"upcast\").elementToAttribute({view:{name:\"a\",attributes:{href:!0}},model:{key:\"linkHref\",value:t=>t.getAttribute(\"href\")}}),t.commands.add(\"link\",new lA(t)),t.commands.add(\"unlink\",new dA(t));const e=function(t,e){const n={\"Open in a new tab\":t(\"Open in a new tab\"),Downloadable:t(\"Downloadable\")};return e.forEach((t=>(t.label&&n[t.label]&&(t.label=n[t.label]),t))),e}(t.t,function(t){const e=[];if(t)for(const[n,i]of Object.entries(t)){const t=Object.assign({},i,{id:`link${vf(n)}`});e.push(t)}return e}(t.config.get(\"link.decorators\")));this._enableAutomaticDecorators(e.filter((t=>t.mode===gA))),this._enableManualDecorators(e.filter((t=>\"manual\"===t.mode)));t.plugins.get(Hp).registerAttribute(\"linkHref\"),function(t,e,n,i){const o=t.editing.view,r=new Set;o.document.registerPostFixer((o=>{const s=t.model.document.selection;let a=!1;if(s.hasAttribute(e)){const c=of(s.getFirstPosition(),e,s.getAttribute(e),t.model),l=t.editing.mapper.toViewRange(c);for(const t of l.getItems())t.is(\"element\",n)&&!t.hasClass(i)&&(o.addClass(i,t),r.add(t),a=!0)}return a})),t.conversion.for(\"editingDowncast\").add((t=>{function e(){o.change((t=>{for(const e of r.values())t.removeClass(i,e),r.delete(e)}))}t.on(\"insert\",e,{priority:\"highest\"}),t.on(\"remove\",e,{priority:\"highest\"}),t.on(\"attribute\",e,{priority:\"highest\"}),t.on(\"selection\",e,{priority:\"highest\"})}))}(t,\"linkHref\",\"a\",\"ck-link_selected\"),this._enableInsertContentSelectionAttributesFixer(),this._enableClickingAfterLink(),this._enableTypingOverLink(),this._handleDeleteContentAfterLink()}_enableAutomaticDecorators(t){const e=this.editor,n=e.commands.get(\"link\").automaticDecorators;e.config.get(\"link.addTargetToExternalLinks\")&&n.add({id:\"linkIsExternal\",mode:gA,callback:t=>pA.test(t),attributes:{target:\"_blank\",rel:\"noopener noreferrer\"}}),n.add(t),n.length&&e.conversion.for(\"downcast\").add(n.getDispatcher())}_enableManualDecorators(t){if(!t.length)return;const e=this.editor,n=e.commands.get(\"link\").manualDecorators;t.forEach((t=>{e.model.schema.extend(\"$text\",{allowAttributes:t.id}),n.add(new hA(t)),e.conversion.for(\"downcast\").attributeToElement({model:t.id,view:(e,{writer:i})=>{if(e){const e=n.get(t.id).attributes,o=i.createAttributeElement(\"a\",e,{priority:5});return i.setCustomProperty(\"link\",!0,o),o}}}),e.conversion.for(\"upcast\").elementToAttribute({view:{name:\"a\",attributes:n.get(t.id).attributes},model:{key:t.id}})}))}_enableInsertContentSelectionAttributesFixer(){const t=this.editor.model,e=t.document.selection;this.listenTo(t,\"insertContent\",(()=>{const n=e.anchor.nodeBefore,i=e.anchor.nodeAfter;e.hasAttribute(\"linkHref\")&&n&&n.hasAttribute(\"linkHref\")&&(i&&i.hasAttribute(\"linkHref\")||t.change((e=>{kA(e,wA(t.schema))})))}),{priority:\"low\"})}_enableClickingAfterLink(){const t=this.editor,e=t.model;t.editing.view.addObserver(Zu);let n=!1;this.listenTo(t.editing.view.document,\"mousedown\",(()=>{n=!0})),this.listenTo(t.editing.view.document,\"selectionChange\",(()=>{if(!n)return;n=!1;const t=e.document.selection;if(!t.isCollapsed)return;if(!t.hasAttribute(\"linkHref\"))return;const i=t.getFirstPosition(),o=of(i,\"linkHref\",t.getAttribute(\"linkHref\"),e);(i.isTouching(o.start)||i.isTouching(o.end))&&e.change((t=>{kA(t,wA(e.schema))}))}))}_enableTypingOverLink(){const t=this.editor,e=t.editing.view;let n,i;this.listenTo(e.document,\"delete\",(()=>{i=!0}),{priority:\"high\"}),this.listenTo(t.model,\"deleteContent\",(()=>{const e=t.model.document.selection;e.isCollapsed||(i?i=!1:bA(t)&&function(t){const e=t.document.selection,n=e.getFirstPosition(),i=e.getLastPosition(),o=n.nodeAfter;if(!o)return!1;if(!o.is(\"$text\"))return!1;if(!o.hasAttribute(\"linkHref\"))return!1;const r=i.textNode||i.nodeBefore;if(o===r)return!0;return of(n,\"linkHref\",o.getAttribute(\"linkHref\"),t).containsRange(t.createRange(n,i),!0)}(t.model)&&(n=e.getAttributes()))}),{priority:\"high\"}),this.listenTo(t.model,\"insertContent\",((e,[o])=>{i=!1,bA(t)&&n&&(t.model.change((t=>{for(const[e,i]of n)t.setAttribute(e,i,o)})),n=null)}),{priority:\"high\"})}_handleDeleteContentAfterLink(){const t=this.editor,e=t.model,n=e.document.selection,i=t.editing.view;let o=!1,r=!1;this.listenTo(i.document,\"delete\",((t,e)=>{r=e.domEvent.keyCode===ir.backspace}),{priority:\"high\"}),this.listenTo(e,\"deleteContent\",(()=>{o=!1;const t=n.getFirstPosition(),i=n.getAttribute(\"linkHref\");if(!i)return;const r=of(t,\"linkHref\",i,e);o=r.containsPosition(t)||r.end.isEqual(t)}),{priority:\"high\"}),this.listenTo(e,\"deleteContent\",(()=>{r&&(r=!1,o||t.model.enqueueChange((t=>{kA(t,wA(e.schema))})))}),{priority:\"low\"})}}function kA(t,e){t.removeSelectionAttribute(\"linkHref\");for(const n of e)t.removeSelectionAttribute(n)}function bA(t){return t.plugins.get(\"Input\").isInput(t.model.change((t=>t.batch)))}function wA(t){return t.getDefinition(\"$text\").allowAttributes.filter((t=>t.startsWith(\"link\")))}var CA=n(4827),AA={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(CA.Z,AA);CA.Z.locals;class _A extends fd{constructor(t,e){super(t);const n=t.t;this.focusTracker=new la,this.keystrokes=new da,this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(n(\"Save\"),ad.check,\"ck-button-save\"),this.saveButtonView.type=\"submit\",this.cancelButtonView=this._createButton(n(\"Cancel\"),ad.cancel,\"ck-button-cancel\",\"cancel\"),this._manualDecoratorSwitches=this._createManualDecoratorSwitches(e),this.children=this._createFormChildren(e.manualDecorators),this._focusables=new hd,this._focusCycler=new th({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}});const i=[\"ck\",\"ck-link-form\",\"ck-responsive-form\"];e.manualDecorators.length&&i.push(\"ck-link-form_layout-vertical\",\"ck-vertical-form\"),this.setTemplate({tag:\"form\",attributes:{class:i,tabindex:\"-1\"},children:this.children}),ld(this)}getDecoratorSwitchesState(){return Array.from(this._manualDecoratorSwitches).reduce(((t,e)=>(t[e.name]=e.isOn,t)),{})}render(){super.render(),dd({view:this});[this.urlInputView,...this._manualDecoratorSwitches,this.saveButtonView,this.cancelButtonView].forEach((t=>{this._focusables.add(t),this.focusTracker.add(t.element)})),this.keystrokes.listenTo(this.element)}focus(){this._focusCycler.focusFirst()}_createUrlInput(){const t=this.locale.t,e=new nu(this.locale,iu);return e.label=t(\"Link URL\"),e}_createButton(t,e,n,i){const o=new Wd(this.locale);return o.set({label:t,icon:e,tooltip:!0}),o.extendTemplate({attributes:{class:n}}),i&&o.delegate(\"execute\").to(this,i),o}_createManualDecoratorSwitches(t){const e=this.createCollection();for(const n of t.manualDecorators){const i=new Yd(this.locale);i.set({name:n.id,label:n.label,withText:!0}),i.bind(\"isOn\").toMany([n,t],\"value\",((t,e)=>void 0===e&&void 0===t?n.defaultValue:t)),i.on(\"execute\",(()=>{n.set(\"value\",!i.isOn)})),e.add(i)}return e}_createFormChildren(t){const e=this.createCollection();if(e.add(this.urlInputView),t.length){const t=new fd;t.setTemplate({tag:\"ul\",children:this._manualDecoratorSwitches.map((t=>({tag:\"li\",children:[t],attributes:{class:[\"ck\",\"ck-list__item\"]}}))),attributes:{class:[\"ck\",\"ck-reset\",\"ck-list\"]}}),e.add(t)}return e.add(this.saveButtonView),e.add(this.cancelButtonView),e}}var vA=n(9465),yA={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(vA.Z,yA);vA.Z.locals;class xA extends fd{constructor(t){super(t);const e=t.t;this.focusTracker=new la,this.keystrokes=new da,this.previewButtonView=this._createPreviewButton(),this.unlinkButtonView=this._createButton(e(\"Unlink\"),' ',\"unlink\"),this.editButtonView=this._createButton(e(\"Edit link\"),ad.pencil,\"edit\"),this.set(\"href\"),this._focusables=new hd,this._focusCycler=new th({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:\"shift + tab\",focusNext:\"tab\"}}),this.setTemplate({tag:\"div\",attributes:{class:[\"ck\",\"ck-link-actions\",\"ck-responsive-form\"],tabindex:\"-1\"},children:[this.previewButtonView,this.editButtonView,this.unlinkButtonView]})}render(){super.render();[this.previewButtonView,this.editButtonView,this.unlinkButtonView].forEach((t=>{this._focusables.add(t),this.focusTracker.add(t.element)})),this.keystrokes.listenTo(this.element)}focus(){this._focusCycler.focusFirst()}_createButton(t,e,n){const i=new Wd(this.locale);return i.set({label:t,icon:e,tooltip:!0}),i.delegate(\"execute\").to(this,n),i}_createPreviewButton(){const t=new Wd(this.locale),e=this.bindTemplate,n=this.t;return t.set({withText:!0,tooltip:n(\"Open link in new tab\")}),t.extendTemplate({attributes:{class:[\"ck\",\"ck-link-actions__preview\"],href:e.to(\"href\",(t=>t&&Tf(t))),target:\"_blank\",rel:\"noopener noreferrer\"}}),t.bind(\"label\").to(this,\"href\",(t=>t||n(\"This link has no URL\"))),t.bind(\"isEnabled\").to(this,\"href\",(t=>!!t)),t.template.tag=\"a\",t.template.eventListeners={},t}}const EA=' ',DA=\"link-ui\";class SA extends le{static get requires(){return[Au]}static get pluginName(){return\"LinkUI\"}init(){const t=this.editor;t.editing.view.addObserver(Yu),this.actionsView=this._createActionsView(),this.formView=this._createFormView(),this._balloon=t.plugins.get(Au),this._createToolbarLinkButton(),this._enableUserBalloonInteractions(),t.conversion.for(\"editingDowncast\").markerToHighlight({model:DA,view:{classes:[\"ck-fake-link-selection\"]}}),t.conversion.for(\"editingDowncast\").markerToElement({model:DA,view:{name:\"span\",classes:[\"ck-fake-link-selection\",\"ck-fake-link-selection_collapsed\"]}})}destroy(){super.destroy(),this.formView.destroy()}_createActionsView(){const t=this.editor,e=new xA(t.locale),n=t.commands.get(\"link\"),i=t.commands.get(\"unlink\");return e.bind(\"href\").to(n,\"value\"),e.editButtonView.bind(\"isEnabled\").to(n),e.unlinkButtonView.bind(\"isEnabled\").to(i),this.listenTo(e,\"edit\",(()=>{this._addFormView()})),this.listenTo(e,\"unlink\",(()=>{t.execute(\"unlink\"),this._hideUI()})),e.keystrokes.set(\"Esc\",((t,e)=>{this._hideUI(),e()})),e.keystrokes.set(Sf,((t,e)=>{this._addFormView(),e()})),e}_createFormView(){const t=this.editor,e=t.commands.get(\"link\"),n=t.config.get(\"link.defaultProtocol\"),i=new _A(t.locale,e);return i.urlInputView.fieldView.bind(\"value\").to(e,\"value\"),i.urlInputView.bind(\"isReadOnly\").to(e,\"isEnabled\",(t=>!t)),i.saveButtonView.bind(\"isEnabled\").to(e),this.listenTo(i,\"submit\",(()=>{const{value:e}=i.urlInputView.fieldView.element,o=Bf(e,n);t.execute(\"link\",o,i.getDecoratorSwitchesState()),this._closeFormView()})),this.listenTo(i,\"cancel\",(()=>{this._closeFormView()})),i.keystrokes.set(\"Esc\",((t,e)=>{this._closeFormView(),e()})),i}_createToolbarLinkButton(){const t=this.editor,e=t.commands.get(\"link\"),n=t.t;t.keystrokes.set(Sf,((t,n)=>{n(),e.isEnabled&&this._showUI(!0)})),t.ui.componentFactory.add(\"link\",(t=>{const i=new Wd(t);return i.isEnabled=!0,i.label=n(\"Link\"),i.icon=EA,i.keystroke=Sf,i.tooltip=!0,i.isToggleable=!0,i.bind(\"isEnabled\").to(e,\"isEnabled\"),i.bind(\"isOn\").to(e,\"value\",(t=>!!t)),this.listenTo(i,\"execute\",(()=>this._showUI(!0))),i}))}_enableUserBalloonInteractions(){const t=this.editor.editing.view.document;this.listenTo(t,\"click\",(()=>{this._getSelectedLinkElement()&&this._showUI()})),this.editor.keystrokes.set(\"Tab\",((t,e)=>{this._areActionsVisible&&!this.actionsView.focusTracker.isFocused&&(this.actionsView.focus(),e())}),{priority:\"high\"}),this.editor.keystrokes.set(\"Esc\",((t,e)=>{this._isUIVisible&&(this._hideUI(),e())})),cd({emitter:this.formView,activator:()=>this._isUIInPanel,contextElements:[this._balloon.view.element],callback:()=>this._hideUI()})}_addActionsView(){this._areActionsInPanel||this._balloon.add({view:this.actionsView,position:this._getBalloonPositionData()})}_addFormView(){if(this._isFormInPanel)return;const t=this.editor.commands.get(\"link\");this.formView.disableCssTransitions(),this._balloon.add({view:this.formView,position:this._getBalloonPositionData()}),this._balloon.visibleView===this.formView&&this.formView.urlInputView.fieldView.select(),this.formView.enableCssTransitions(),this.formView.urlInputView.fieldView.element.value=t.value||\"\"}_closeFormView(){const t=this.editor.commands.get(\"link\");t.restoreManualDecoratorStates(),void 0!==t.value?this._removeFormView():this._hideUI()}_removeFormView(){this._isFormInPanel&&(this.formView.saveButtonView.focus(),this._balloon.remove(this.formView),this.editor.editing.view.focus(),this._hideFakeVisualSelection())}_showUI(t=!1){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()}_hideUI(){if(!this._isUIInPanel)return;const t=this.editor;this.stopListening(t.ui,\"update\"),this.stopListening(this._balloon,\"change:visibleView\"),t.editing.view.focus(),this._removeFormView(),this._balloon.remove(this.actionsView),this._hideFakeVisualSelection()}_startUpdatingUI(){const t=this.editor,e=t.editing.view.document;let n=this._getSelectedLinkElement(),i=r();const o=()=>{const t=this._getSelectedLinkElement(),e=r();n&&!t||!n&&e!==i?this._hideUI():this._isUIVisible&&this._balloon.updatePosition(this._getBalloonPositionData()),n=t,i=e};function r(){return e.selection.focus.getAncestors().reverse().find((t=>t.is(\"element\")))}this.listenTo(t.ui,\"update\",o),this.listenTo(this._balloon,\"change:visibleView\",o)}get _isFormInPanel(){return this._balloon.hasView(this.formView)}get _areActionsInPanel(){return this._balloon.hasView(this.actionsView)}get _areActionsVisible(){return this._balloon.visibleView===this.actionsView}get _isUIInPanel(){return this._isFormInPanel||this._areActionsInPanel}get _isUIVisible(){return this._balloon.visibleView==this.formView||this._areActionsVisible}_getBalloonPositionData(){const t=this.editor.editing.view,e=this.editor.model,n=t.document;let i=null;if(e.markers.has(DA)){const e=Array.from(this.editor.editing.mapper.markerNameToElements(DA)),n=t.createRange(t.createPositionBefore(e[0]),t.createPositionAfter(e[e.length-1]));i=t.domConverter.viewRangeToDom(n)}else i=()=>{const e=this._getSelectedLinkElement();return e?t.domConverter.mapViewToDom(e):t.domConverter.viewRangeToDom(n.selection.getFirstRange())};return{target:i}}_getSelectedLinkElement(){const t=this.editor.editing.view,e=t.document.selection,n=e.getSelectedElement();if(e.isCollapsed||n&&_g(n))return IA(e.getFirstPosition());{const n=e.getFirstRange().getTrimmed(),i=IA(n.start),o=IA(n.end);return i&&i==o&&t.createRangeIn(i).getTrimmed().isEqual(n)?i:null}}_showFakeVisualSelection(){const t=this.editor.model;t.change((e=>{const n=t.document.selection.getFirstRange();if(t.markers.has(DA))e.updateMarker(DA,{range:n});else if(n.start.isAtEnd){const i=n.start.getLastMatchingPosition((({item:e})=>!t.schema.isContent(e)),{boundaries:n});e.addMarker(DA,{usingOperation:!1,affectsData:!1,range:e.createRange(i,n.end)})}else e.addMarker(DA,{usingOperation:!1,affectsData:!1,range:n})}))}_hideFakeVisualSelection(){const t=this.editor.model;t.markers.has(DA)&&t.change((t=>{t.removeMarker(DA)}))}}function IA(t){return t.getAncestors().find((t=>{return(e=t).is(\"attributeElement\")&&!!e.getCustomProperty(\"link\");var e}))}class TA extends le{static get requires(){return[\"ImageEditing\",\"ImageUtils\",fA]}static get pluginName(){return\"LinkImageEditing\"}init(){const t=this.editor,e=t.model.schema;t.plugins.has(\"ImageBlockEditing\")&&e.extend(\"imageBlock\",{allowAttributes:[\"linkHref\"]}),t.plugins.has(\"ImageInlineEditing\")&&e.extend(\"imageInline\",{allowAttributes:[\"linkHref\"]}),t.conversion.for(\"upcast\").add(function(t){const e=t.plugins.has(\"ImageInlineEditing\"),n=t.plugins.get(\"ImageUtils\");return t=>{t.on(\"element:a\",((t,i,o)=>{const r=i.viewItem,s=LA(r);if(!s)return;const a=s.findAncestor((t=>n.isBlockImageView(t)));if(e&&!a)return;const c={attributes:[\"href\"]};if(!o.consumable.consume(r,c))return;const l=r.getAttribute(\"href\");if(!l)return;let d=i.modelCursor.parent;if(!d.is(\"element\",\"imageBlock\")){const t=o.convertItem(s,i.modelCursor);i.modelRange=t.modelRange,i.modelCursor=t.modelCursor,d=i.modelCursor.nodeBefore}d&&d.is(\"element\",\"imageBlock\")&&o.writer.setAttribute(\"linkHref\",l,d)}),{priority:\"high\"})}}(t)),t.conversion.for(\"downcast\").add(MA),this._enableAutomaticDecorators(),this._enableManualDecorators()}_enableAutomaticDecorators(){const t=this.editor,e=t.commands.get(\"link\").automaticDecorators;e.length&&t.conversion.for(\"downcast\").add(e.getDispatcherForLinkedImage())}_enableManualDecorators(){const t=this.editor,e=t.commands.get(\"link\"),n=e.manualDecorators;for(const i of e.manualDecorators)t.plugins.has(\"ImageBlockEditing\")&&t.model.schema.extend(\"imageBlock\",{allowAttributes:i.id}),t.plugins.has(\"ImageInlineEditing\")&&t.model.schema.extend(\"imageInline\",{allowAttributes:i.id}),t.conversion.for(\"downcast\").add(BA(n,i)),t.conversion.for(\"upcast\").add(NA(n,i))}}function MA(t){t.on(\"attribute:linkHref:imageBlock\",((t,e,n)=>{const i=n.mapper.toViewElement(e.item),o=n.writer,r=Array.from(i.getChildren()).find((t=>\"a\"===t.name));if(r)if(e.attributeNewValue)o.setAttribute(\"href\",e.attributeNewValue,r);else{const t=Array.from(r.getChildren()).find((t=>\"img\"===t.name));o.move(o.createRangeOn(t),o.createPositionAt(i,0)),o.remove(r)}else{const t=o.createContainerElement(\"a\",{href:e.attributeNewValue});o.insert(o.createPositionAt(i,0),t),o.move(o.createRangeOn(i.getChild(1)),o.createPositionAt(t,0))}}))}function BA(t,e){return n=>{n.on(`attribute:${e.id}:imageBlock`,((n,i,o)=>{const r=t.get(e.id).attributes,s=o.mapper.toViewElement(i.item),a=Array.from(s.getChildren()).find((t=>\"a\"===t.name));if(a)for(const[t,e]of Ri(r))o.writer.setAttribute(t,e,a)}))}}function NA(t,e){return n=>{n.on(\"element:a\",((n,i,o)=>{const r=i.viewItem;if(!LA(r))return;const s={attributes:t.get(e.id).attributes},a=new Fi(s).match(r);if(!a)return;if(!o.consumable.consume(r,a.match))return;const c=i.modelCursor.nodeBefore||i.modelCursor.parent;o.writer.setAttribute(e.id,!0,c)}),{priority:\"high\"})}}function LA(t){return Array.from(t.getChildren()).find((t=>\"img\"===t.name))}class zA extends le{static get requires(){return[fA,SA,\"ImageBlockEditing\"]}static get pluginName(){return\"LinkImageUI\"}init(){const t=this.editor,e=t.editing.view.document;this.listenTo(e,\"click\",((e,n)=>{this._isSelectedLinkedImage(t.model.document.selection)&&(n.preventDefault(),e.stop())}),{priority:\"high\"}),this._createToolbarLinkImageButton()}_createToolbarLinkImageButton(){const t=this.editor,e=t.t;t.ui.componentFactory.add(\"linkImage\",(n=>{const i=new Wd(n),o=t.plugins.get(\"LinkUI\"),r=t.commands.get(\"link\");return i.set({isEnabled:!0,label:e(\"Link image\"),icon:EA,keystroke:Sf,tooltip:!0,isToggleable:!0}),i.bind(\"isEnabled\").to(r,\"isEnabled\"),i.bind(\"isOn\").to(r,\"value\",(t=>!!t)),this.listenTo(i,\"execute\",(()=>{this._isSelectedLinkedImage(t.model.document.selection)?o._addActionsView():o._showUI(!0)})),i}))}_isSelectedLinkedImage(t){const e=t.getSelectedElement();return this.editor.plugins.get(\"ImageUtils\").isImage(e)&&e.hasAttribute(\"linkHref\")}}var PA=n(3858),OA={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(PA.Z,OA);PA.Z.locals;class RA extends he{constructor(t,e){super(t),this.type=e}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model,n=e.document,i=Array.from(n.selection.getSelectedBlocks()).filter((t=>jA(t,e.schema))),o=void 0!==t.forceValue?!t.forceValue:this.value;e.change((t=>{if(o){let e=i[i.length-1].nextSibling,n=Number.POSITIVE_INFINITY,o=[];for(;e&&\"listItem\"==e.name&&0!==e.getAttribute(\"listIndent\");){const t=e.getAttribute(\"listIndent\");t=n;)r>o.getAttribute(\"listIndent\")&&(r=o.getAttribute(\"listIndent\")),o.getAttribute(\"listIndent\")==r&&t[e?\"unshift\":\"push\"](o),o=o[e?\"previousSibling\":\"nextSibling\"]}}function jA(t,e){return e.checkChild(t.parent,\"listItem\")&&!e.isObject(t)}class VA extends he{constructor(t,e){super(t),this._indentBy=\"forward\"==e?1:-1}refresh(){this.isEnabled=this._checkEnabled()}execute(){const t=this.editor.model,e=t.document;let n=Array.from(e.selection.getSelectedBlocks());t.change((t=>{const e=n[n.length-1];let i=e.nextSibling;for(;i&&\"listItem\"==i.name&&i.getAttribute(\"listIndent\")>e.getAttribute(\"listIndent\");)n.push(i),i=i.nextSibling;this._indentBy<0&&(n=n.reverse());for(const e of n){const n=e.getAttribute(\"listIndent\")+this._indentBy;n<0?t.rename(e,\"paragraph\"):t.setAttribute(\"listIndent\",n,e)}this.fire(\"_executeCleanup\",n)}))}_checkEnabled(){const t=ca(this.editor.model.document.selection.getSelectedBlocks());if(!t||!t.is(\"element\",\"listItem\"))return!1;if(this._indentBy>0){const e=t.getAttribute(\"listIndent\"),n=t.getAttribute(\"listType\");let i=t.previousSibling;for(;i&&i.is(\"element\",\"listItem\")&&i.getAttribute(\"listIndent\")>=e;){if(i.getAttribute(\"listIndent\")==e)return i.getAttribute(\"listType\")==n;i=i.previousSibling}return!1}return!0}}function HA(t,e){const n=e.mapper,i=e.writer,o=\"numbered\"==t.getAttribute(\"listType\")?\"ol\":\"ul\",r=function(t){const e=t.createContainerElement(\"li\");return e.getFillerOffset=ZA,e}(i),s=i.createContainerElement(o,null);return i.insert(i.createPositionAt(s,0),r),n.bindElements(t,r),r}function UA(t,e,n,i){const o=e.parent,r=n.mapper,s=n.writer;let a=r.toViewPosition(i.createPositionBefore(t));const c=WA(t.previousSibling,{sameIndent:!0,smallerIndent:!0,listIndent:t.getAttribute(\"listIndent\")}),l=t.previousSibling;if(c&&c.getAttribute(\"listIndent\")==t.getAttribute(\"listIndent\")){const t=r.toViewElement(c);a=s.breakContainer(s.createPositionAfter(t))}else if(l&&\"listItem\"==l.name){a=r.toViewPosition(i.createPositionAt(l,\"end\"));const t=r.findMappedViewAncestor(a),e=$A(t);a=e?s.createPositionBefore(e):s.createPositionAt(t,\"end\")}else a=r.toViewPosition(i.createPositionBefore(t));if(a=qA(a),s.insert(a,o),l&&\"listItem\"==l.name){const t=r.toViewElement(l),n=s.createRange(s.createPositionAt(t,0),a).getWalker({ignoreElementEnd:!0});for(const t of n)if(t.item.is(\"element\",\"li\")){const i=s.breakContainer(s.createPositionBefore(t.item)),o=t.item.parent,r=s.createPositionAt(e,\"end\");GA(s,r.nodeBefore,r.nodeAfter),s.move(s.createRangeOn(o),r),n.position=i}}else{const n=o.nextSibling;if(n&&(n.is(\"element\",\"ul\")||n.is(\"element\",\"ol\"))){let i=null;for(const e of n.getChildren()){const n=r.toModelElement(e);if(!(n&&n.getAttribute(\"listIndent\")>t.getAttribute(\"listIndent\")))break;i=e}i&&(s.breakContainer(s.createPositionAfter(i)),s.move(s.createRangeOn(i.parent),s.createPositionAt(e,\"end\")))}}GA(s,o,o.nextSibling),GA(s,o.previousSibling,o)}function GA(t,e,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))}function qA(t){return t.getLastMatchingPosition((t=>t.item.is(\"uiElement\")))}function WA(t,e){const n=!!e.sameIndent,i=!!e.smallerIndent,o=e.listIndent;let r=t;for(;r&&\"listItem\"==r.name;){const t=r.getAttribute(\"listIndent\");if(n&&o==t||i&&o>t)return r;r=\"forward\"===e.direction?r.nextSibling:r.previousSibling}return null}function KA(t,e,n,i){t.ui.componentFactory.add(e,(o=>{const r=t.commands.get(e),s=new Wd(o);return s.set({label:n,icon:i,tooltip:!0,isToggleable:!0}),s.bind(\"isOn\",\"isEnabled\").to(r,\"value\",\"isEnabled\"),s.on(\"execute\",(()=>{t.execute(e),t.editing.view.focus()})),s}))}function $A(t){for(const e of t.getChildren())if(\"ul\"==e.name||\"ol\"==e.name)return e;return null}function YA(t,e){const n=[],i=t.parent,o={ignoreElementEnd:!0,startPosition:t,shallow:!0,direction:e},r=i.getAttribute(\"listIndent\"),s=[...new Sa(o)].filter((t=>t.item.is(\"element\"))).map((t=>t.item));for(const t of s){if(!t.is(\"element\",\"listItem\"))break;if(t.getAttribute(\"listIndent\")r)){if(t.getAttribute(\"listType\")!==i.getAttribute(\"listType\"))break;if(t.getAttribute(\"listStyle\")!==i.getAttribute(\"listStyle\"))break;\"backward\"===e?n.unshift(t):n.push(t)}}return n}function ZA(){const t=!this.isEmpty&&(\"ul\"==this.getChild(0).name||\"ol\"==this.getChild(0).name);return this.isEmpty||t?0:Io.call(this)}function QA(t){return(e,n,i)=>{const o=i.consumable;if(!o.test(n.item,\"insert\")||!o.test(n.item,\"attribute:listType\")||!o.test(n.item,\"attribute:listIndent\"))return;o.consume(n.item,\"insert\"),o.consume(n.item,\"attribute:listType\"),o.consume(n.item,\"attribute:listIndent\");const r=n.item;UA(r,HA(r,i),i,t)}}function JA(t,e,n){if(!n.consumable.consume(e.item,\"attribute:listType\"))return;const i=n.mapper.toViewElement(e.item),o=n.writer;o.breakContainer(o.createPositionBefore(i)),o.breakContainer(o.createPositionAfter(i));const r=i.parent,s=\"numbered\"==e.attributeNewValue?\"ol\":\"ul\";o.rename(s,r)}function XA(t,e,n){const i=n.mapper.toViewElement(e.item).parent,o=n.writer;GA(o,i,i.nextSibling),GA(o,i.previousSibling,i);for(const t of e.item.getChildren())n.consumable.consume(t,\"insert\")}function t_(t,e,n){if(\"listItem\"!=e.item.name){let t=n.mapper.toViewPosition(e.range.start);const i=n.writer,o=[];for(;(\"ul\"==t.parent.name||\"ol\"==t.parent.name)&&(t=i.breakContainer(t),\"li\"==t.parent.name);){const e=t,n=i.createPositionAt(t.parent,\"end\");if(!e.isEqual(n)){const t=i.remove(i.createRange(e,n));o.push(t)}t=i.createPositionAfter(t.parent)}if(o.length>0){for(let e=0;e0){const e=GA(i,n,n.nextSibling);e&&e.parent==n&&t.offset--}}GA(i,t.nodeBefore,t.nodeAfter)}}}function e_(t,e,n){const i=n.mapper.toViewPosition(e.position),o=i.nodeBefore,r=i.nodeAfter;GA(n.writer,o,r)}function n_(t,e,n){if(n.consumable.consume(e.viewItem,{name:!0})){const t=n.writer,i=t.createElement(\"listItem\"),o=function(t){let e=0,n=t.parent;for(;n;){if(n.is(\"element\",\"li\"))e++;else{const t=n.previousSibling;t&&t.is(\"element\",\"li\")&&e++}n=n.parent}return e}(e.viewItem);t.setAttribute(\"listIndent\",o,i);const r=e.viewItem.parent&&\"ol\"==e.viewItem.parent.name?\"numbered\":\"bulleted\";if(t.setAttribute(\"listType\",r,i),!n.safeInsert(i,e.modelCursor))return;const s=function(t,e,n){const{writer:i,schema:o}=n;let r=i.createPositionAfter(t);for(const s of e)if(\"ul\"==s.name||\"ol\"==s.name)r=n.convertItem(s,r).modelCursor;else{const e=n.convertItem(s,i.createPositionAt(t,\"end\")),a=e.modelRange.start.nodeAfter;a&&a.is(\"element\")&&!o.checkChild(t,a.name)&&(t=e.modelCursor.parent.is(\"element\",\"listItem\")?e.modelCursor.parent:a_(e.modelCursor),r=i.createPositionAfter(t))}return r}(i,e.viewItem.getChildren(),n);e.modelRange=t.createRange(e.modelCursor,s),n.updateConversionResult(i,e)}}function i_(t,e,n){if(n.consumable.test(e.viewItem,{name:!0})){const t=Array.from(e.viewItem.getChildren());for(const e of t){!(e.is(\"element\",\"li\")||l_(e))&&e._remove()}}}function o_(t,e,n){if(n.consumable.test(e.viewItem,{name:!0})){if(0===e.viewItem.childCount)return;const t=[...e.viewItem.getChildren()];let n=!1,i=!0;for(const e of t)n&&!l_(e)&&e._remove(),e.is(\"$text\")?(i&&(e._data=e.data.trimStart()),e.nextSibling&&!l_(e.nextSibling)||(e._data=e.data.trimEnd())):l_(e)&&(n=!0),i=!1}}function r_(t){return(e,n)=>{if(n.isPhantom)return;const i=n.modelPosition.nodeBefore;if(i&&i.is(\"element\",\"listItem\")){const e=n.mapper.toViewElement(i),o=e.getAncestors().find(l_),r=t.createPositionAt(e,0).getWalker();for(const t of r){if(\"elementStart\"==t.type&&t.item.is(\"element\",\"li\")){n.viewPosition=t.previousPosition;break}if(\"elementEnd\"==t.type&&t.item==o){n.viewPosition=t.nextPosition;break}}}}}function s_(t,[e,n]){let i,o=e.is(\"documentFragment\")?e.getChild(0):e;if(i=n?this.createSelection(n):this.document.selection,o&&o.is(\"element\",\"listItem\")){const t=i.getFirstPosition();let e=null;if(t.parent.is(\"element\",\"listItem\")?e=t.parent:t.nodeBefore&&t.nodeBefore.is(\"element\",\"listItem\")&&(e=t.nodeBefore),e){const t=e.getAttribute(\"listIndent\");if(t>0)for(;o&&o.is(\"element\",\"listItem\");)o._setAttribute(\"listIndent\",o.getAttribute(\"listIndent\")+t),o=o.nextSibling}}}function a_(t){const e=new Sa({startPosition:t});let n;do{n=e.next()}while(!n.value.item.is(\"element\",\"listItem\"));return n.value.item}function c_(t,e,n,i,o,r){const s=WA(e.nodeBefore,{sameIndent:!0,smallerIndent:!0,listIndent:t,foo:\"b\"}),a=o.mapper,c=o.writer,l=s?s.getAttribute(\"listIndent\"):null;let d;if(s)if(l==t){const t=a.toViewElement(s).parent;d=c.createPositionAfter(t)}else{const t=r.createPositionAt(s,\"end\");d=a.toViewPosition(t)}else d=n;d=qA(d);for(const t of[...i.getChildren()])l_(t)&&(d=c.move(c.createRangeOn(t),d).end,GA(c,t,t.nextSibling),GA(c,t.previousSibling,t))}function l_(t){return t.is(\"element\",\"ol\")||t.is(\"element\",\"ul\")}class d_ extends le{static get pluginName(){return\"ListEditing\"}static get requires(){return[hg,pg]}init(){const t=this.editor;t.model.schema.register(\"listItem\",{inheritAllFrom:\"$block\",allowAttributes:[\"listType\",\"listIndent\"]});const e=t.data,n=t.editing;var i;t.model.document.registerPostFixer((e=>function(t,e){const n=t.document.differ.getChanges(),i=new Map;let o=!1;for(const i of n)if(\"insert\"==i.type&&\"listItem\"==i.name)r(i.position);else if(\"insert\"==i.type&&\"listItem\"!=i.name){if(\"$text\"!=i.name){const n=i.position.nodeAfter;n.hasAttribute(\"listIndent\")&&(e.removeAttribute(\"listIndent\",n),o=!0),n.hasAttribute(\"listType\")&&(e.removeAttribute(\"listType\",n),o=!0),n.hasAttribute(\"listStyle\")&&(e.removeAttribute(\"listStyle\",n),o=!0);for(const e of Array.from(t.createRangeIn(n)).filter((t=>t.item.is(\"element\",\"listItem\"))))r(e.previousPosition)}r(i.position.getShiftedBy(i.length))}else\"remove\"==i.type&&\"listItem\"==i.name?r(i.position):(\"attribute\"==i.type&&\"listIndent\"==i.attributeKey||\"attribute\"==i.type&&\"listType\"==i.attributeKey)&&r(i.range.start);for(const t of i.values())s(t),a(t);return o;function r(t){const e=t.nodeBefore;if(e&&e.is(\"element\",\"listItem\")){let t=e;if(i.has(t))return;for(let e=t.previousSibling;e&&e.is(\"element\",\"listItem\");e=t.previousSibling)if(t=e,i.has(t))return;i.set(e,t)}else{const e=t.nodeAfter;e&&e.is(\"element\",\"listItem\")&&i.set(e,e)}}function s(t){let n=0,i=null;for(;t&&t.is(\"element\",\"listItem\");){const r=t.getAttribute(\"listIndent\");if(r>n){let s;null===i?(i=r-n,s=n):(i>r&&(i=r),s=r-i),e.setAttribute(\"listIndent\",s,t),o=!0}else i=null,n=t.getAttribute(\"listIndent\")+1;t=t.nextSibling}}function a(t){let n=[],i=null;for(;t&&t.is(\"element\",\"listItem\");){const r=t.getAttribute(\"listIndent\");if(i&&i.getAttribute(\"listIndent\")>r&&(n=n.slice(0,r+1)),0!=r)if(n[r]){const i=n[r];t.getAttribute(\"listType\")!=i&&(e.setAttribute(\"listType\",i,t),o=!0)}else n[r]=t.getAttribute(\"listType\");i=t,t=t.nextSibling}}}(t.model,e))),n.mapper.registerViewToModelLength(\"li\",h_),e.mapper.registerViewToModelLength(\"li\",h_),n.mapper.on(\"modelToViewPosition\",r_(n.view)),n.mapper.on(\"viewToModelPosition\",(i=t.model,(t,e)=>{const n=e.viewPosition,o=n.parent,r=e.mapper;if(\"ul\"==o.name||\"ol\"==o.name){if(n.isAtEnd){const t=r.toModelElement(n.nodeBefore),o=r.getModelLength(n.nodeBefore);e.modelPosition=i.createPositionBefore(t).getShiftedBy(o)}else{const t=r.toModelElement(n.nodeAfter);e.modelPosition=i.createPositionBefore(t)}t.stop()}else if(\"li\"==o.name&&n.nodeBefore&&(\"ul\"==n.nodeBefore.name||\"ol\"==n.nodeBefore.name)){const s=r.toModelElement(o);let a=1,c=n.nodeBefore;for(;c&&l_(c);)a+=r.getModelLength(c),c=c.previousSibling;e.modelPosition=i.createPositionBefore(s).getShiftedBy(a),t.stop()}})),e.mapper.on(\"modelToViewPosition\",r_(n.view)),t.conversion.for(\"editingDowncast\").add((e=>{e.on(\"insert\",t_,{priority:\"high\"}),e.on(\"insert:listItem\",QA(t.model)),e.on(\"attribute:listType:listItem\",JA,{priority:\"high\"}),e.on(\"attribute:listType:listItem\",XA,{priority:\"low\"}),e.on(\"attribute:listIndent:listItem\",function(t){return(e,n,i)=>{if(!i.consumable.consume(n.item,\"attribute:listIndent\"))return;const o=i.mapper.toViewElement(n.item),r=i.writer;r.breakContainer(r.createPositionBefore(o)),r.breakContainer(r.createPositionAfter(o));const s=o.parent,a=s.previousSibling,c=r.createRangeOn(s);r.remove(c),a&&a.nextSibling&&GA(r,a,a.nextSibling),c_(n.attributeOldValue+1,n.range.start,c.start,o,i,t),UA(n.item,o,i,t);for(const t of n.item.getChildren())i.consumable.consume(t,\"insert\")}}(t.model)),e.on(\"remove:listItem\",function(t){return(e,n,i)=>{const o=i.mapper.toViewPosition(n.position).getLastMatchingPosition((t=>!t.item.is(\"element\",\"li\"))).nodeAfter,r=i.writer;r.breakContainer(r.createPositionBefore(o)),r.breakContainer(r.createPositionAfter(o));const s=o.parent,a=s.previousSibling,c=r.createRangeOn(s),l=r.remove(c);a&&a.nextSibling&&GA(r,a,a.nextSibling),c_(i.mapper.toModelElement(o).getAttribute(\"listIndent\")+1,n.position,c.start,o,i,t);for(const t of r.createRangeIn(l).getItems())i.mapper.unbindViewElement(t);e.stop()}}(t.model)),e.on(\"remove\",e_,{priority:\"low\"})})),t.conversion.for(\"dataDowncast\").add((e=>{e.on(\"insert\",t_,{priority:\"high\"}),e.on(\"insert:listItem\",QA(t.model))})),t.conversion.for(\"upcast\").add((t=>{t.on(\"element:ul\",i_,{priority:\"high\"}),t.on(\"element:ol\",i_,{priority:\"high\"}),t.on(\"element:li\",o_,{priority:\"high\"}),t.on(\"element:li\",n_)})),t.model.on(\"insertContent\",s_,{priority:\"high\"}),t.commands.add(\"numberedList\",new RA(t,\"numbered\")),t.commands.add(\"bulletedList\",new RA(t,\"bulleted\")),t.commands.add(\"indentList\",new VA(t,\"forward\")),t.commands.add(\"outdentList\",new VA(t,\"backward\"));const o=n.view.document;this.listenTo(o,\"enter\",((t,e)=>{const n=this.editor.model.document,i=n.selection.getLastPosition().parent;n.selection.isCollapsed&&\"listItem\"==i.name&&i.isEmpty&&(this.editor.execute(\"outdentList\"),e.preventDefault(),t.stop())}),{context:\"li\"}),this.listenTo(o,\"delete\",((t,e)=>{if(\"backward\"!==e.direction)return;const n=this.editor.model.document.selection;if(!n.isCollapsed)return;const i=n.getFirstPosition();if(!i.isAtStart)return;const o=i.parent;if(\"listItem\"!==o.name)return;o.previousSibling&&\"listItem\"===o.previousSibling.name||(this.editor.execute(\"outdentList\"),e.preventDefault(),t.stop())}),{context:\"li\"});const r=t=>(e,n)=>{this.editor.commands.get(t).isEnabled&&(this.editor.execute(t),n())};t.keystrokes.set(\"Tab\",r(\"indentList\")),t.keystrokes.set(\"Shift+Tab\",r(\"outdentList\"))}afterInit(){const t=this.editor.commands,e=t.get(\"indent\"),n=t.get(\"outdent\");e&&e.registerChildCommand(t.get(\"indentList\")),n&&n.registerChildCommand(t.get(\"outdentList\"))}}function h_(t){let e=1;for(const n of t.getChildren())if(\"ul\"==n.name||\"ol\"==n.name)for(const t of n.getChildren())e+=h_(t);return e}const u_=' ',m_=' ';class g_ extends le{static get pluginName(){return\"ListUI\"}init(){const t=this.editor.t;KA(this.editor,\"numberedList\",t(\"Numbered List\"),u_),KA(this.editor,\"bulletedList\",t(\"Bulleted List\"),m_)}}class p_ extends he{constructor(t,e){super(t),this._defaultType=e}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){const e=this.editor.model;let n=[...e.document.selection.getSelectedBlocks()].filter((t=>t.is(\"element\",\"listItem\"))).map((t=>{const n=e.change((e=>e.createPositionAt(t,0)));return[...YA(n,\"backward\"),...YA(n,\"forward\")]})).flat();n=[...new Set(n)],n.length&&e.change((e=>{for(const i of n)e.setAttribute(\"listStyle\",t.type||this._defaultType,i)}))}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;return t&&t.is(\"element\",\"listItem\")?t.getAttribute(\"listStyle\"):null}_checkEnabled(){const t=this.editor,e=t.commands.get(\"numberedList\"),n=t.commands.get(\"bulletedList\");return e.isEnabled||n.isEnabled}}const f_=\"default\";class k_ extends le{static get requires(){return[d_]}static get pluginName(){return\"ListStyleEditing\"}init(){const t=this.editor,e=t.model;e.schema.extend(\"listItem\",{allowAttributes:[\"listStyle\"]}),t.commands.add(\"listStyle\",new p_(t,f_)),this.listenTo(t.commands.get(\"indentList\"),\"_executeCleanup\",function(t){return(e,n)=>{let i;const o=n[0],r=o.getAttribute(\"listIndent\"),s=n.filter((t=>t.getAttribute(\"listIndent\")===r));if(o.previousSibling.getAttribute(\"listIndent\")+1===r)i=f_;else{const t=WA(o.previousSibling,{sameIndent:!0,direction:\"backward\",listIndent:r});i=t.getAttribute(\"listStyle\")}t.model.change((t=>{for(const e of s)t.setAttribute(\"listStyle\",i,e)}))}}(t)),this.listenTo(t.commands.get(\"outdentList\"),\"_executeCleanup\",function(t){return(e,n)=>{if(!(n=n.reverse().filter((t=>t.is(\"element\",\"listItem\")))).length)return;const i=n[0].getAttribute(\"listIndent\"),o=n[0].getAttribute(\"listType\");let r=n[0].previousSibling;if(r.is(\"element\",\"listItem\"))for(;r.getAttribute(\"listIndent\")!==i;)r=r.previousSibling;else r=null;r||(r=n[n.length-1].nextSibling),r&&r.is(\"element\",\"listItem\")&&r.getAttribute(\"listType\")===o&&t.model.change((t=>{const e=n.filter((t=>t.getAttribute(\"listIndent\")===i));for(const n of e)t.setAttribute(\"listStyle\",r.getAttribute(\"listStyle\"),n)}))}}(t)),this.listenTo(t.commands.get(\"bulletedList\"),\"_executeCleanup\",C_(t)),this.listenTo(t.commands.get(\"numberedList\"),\"_executeCleanup\",C_(t)),e.document.registerPostFixer(function(t){return e=>{let n=!1;const i=A_(t.model.document.differ.getChanges()).filter((t=>\"todo\"!==t.getAttribute(\"listType\")));if(!i.length)return n;let o=i[i.length-1].nextSibling;if((!o||!o.is(\"element\",\"listItem\"))&&(o=i[i.length-1].previousSibling,o)){const t=i[0].getAttribute(\"listIndent\");for(;o.is(\"element\",\"listItem\")&&o.getAttribute(\"listIndent\")!==t&&(o=o.previousSibling,o););}for(const t of i)if(t.hasAttribute(\"listStyle\")){const i=t.previousSibling;w_(i,t)&&(e.setAttribute(\"listStyle\",i.getAttribute(\"listStyle\"),t),n=!0)}else b_(o,t)?e.setAttribute(\"listStyle\",o.getAttribute(\"listStyle\"),t):e.setAttribute(\"listStyle\",f_,t),n=!0;return n}}(t)),t.conversion.for(\"upcast\").add((t=>{t.on(\"element:li\",((t,e,n)=>{const i=e.viewItem.parent;if(!i)return;const o=i.getStyle(\"list-style-type\")||f_,r=e.modelRange.start.nodeAfter||e.modelRange.end.nodeBefore;n.writer.setAttribute(\"listStyle\",o,r)}),{priority:\"low\"})})),t.conversion.for(\"downcast\").add(function(){return n=>{n.on(\"attribute:listStyle:listItem\",((n,i,o)=>{const r=o.writer,s=i.item,a=WA(s.previousSibling,{sameIndent:!0,listIndent:s.getAttribute(\"listIndent\"),direction:\"backward\"}),c=o.mapper.toViewElement(s);t(s,a)||r.breakContainer(r.createPositionBefore(c)),e(r,i.attributeNewValue,c.parent)}),{priority:\"low\"})};function t(t,e){return e&&t.getAttribute(\"listType\")===e.getAttribute(\"listType\")&&t.getAttribute(\"listIndent\")===e.getAttribute(\"listIndent\")&&t.getAttribute(\"listStyle\")===e.getAttribute(\"listStyle\")}function e(t,e,n){e&&e!==f_?t.setStyle(\"list-style-type\",e,n):t.removeStyle(\"list-style-type\",n)}}()),this._mergeListStyleAttributeWhileMergingLists()}afterInit(){const t=this.editor;t.commands.get(\"todoList\")&&t.model.document.registerPostFixer(function(t){return e=>{const n=A_(t.model.document.differ.getChanges()).filter((t=>\"todo\"===t.getAttribute(\"listType\")&&t.hasAttribute(\"listStyle\")));if(!n.length)return!1;for(const t of n)e.removeAttribute(\"listStyle\",t);return!0}}(t))}_mergeListStyleAttributeWhileMergingLists(){const t=this.editor.model;let e;this.listenTo(t,\"deleteContent\",((t,[n])=>{const i=n.getFirstPosition(),o=n.getLastPosition();if(i.parent===o.parent)return;if(!i.parent.is(\"element\",\"listItem\"))return;const r=o.parent.nextSibling;if(!r||!r.is(\"element\",\"listItem\"))return;const s=WA(i.parent,{sameIndent:!0,listIndent:r.getAttribute(\"listIndent\")});s&&s.getAttribute(\"listType\")===r.getAttribute(\"listType\")&&(e=s)}),{priority:\"high\"}),this.listenTo(t,\"deleteContent\",(()=>{e&&(t.change((t=>{const n=WA(e.nextSibling,{sameIndent:!0,listIndent:e.getAttribute(\"listIndent\"),direction:\"forward\"}),i=[n,...YA(t.createPositionAt(n,0),\"forward\")];for(const n of i)t.setAttribute(\"listStyle\",e.getAttribute(\"listStyle\"),n)})),e=null)}),{priority:\"low\"})}}function b_(t,e){if(!t)return!1;const n=t.getAttribute(\"listStyle\");return!!n&&(n!==f_&&t.getAttribute(\"listType\")===e.getAttribute(\"listType\"))}function w_(t,e){if(!t||!t.is(\"element\",\"listItem\"))return!1;if(e.getAttribute(\"listType\")!==t.getAttribute(\"listType\"))return!1;const n=t.getAttribute(\"listIndent\");if(n<1||n!==e.getAttribute(\"listIndent\"))return!1;const i=t.getAttribute(\"listStyle\");return!(!i||i===e.getAttribute(\"listStyle\"))}function C_(t){return(e,n)=>{n=n.filter((t=>t.is(\"element\",\"listItem\"))),t.model.change((t=>{for(const e of n)t.removeAttribute(\"listStyle\",e)}))}}function A_(t){const e=[];for(const n of t){const t=__(n);t&&t.is(\"element\",\"listItem\")&&e.push(t)}return e}function __(t){return\"attribute\"===t.type?t.range.start.nodeAfter:\"insert\"===t.type?t.position.nodeAfter:null}var v_=n(4553),y_={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(v_.Z,y_);v_.Z.locals;class x_ extends le{static get pluginName(){return\"ListStyleUI\"}init(){const t=this.editor,e=t.locale.t;t.ui.componentFactory.add(\"bulletedList\",E_({editor:t,parentCommandName:\"bulletedList\",buttonLabel:e(\"Bulleted List\"),buttonIcon:m_,toolbarAriaLabel:e(\"Bulleted list styles toolbar\"),styleDefinitions:[{label:e(\"Toggle the disc list style\"),tooltip:e(\"Disc\"),type:\"disc\",icon:' '},{label:e(\"Toggle the circle list style\"),tooltip:e(\"Circle\"),type:\"circle\",icon:' '},{label:e(\"Toggle the square list style\"),tooltip:e(\"Square\"),type:\"square\",icon:' '}]})),t.ui.componentFactory.add(\"numberedList\",E_({editor:t,parentCommandName:\"numberedList\",buttonLabel:e(\"Numbered List\"),buttonIcon:u_,toolbarAriaLabel:e(\"Numbered list styles toolbar\"),styleDefinitions:[{label:e(\"Toggle the decimal list style\"),tooltip:e(\"Decimal\"),type:\"decimal\",icon:' '},{label:e(\"Toggle the decimal with leading zero list style\"),tooltip:e(\"Decimal with leading zero\"),type:\"decimal-leading-zero\",icon:' '},{label:e(\"Toggle the lower–roman list style\"),tooltip:e(\"Lower–roman\"),type:\"lower-roman\",icon:' '},{label:e(\"Toggle the upper–roman list style\"),tooltip:e(\"Upper-roman\"),type:\"upper-roman\",icon:' '},{label:e(\"Toggle the lower–latin list style\"),tooltip:e(\"Lower-latin\"),type:\"lower-latin\",icon:' '},{label:e(\"Toggle the upper–latin list style\"),tooltip:e(\"Upper-latin\"),type:\"upper-latin\",icon:' '}]}))}}function E_({editor:t,parentCommandName:e,buttonLabel:n,buttonIcon:i,toolbarAriaLabel:o,styleDefinitions:r}){const s=t.commands.get(e),a=t.commands.get(\"listStyle\");return c=>{const l=Ph(c,lh),d=l.buttonView,h=function({editor:t,listStyleCommand:e,parentCommandName:n}){const i=t.locale,o=t.commands.get(n);return({label:r,type:s,icon:a,tooltip:c})=>{const l=new Wd(i);return l.set({label:r,icon:a,tooltip:c}),e.on(\"change:value\",(()=>{l.isOn=e.value===s})),l.on(\"execute\",(()=>{o.value?e.value!==s?t.execute(\"listStyle\",{type:s}):t.execute(\"listStyle\",{type:e._defaultType}):t.model.change((()=>{t.execute(n),t.execute(\"listStyle\",{type:s})})),t.editing.view.focus()})),l}}({editor:t,parentCommandName:e,listStyleCommand:a});return Oh(l,r.map(h)),l.bind(\"isEnabled\").to(s),l.toolbarView.ariaLabel=o,l.class=\"ck-list-styles-dropdown\",d.on(\"execute\",(()=>{t.execute(e),t.editing.view.focus()})),d.set({label:n,icon:i,tooltip:!0,isToggleable:!0}),d.bind(\"isOn\").to(s,\"value\",(t=>!!t)),l}}function D_(t){const e=t.getSelectedElement();return e&&function(t){return!!t.getCustomProperty(\"media\")&&_g(t)}(e)?e:null}var S_=n(952),I_={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(S_.Z,I_);S_.Z.locals;var T_=n(3525),M_={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(T_.Z,M_);T_.Z.locals;var B_=n(5777),N_={injectType:\"singletonStyleTag\",attributes:{\"data-cke\":!0},insert:\"head\",singleton:!0};md()(B_.Z,N_);B_.Z.locals;function L_(t,e){if(!t.childCount)return;const n=new Qu(t.document),i=function(t,e){const n=e.createRangeIn(t),i=new Fi({name:/^p|h\\d+$/,styles:{\"mso-list\":/.*/}}),o=[];for(const t of n)if(\"elementStart\"===t.type&&i.match(t.item)){const e=O_(t.item);o.push({element:t.item,id:e.id,order:e.order,indent:e.indent})}return o}(t,n);if(!i.length)return;let o=null,r=1;i.forEach(((t,s)=>{const a=function(t,e){if(!t)return!0;if(t.id!==e.id)return e.indent-t.indent!=1;const n=e.element.previousSibling;if(!n)return!0;return i=n,!(i.is(\"element\",\"ol\")||i.is(\"element\",\"ul\"));var i}(i[s-1],t),c=a?null:i[s-1],l=(h=t,(d=c)?h.indent-d.indent:h.indent-1);var d,h;if(a&&(o=null,r=1),!o||0!==l){const i=function(t,e){const n=new RegExp(`@list l${t.id}:level${t.indent}\\\\s*({[^}]*)`,\"gi\"),i=/mso-level-number-format:([^;]{0,100});/gi,o=n.exec(e);let r=\"decimal\",s=\"ol\";if(o&&o[1]){const e=i.exec(o[1]);if(e&&e[1]&&(r=e[1].trim(),s=\"bullet\"!==r&&\"image\"!==r?\"ol\":\"ul\"),\"bullet\"===r){const e=function(t){const e=function(t){if(t.getChild(0).is(\"$text\"))return null;const e=t.getChild(0).getChild(0);if(e.is(\"$text\"))return e;return e.getChild(0)}(t);if(!e)return null;const n=e._data;if(\"o\"===n)return\"circle\";if(\"·\"===n)return\"disc\";if(\"§\"===n)return\"square\";return null}(t.element);e&&(r=e)}}return{type:s,style:z_(r)}}(t,e);if(o){if(t.indent>r){const t=o.getChild(o.childCount-1),e=t.getChild(t.childCount-1);o=P_(i,e,n),r+=1}else if(t.indent(\\s+)<\\/span>/g,((t,e)=>1===e.length?\" \":Array(e.length+1).join(\" \").substr(0,e.length)))}function V_(t,e){const n=new DOMParser,i=function(t){return j_(j_(t)).replace(/([^\\S\\r\\n]*?)[\\r\\n]+([^\\S\\r\\n]*<\\/span>)/g,\"$1$2\").replace(/<\\/span>/g,\"\").replace(/ <\\//g,\" \").replace(/ <\\/o:p>/g,\" \").replace(/( |\\u00A0)<\\/o:p>/g,\"\").replace(/>([^\\S\\r\\n]*[\\r\\n]\\s*)<\")}(function(t){const e=\"\",n=\"