diff --git a/.editorconfig b/.editorconfig
new file mode 100644
index 0000000..fcdf61e
--- /dev/null
+++ b/.editorconfig
@@ -0,0 +1,9 @@
+root = true
+
+[*]
+charset = utf-8
+end_of_line = lf
+insert_final_newline = true
+indent_style = space
+indent_size = 4
+trim_trailing_whitespace = true
\ No newline at end of file
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..cb96071
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,8 @@
+.idea
+vendor
+composer.lock
+node_modules
+.phpunit.result.cache
+.php-cs-fixer.cache
+app
+reports
diff --git a/.php-cs-fixer.dist.php b/.php-cs-fixer.dist.php
new file mode 100644
index 0000000..ea229df
--- /dev/null
+++ b/.php-cs-fixer.dist.php
@@ -0,0 +1,35 @@
+in([
+ __DIR__ . '/src',
+ __DIR__ . '/tests',
+ ])
+ ->name('*.php')
+ ->notName('*.blade.php')
+ ->ignoreDotFiles(true)
+ ->ignoreVCS(true);
+
+return (new PhpCsFixer\Config())
+ ->setRules([
+ '@PSR12' => true,
+ 'array_syntax' => ['syntax' => 'short'],
+ 'ordered_imports' => ['sort_algorithm' => 'alpha'],
+ 'no_unused_imports' => true,
+ 'not_operator_with_successor_space' => true,
+ 'trailing_comma_in_multiline' => true,
+ 'phpdoc_scalar' => true,
+ 'unary_operator_spaces' => true,
+ 'binary_operator_spaces' => true,
+ 'blank_line_before_statement' => [
+ 'statements' => ['break', 'continue', 'declare', 'return', 'throw', 'try'],
+ ],
+ 'phpdoc_single_line_var_spacing' => true,
+ 'phpdoc_var_without_name' => true,
+ 'method_argument_space' => [
+ 'on_multiline' => 'ensure_fully_multiline',
+ 'keep_multiple_spaces_after_comma' => true,
+ ],
+ 'single_trait_insert_per_statement' => true,
+ ])
+ ->setFinder($finder);
diff --git a/LICENSE.md b/LICENSE.md
new file mode 100644
index 0000000..8ab2763
--- /dev/null
+++ b/LICENSE.md
@@ -0,0 +1,9 @@
+MIT License
+
+Copyright (c) Danil Shutsky
+
+Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..bf2615a
--- /dev/null
+++ b/README.md
@@ -0,0 +1,4 @@
+# CKEditor field for [MoonShine Laravel admin panel](https://moonshine.cutcode.dev)
+
+## Documentation
+[Read CKEditor field in Official MoonShine Documentation](https://moonshine.cutcode.dev/section/fields-wysiwyg)
diff --git a/composer.json b/composer.json
new file mode 100644
index 0000000..6894865
--- /dev/null
+++ b/composer.json
@@ -0,0 +1,56 @@
+{
+ "name": "moonshine/ckeditor",
+ "description": "CKEditor for MoonShine",
+ "keywords": ["moonshine", "ckeditor"],
+ "type": "library",
+ "homepage": "https://moonshine.cutcode.dev",
+ "license": "MIT",
+ "support": {
+ "issues": "https://github.com/moonshine-software/ckeditor/issues",
+ "source": "https://github.com/moonshine-software/ckeditor"
+ },
+ "authors": [
+ {
+ "name": "Danil Shutsky",
+ "email": "info@cutcode.ru",
+ "homepage": "https://cutcode.dev"
+ }
+ ],
+ "require": {
+ "php": "^8.0|^8.1|^8.2",
+ "ext-curl": "*",
+ "ext-json": "*"
+ },
+ "require-dev": {
+ "phpunit/phpunit": "^9.5.8",
+ "mockery/mockery": "^1.4.4",
+ "phpstan/phpstan": "^1.4.7",
+ "orchestra/testbench": "^4.0|^5.0|^6.0|^7.0|^8.0",
+ "brianium/paratest": "^6.8"
+ },
+ "autoload": {
+ "psr-4": {
+ "MoonShine\\CKEditor\\": "src/"
+ }
+ },
+ "autoload-dev": {
+ "psr-4": {
+ "MoonShine\\CKEditor\\Tests\\": "tests/",
+ "MoonShine\\CKEditor\\Database\\Factories\\": "database/factories/"
+ }
+ },
+ "conflict": {
+ "moonshine/moonshine": "<1.52"
+ },
+ "scripts": {
+ "test": "vendor/bin/phpunit",
+ "format": "vendor/bin/php-cs-fixer fix --allow-risky=yes"
+ },
+ "extra": {
+ "laravel": {
+ "providers": [
+ "CKEditorServiceProvider"
+ ]
+ }
+ }
+}
diff --git a/public/js/ckeditor.js b/public/js/ckeditor.js
new file mode 100644
index 0000000..84c9610
--- /dev/null
+++ b/public/js/ckeditor.js
@@ -0,0 +1,9 @@
+!function(t){const e=t.en=t.en||{};e.dictionary=Object.assign(e.dictionary||{},{"*Change %0 content*":"*Change %0 content*","*Change to:* %0":"*Change to:* %0","*Check item*":"*Check item*","*Format:* %0":"*Format:* %0","*Format:* insert into %0":"*Format:* insert into %0","*Format:* remove from %0":"*Format:* remove from %0","*Indent:* %0":"*Indent:* %0","*Insert:* %0":"*Insert:* %0","*Merge cells*":"*Merge cells*","*Merge:* %0":"*Merge:* %0","*Outdent:* %0":"*Outdent:* %0","*Remove all formatting*":"*Remove all formatting*","*Remove format:* %0":"*Remove format:* %0","*Remove highlight*":"*Remove highlight*","*Remove image text alternative*":"*Remove image text alternative*","*Remove link*":"*Remove link*","*Remove:* %0":"*Remove:* %0","*Replace table cells*":"*Replace table cells*","*Reset font background color*":"*Reset font background color*","*Reset font color*":"*Reset font color*","*Reset font family*":"*Reset font family*","*Reset font size*":"*Reset font size*","*Reset image width*":"*Reset image width*","*Set font background color:* %0":"*Set font background color:* %0","*Set font color:* %0":"*Set font color:* %0","*Set font family:* %0":"*Set font family:* %0","*Set font size:* %0":"*Set font size:* %0","*Set highlight:* %0":"*Set highlight:* %0","*Set image text alternative:* %0":"*Set image text alternative:* %0","*Set image width:* %0":"*Set image width:* %0","*Set link:* %0":"*Set link:* %0","*Split cell:* horizontally":"*Split cell:* horizontally","*Split cell:* vertically":"*Split cell:* vertically","*Split:* %0":"*Split:* %0","*Uncheck item*":"*Uncheck item*","%0 of %1":"%0 of %1","Accept all selected suggestions":"Accept all selected suggestions","Accept all suggestions":"Accept all suggestions","Accept suggestion":"Accept suggestion","Added by":"Added by","Align cell text to the bottom":"Align cell text to the bottom","Align cell text to the center":"Align cell text to the center","Align cell text to the left":"Align cell text to the left","Align cell text to the middle":"Align cell text to the middle","Align cell text to the right":"Align cell text to the right","Align cell text to the top":"Align cell text to the top","Align center":"Align center","Align left":"Align left","Align right":"Align right","Align table to the left":"Align table to the left","Align table to the right":"Align table to the right",Alignment:"Alignment","Almost equal to":"Almost equal to","An error occurred while generating the PDF.":"An error occurred while generating the PDF.","An error occurred while generating the Word file.":"An error occurred while generating the Word file.",Angle:"Angle",Anonymous:"Anonymous","Approximately equal to":"Approximately equal to",Aquamarine:"Aquamarine","Are you sure?":"Are you sure?","Asterisk operator":"Asterisk operator","Austral sign":"Austral sign","Back to editing":"Back to editing","back with leftwards arrow above":"back with leftwards arrow above",Background:"Background",Big:"Big","Bitcoin sign":"Bitcoin sign",Black:"Black","Block quote":"Block quote","Block styles":"Block styles",Blue:"Blue","Blue marker":"Blue marker",Bold:"Bold",Border:"Border","Break text":"Break text","Bulleted List":"Bulleted List","Bulleted list styles toolbar":"Bulleted list styles toolbar",Cancel:"Cancel","Cannot determine a category for the uploaded file.":"Cannot determine a category for the uploaded file.","Cannot upload file:":"Cannot upload file:","Caption for image: %0":"Caption for image: %0","Caption for the image":"Caption for the image","Cedi sign":"Cedi sign","Cell properties":"Cell properties","Cent sign":"Cent sign","Center table":"Center table","Centered image":"Centered image","Change image text alternative":"Change image text alternative","Character categories":"Character categories","Characters: %0":"Characters: %0","Choose heading":"Choose heading","Choose language":"Choose language",Circle:"Circle",Code:"Code","Colon sign":"Colon sign",Color:"Color","Color picker":"Color picker",Column:"Column",Comment:"Comment","Comment editor":"Comment editor","Compare against selected":"Compare against selected",CONNECTED_USERS:["1 connected user (me)","%0 connected users"],"Contains as member":"Contains as member","Copyright sign":"Copyright sign","Could not insert image at the current position.":"Could not insert image at the current position.","Could not obtain resized image URL.":"Could not obtain resized image URL.","Cruzeiro sign":"Cruzeiro sign","Currency sign":"Currency sign",Dashed:"Dashed",Decimal:"Decimal","Decimal with leading zero":"Decimal with leading zero","Decrease indent":"Decrease indent",Default:"Default","Degree sign":"Degree sign","Delete column":"Delete column","Delete comment thread?":"Delete comment thread?","Delete comment?":"Delete comment?","Delete row":"Delete row","Dim grey":"Dim grey",Dimensions:"Dimensions","Disable editing":"Disable editing",Disc:"Disc","Discard all selected suggestions":"Discard all selected suggestions","Discard all suggestions":"Discard all suggestions","Discard suggestion":"Discard suggestion","Division sign":"Division sign","Document colors":"Document colors","Dollar sign":"Dollar sign","Dong sign":"Dong sign",Dotted:"Dotted",Double:"Double","Double dagger":"Double dagger","Double exclamation mark":"Double exclamation mark","Double low-9 quotation mark":"Double low-9 quotation mark","Double question mark":"Double question mark",Downloadable:"Downloadable","downwards arrow to bar":"downwards arrow to bar","downwards dashed arrow":"downwards dashed arrow","downwards double arrow":"downwards double arrow","downwards simple arrow":"downwards simple arrow","Drachma sign":"Drachma sign","Dropdown toolbar":"Dropdown toolbar",Edit:"Edit","Edit block":"Edit block","Edit link":"Edit link","Edit source":"Edit source",EDIT_X_OF_Y_REVISIONS:"Edit","Editor block content toolbar":"Editor block content toolbar","Editor contextual toolbar":"Editor contextual toolbar","Editor editing area: %0":"Editor editing area: %0","Editor toolbar":"Editor toolbar","Element of":"Element of",ELEMENT_BLOCK_QUOTE:"block quote",ELEMENT_BULLETED_LIST:"bulleted list",ELEMENT_CAPTION:"caption",ELEMENT_CODE_BLOCK:["code block","%0 code blocks"],ELEMENT_HEADING:["heading (level %1)","%0 headings (level %1)"],ELEMENT_HEADING_CUSTOM:["heading (%1)","%0 headings (%1)"],ELEMENT_HORIZONTAL_LINE:["horizontal line","%0 horizontal lines"],ELEMENT_HTML_EMBED:["HTML embed","%0 HTML embeds"],ELEMENT_IMAGE:["image","%0 images"],ELEMENT_INLINE_IMAGE:["image","%0 images"],ELEMENT_LINE_BREAK:["line break","%0 line breaks"],ELEMENT_LIST_ITEM:["list item","%0 list items"],ELEMENT_MEDIA:["media item","%0 media items"],ELEMENT_NUMBERED_LIST:"numbered list",ELEMENT_PAGE_BREAK:["page break","%0 page breaks"],ELEMENT_PARAGRAPH:["paragraph","%0 paragraphs"],ELEMENT_SPACE:["space","%0 spaces"],ELEMENT_TABLE:["table","%0 tables"],ELEMENT_TABLE_COLUMN:["table column","%0 table columns"],ELEMENT_TABLE_COLUMN_WITH_TEXT:["table column *with text* %1","%0 table columns *with text* %1"],ELEMENT_TABLE_ROW:["table row","%0 table rows"],ELEMENT_TABLE_ROW_WITH_TEXT:["table row *with text* %1","%0 table rows *with text* %1"],ELEMENT_TABLE_WITH_TEXT:"table *with text* %0",ELEMENT_TITLE:"title",ELEMENT_TODO_LIST:"to-do list","Em dash":"Em dash","Empty document":"Empty document","Empty set":"Empty set","Empty snippet content":"Empty snippet content","En dash":"En dash","Enable editing":"Enable editing","end with leftwards arrow above":"end with leftwards arrow above","Enter image caption":"Enter image caption","Enter table caption":"Enter table caption","Euro sign":"Euro sign","Euro-currency sign":"Euro-currency sign","Exclamation question mark":"Exclamation question mark","Export to PDF":"Export to PDF","Export to Word":"Export to Word",EXTERNAL_AVATAR:"Displayed author name comes from external source (added by %0)",EXTERNAL_COMMENT:"This comment comes from an external source.",EXTERNAL_IMPORT_WORD_AVATAR:"Displayed author name comes from a Word document imported by %0",EXTERNAL_IMPORT_WORD_COMMENT:"This comment comes from an imported Word file.",EXTERNAL_IMPORT_WORD_SUGGESTION:"This suggestion comes from an imported Word file.",EXTERNAL_SUGGESTION:"This suggestion comes from an external source.",Find:"Find","Find and replace":"Find and replace","Find in text…":"Find in text…","Font Background Color":"Font Background Color","Font Color":"Font Color","Font Family":"Font Family","Font Size":"Font Size","For all":"For all",FORMAT_ALIGN_TO_CENTER:"align to center",FORMAT_ALIGN_TO_LEFT:"align to left",FORMAT_ALIGN_TO_RIGHT:"align to right",FORMAT_BOLD:"bold",FORMAT_CODE:"code",FORMAT_HEADER_COLUMN:"header column",FORMAT_HEADER_ROW:"header row",FORMAT_HIGHLIGHT:"highlight",FORMAT_ITALIC:"italic",FORMAT_JUSTIFY_TEXT:"justify",FORMAT_REGULAR_COLUMN:"regular column",FORMAT_REGULAR_ROW:"regular row",FORMAT_RESTRICTED_DISABLED:"*Disable in restricted editing mode*",FORMAT_RESTRICTED_ENABLED:"*Enable in restricted editing mode*",FORMAT_SIDE_IMAGE:"side image",FORMAT_STRIKETHROUGH:"strikethrough",FORMAT_SUBSCRIPT:"subscript",FORMAT_SUPERSCRIPT:"superscript",FORMAT_UNDERLINE:"underline","Fraction slash":"Fraction slash","French franc sign":"French franc sign","Full size image":"Full size image","German penny sign":"German penny sign","Greater-than or equal to":"Greater-than or equal to","Greater-than sign":"Greater-than sign",Green:"Green","Green marker":"Green marker","Green pen":"Green pen",Grey:"Grey",Groove:"Groove","Guarani sign":"Guarani sign","Header column":"Header column","Header row":"Header row",Heading:"Heading","Heading 1":"Heading 1","Heading 2":"Heading 2","Heading 3":"Heading 3","Heading 4":"Heading 4","Heading 5":"Heading 5","Heading 6":"Heading 6",Height:"Height",Highlight:"Highlight","Horizontal ellipsis":"Horizontal ellipsis","Horizontal line":"Horizontal line","Horizontal text alignment toolbar":"Horizontal text alignment toolbar","Hryvnia sign":"Hryvnia sign","HTML object":"HTML object","HTML snippet":"HTML snippet",Huge:"Huge","Identical to":"Identical to","Image resize list":"Image resize list","Image toolbar":"Image toolbar","image widget":"image widget","In line":"In line","Increase indent":"Increase indent","Indian rupee sign":"Indian rupee sign",Infinity:"Infinity","Initial revision":"Initial revision",Insert:"Insert","Insert code block":"Insert code block","Insert column left":"Insert column left","Insert column right":"Insert column right","Insert HTML":"Insert HTML","Insert image":"Insert image","Insert image or file":"Insert image or file","Insert image via URL":"Insert image via URL","Insert media":"Insert media","Insert paragraph after block":"Insert paragraph after block","Insert paragraph before block":"Insert paragraph before block","Insert row above":"Insert row above","Insert row below":"Insert row below","Insert table":"Insert table","Inserting image failed":"Inserting image failed",Inset:"Inset",Integral:"Integral",Intersection:"Intersection","Inverted exclamation mark":"Inverted exclamation mark","Inverted question mark":"Inverted question mark",Italic:"Italic",Justify:"Justify","Justify cell text":"Justify cell text","Kip sign":"Kip sign",Language:"Language","Latin capital letter a with breve":"Latin capital letter a with breve","Latin capital letter a with macron":"Latin capital letter a with macron","Latin capital letter a with ogonek":"Latin capital letter a with ogonek","Latin capital letter c with acute":"Latin capital letter c with acute","Latin capital letter c with caron":"Latin capital letter c with caron","Latin capital letter c with circumflex":"Latin capital letter c with circumflex","Latin capital letter c with dot above":"Latin capital letter c with dot above","Latin capital letter d with caron":"Latin capital letter d with caron","Latin capital letter d with stroke":"Latin capital letter d with stroke","Latin capital letter e with breve":"Latin capital letter e with breve","Latin capital letter e with caron":"Latin capital letter e with caron","Latin capital letter e with dot above":"Latin capital letter e with dot above","Latin capital letter e with macron":"Latin capital letter e with macron","Latin capital letter e with ogonek":"Latin capital letter e with ogonek","Latin capital letter eng":"Latin capital letter eng","Latin capital letter g with breve":"Latin capital letter g with breve","Latin capital letter g with cedilla":"Latin capital letter g with cedilla","Latin capital letter g with circumflex":"Latin capital letter g with circumflex","Latin capital letter g with dot above":"Latin capital letter g with dot above","Latin capital letter h with circumflex":"Latin capital letter h with circumflex","Latin capital letter h with stroke":"Latin capital letter h with stroke","Latin capital letter i with breve":"Latin capital letter i with breve","Latin capital letter i with dot above":"Latin capital letter i with dot above","Latin capital letter i with macron":"Latin capital letter i with macron","Latin capital letter i with ogonek":"Latin capital letter i with ogonek","Latin capital letter i with tilde":"Latin capital letter i with tilde","Latin capital letter j with circumflex":"Latin capital letter j with circumflex","Latin capital letter k with cedilla":"Latin capital letter k with cedilla","Latin capital letter l with acute":"Latin capital letter l with acute","Latin capital letter l with caron":"Latin capital letter l with caron","Latin capital letter l with cedilla":"Latin capital letter l with cedilla","Latin capital letter l with middle dot":"Latin capital letter l with middle dot","Latin capital letter l with stroke":"Latin capital letter l with stroke","Latin capital letter n with acute":"Latin capital letter n with acute","Latin capital letter n with caron":"Latin capital letter n with caron","Latin capital letter n with cedilla":"Latin capital letter n with cedilla","Latin capital letter o with breve":"Latin capital letter o with breve","Latin capital letter o with double acute":"Latin capital letter o with double acute","Latin capital letter o with macron":"Latin capital letter o with macron","Latin capital letter r with acute":"Latin capital letter r with acute","Latin capital letter r with caron":"Latin capital letter r with caron","Latin capital letter r with cedilla":"Latin capital letter r with cedilla","Latin capital letter s with acute":"Latin capital letter s with acute","Latin capital letter s with caron":"Latin capital letter s with caron","Latin capital letter s with cedilla":"Latin capital letter s with cedilla","Latin capital letter s with circumflex":"Latin capital letter s with circumflex","Latin capital letter t with caron":"Latin capital letter t with caron","Latin capital letter t with cedilla":"Latin capital letter t with cedilla","Latin capital letter t with stroke":"Latin capital letter t with stroke","Latin capital letter u with breve":"Latin capital letter u with breve","Latin capital letter u with double acute":"Latin capital letter u with double acute","Latin capital letter u with macron":"Latin capital letter u with macron","Latin capital letter u with ogonek":"Latin capital letter u with ogonek","Latin capital letter u with ring above":"Latin capital letter u with ring above","Latin capital letter u with tilde":"Latin capital letter u with tilde","Latin capital letter w with circumflex":"Latin capital letter w with circumflex","Latin capital letter y with circumflex":"Latin capital letter y with circumflex","Latin capital letter y with diaeresis":"Latin capital letter y with diaeresis","Latin capital letter z with acute":"Latin capital letter z with acute","Latin capital letter z with caron":"Latin capital letter z with caron","Latin capital letter z with dot above":"Latin capital letter z with dot above","Latin capital ligature ij":"Latin capital ligature ij","Latin capital ligature oe":"Latin capital ligature oe","Latin small letter a with breve":"Latin small letter a with breve","Latin small letter a with macron":"Latin small letter a with macron","Latin small letter a with ogonek":"Latin small letter a with ogonek","Latin small letter c with acute":"Latin small letter c with acute","Latin small letter c with caron":"Latin small letter c with caron","Latin small letter c with circumflex":"Latin small letter c with circumflex","Latin small letter c with dot above":"Latin small letter c with dot above","Latin small letter d with caron":"Latin small letter d with caron","Latin small letter d with stroke":"Latin small letter d with stroke","Latin small letter dotless i":"Latin small letter dotless i","Latin small letter e with breve":"Latin small letter e with breve","Latin small letter e with caron":"Latin small letter e with caron","Latin small letter e with dot above":"Latin small letter e with dot above","Latin small letter e with macron":"Latin small letter e with macron","Latin small letter e with ogonek":"Latin small letter e with ogonek","Latin small letter eng":"Latin small letter eng","Latin small letter f with hook":"Latin small letter f with hook","Latin small letter g with breve":"Latin small letter g with breve","Latin small letter g with cedilla":"Latin small letter g with cedilla","Latin small letter g with circumflex":"Latin small letter g with circumflex","Latin small letter g with dot above":"Latin small letter g with dot above","Latin small letter h with circumflex":"Latin small letter h with circumflex","Latin small letter h with stroke":"Latin small letter h with stroke","Latin small letter i with breve":"Latin small letter i with breve","Latin small letter i with macron":"Latin small letter i with macron","Latin small letter i with ogonek":"Latin small letter i with ogonek","Latin small letter i with tilde":"Latin small letter i with tilde","Latin small letter j with circumflex":"Latin small letter j with circumflex","Latin small letter k with cedilla":"Latin small letter k with cedilla","Latin small letter kra":"Latin small letter kra","Latin small letter l with acute":"Latin small letter l with acute","Latin small letter l with caron":"Latin small letter l with caron","Latin small letter l with cedilla":"Latin small letter l with cedilla","Latin small letter l with middle dot":"Latin small letter l with middle dot","Latin small letter l with stroke":"Latin small letter l with stroke","Latin small letter long s":"Latin small letter long s","Latin small letter n preceded by apostrophe":"Latin small letter n preceded by apostrophe","Latin small letter n with acute":"Latin small letter n with acute","Latin small letter n with caron":"Latin small letter n with caron","Latin small letter n with cedilla":"Latin small letter n with cedilla","Latin small letter o with breve":"Latin small letter o with breve","Latin small letter o with double acute":"Latin small letter o with double acute","Latin small letter o with macron":"Latin small letter o with macron","Latin small letter r with acute":"Latin small letter r with acute","Latin small letter r with caron":"Latin small letter r with caron","Latin small letter r with cedilla":"Latin small letter r with cedilla","Latin small letter s with acute":"Latin small letter s with acute","Latin small letter s with caron":"Latin small letter s with caron","Latin small letter s with cedilla":"Latin small letter s with cedilla","Latin small letter s with circumflex":"Latin small letter s with circumflex","Latin small letter t with caron":"Latin small letter t with caron","Latin small letter t with cedilla":"Latin small letter t with cedilla","Latin small letter t with stroke":"Latin small letter t with stroke","Latin small letter u with breve":"Latin small letter u with breve","Latin small letter u with double acute":"Latin small letter u with double acute","Latin small letter u with macron":"Latin small letter u with macron","Latin small letter u with ogonek":"Latin small letter u with ogonek","Latin small letter u with ring above":"Latin small letter u with ring above","Latin small letter u with tilde":"Latin small letter u with tilde","Latin small letter w with circumflex":"Latin small letter w with circumflex","Latin small letter y with circumflex":"Latin small letter y with circumflex","Latin small letter z with acute":"Latin small letter z with acute","Latin small letter z with caron":"Latin small letter z with caron","Latin small letter z with dot above":"Latin small letter z with dot above","Latin small ligature ij":"Latin small ligature ij","Latin small ligature oe":"Latin small ligature oe","Left aligned image":"Left aligned image","Left double quotation mark":"Left double quotation mark","Left single quotation mark":"Left single quotation mark","Left-pointing double angle quotation mark":"Left-pointing double angle quotation mark","leftwards arrow to bar":"leftwards arrow to bar","leftwards dashed arrow":"leftwards dashed arrow","leftwards double arrow":"leftwards double arrow","leftwards simple arrow":"leftwards simple arrow","Less-than or equal to":"Less-than or equal to","Less-than sign":"Less-than sign","Light blue":"Light blue","Light green":"Light green","Light grey":"Light grey",Link:"Link","Link image":"Link image","Link URL":"Link URL","Lira sign":"Lira sign","List properties":"List properties","Livre tournois sign":"Livre tournois sign","Loading...":"Loading...","Logical and":"Logical and","Logical or":"Logical or","Lower-latin":"Lower-latin","Lower–roman":"Lower–roman",Macron:"Macron","Manat sign":"Manat sign","Match case":"Match case","Media toolbar":"Media toolbar","Media URL":"Media URL","media widget":"media widget","Merge cell down":"Merge cell down","Merge cell left":"Merge cell left","Merge cell right":"Merge cell right","Merge cell up":"Merge cell up","Merge cells":"Merge cells","Mill sign":"Mill sign","Minus sign":"Minus sign","Multiple styles":"Multiple styles","Multiplication sign":"Multiplication sign","N-ary product":"N-ary product","N-ary summation":"N-ary summation",Nabla:"Nabla","Naira sign":"Naira sign","Name of the revision (optional)":"Name of the revision (optional)","Name this revision":"Name this revision","Navigate editable regions":"Navigate editable regions","New sheqel sign":"New sheqel sign",Next:"Next","Next editable region":"Next editable region","Next result":"Next result",No:"No","No changes":"No changes","No preview available":"No preview available",None:"None","Nordic mark sign":"Nordic mark sign","Not an element of":"Not an element of","Not equal to":"Not equal to","Not sign":"Not sign",NUMBER_OF_CHANGES:["%0 change","%0 changes"],NUMBER_OF_COMMENTS:["%0 Comment","%0 Comments"],"Numbered List":"Numbered List","Numbered list styles toolbar":"Numbered list styles toolbar","on with exclamation mark with left right arrow above":"on with exclamation mark with left right arrow above","Open file manager":"Open file manager","Open in a new tab":"Open in a new tab","Open link in new tab":"Open link in new tab","Open media in new tab":"Open media in new tab","Open revision history":"Open revision history",Orange:"Orange",Original:"Original",Outset:"Outset",Overline:"Overline",Padding:"Padding","Page break":"Page break",Paragraph:"Paragraph","Paragraph sign":"Paragraph sign","Partial differential":"Partial differential","Paste raw HTML here...":"Paste raw HTML here...","Paste the media URL in the input.":"Paste the media URL in the input.",PENDING_ACTION_COMMENT_THREAD:"Unsaved change in comment thread.",PENDING_ACTION_REVISION_HISTORY:"Unsaved change in revision history.",PENDING_ACTION_SENDING_DATA:"Sending data to the server.",PENDING_ACTION_SUGGESTION:"Unsaved change in suggestion.","Per mille sign":"Per mille sign","Per ten thousand sign":"Per ten thousand sign","Peseta sign":"Peseta sign","Peso sign":"Peso sign","Pink marker":"Pink marker","Plain text":"Plain text","Plus-minus sign":"Plus-minus sign","Pound sign":"Pound sign",Previous:"Previous","Previous editable region":"Previous editable region","Previous result":"Previous result","Proportional to":"Proportional to",Purple:"Purple","Question exclamation mark":"Question exclamation mark",Red:"Red","Red pen":"Red pen",Redo:"Redo","Registered sign":"Registered sign",Remove:"Remove","Remove color":"Remove color","Remove Format":"Remove Format","Remove highlight":"Remove highlight","Remove language":"Remove language","Removed by":"Removed by",Replace:"Replace","Replace all":"Replace all","Replace with…":"Replace with…",REPLACE_TEXT:"*Replace:* %0 *with* %1","Reply...":"Reply...","Resize image":"Resize image","Resize image to %0":"Resize image to %0","Resize image to the original size":"Resize image to the original size","Restore default":"Restore default","Restore this revision":"Restore this revision",Restored:"Restored","Reversed order":"Reversed order","Reversed paragraph sign":"Reversed paragraph sign","Revision author":"Revision author","Revision creator":"Revision creator","Revision history":"Revision history","Revision name":"Revision name","Rich Text Editor":"Rich Text Editor","Rich Text Editor. Editing area: %0":"Rich Text Editor. Editing area: %0",Ridge:"Ridge","Right aligned image":"Right aligned image","Right double quotation mark":"Right double quotation mark","Right single quotation mark":"Right single quotation mark","Right-pointing double angle quotation mark":"Right-pointing double angle quotation mark","rightwards arrow to bar":"rightwards arrow to bar","rightwards dashed arrow":"rightwards dashed arrow","rightwards double arrow":"rightwards double arrow","rightwards simple arrow":"rightwards simple arrow",Row:"Row","Ruble sign":"Ruble sign","Rupee sign":"Rupee sign",Save:"Save","Save changes":"Save changes","Save current revision":"Save current revision","Section sign":"Section sign","Select all":"Select all","Select column":"Select column","Select row":"Select row","Selecting resized image failed":"Selecting resized image failed","Show more items":"Show more items","Show next change":"Show next change","Show next page":"Show next page","Show options":"Show options","Show previous change":"Show previous change","Show previous page":"Show previous page","Side image":"Side image","Single left-pointing angle quotation mark":"Single left-pointing angle quotation mark","Single low-9 quotation mark":"Single low-9 quotation mark","Single right-pointing angle quotation mark":"Single right-pointing angle quotation mark",Small:"Small",Solid:"Solid","soon with rightwards arrow above":"soon with rightwards arrow above",Source:"Source","Special characters":"Special characters","Spesmilo sign":"Spesmilo sign","Split cell horizontally":"Split cell horizontally","Split cell vertically":"Split cell vertically",Square:"Square","Square root":"Square root","Start at":"Start at","Start index must be greater than 0.":"Start index must be greater than 0.",Strikethrough:"Strikethrough",Style:"Style",Styles:"Styles",Submit:"Submit",Subscript:"Subscript","Suggested by":"Suggested by",Superscript:"Superscript","Synchronization issue":"Synchronization issue","Table alignment toolbar":"Table alignment toolbar","Table cell text alignment":"Table cell text alignment","Table properties":"Table properties","Table toolbar":"Table toolbar","Tenge sign":"Tenge sign","Text alignment":"Text alignment","Text alignment toolbar":"Text alignment toolbar","Text alternative":"Text alternative","Text highlight toolbar":"Text highlight toolbar","Text styles":"Text styles","Text to find must not be empty.":"Text to find must not be empty.",'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".':'The color is invalid. Try "#FF0000" or "rgb(255,0,0)" or "red".',"The document cannot be connected back to the server. To not lose your content save it locally and refresh the editor.":"The document cannot be connected back to the server. To not lose your content save it locally and refresh the editor.","The document details could not be taken during the reconnection. To not lose your content save it locally and refresh the editor.":"The document details could not be taken during the reconnection. To not lose your content save it locally and refresh the editor.","The last saved version of the document does not match the local version. To not lose your content save it locally and refresh the editor.":"The last saved version of the document does not match the local version. To not lose your content save it locally and refresh the editor.","The local document and server document differ and merging them can cause unexpected behavior. To not lose your content save it locally and refresh the editor.":"The local document and server document differ and merging them can cause unexpected behavior. To not lose your content save it locally and refresh the editor.","The URL must not be empty.":"The URL must not be empty.",'The value is invalid. Try "10px" or "2em" or simply "2".':'The value is invalid. Try "10px" or "2em" or simply "2".',"There exists":"There exists","This link has no URL":"This link has no URL","This media URL is not supported.":"This media URL is not supported.","Tilde operator":"Tilde operator",Tiny:"Tiny","Tip: Find some text first in order to replace it.":"Tip: Find some text first in order to replace it.","Tip: Paste the URL into the content to embed faster.":"Tip: Paste the URL into the content to embed faster.","To-do List":"To-do List","Toggle caption off":"Toggle caption off","Toggle caption on":"Toggle caption on","Toggle the circle list style":"Toggle the circle list style","Toggle the decimal list style":"Toggle the decimal list style","Toggle the decimal with leading zero list style":"Toggle the decimal with leading zero list style","Toggle the disc list style":"Toggle the disc list style","Toggle the lower–latin list style":"Toggle the lower–latin list style","Toggle the lower–roman list style":"Toggle the lower–roman list style","Toggle the square list style":"Toggle the square list style","Toggle the upper–latin list style":"Toggle the upper–latin list style","Toggle the upper–roman list style":"Toggle the upper–roman list style",TOO_LONG_COMMENT_ALERT:"Comment content is too long. Your comment has %0 characters but the limit is %1 characters.","top with upwards arrow above":"top with upwards arrow above",Total:"Total","Track changes":"Track changes","Trade mark sign":"Trade mark sign","Tugrik sign":"Tugrik sign","Turkish lira sign":"Turkish lira sign",Turquoise:"Turquoise","Two dot leader":"Two dot leader","Type or paste your content here.":"Type or paste your content here.","Type your title":"Type your title",Underline:"Underline",Undo:"Undo",Union:"Union",Unlink:"Unlink","up down arrow with base":"up down arrow with base",Update:"Update","Update image URL":"Update image URL","Upload failed":"Upload failed","Upload in progress":"Upload in progress","Upper-latin":"Upper-latin","Upper-roman":"Upper-roman","upwards arrow to bar":"upwards arrow to bar","upwards dashed arrow":"upwards dashed arrow","upwards double arrow":"upwards double arrow","upwards simple arrow":"upwards simple arrow","Vertical text alignment toolbar":"Vertical text alignment toolbar","Vulgar fraction one half":"Vulgar fraction one half","Vulgar fraction one quarter":"Vulgar fraction one quarter","Vulgar fraction three quarters":"Vulgar fraction three quarters",White:"White","Whole words only":"Whole words only","Widget toolbar":"Widget toolbar",Width:"Width","Won sign":"Won sign","Words: %0":"Words: %0","Wrap text":"Wrap text","Write a comment...":"Write a comment...",X_OF_Y_CHANGES:"%0 of %1",Yellow:"Yellow","Yellow marker":"Yellow marker","Yen sign":"Yen sign",Yes:"Yes"})}(window.CKEDITOR_TRANSLATIONS||(window.CKEDITOR_TRANSLATIONS={})),
+/*!
+ * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.
+ * For licensing, see LICENSE.md.
+ */
+function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.CKEDITOR=e():t.CKEDITOR=e()}(self,(()=>(()=>{var __webpack_modules__={6732:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});class n extends Error{constructor(t,e,n=null,i={}){super("cloud-services-internal-error: "+t),this.context=e,this.code=n,this.data=i,this.name="CKEditorError"}static fromPublicError(t){return new n(function(t){let e="cloud-services-error: "+t.message;return t.explanation&&(e+="\nExplanation: "+t.explanation),t.action&&(e+="\nAction: "+t.action),t.traceId&&(e+="\nTraceId: "+t.traceId),t.code&&(e+="\nCode: "+t.code),e}(t),t)}}e.default=n},9073:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0});class n extends Error{constructor(t,e){super(),this.name="CKEditorCloudServicesServerError",this.stack=void 0,this.message=t,this.code=e.code,this.traceId=e.traceId,this.data=e.data}static fromPublicError(t){return new n(function(t){let e="cloud-services-server-error: "+t.message;return t.explanation&&(e+="\nExplanation: "+t.explanation),t.action&&(e+="\nAction: "+t.action),t.traceId&&(e+="\nTraceId: "+t.traceId),t.code&&(e+="\nCode: "+t.code),e}(t),t)}}e.default=n},247:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e._SERVICE=void 0;const o=n(8410),r=n(6553),s=i(n(822)),a=i(n(3825)),c=i(n(5834)),l=i(n(4721)),d=i(n(4053)),u=i(n(5184)),h=i(n(3297)),m=i(n(3136)),g=i(n(6732)),p=i(n(6315)),f=i(n(2663)),b=i(n(3510));e._SERVICE=1;class k{constructor(t,e){if(!t)throw new TypeError('Param "bundleVersion" must be provided.');this._id=null!=e?e:(0,o.v4)(),this._isConnected=!1,this._bundleVersion=t}getId(){return this._id}isConnected(){return this._isConnected}connect(t,e={buffers:[],types:[]},n){const i=new c.default(this.getId(),e.buffers,e.types,this._bundleVersion,n);return this._connect(t,i)}reconnect(t,e){if(this.isConnected())throw new g.default("Cannot reconnect to already connected service.",t);return this._connect(t,new d.default(this.getId(),e,this._bundleVersion))}disconnect(){this._isConnected&&(this._isConnected=!1,this._wsGateway&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this._channel&&(this.stopListening(this._channel),this._channel=void 0),this._connectedSessions&&(this._connectedSessions.disconnect(),this._connectedSessions=void 0),this.fire("disconnected"),this.stopListening())}async getDocumentDetails(){const t=new b.default(this.getId());if(!this._wsGateway)throw new p.default("Collaborative Editing",this);const n=await this._wsGateway._sendRequest(e._SERVICE,b.default.TYPE,s.default.encode(t));return s.default.decode(n,f.default)}async sendOperations(t,n,i){if(!t||!t.types||!t.types.length)throw new g.default("Cannot send empty update.",this._wsGateway);const o="number"==typeof n?n:parseInt(n);if(!Number.isInteger(o)||o<0)throw new g.default("Base version not provided.",this._wsGateway);const r=new l.default(this.getId(),t.buffers,t.types,o,[],i);if(!this._wsGateway||!this._isConnected)throw new p.default("Collaborative Editing",this);const a=await this._wsGateway._sendRequest(e._SERVICE,l.default.TYPE,s.default.encode(r));return s.default.decode(a,u.default)}async getConnectedSessions(){if(!this._isConnected)throw new p.default("Collaborative Editing",this);return this._connectedSessions||(this._connectedSessions=await a.default.getConnectedSessions(this._wsGateway,this._id,e._SERVICE)),this._connectedSessions}static getConnectedSessions(t,n){return a.default.getConnectedSessions(t,n,e._SERVICE)}async _connect(t,n){if(this.isConnected())return;if(t.state!==m.default.STATE_CONNECTED)throw new g.default("WebSocket Gateway is not connected.",t);this._wsGateway=t,this.stopListening(t,"change:state");const i=await t._sendRequest(e._SERVICE,n.constructor.TYPE,s.default.encode(n)),o=s.default.decode(i,h.default);return this.listenTo(t,"change:state",((t,e,n)=>this._onWsGatewayStateChange(n)),{priority:m.default._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(t,o.channel),this._isConnected=!0,this.fire("connected"),o}_connectToChannel(t,n){this._channel=t._getChannel(e._SERVICE,n),this.listenTo(this._channel,this._channel.getEventName(l.default.TYPE),((t,e)=>{const n=s.default.decode(e,l.default);this.fire("operationsReceived",n.baseVersion,n.data,n.metadata)}))}_onWsGatewayStateChange(t){t===m.default.STATE_DISCONNECTED&&this.disconnect()}}k._SERVICE=e._SERVICE,(0,r.mix)(k,r.EmitterMixin),e.default=k},260:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(4229));class r extends o.default{static toJSON({createdAt:t,...e}){const n={...e};return t instanceof Date&&(n.createdAt=t.toISOString()),n}static fromJSON({createdAt:t,...e}){const n={...e};return t&&(n.createdAt=new Date(t)),n}}e.default=r,r.DESCRIPTOR_NAME="OperationMetadataDescriptor",r.DESCRIPTOR={fields:{userId:{type:"string",id:1},type:{type:"string",id:2},createdAt:{type:"string",id:3}}}},2421:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=class{static prepareMetadataForOperations(t,e){if(!(t&&t.length&&e&&e.length))return[];const n=[];let i=0;for(const o of t)if(0!==o){if(!e[i])throw new Error("Missing metadata for a operation");n.push(e[i]),i++}else n.push(n[n.length-1]);return n}static removeUnnecessaryMetadata(t,e){if(!(t&&t.length&&e&&e.length))return[];const n=[];for(let i=0;ithis._onWsGatewayStateChange(n)),{priority:w.default._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(t,o),this._isConnected=!0,this.fire("connected"),r}disconnect(){this._isConnected&&(this._isConnected=!1,this._wsGateway&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this._channel&&(this.stopListening(this._channel),this._channel=void 0),this._connectedSessions&&(this._connectedSessions.disconnect(),this._connectedSessions=void 0),this.fire("disconnected"),this.stopListening())}async addComment(t,e,n,i){const o=new l.default(this._documentId,t,n,e,void 0,void 0,i),r=await this._sendRequest(l.default.TYPE,o);return c.default.decode(r,d.default)}async updateComment(t,e,n,i){const o=void 0!==i,r=new p.default(this._documentId,t,e,n,i,o);await this._sendRequest(p.default.TYPE,r)}async removeComment(t,e){const n=new m.default(this._documentId,t,e);await this._sendRequest(m.default.TYPE,n)}async removeCommentThread(t){const e=new g.default(this._documentId,t);await this._sendRequest(g.default.TYPE,e)}async getCommentThread(t,e=1){const n=new f.default(t,this._documentId);try{const t=await this._sendRequest(f.default.TYPE,n),{comments:e,commentThreadId:i}=c.default.decode(t,b.default);return{comments:e,commentThreadId:i}}catch(n){if(n instanceof C.default&&"404"===n.code&&e<5)return await(i=100*e,new Promise((t=>{setTimeout(t,i)}))),this.getCommentThread(t,e+1);if(n instanceof C.default)throw n;throw C.default.fromPublicError(n)}var i}async getDocumentThreads(){const t=new k.default(this._documentId),e=await this._sendRequest(k.default.TYPE,t),{threads:n}=c.default.decode(e,x.default);return{threads:n}}async getConnectedSessions(){if(!this._isConnected)throw new v.default("Comments",this);return this._connectedSessions||(this._connectedSessions=await A.default.getConnectedSessions(this._wsGateway,this._documentId,e._SERVICE)),this._connectedSessions}_connectToChannel(t,e){this._channel=t._getChannel(y._SERVICE,e),this._channel&&(this.listenTo(this._channel,this._channel.getEventName(l.default.TYPE),((t,e)=>{const n=c.default.decode(e,l.default);this.fire("commentAdded",n)})),this.listenTo(this._channel,this._channel.getEventName(m.default.TYPE),((t,e)=>{const n=c.default.decode(e,m.default);this.fire("commentRemoved",n)})),this.listenTo(this._channel,this._channel.getEventName(p.default.TYPE),((t,e)=>{const n=c.default.decode(e,p.default);this.fire("commentUpdated",n)})),this.listenTo(this._channel,this._channel.getEventName(g.default.TYPE),((t,e)=>{const n=c.default.decode(e,g.default);this.fire("commentThreadRemoved",n)})))}_onWsGatewayStateChange(t){t===w.WEB_SOCKET_GATEWAY_STATES.DISCONNECTED&&this.disconnect()}_sendRequest(t,n){if(!this._wsGateway||!this._isConnected)throw new v.default("Comments",this);return this._wsGateway._sendRequest(e._SERVICE,t,c.default.encode(n))}}y._SERVICE=e._SERVICE,(0,a.mix)(y,a.EmitterMixin),e.default=y},3650:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(4229));class r extends o.default{static toJSON(t){var e;return{...t,createdAt:null===(e=t.createdAt)||void 0===e?void 0:e.toISOString(),attributes:t.attributes?JSON.stringify(t.attributes):null}}static fromJSON(t){return{...t,createdAt:new Date(t.createdAt),attributes:t.attributes?JSON.parse(t.attributes):null}}}e.default=r,r.DESCRIPTOR_NAME="CommentDescriptor",r.DESCRIPTOR={fields:{commentId:{id:1,type:"string"},commentThreadId:{id:2,type:"string"},userId:{id:3,type:"string"},content:{id:4,type:"string"},documentId:{id:5,type:"string"},createdAt:{id:6,type:"string"},attributes:{id:7,type:"string"}}}},6627:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(4229)),r=i(n(3650));class s extends o.default{static toJSON(t){var e;return{...t,comments:null===(e=t.comments)||void 0===e?void 0:e.map(r.default.toJSON)}}static fromJSON(t){var e;return{...t,comments:null===(e=t.comments)||void 0===e?void 0:e.map(r.default.fromJSON)}}}e.default=s,s.DESCRIPTOR_NAME="CommentsThreadDescriptor",s.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},comments:{type:"CommentDescriptor",rule:"repeated",id:2}}}},8262:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t,e,n,i="",o,r="",s=null){super(),this.documentId=t,this.commentThreadId=e,this.content=n,this.commentId=i,this.userId=r,this.attributes=s,this.createdAt=o?new Date(o):""}toJSON(){return{commentThreadId:this.commentThreadId,content:this.content,documentId:this.documentId,commentId:this.commentId,createdAt:this.createdAt instanceof Date?this.createdAt.toISOString():this.createdAt,userId:this.userId,attributes:JSON.stringify(this.attributes)}}static fromJSON(t){return new r(t.documentId,t.commentThreadId,t.content,t.commentId?t.commentId:void 0,t.createdAt?new Date(t.createdAt):void 0,t.userId?t.userId:void 0,t.attributes?JSON.parse(t.attributes):{})}}e.default=r,r.TYPE="91",r.READABLE_TYPE_NAME="addComment",r.DESCRIPTOR_NAME="CommentsV2AddCommentMessage",r.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},content:{type:"string",id:2},documentId:{type:"string",id:3},commentId:{type:"string",id:4},createdAt:{type:"string",id:5},userId:{type:"string",id:6},attributes:{type:"string",id:7}}}},7566:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t){super(),this.documentId=t}toJSON(){return{documentId:this.documentId}}static fromJSON(t){return new r(t.documentId)}}e.default=r,r.TYPE="92",r.READABLE_TYPE_NAME="connectToComment",r.DESCRIPTOR_NAME="CommentsV2ConnectMessage",r.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}}},673:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t,e){super(),this.commentThreadId=t,this.documentId=e}toJSON(){return{commentThreadId:this.commentThreadId,documentId:this.documentId}}static fromJSON(t){return new r(t.commentThreadId,t.documentId)}}e.default=r,r.TYPE="93",r.READABLE_TYPE_NAME="getComment",r.DESCRIPTOR_NAME="CommentsV2GetCommentThreadMessage",r.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}}},5254:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t){super(),this.documentId=t}toJSON(){return{documentId:this.documentId}}static fromJSON(t){return new r(t.documentId)}}e.default=r,r.TYPE="94",r.READABLE_TYPE_NAME="getDocumentThreads",r.DESCRIPTOR_NAME="CommentsV2GetDocumentThreadsMessage",r.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}}},7848:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t,e,n){super(),this.documentId=t,this.commentThreadId=e,this.commentId=n}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId,commentId:this.commentId}}static fromJSON(t){return new r(t.documentId,t.commentThreadId,t.commentId)}}e.default=r,r.TYPE="95",r.READABLE_TYPE_NAME="removeComment",r.DESCRIPTOR_NAME="CommentsV2RemoveCommentMessage",r.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},commentId:{type:"string",id:2},documentId:{type:"string",id:3}}}},5785:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t,e){super(),this.documentId=t,this.commentThreadId=e}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId}}static fromJSON(t){return new r(t.documentId,t.commentThreadId)}}e.default=r,r.TYPE="97",r.READABLE_TYPE_NAME="removeCommentThread",r.DESCRIPTOR_NAME="CommentsV2RemoveCommentThreadMessage",r.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},documentId:{type:"string",id:2}}}},5456:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t,e,n,i,o=null,r=!1){super(),this.documentId=t,this.commentThreadId=e,this.commentId=n,this.content=i,this.attributes=o,this.isAttributesUpdated=r}toJSON(){return{documentId:this.documentId,commentThreadId:this.commentThreadId,commentId:this.commentId,content:this.content,attributes:this.attributes?JSON.stringify(this.attributes):null,isAttributesUpdated:this.isAttributesUpdated}}static fromJSON(t){return new r(t.documentId,t.commentThreadId,t.commentId,t.content,t.attributes?JSON.parse(t.attributes):null,t.isAttributesUpdated)}}e.default=r,r.TYPE="96",r.READABLE_TYPE_NAME="updateComment",r.DESCRIPTOR_NAME="CommentsV2UpdateCommentMessage",r.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},commentId:{type:"string",id:2},content:{type:"string",id:3},documentId:{type:"string",id:4},attributes:{type:"string",id:5},isAttributesUpdated:{type:"bool",id:6}}}},6689:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t,e,n){super(),this.commentThreadId=t,this.commentId=e,this.createdAt=new Date(n)}toJSON(){return{commentThreadId:this.commentThreadId,commentId:this.commentId,createdAt:this.createdAt.toISOString()}}static fromJSON(t){return new r(t.commentThreadId,t.commentId,t.createdAt)}}e.default=r,r.DESCRIPTOR_NAME="CommentsV2AddCommentResponse",r.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},commentId:{type:"string",id:2},createdAt:{type:"string",id:3}}}},1376:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210)),r=i(n(6627));class s extends o.default{constructor(t,e,n){super(),this.channel=t,this._threads=e,this._threadsV2=n,this.threads=(null==n?void 0:n.length)?n:e}toJSON(){var t,e;return{channel:this.channel,threads:null===(t=this._threads)||void 0===t?void 0:t.map((t=>JSON.stringify(t))),threadsV2:null===(e=this._threadsV2)||void 0===e?void 0:e.map(r.default.toJSON)}}static fromJSON(t){var e,n;return new s(t.channel,null===(e=t.threads)||void 0===e?void 0:e.map((t=>JSON.parse(t))),null===(n=t.threadsV2)||void 0===n?void 0:n.map(r.default.fromJSON))}}e.default=s,s.DESCRIPTOR_NAME="CommentsV2ConnectResponse",s.DESCRIPTOR={fields:{channel:{type:"string",id:1},threads:{type:"string",rule:"repeated",id:2},threadsV2:{type:"CommentsThreadDescriptor",rule:"repeated",id:3}}}},9725:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210)),r=i(n(3650));class s extends o.default{constructor(t,e,n){super(),this.commentThreadId=t,this._comments=e,this._commentsV2=n,this.comments=(null==n?void 0:n.length)?n:e}toJSON(){var t,e;return{commentThreadId:this.commentThreadId,comments:null===(t=this._comments)||void 0===t?void 0:t.map((t=>JSON.stringify(t))),commentsV2:null===(e=this._commentsV2)||void 0===e?void 0:e.map(r.default.toJSON)}}static fromJSON(t){var e,n;return new s(t.commentThreadId,null===(e=t.comments)||void 0===e?void 0:e.map((t=>function(t){const e=JSON.parse(t);return{...e,createdAt:new Date(e.createdAt)}}(t))),null===(n=t.commentsV2)||void 0===n?void 0:n.map(r.default.fromJSON))}}e.default=s,s.DESCRIPTOR_NAME="CommentsV2GetCommentThreadResponse",s.DESCRIPTOR={fields:{commentThreadId:{type:"string",id:1},comments:{type:"string",rule:"repeated",id:2},commentsV2:{type:"CommentDescriptor",rule:"repeated",id:3}}}},5049:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210)),r=i(n(6627));class s extends o.default{constructor(t,e){super(),this._threads=t,this._threadsV2=e,this.threads=(null==e?void 0:e.length)?e:t}toJSON(){var t,e;return{threads:null===(t=this._threads)||void 0===t?void 0:t.map((t=>JSON.stringify(t))),threadsV2:null===(e=this._threadsV2)||void 0===e?void 0:e.map(r.default.toJSON)}}static fromJSON(t){var e,n;return new s(null===(e=t.threads)||void 0===e?void 0:e.map((t=>function(t){var e;const n=JSON.parse(t),i={...n};return n.comments&&(i.comments=null===(e=n.comments)||void 0===e?void 0:e.map((t=>({...t,createdAt:new Date(t.createdAt)})))),i}(t))),null===(n=t.threadsV2)||void 0===n?void 0:n.map(r.default.fromJSON))}}e.default=s,s.DESCRIPTOR_NAME="CommentsV2GetDocumentThreadsResponse",s.DESCRIPTOR={fields:{threads:{type:"string",rule:"repeated",id:1},threadsV2:{type:"CommentsThreadDescriptor",rule:"repeated",id:2}}}},4229:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default=class{constructor(...t){}}},6805:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(4229));class r extends o.default{}e.default=r,r.DESCRIPTOR_NAME="KeyValueDescriptor",r.DESCRIPTOR={fields:{key:{type:"string",id:1},value:{type:"string",id:2}}}},5132:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e._SERVICE=void 0;const o=n(6553),r=i(n(822)),s=n(3136),a=i(n(4701)),c=i(n(4858)),l=i(n(6732));e._SERVICE=13;class d{static async isBundleUploaded(t,e){const n=new a.default(e);if(t.state!==s.WEB_SOCKET_GATEWAY_STATES.CONNECTED)throw new l.default("WebSocket Gateway is not connected.",t);const i=await t._sendRequest(d._SERVICE,a.default.TYPE,r.default.encode(n));return r.default.decode(i,c.default).isUploaded}}d._SERVICE=e._SERVICE,(0,o.mix)(d,o.EmitterMixin),e.default=d},4701:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t){super(),this.bundleVersion=t}toJSON(){return{bundleVersion:this.bundleVersion}}static fromJSON(t){return new r(t.bundleVersion)}}e.default=r,r.TYPE="131",r.READABLE_TYPE_NAME="isEditorBundleUploaded",r.DESCRIPTOR_NAME="IsEditorBundleUploadedMessage",r.DESCRIPTOR={fields:{bundleVersion:{type:"string",id:1}}}},4858:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t){super(),this.isUploaded=t}toJSON(){return{isUploaded:this.isUploaded}}static fromJSON(t){return new r(t.isUploaded)}}e.default=r,r.DESCRIPTOR_NAME="IsEditorBundleUploadedResponse",r.DESCRIPTOR={fields:{isUploaded:{type:"bool",id:1}}}},6315:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(6732));class r extends o.default{constructor(t,e){super(t+" Service is not connected.",e)}}e.default=r},3210:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(4229));class r extends o.default{constructor(...t){super()}static fromJSON(t){throw new TypeError("Must be implemented in a child class!")}}e.default=r,r.TYPE="1000"},822:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),r=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&i(e,t,n);return o(e,t),e},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const a=r(n(4492)),c=s(n(7892)),l=s(n(260)),d=s(n(6805)),u=s(n(3130)),h=s(n(3650)),m=s(n(6627)),g=s(n(7282)),p=s(n(3131)),f=[d.default,c.default,l.default,u.default,h.default,m.default,g.default,p.default],b=a.Root.fromJSON({nested:f.reduce(((t,e)=>(t[e.DESCRIPTOR_NAME]=e.DESCRIPTOR,t)),{})});function k(t){return e=t,b.lookup(e.DESCRIPTOR_NAME)||b.addJSON({[e.DESCRIPTOR_NAME]:e.DESCRIPTOR}),b.lookupType(t.DESCRIPTOR_NAME);var e}e.default=class{static decode(t,e){const n=k(e).decode("undefined"==typeof window?t:new Uint8Array(t));return e.fromJSON({...n})}static encode(t){const e=k(t.constructor),n=t.toJSON(),i=e.verify(n);if(i)throw Error(i);return e.encode(e.create(n)).finish()}}},3131:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(4229));class r extends o.default{static create(t){return{revisionId:t.id,name:t.name,creatorId:t.creatorId,createdAt:t.createdAt,fromVersion:t.fromVersion,toVersion:t.toVersion,isEmptyCurrent:t.isEmptyCurrent,diffData:t.diffData?JSON.stringify(t.diffData):void 0,attributes:t.attributes,authorsIds:t.authorsIds}}static toJSON(t){var e;return{revisionId:t.revisionId,name:t.name,creatorId:t.creatorId,authorsIds:t.authorsIds?JSON.stringify(t.authorsIds):void 0,diffData:t.diffData,createdAt:null===(e=t.createdAt)||void 0===e?void 0:e.toISOString(),attributes:t.attributes?JSON.stringify(t.attributes):void 0,toVersion:t.toVersion,fromVersion:t.fromVersion,isEmptyCurrent:t.isEmptyCurrent}}static fromJSON(t){return{revisionId:(t={...t}).revisionId,name:t.name,creatorId:t.creatorId,authorsIds:t.authorsIds?JSON.parse(t.authorsIds):void 0,diffData:t.diffData,createdAt:t.createdAt?new Date(t.createdAt):void 0,attributes:t.attributes?JSON.parse(t.attributes):void 0,toVersion:t.toVersion,fromVersion:t.fromVersion,isEmptyCurrent:t.isEmptyCurrent}}static toObject(t){return function(t){for(const[e,n]of Object.entries(t))void 0===n&&delete t[e];return t}({id:t.revisionId,name:t.name,creatorId:t.creatorId,createdAt:t.createdAt,fromVersion:t.fromVersion,toVersion:t.toVersion,isEmptyCurrent:t.isEmptyCurrent,diffData:t.diffData?JSON.parse(t.diffData):void 0,attributes:t.attributes,authorsIds:t.authorsIds})}}e.default=r,r.DESCRIPTOR_NAME="RevisionDescriptor",r.DESCRIPTOR={fields:{revisionId:{type:"string",id:1},name:{type:"string",id:2},creatorId:{type:"string",id:3},authorsIds:{type:"string",id:4},diffData:{type:"string",id:5},createdAt:{type:"string",id:6},attributes:{type:"string",id:7},toVersion:{type:"uint32",id:8},fromVersion:{type:"uint32",id:9},isEmptyCurrent:{type:"bool",id:10}}}},2269:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t){super(),this.documentId=t}toJSON(){return{documentId:this.documentId}}static fromJSON(t){return new r(t.documentId)}}e.default=r,r.TYPE="121",r.READABLE_TYPE_NAME="connectToRevisionHistory",r.DESCRIPTOR_NAME="RevisionHistoryConnectMessage",r.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}}},8776:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t,e){super(),this.documentId=t,this.revisionId=e}toJSON(){return{documentId:this.documentId,revisionId:this.revisionId}}static fromJSON(t){return new r(t.documentId,t.revisionId)}}e.default=r,r.TYPE="123",r.READABLE_TYPE_NAME="getRevision",r.DESCRIPTOR_NAME="RevisionHistoryGetRevisionMessage",r.DESCRIPTOR={fields:{documentId:{type:"string",id:1},revisionId:{type:"string",id:2}}}},3728:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t,e){super(),this.documentId=t,this.requestId=e}toJSON(){return{documentId:this.documentId,requestId:this.requestId}}static fromJSON(t){return new r(t.documentId,t.requestId)}}e.default=r,r.TYPE="122",r.READABLE_TYPE_NAME="reconnectToRevisionHistory",r.DESCRIPTOR_NAME="RevisionHistoryReconnectMessage",r.DESCRIPTOR={fields:{documentId:{type:"string",id:1},requestId:{type:"uint32",id:2}}}},446:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210)),r=i(n(3131));class s extends o.default{constructor(t,e,n){super(),this.documentId=t,this.requestId=e,this.revisions=n}toJSON(){return{documentId:this.documentId,requestId:this.requestId,revisions:this.revisions.map(r.default.toJSON)}}toObject(){return{documentId:this.documentId,requestId:this.requestId,revisions:this.revisions.map(r.default.toObject)}}static create(t){return new s(t.documentId,t.requestId,t.revisions.map(r.default.create))}static fromJSON(t){return new s(t.documentId,t.requestId,t.revisions.map(r.default.fromJSON))}}e.default=s,s.TYPE="124",s.READABLE_TYPE_NAME="updateRevisions",s.DESCRIPTOR_NAME="RevisionHistoryUpdateRevisionsMessage",s.DESCRIPTOR={fields:{documentId:{type:"string",id:1},requestId:{type:"uint32",id:2},revisions:{type:"RevisionDescriptor",id:3,rule:"repeated"}}}},5847:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210)),r=i(n(3131));class s extends o.default{constructor(t,e,n){super(),this.channel=t,this.requestId=e,this.revisions=n}toJSON(){return{channel:this.channel,requestId:this.requestId,revisions:this.revisions.map(r.default.toJSON)}}toObject(){return{channel:this.channel,requestId:this.requestId,revisions:this.revisions.map(r.default.toObject)}}static fromJSON(t){return new s(t.channel,t.requestId,t.revisions.map(r.default.fromJSON))}}e.default=s,s.DESCRIPTOR_NAME="RevisionHistoryConnectResponse",s.DESCRIPTOR={fields:{channel:{type:"string",id:1},requestId:{type:"uint32",id:2},revisions:{type:"RevisionDescriptor",id:3,rule:"repeated"}}}},9055:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210)),r=i(n(3131));class s extends o.default{constructor(t,e,n,i,o,r,s,a,c,l){super(),this.revisionId=t,this.name=e,this.creatorId=n,this.authorsIds=i,this.createdAt=o,this.diffData=r,this.attributes=s,this.fromVersion=a,this.toVersion=c,this.isEmptyCurrent=l}toJSON(){return r.default.toJSON(this)}toObject(){return r.default.toObject(this)}static create(t){return new s(t.revisionId,t.name,t.creatorId,t.authorsIds,t.createdAt,t.diffData,t.attributes,t.fromVersion,t.toVersion,t.isEmptyCurrent)}static fromJSON(t){return new s(t.revisionId,t.name,t.creatorId,t.authorsIds?JSON.parse(t.authorsIds):void 0,t.createdAt?new Date(t.createdAt):void 0,t.diffData,t.attributes?JSON.parse(t.attributes):void 0,t.fromVersion,t.toVersion,t.isEmptyCurrent)}}e.default=s,s.DESCRIPTOR_NAME="RevisionHistoryGetRevisionResponse",s.DESCRIPTOR=r.default.DESCRIPTOR},8386:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t){super(),this.requestId=t}toJSON(){return{requestId:this.requestId}}static fromJSON(t){return new r(t.requestId)}}e.default=r,r.DESCRIPTOR_NAME="RevisionHistoryUpdateRevisionsResponse",r.DESCRIPTOR={fields:{requestId:{type:"uint32",id:1}}}},3432:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),r=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&i(e,t,n);return o(e,t),e},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e._SERVICE=void 0;const a=n(6553),c=s(n(822)),l=s(n(8776)),d=s(n(9055)),u=s(n(446)),h=s(n(8386)),m=s(n(2269)),g=s(n(5847)),p=s(n(3728)),f=s(n(6732)),b=r(n(3136)),k=s(n(6315));e._SERVICE=12;class x{constructor(t){this._documentId=t,this._isConnected=!1}get isConnected(){return this._isConnected}connect(t){return this._isConnected?Promise.resolve():this._connect(t,new m.default(this._documentId))}disconnect(){this._isConnected&&(this._isConnected=!1,this._wsGateway&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this._channel&&(this.stopListening(this._channel),this._channel=void 0),this.fire("disconnected"),this.stopListening())}reconnect(t,e){if(this.isConnected)throw new f.default("Cannot reconnect to already connected service.",t);return this._connect(t,new p.default(this._documentId,e))}async updateRevisions(t,e){const n=u.default.create({documentId:this._documentId,requestId:e,revisions:t}),i=await this._sendRequest(u.default.TYPE,n),{requestId:o}=c.default.decode(i,h.default);return o}async getRevision(t){const e=new l.default(this._documentId,t),n=await this._sendRequest(l.default.TYPE,e);return c.default.decode(n,d.default).toObject()}async _connect(t,n){if(t.state!==b.WEB_SOCKET_GATEWAY_STATES.CONNECTED)throw new f.default("WebSocket Gateway is not connected.",t);this._wsGateway=t,this.stopListening(t,"change:state");const i=await t._sendRequest(e._SERVICE,n.constructor.TYPE,c.default.encode(n)),{channel:o,requestId:r,revisions:s}=c.default.decode(i,g.default).toObject();return this.listenTo(t,"change:state",((t,e,n)=>this._onWsGatewayStateChange(n)),{priority:b.default._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(t,o),this._isConnected=!0,this.fire("connected"),{revisions:s,requestId:r}}_connectToChannel(t,e){this._channel=t._getChannel(x._SERVICE,e),this._channel&&this.listenTo(this._channel,this._channel.getEventName(u.default.TYPE),((t,e)=>{const{documentId:n,requestId:i,revisions:o}=c.default.decode(e,u.default).toObject();this.fire("revisionsUpdated",{documentId:n,requestId:i,revisionsData:o})}))}_onWsGatewayStateChange(t){t===b.WEB_SOCKET_GATEWAY_STATES.DISCONNECTED&&this.disconnect()}_sendRequest(t,n){if(!this._wsGateway||!this._isConnected)throw new k.default("Revision History",this);return this._wsGateway._sendRequest(e._SERVICE,t,c.default.encode(n))}}x._SERVICE=e._SERVICE,(0,a.mix)(x,a.EmitterMixin),e.default=x},7892:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(4229));class r extends o.default{}e.default=r,r.DESCRIPTOR_NAME="SessionsSocketDescriptor",r.DESCRIPTOR={fields:{session:{type:"string",id:1},user:{type:"string",id:2},role:{id:3,type:"string"},permissions:{rule:"repeated",type:"string",id:4}}}},7182:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t,e){super(),this.id=t,this.sessionType=e}toJSON(){return{id:this.id,sessionType:this.sessionType}}static fromJSON(t){return new r(t.id,t.sessionType)}}e.default=r,r.TYPE="31",r.READABLE_TYPE_NAME="getConnectedSockets",r.DESCRIPTOR_NAME="SessionsConnectMessage",r.DESCRIPTOR={fields:{id:{type:"string",id:1},sessionType:{type:"uint32",id:2}}}},733:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t,e,n,i){super(),this.id=t,this.userId=e,this.role=n,this.permissions=i}toJSON(){var t,e,n;return{id:this.id,userId:null!==(t=this.userId)&&void 0!==t?t:void 0,role:null!==(e=this.role)&&void 0!==e?e:void 0,permissions:null!==(n=this.permissions)&&void 0!==n?n:void 0}}static fromJSON(t){return new r(t.id,t.userId,t.role,t.permissions)}}e.default=r,r.TYPE="32",r.READABLE_TYPE_NAME="connectSocket",r.DESCRIPTOR_NAME="SocketConnectMessage",r.DESCRIPTOR={fields:{id:{type:"string",id:1},userId:{type:"string",id:2},role:{type:"string",id:3},permissions:{rule:"repeated",type:"string",id:4}}}},8902:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t){super(),this.id=t}toJSON(){return{id:this.id}}static fromJSON(t){return new r(t.id)}}e.default=r,r.TYPE="33",r.READABLE_TYPE_NAME="disconnectSocket",r.DESCRIPTOR_NAME="SocketDisconnectMessage",r.DESCRIPTOR={fields:{id:{type:"string",id:1}}}},6118:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t,e=[]){super(),this.channel=t,this.sockets=e}toJSON(){return{channel:this.channel,sockets:this.sockets.map((t=>({user:t.userId,session:t.id,role:t.role,permissions:t.permissions})))}}static fromJSON(t){return new r(t.channel,t.sockets.map((t=>({id:t.session,userId:t.user,role:t.role,permissions:t.permissions}))))}}e.default=r,r.DESCRIPTOR_NAME="SessionsConnectResponse",r.DESCRIPTOR={fields:{channel:{type:"string",id:1},sockets:{rule:"repeated",type:"SessionsSocketDescriptor",id:2}}}},8333:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=n(6553),r=n(3825),s=i(n(2203)),a=i(n(3136)),c=i(n(6118)),l=i(n(7182)),d=i(n(733)),u=i(n(8902)),h=i(n(822));class m extends o.Collection{constructor(t,e){super({idProperty:"id"}),this._id=t,this._sessionType=e,this._handlers=new Map,this._eventsQueue=[],this._isRunning=!1}async connect(t){this._wsGateway=t,this.stopListening(t,"change:state");const e=new l.default(this._id,this._sessionType);let n;try{const t=await this._wsGateway._sendRequest(r._SERVICE,l.default.TYPE,h.default.encode(e));n=h.default.decode(t,c.default)}catch(t){n=new c.default(this._id,[])}this._connectToChannel(this._wsGateway,n.channel,this._sessionType);const i=await async function(t,e){const n=e.map((t=>t.userId)),i=n.length?await s.default.getMany(t,n):[];return e.map((t=>{const e={id:t.id,role:t.role,permissions:t.permissions};return e.user=t.userId&&i.find((e=>e.id===t.userId))||new s.default,e}))}(this._wsGateway,n.sockets);for(const t of i)super.add(t);this._connected=!0,this.fire("connected"),this.listenTo(this._wsGateway,"change:state",((t,e,n)=>this._onWsGatewayStateChange(n)),{priority:a.default._CHANGE_STATE_EVENT_PRIORITY}),await this._runQueue()}disconnect(t=!0){if(this._connected){for(this._connected=!1,this._eventsQueue=[];this.length;)super.remove(0);this._channel&&(this.stopListening(this._channel),this._channel=void 0),this._wsGateway&&t&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this.fire("disconnected"),t&&this.stopListening()}}add(t,e){throw new TypeError("The collection is read-only.")}remove(t){throw new TypeError("The collection is read-only.")}_connectToChannel(t,e,n){this._channel=t._getChannel(n,e),this._channel&&(this._addHandler(this._channel,d.default.TYPE,(async e=>{const n=h.default.decode(e,d.default);if(-1===this.getIndex(n.id)){const e={id:n.id,role:n.role,permissions:n.permissions};n.userId&&(e.user=await s.default.get(t,n.userId)),super.add(e)}})),this._addHandler(this._channel,u.default.TYPE,(t=>{const e=h.default.decode(t,u.default);-1!==this.getIndex(e.id)&&super.remove(e.id)})))}async _onWsGatewayStateChange(t){t===a.default.STATE_DISCONNECTED&&this.disconnect(!1),t===a.default.STATE_CONNECTED&&await this.connect(this._wsGateway)}async _runQueue(){if(this._isRunning||!this._connected)return;let t;for(this._isRunning=!0;t=this._eventsQueue.shift();){const e=this._handlers.get(t.eventName);e&&await e(t.data)}this._isRunning=!1}_addHandler(t,e,n){const i=t.getEventName(e,!0);this.listenTo(t,i,(async(t,e)=>{const n=t.name;this._eventsQueue.push({eventName:n,data:e}),await this._runQueue()})),this._handlers.set(i,n)}}e.default=m},3825:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e._SERVICE=void 0;const o=i(n(8333));e._SERVICE=3,e.default=class{static async getConnectedSessions(t,e,n){const i=new o.default(e,n);return await i.connect(t),i}}},7282:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(4229));class r extends o.default{static toJSON(t){var e;return{...t,data:t.data?JSON.stringify(t.data):t.data,attributes:t.attributes?JSON.stringify(t.attributes):t.attributes,createdAt:null===(e=t.createdAt)||void 0===e?void 0:e.toISOString()}}static fromJSON(t){return{...t,data:t.data?JSON.parse(t.data):t.data,attributes:t.attributes?JSON.parse(t.attributes):t.attributes,createdAt:t.createdAt?new Date(t.createdAt):void 0}}}e.default=r,r.DESCRIPTOR_NAME="SuggestionDescriptor",r.DESCRIPTOR={fields:{id:{id:1,type:"string"},authorId:{id:2,type:"string"},type:{id:3,type:"string"},createdAt:{id:4,type:"string"},data:{id:5,type:"string"},hasComments:{id:6,type:"bool"},state:{id:7,type:"string"},attributes:{id:8,type:"string"}}}},5596:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t,e,n,i={},o=null,r=null){super(),this.id=t,this.documentId=e,this.type=n,this.data=i,this.originalSuggestionId=o,this.attributes=r}toJSON(){return{id:this.id,documentId:this.documentId,type:this.type,data:JSON.stringify(this.data),originalSuggestionId:this.originalSuggestionId,attributes:JSON.stringify(this.attributes)}}static fromJSON(t){var e;return new r(t.id,t.documentId,t.type,JSON.parse(t.data),null!==(e=t.originalSuggestionId)&&void 0!==e?e:null,t.attributes?JSON.parse(t.attributes):null)}}e.default=r,r.TYPE="101",r.READABLE_TYPE_NAME="addSuggestion",r.DESCRIPTOR_NAME="TrackChangesAddSuggestionMessage",r.DESCRIPTOR={fields:{id:{type:"string",id:1},documentId:{type:"string",id:2},type:{type:"string",id:3},data:{type:"string",id:4},originalSuggestionId:{type:"string",id:5},attributes:{type:"string",id:6}}}},8622:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t,e,n){super(),this.ids=t,this.documentId=e,this.state=n}toJSON(){return{ids:this.ids,documentId:this.documentId,state:this.state}}static fromJSON(t){return new r(t.ids,t.documentId,t.state)}}e.default=r,r.TYPE="106",r.READABLE_TYPE_NAME="batchUpdateSuggestionsState",r.DESCRIPTOR_NAME="TrackChangesBatchUpdateSuggestionsStateMessage",r.DESCRIPTOR={fields:{ids:{type:"string",rule:"repeated",id:1},documentId:{type:"string",id:2},state:{type:"string",id:3}}}},7323:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t){super(),this.documentId=t}toJSON(){return{documentId:this.documentId}}static fromJSON(t){return new r(t.documentId)}}e.default=r,r.TYPE="105",r.READABLE_TYPE_NAME="connectToSuggestions",r.DESCRIPTOR_NAME="TrackChangesConnectMessage",r.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}}},4060:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t){super(),this.documentId=t}toJSON(){return{documentId:this.documentId}}static fromJSON(t){return new r(t.documentId)}}e.default=r,r.TYPE="102",r.READABLE_TYPE_NAME="getAllSuggestions",r.DESCRIPTOR_NAME="TrackChangesGetAllSuggestionMessage",r.DESCRIPTOR={fields:{documentId:{type:"string",id:1}}}},3031:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t,e){super(),this.id=t,this.documentId=e}toJSON(){return{id:this.id,documentId:this.documentId}}static fromJSON(t){return new r(t.id,t.documentId)}}e.default=r,r.TYPE="103",r.READABLE_TYPE_NAME="getSuggestion",r.DESCRIPTOR_NAME="TrackChangesGetSuggestionMessage",r.DESCRIPTOR={fields:{id:{type:"string",id:1},documentId:{type:"string",id:2}}}},2821:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t,e,n,i,o,r=null){super(),this.id=t,this.documentId=e,this.hasComments=n,this.isHasCommentsModified=i,this.state=o,this.attributes=r}toJSON(){return{id:this.id,documentId:this.documentId,hasComments:this.hasComments,isHasCommentsModified:this.isHasCommentsModified,state:this.state,attributes:JSON.stringify(this.attributes)}}static fromJSON(t){return new r(t.id,t.documentId,t.hasComments,t.isHasCommentsModified,t.state,t.attributes?JSON.parse(t.attributes):null)}}e.default=r,r.TYPE="104",r.READABLE_TYPE_NAME="updateSuggestion",r.DESCRIPTOR_NAME="TrackChangesUpdateSuggestionMessage",r.DESCRIPTOR={fields:{id:{type:"string",id:1},documentId:{type:"string",id:2},hasComments:{type:"bool",id:3},isHasCommentsModified:{type:"bool",id:4},state:{type:"string",id:5},attributes:{type:"string",id:6}}}},772:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t,e,n,i,o,r,s={},a=null){super(),this.id=t,this.authorId=e,this.type=n,this.hasComments=o,this.state=r,this.data=s,this.attributes=a,this.createdAt=i?new Date(i):void 0}toJSON(){var t;return{id:this.id,authorId:this.authorId,type:this.type,createdAt:null===(t=this.createdAt)||void 0===t?void 0:t.toISOString(),data:JSON.stringify(this.data),hasComments:this.hasComments,state:this.state,attributes:JSON.stringify(this.attributes)}}static fromJSON(t){return new r(t.id,t.authorId,t.type,t.createdAt,t.hasComments,t.state,JSON.parse(t.data),t.attributes?JSON.parse(t.attributes):null)}}e.default=r,r.DESCRIPTOR_NAME="TrackChangesAddSuggestionResponse",r.DESCRIPTOR={fields:{id:{type:"string",id:1},authorId:{type:"string",id:2},type:{type:"string",id:3},createdAt:{type:"string",id:4},data:{type:"string",id:5},hasComments:{type:"bool",id:6},state:{type:"string",id:7},attributes:{type:"string",id:8}}}},9940:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210)),r=i(n(7282));class s extends o.default{constructor(t,e,n){super(),this.channel=t,this._suggestions=e,this._suggestionsV2=n,this.suggestions=(null==n?void 0:n.length)?n:e}toJSON(){var t,e;return{channel:this.channel,suggestions:null===(t=this._suggestions)||void 0===t?void 0:t.map((t=>JSON.stringify(t))),suggestionsV2:null===(e=this._suggestionsV2)||void 0===e?void 0:e.map(r.default.toJSON)}}static fromJSON(t){var e,n;return new s(t.channel,null===(e=t.suggestions)||void 0===e?void 0:e.map((t=>JSON.parse(t))),null===(n=t.suggestionsV2)||void 0===n?void 0:n.map(r.default.fromJSON))}}e.default=s,s.DESCRIPTOR_NAME="TrackChangesConnectResponse",s.DESCRIPTOR={fields:{channel:{type:"string",id:1},suggestions:{type:"string",rule:"repeated",id:2},suggestionsV2:{type:"SuggestionDescriptor",rule:"repeated",id:3}}}},2414:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210)),r=i(n(7282));class s extends o.default{constructor(t,e){super(),this._suggestions=t,this._suggestionsV2=e,this.suggestions=(null==e?void 0:e.length)?e:t}toJSON(){var t,e;return{suggestions:null===(t=this._suggestions)||void 0===t?void 0:t.map((t=>JSON.stringify(t))),suggestionsV2:null===(e=this._suggestionsV2)||void 0===e?void 0:e.map(r.default.toJSON)}}static fromJSON(t){var e,n;return new s(null===(e=t.suggestions)||void 0===e?void 0:e.map(a),null===(n=t.suggestionsV2)||void 0===n?void 0:n.map(r.default.fromJSON))}}function a(t){const e=JSON.parse(t);return e.createdAt=e.createdAt?new Date(e.createdAt):void 0,e}e.default=s,s.DESCRIPTOR_NAME="TrackChangesGetAllSuggestionsResponse",s.DESCRIPTOR={fields:{suggestions:{type:"string",rule:"repeated",id:1},suggestionsV2:{type:"SuggestionDescriptor",rule:"repeated",id:2}}}},9849:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t,e,n,i,o,r,s={},a=null){super(),this.id=t,this.authorId=e,this.type=n,this.hasComments=o,this.state=r,this.data=s,this.attributes=a,this.createdAt=new Date(i)}toJSON(){return{id:this.id,authorId:this.authorId,type:this.type,createdAt:this.createdAt.toISOString(),data:JSON.stringify(this.data),hasComments:this.hasComments,state:this.state,attributes:JSON.stringify(this.attributes)}}static fromJSON(t){return new r(t.id,t.authorId,t.type,t.createdAt,t.hasComments,t.state,JSON.parse(t.data),t.attributes?JSON.parse(t.attributes):null)}}e.default=r,r.DESCRIPTOR_NAME="TrackChangesGetSuggestionResponse",r.DESCRIPTOR={fields:{id:{type:"string",id:1},authorId:{type:"string",id:2},type:{type:"string",id:3},createdAt:{type:"string",id:4},data:{type:"string",id:5},hasComments:{type:"bool",id:6},state:{type:"string",id:7},attributes:{type:"string",id:8}}}},716:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),r=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&i(e,t,n);return o(e,t),e},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e._SERVICE=void 0;const a=n(6553),c=s(n(822)),l=s(n(5596)),d=s(n(772)),u=s(n(3031)),h=s(n(9849)),m=s(n(4060)),g=s(n(2414)),p=s(n(2821)),f=s(n(7323)),b=s(n(9940)),k=s(n(6732)),x=r(n(3136)),w=s(n(6315)),_=s(n(9073)),A=s(n(8622));e._SERVICE=10;class v{constructor(t){this._documentId=t,this._isConnected=!1}get isConnected(){return this._isConnected}async connect(t){if(this._isConnected)return;if(t.state!==x.WEB_SOCKET_GATEWAY_STATES.CONNECTED)throw new k.default("WebSocket Gateway is not connected.",t);const n=new f.default(this._documentId);this._wsGateway=t,this.stopListening(t,"change:state");const i=await t._sendRequest(e._SERVICE,f.default.TYPE,c.default.encode(n)),o=c.default.decode(i,b.default);return this.listenTo(t,"change:state",((t,e,n)=>this._onWsGatewayStateChange(n)),{priority:x.default._CHANGE_STATE_EVENT_PRIORITY}),this._connectToChannel(t,o.channel),this._isConnected=!0,this.fire("connected"),o.suggestions}disconnect(){this._isConnected&&(this._isConnected=!1,this._wsGateway&&(this.stopListening(this._wsGateway),this._wsGateway=void 0),this._channel&&(this.stopListening(this._channel),this._channel=void 0),this.fire("disconnected"),this.stopListening())}async add(t,e,n,i=null,o){const r=new l.default(t,this._documentId,e,n,i,o),s=await this._sendRequest(l.default.TYPE,r);return c.default.decode(s,d.default)}async get(t,e=1){const n=new u.default(t,this._documentId);try{const t=await this._sendRequest(u.default.TYPE,n);return c.default.decode(t,h.default)}catch(n){if(n instanceof _.default&&"404"===n.code&&e<5)return await(i=100*e,new Promise((t=>{setTimeout(t,i)}))),this.get(t,e+1);if(n instanceof _.default)throw n;throw _.default.fromPublicError(n)}var i}async getAll(){const t=new m.default(this._documentId),e=await this._sendRequest(m.default.TYPE,t),{suggestions:n}=c.default.decode(e,g.default);return n}async update(t,e={}){const{hasComments:n,state:i,attributes:o}=e,r=void 0!==n,s=new p.default(t,this._documentId,n,r,i,o);await this._sendRequest(p.default.TYPE,s)}async batchUpdateState(t){const e=new A.default(t.ids,this._documentId,t.state);await this._sendRequest(A.default.TYPE,e)}_connectToChannel(t,e){this._channel=t._getChannel(v._SERVICE,e),this._channel&&this.listenTo(this._channel,this._channel.getEventName(p.default.TYPE),((t,e)=>{const n=c.default.decode(e,p.default);this.fire("suggestionUpdated",n)}))}_onWsGatewayStateChange(t){t===x.WEB_SOCKET_GATEWAY_STATES.DISCONNECTED&&this.disconnect()}_sendRequest(t,n){if(!this._wsGateway||!this._isConnected)throw new w.default("Track Changes",this);return this._wsGateway._sendRequest(e._SERVICE,t,c.default.encode(n))}}v._SERVICE=e._SERVICE,(0,a.mix)(v,a.EmitterMixin),e.default=v},3130:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(4229));class r extends o.default{}e.default=r,r.DESCRIPTOR_NAME="UserDescriptor",r.DESCRIPTOR={fields:{attributes:{rule:"repeated",type:"KeyValueDescriptor",id:1}}}},4076:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t){super(),this.ids=t}toJSON(){return{ids:this.ids}}static fromJSON(t){return new r(t.ids)}}e.default=r,r.TYPE="22",r.READABLE_TYPE_NAME="getManyUsers",r.DESCRIPTOR_NAME="GetManyUsersMessage",r.DESCRIPTOR={fields:{ids:{id:1,type:"string",rule:"repeated"}}}},3184:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t){super(),this.id=t}toJSON(){return{id:this.id}}static fromJSON(t){return new r(t.id)}}e.default=r,r.TYPE="21",r.READABLE_TYPE_NAME="getUser",r.DESCRIPTOR_NAME="GetUserMessage",r.DESCRIPTOR={fields:{id:{type:"string",id:1}}}},6461:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t){super(),this.users=t}toJSON(){return{users:this.users.map(s)}}static fromJSON(t){return new r(t.users.map(a))}}function s(t){return{attributes:Object.keys(t).map((e=>({key:e,value:JSON.stringify(t[e])})))}}function a(t){return t.attributes.reduce(((t,e)=>(t[e.key]=e.value?JSON.parse(e.value):null,t)),{})}e.default=r,r.DESCRIPTOR_NAME="GetManyUsersResponse",r.DESCRIPTOR={fields:{users:{rule:"repeated",type:"UserDescriptor",id:1}}}},1783:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t){super(),this.attributes=t}toJSON(){return{attributes:Object.keys(this.attributes).map((t=>({key:t,value:JSON.stringify(this.attributes[t])})))}}static fromJSON(t){const e=t.attributes.reduce(((t,e)=>(t[e.key]=e.value?JSON.parse(e.value):null,t)),{});return new r(e)}}e.default=r,r.DESCRIPTOR_NAME="GetUserResponse",r.DESCRIPTOR={fields:{attributes:{rule:"repeated",type:"KeyValueDescriptor",id:1}}}},2203:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3184)),r=i(n(1783)),s=i(n(822)),a=i(n(4076)),c=i(n(6461));class l{constructor(t={}){this._attributes=new Map;for(const e of Object.keys(t))"id"!==e?(this._attributes.set(e,t[e]),Object.defineProperty(this,e,{enumerable:!0,configurable:!1,get:()=>this._attributes.get(e)})):this.id=t.id}static fromData(t){return new l(t)}static async get(t,e){const n=new o.default(e);try{const e=await t._sendRequest(l._SERVICE,o.default.TYPE,s.default.encode(n)),i=s.default.decode(e,r.default);return new l(i.attributes)}catch(t){return new l({id:e})}}static async getMany(t,e){const n=new a.default(e);try{const e=await t._sendRequest(l._SERVICE,a.default.TYPE,s.default.encode(n));return s.default.decode(e,c.default).users.map((t=>new l(t)))}catch(t){return e.map((t=>new l({id:t})))}}}l._SERVICE=2,e.default=l},989:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.default="37.0.0"},8290:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=n(6553),r=i(n(2021)),s=i(n(822));class a{constructor(t,e,n){this._channelName=t,this._wsGateway=e,this._socket=n,this._subscribeToChannel()}remove(){this._socket.off(this._channelName)}getEventName(t,e=!1){let n="";return e&&(n+="all:"),n+="event",t&&(n+=":"+t),n}_subscribeToChannel(){this._socket.on(this._channelName,(t=>{const e=s.default.decode(t,r.default);this.fire(this.getEventName(e.type,!0),e.data,e.socketId),e.socketId!==this._wsGateway.socketId&&this.fire(this.getEventName(e.type),e.data,e.socketId)}))}}(0,o.mix)(a,o.EmitterMixin),e.default=a},2021:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t,e,n){super(),this.type=t,this.socketId=e,this.data=n}toJSON(){return{type:this.type,socketId:this.socketId,data:this.data}}static fromJSON(t){return new r(t.type,t.socketId,t.data)}}e.default=r,r.DESCRIPTOR_NAME="ChannelMessage",r.DESCRIPTOR={fields:{type:{type:"uint32",id:1},socketId:{type:"string",id:2},data:{type:"bytes",id:3}}}},6311:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(4645)),r=i(n(822));e.default=class{encode(t,e,n,i="/",s={}){if(e.length>2)throw new Error("PacketParser supports only 2 elements in data");const a={type:t,data:e,id:n,nsp:i};return r.default.encode(o.default.create(a,s))}decode(t){const e=r.default.decode(t,o.default);return{packet:{id:e.id,type:e.type,data:e.packetData,nsp:e.nsp},options:{flags:e.options.flags,rooms:e.options.rooms,except:e.options.except}}}}},4454:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),r=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&i(e,t,n);return o(e,t),e},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const a=s(n(8372)),c=r(n(4568));class l extends a.default{constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(t){return new l(t.data,t.data1)}static create(t,e){return new l(t,e)}}e.default=l,l.TYPE=c.default.getPacketType(c.MessageDataTypes.BUFFER,c.MessageDataTypes.BUFFER),l.DESCRIPTOR_NAME="BytesBytesPacketDataMessage",l.DESCRIPTOR={fields:{data:{type:"bytes",id:1},data1:{type:"bytes",id:2}}}},569:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),r=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&i(e,t,n);return o(e,t),e},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const a=s(n(8372)),c=r(n(4568));class l extends a.default{constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(t){return new l(t.data,t.data1)}static create(t,e){return new l(t,e)}}e.default=l,l.TYPE=c.default.getPacketType(c.MessageDataTypes.NUMBER,c.MessageDataTypes.BUFFER),l.DESCRIPTOR_NAME="NumberBytesPacketDataMessage",l.DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"bytes",id:2}}}},9256:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),r=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&i(e,t,n);return o(e,t),e},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const a=s(n(8372)),c=r(n(4568));class l extends a.default{constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(t){return new l(t.data,t.data1)}static create(t,e){return new l(t,e)}}e.default=l,l.TYPE=c.default.getPacketType(c.MessageDataTypes.NUMBER,c.MessageDataTypes.NUMBER),l.DESCRIPTOR_NAME="NumberNumberPacketDataMessage",l.DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"uint32",id:2}}}},4194:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),r=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&i(e,t,n);return o(e,t),e},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const a=s(n(8372)),c=r(n(4568));class l extends a.default{constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1?JSON.stringify(this.data1):void 0}}static fromJSON(t){return new l(t.data,t.data1&&JSON.parse(t.data1))}static create(t,e){return new l(t,e)}}e.default=l,l.TYPE=c.default.getPacketType(c.MessageDataTypes.NUMBER,c.MessageDataTypes.OBJECT),l.DESCRIPTOR_NAME="NumberObjectPacketDataMessage",l.DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"string",id:2}}}},6700:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),r=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&i(e,t,n);return o(e,t),e},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const a=s(n(8372)),c=r(n(4568));class l extends a.default{constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(t){return new l(t.data,t.data1)}static create(t,e){return new l(t,e)}}e.default=l,l.TYPE=c.default.getPacketType(c.MessageDataTypes.NUMBER,c.MessageDataTypes.STRING),l.DESCRIPTOR_NAME="NumberStringPacketDataMessage",l.DESCRIPTOR={fields:{data:{type:"uint32",id:1},data1:{type:"string",id:2}}}},3903:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),r=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&i(e,t,n);return o(e,t),e},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const a=s(n(8372)),c=r(n(4568));class l extends a.default{constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data?JSON.stringify(this.data):void 0,data1:this.data1}}static fromJSON(t){return new l(t.data&&JSON.parse(t.data),t.data1)}static create(t,e){return new l(t,e)}}e.default=l,l.TYPE=c.default.getPacketType(c.MessageDataTypes.OBJECT,c.MessageDataTypes.BUFFER),l.DESCRIPTOR_NAME="ObjectBufferPacketDataMessage",l.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"bytes",id:2}}}},3500:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),r=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&i(e,t,n);return o(e,t),e},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const a=s(n(8372)),c=r(n(4568));class l extends a.default{constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data?JSON.stringify(this.data):void 0,data1:this.data1?JSON.stringify(this.data1):void 0}}static fromJSON(t){return new l(t.data&&JSON.parse(t.data),t.data1&&JSON.parse(t.data1))}static create(t,e){return new l(t,e)}}e.default=l,l.TYPE=c.default.getPacketType(c.MessageDataTypes.OBJECT,c.MessageDataTypes.OBJECT),l.DESCRIPTOR_NAME="ObjectObjectPacketDataMessage",l.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}}},8372:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{static create(t,e){throw new TypeError("Must be implemented in a child class!")}}e.default=r,t.exports=r},4645:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(822)),r=i(n(3210)),s=i(n(9152)),a=i(n(4568)),c=i(n(569)),l=i(n(5229)),d=i(n(4454)),u=i(n(7926)),h=i(n(4194)),m=i(n(3500)),g=i(n(3903)),p=i(n(1919)),f=i(n(4149)),b=i(n(9256)),k=i(n(6700)),x=[c.default,l.default,d.default,u.default,h.default,m.default,g.default,p.default,f.default,b.default,k.default].reduce(((t,e)=>(t[e.TYPE]=e,t)),{});class w extends r.default{constructor(t,e,n,i="/",o=new s.default){super(),this.type=t,this.data=e,this.id=n,this.nsp=i,this.options=o}get packetData(){return void 0===this.data.data&&void 0===this.data.data1?[]:this.data.data&&void 0===this.data.data1?[this.data.data]:[this.data.data,this.data.data1]}toJSON(){const t=o.default.encode(this.options),e=o.default.encode(this.data);return{type:this.type+10*this.data.constructor.TYPE,id:this.id,nsp:"/"===this.nsp?void 0:this.nsp,data:e,options:t}}static fromJSON(t){const e=Math.floor(t.type/10);return new w(t.type-10*e,o.default.decode(t.data,x[e]),t.id,t.nsp,t.options?o.default.decode(t.options,s.default):new s.default)}static create(t,e={}){var n;const i=a.default.getPacketType(a.default.getType(t.data[0]),a.default.getType(null!==(n=t.data[1])&&void 0!==n?n:t.data[0]));return new w(t.type,x[i].create(t.data[0],t.data[1]),t.id,t.nsp,new s.default(e.flags,e.rooms,e.except))}}e.default=w,w.TYPE=10,w.DESCRIPTOR_NAME="PacketMessage",w.DESCRIPTOR={fields:{type:{type:"uint32",id:1},id:{type:"uint32",id:2},nsp:{type:"string",id:3},data:{type:"bytes",id:4},options:{type:"bytes",id:5}}}},9152:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const o=i(n(3210));class r extends o.default{constructor(t,e=[],n=[]){super(),this.flags=t,this.rooms=e,this.except=n}toJSON(){var t,e;return{flags:this.flags?JSON.stringify(this.flags):void 0,rooms:(null===(t=this.rooms)||void 0===t?void 0:t.length)?this.rooms:void 0,except:(null===(e=this.except)||void 0===e?void 0:e.length)?this.except:void 0}}static fromJSON(t){return new r(t.flags&&JSON.parse(t.flags),t.rooms,t.except)}}e.default=r,r.TYPE=11,r.DESCRIPTOR_NAME="PacketOptionsMessage",r.DESCRIPTOR={fields:{flags:{type:"string",id:1},rooms:{type:"string",id:2,rule:"repeated"},except:{type:"string",id:3,rule:"repeated"}}}},5229:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),r=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&i(e,t,n);return o(e,t),e},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const a=s(n(8372)),c=r(n(4568));class l extends a.default{constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(t){return new l(t.data,t.data1)}static create(t,e){return new l(t,e)}}e.default=l,l.TYPE=c.default.getPacketType(c.MessageDataTypes.STRING,c.MessageDataTypes.BUFFER),l.DESCRIPTOR_NAME="StringBytesPacketDataMessage",l.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"bytes",id:2}}}},4149:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),r=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&i(e,t,n);return o(e,t),e},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const a=s(n(8372)),c=r(n(4568));class l extends a.default{constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(t){return new l(t.data,t.data1)}static create(t,e){return new l(t,e)}}e.default=l,l.TYPE=c.default.getPacketType(c.MessageDataTypes.STRING,c.MessageDataTypes.NUMBER),l.DESCRIPTOR_NAME="StringNumberPacketDataMessage",l.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"uint32",id:2}}}},7926:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),r=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&i(e,t,n);return o(e,t),e},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const a=s(n(8372)),c=r(n(4568));class l extends a.default{constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1?JSON.stringify(this.data1):void 0}}static fromJSON(t){return new l(t.data,t.data1&&JSON.parse(t.data1))}static create(t,e){return new l(t,e)}}e.default=l,l.TYPE=c.default.getPacketType(c.MessageDataTypes.STRING,c.MessageDataTypes.OBJECT),l.DESCRIPTOR_NAME="StringObjectPacketDataMessage",l.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}}},1919:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),r=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&i(e,t,n);return o(e,t),e},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0});const a=s(n(8372)),c=r(n(4568));class l extends a.default{constructor(t,e){super(),this.data=t,this.data1=e}toJSON(){return{data:this.data,data1:this.data1}}static fromJSON(t){return new l(t.data,t.data1)}static create(t,e){return new l(t,e)}}e.default=l,l.TYPE=c.default.getPacketType(c.MessageDataTypes.STRING,c.MessageDataTypes.STRING),l.DESCRIPTOR_NAME="StringStringPacketDataMessage",l.DESCRIPTOR={fields:{data:{type:"string",id:1},data1:{type:"string",id:2}}}},9549:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.Decoder=e.Encoder=e.ENCODED_TYPES=void 0;const o=n(4514),r=i(n(6311)),s=i(n(4568));e.ENCODED_TYPES=[o.PacketType.EVENT,o.PacketType.ACK,o.PacketType.BINARY_ACK,o.PacketType.BINARY_EVENT];class a extends o.Encoder{constructor(t=new r.default){super(),this._packetParser=t}encode(t){if(e.ENCODED_TYPES.includes(t.type))try{return[this._packetParser.encode(t.type,t.data,t.id,t.nsp)]}catch(t){console.error("Can not properly serialize or deserialize messages. Check the original error.",{originalError:{message:t.message}})}return super.encode(t)}}e.Encoder=a;class c extends o.Decoder{constructor(t=new r.default){super(),this._packetParser=t}add(t){if(!s.default.isBuffer(t))return super.add(t);let e;try{e=this._packetParser.decode(t).packet}catch(e){return super.add(t)}super.emitReserved("decoded",e)}}e.Decoder=c},4568:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.MessageDataTypes=void 0;const n=!("undefined"==typeof process||!process.versions||!process.versions.node);var i,o;(o=i=e.MessageDataTypes||(e.MessageDataTypes={}))[o.BUFFER=1]="BUFFER",o[o.STRING=2]="STRING",o[o.NUMBER=3]="NUMBER",o[o.OBJECT=4]="OBJECT";class r{static getPacketType(...t){let e=0;for(let n=0;n{t=n,e=i}));return{resolve:t,reject:e,promise:n}}(),this.timeout=setTimeout((()=>this.error(new o.default("Request timeout.",this._context))),e)}get promise(){return this._deferredPromise.promise}response(t){this._deferredPromise.resolve(t)}error(t){this._deferredPromise.reject(t)}}e.default=class{constructor(t){this._context=t,this._requests=new Set}async send(t,e=1e4){const n=this._createRequest(e);try{return t(n),await n.promise}finally{this._finishRequest(n)}}errorAll(t){for(const e of this._requests)e.error(t)}_createRequest(t){const e=new r(this._context,t);return this._requests.add(e),e}_finishRequest(t){this._requests.delete(t),clearTimeout(t.timeout)}}},3136:function(t,e,n){"use strict";var i=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.WEB_SOCKET_GATEWAY_STATES=void 0;const o=n(7046),r=i(n(4564)),s=n(6553),a=i(n(8290)),c=i(n(2203)),l=i(n(989)),d=i(n(6732)),u=i(n(9073)),h=n(9549),m=i(n(602));var g,p;(p=g=e.WEB_SOCKET_GATEWAY_STATES||(e.WEB_SOCKET_GATEWAY_STATES={})).DISCONNECTED="disconnected",p.CONNECTING="connecting",p.CONNECTED="connected";class f{constructor(t,e,n={},i=o.io,s=c.default.get){if(this._token=e,this._options=n,this._connectionProvider=i,this._userFactory=s,this._requestsManager=new m.default(this),this._channels=new Map,this._connectionAttempt=0,!t)throw new TypeError("Api address must be provided.");if(!this._token)throw new TypeError("Token must be provided.");this._options.requestTimeout||(this._options.requestTimeout=2e4),this._url=(0,r.default)(t.replace(/^(?!(?:\w+:)?\/\/)/,"https://")),this.set("state","disconnected"),this.set("socketId",void 0),this.set("me",void 0),this.on("change:state",(async(t,e,n)=>{var i;if(this._debugEvent("ws-gw:change:state",n),n!==f.STATE_CONNECTED){if(n===f.STATE_DISCONNECTED)return this._requestsManager.errorAll(new d.default("Not connected.",this))}else try{this.me=await this._userFactory.call(c.default,this,null===(i=this._socketAuth)||void 0===i?void 0:i.userId)}catch(t){}}),{priority:f._CHANGE_STATE_EVENT_PRIORITY}),this.on("error",((t,e)=>{this._options.onError?this._options.onError(e):console.error(e)}))}get sessionId(){return this.socketId}disconnect(){var t;this.state!==g.DISCONNECTED&&(null===(t=this._socket)||void 0===t||t.disconnect(),this._socket=void 0,this.state=g.DISCONNECTED)}async reconnect(){this._socket||this.state!==g.DISCONNECTED||(await this._token.refreshToken(),await this._connect())}static async connect(t,e="local.cs.dev:443/ws-v2",n={},i=o.io,r=c.default.get){const s=new f(e,t,n,i,r);return await s._connect(),s}_sendRequest(t,e,n){if(!t)throw new d.default("`serviceName` must be provided.",this);if(this.state!==f.STATE_CONNECTED)throw new d.default("Not connected.",this);if(!this._socketAuth||!this._socketAuth.isAuthenticated)throw new d.default("Not authenticated.",this);const i=new ArrayBuffer(n.length+2),o=new Uint8Array(i);return o[0]=t,o[1]=parseInt(e),o.set(n,2),this._emit(1,o)}_getChannel(t,e){const n=""+t+e;return!this._channels.has(n)&&this._socket&&this._channels.set(n,new a.default(n,this,this._socket)),this._channels.get(n)}_connect(){return new Promise(((t,e)=>{const n=this._setupSocket();!this.socketId&&n.io.on("reconnect_error",(()=>{this._debugEvent("reconnect_error"),this._reconnectionAttemptError(e)})),n.once("connect",(async()=>{this._debugEvent("once-connect");try{await this._onConnect(),t()}catch(t){e(t)}})),n.connect()}))}_getPortByProtocol(t){return["http:","ws:"].includes(t)?80:443}_setupSocket(){var t;if(this._socket)return this._socket;const e=this._url.port||this._getPortByProtocol(this._url.protocol),n=(this._url.protocol||"https:")+"//"+this._url.hostname+":"+e,i=this._connectionProvider(n,{parser:{Encoder:h.Encoder,Decoder:h.Decoder},path:"/ws-v2/ws",transports:["websocket"],timeout:void 0!==this._options.timeout?this._options.timeout:5e3,reconnection:void 0===this._options.autoReconnect||this._options.autoReconnect,reconnectionDelay:1e3,reconnectionDelayMax:5e3,rejectUnauthorized:void 0===this._options.rejectUnauthorized||this._options.rejectUnauthorized,query:{version:l.default},agent:null!==(t=this._options.agent)&&void 0!==t&&t,closeOnBeforeunload:!1});return this.state=g.CONNECTING,i.on("connect",(()=>{this._debugEvent("connect"),this.socketId=i.id})),i.on("connect_error",(t=>{this._debugEvent("connect_error"),this._onError(t)})),i.on("disconnect",(()=>{this._debugEvent("disconnect"),this._onDisconnect()})),i.io.on("reconnect",(async()=>{this._debugEvent("reconnect"),await this._onReconnect()})),i.io.on("reconnect_attempt",(t=>{this._debugEvent("reconnect_attempt",t),this.state=g.CONNECTING,this._connectionAttempt=t})),i.on("unauthorized",(t=>{this._debugEvent("unauthorized"),this._onUnauthorized(t)})),i.on("authenticationRequest",(async t=>{this._debugEvent("authenticationRequest",t.attempt),await this._onReconnect()})),this._socket=i,i}_emit(t,e){const n=this._socket;return this._requestsManager.send((i=>{n.emit(t,e,((t,e)=>{if(t)return i.error(u.default.fromPublicError(t));i.response(e)}))}),this._options.requestTimeout)}_addAuthData(t,e){this._socketAuth={environmentId:t,userId:e,isAuthenticated:!0}}_removeAuthData(){this._socketAuth=void 0}async _onConnect(){await this._authenticate(this._token.value),this.state=g.CONNECTED;const t=async(t,e,n)=>{this._debugEvent("token:value:change");try{await this._authenticate(n)}catch(t){}};this._token.on("change:value",t),this._socket.io.off("reconnect_error"),this.on("disconnect",(()=>{this._token.off("change:value",t)}))}async _onReconnect(){await this._token.refreshToken(),await this._onConnect()}_onDisconnect(){this.state=g.DISCONNECTED,this._connectionAttempt=0,this.fire("disconnect");for(const t of this._channels.values())t.remove();this._channels.clear(),void 0===this._options.autoReconnect||this._options.autoReconnect||(this._socket=void 0)}_onError(t){console.warn("Connection to WebSocket server failed. Details: ",{originalError:t})}_debugEvent(t,e){if(!this._isDebugModeEnabled())return;const n=void 0!==e?", data: "+e:"";console.info((new Date).toLocaleString()+" "+t+n)}_reconnectionAttemptError(t){this._connectionAttempt>=2&&(this.disconnect(),t(d.default.fromPublicError({message:"The number of initial connection attempts exceeded.",explanation:"Three initial connection attempts failed. It can be caused by a missing or blocked Internet connection.",action:"Please verify the stability of your Internet connection and ensure that no antivirus or firewall software blocks the Web Socket protocol connections."})))}_onUnauthorized({error:t}){this._removeAuthData(),this.fire("error",u.default.fromPublicError(t))}async _authenticate(t){try{const e=await this._emit(2,{token:t});this._addAuthData(e.environmentId,e.userId)}catch(t){throw this._removeAuthData(),t}}_isDebugModeEnabled(){var t;return!!s.global.window.localStorage&&"true"===(null!==(t=s.global.window.localStorage.getItem("csClientDebugMode"))&&void 0!==t?t:"false").toLowerCase()}}f.STATE_DISCONNECTED=g.DISCONNECTED,f.STATE_CONNECTING=g.CONNECTING,f.STATE_CONNECTED=g.CONNECTED,f._CHANGE_STATE_EVENT_PRIORITY=s.priorities.get("highest")+999999,(0,s.mix)(f,s.ObservableMixin),e.default=f},741:(t,e,n)=>{"use strict";t.exports=n(582)},6282:(t,e,n)=>{"use strict";var i=e,o=n(2014),r=n(6645);function s(t,e,n,i){if(e.resolvedType)if(e.resolvedType instanceof o){t("switch(d%s){",i);for(var r=e.resolvedType.values,s=Object.keys(r),a=0;a>>0",i,i);break;case"int32":case"sint32":case"sfixed32":t("m%s=d%s|0",i,i);break;case"uint64":c=!0;case"int64":case"sint64":case"fixed64":case"sfixed64":t("if(util.Long)")("(m%s=util.Long.fromValue(d%s)).unsigned=%j",i,i,c)('else if(typeof d%s==="string")',i)("m%s=parseInt(d%s,10)",i,i)('else if(typeof d%s==="number")',i)("m%s=d%s",i,i)('else if(typeof d%s==="object")',i)("m%s=new util.LongBits(d%s.low>>>0,d%s.high>>>0).toNumber(%s)",i,i,i,c?"true":"");break;case"bytes":t('if(typeof d%s==="string")',i)("util.base64.decode(d%s,m%s=util.newBuffer(util.base64.length(d%s)),0)",i,i,i)("else if(d%s.length)",i)("m%s=d%s",i,i);break;case"string":t("m%s=String(d%s)",i,i);break;case"bool":t("m%s=Boolean(d%s)",i,i)}}return t}function a(t,e,n,i){if(e.resolvedType)e.resolvedType instanceof o?t("d%s=o.enums===String?types[%i].values[m%s]:m%s",i,n,i,i):t("d%s=types[%i].toObject(m%s,o)",i,n,i);else{var r=!1;switch(e.type){case"double":case"float":t("d%s=o.json&&!isFinite(m%s)?String(m%s):m%s",i,i,i,i);break;case"uint64":r=!0;case"int64":case"sint64":case"fixed64":case"sfixed64":t('if(typeof m%s==="number")',i)("d%s=o.longs===String?String(m%s):m%s",i,i,i)("else")("d%s=o.longs===String?util.Long.prototype.toString.call(m%s):o.longs===Number?new util.LongBits(m%s.low>>>0,m%s.high>>>0).toNumber(%s):m%s",i,i,i,i,r?"true":"",i);break;case"bytes":t("d%s=o.bytes===String?util.base64.encode(m%s,0,m%s.length):o.bytes===Array?Array.prototype.slice.call(m%s):m%s",i,i,i,i,i);break;default:t("d%s=m%s",i,i)}}return t}i.fromObject=function(t){var e=t.fieldsArray,n=r.codegen(["d"],t.name+"$fromObject")("if(d instanceof this.ctor)")("return d");if(!e.length)return n("return new this.ctor");n("var m=new this.ctor");for(var i=0;i{"use strict";t.exports=function(t){var e=r.codegen(["r","l"],t.name+"$decode")("if(!(r instanceof Reader))")("r=Reader.create(r)")("var c=l===undefined?r.len:r.pos+l,m=new this.ctor"+(t.fieldsArray.filter((function(t){return t.map})).length?",k,value":""))("while(r.pos>>3){");for(var n=0;n>>3){")("case 1: k=r.%s(); break",a.keyType)("case 2:"),void 0===o.basic[c]?e("value=types[%i].decode(r,r.uint32())",n):e("value=r.%s()",c),e("break")("default:")("r.skipType(tag2&7)")("break")("}")("}"),void 0!==o.long[a.keyType]?e('%s[typeof k==="object"?util.longToHash(k):k]=value',l):e("%s[k]=value",l)):a.repeated?(e("if(!(%s&&%s.length))",l,l)("%s=[]",l),void 0!==o.packed[c]&&e("if((t&7)===2){")("var c2=r.uint32()+r.pos")("while(r.pos{"use strict";t.exports=function(t){for(var e,n=r.codegen(["m","w"],t.name+"$encode")("if(!w)")("w=Writer.create()"),a=t.fieldsArray.slice().sort(r.compareFieldsById),c=0;c>>0,8|o.mapKey[l.keyType],l.keyType),void 0===h?n("types[%i].encode(%s[ks[i]],w.uint32(18).fork()).ldelim().ldelim()",d,e):n(".uint32(%i).%s(%s[ks[i]]).ldelim()",16|h,u,e),n("}")("}")):l.repeated?(n("if(%s!=null&&%s.length){",e,e),l.packed&&void 0!==o.packed[u]?n("w.uint32(%i).fork()",(l.id<<3|2)>>>0)("for(var i=0;i<%s.length;++i)",e)("w.%s(%s[i])",u,e)("w.ldelim()"):(n("for(var i=0;i<%s.length;++i)",e),void 0===h?s(n,l,d,e+"[i]"):n("w.uint32(%i).%s(%s[i])",(l.id<<3|h)>>>0,u,e)),n("}")):(l.optional&&n("if(%s!=null&&Object.hasOwnProperty.call(m,%j))",e,l.name),void 0===h?s(n,l,d,e):n("w.uint32(%i).%s(%s)",(l.id<<3|h)>>>0,u,e))}return n("return w")};var i=n(2014),o=n(7089),r=n(6645);function s(t,e,n,i){return e.resolvedType.group?t("types[%i].encode(%s,w.uint32(%i)).uint32(%i)",n,i,(e.id<<3|3)>>>0,(e.id<<3|4)>>>0):t("types[%i].encode(%s,w.uint32(%i).fork()).ldelim()",n,i,(e.id<<3|2)>>>0)}},2014:(t,e,n)=>{"use strict";t.exports=s;var i=n(7142);((s.prototype=Object.create(i.prototype)).constructor=s).className="Enum";var o=n(437),r=n(6645);function s(t,e,n,o,r){if(i.call(this,t,n),e&&"object"!=typeof e)throw TypeError("values must be an object");if(this.valuesById={},this.values=Object.create(this.valuesById),this.comment=o,this.comments=r||{},this.reserved=void 0,e)for(var s=Object.keys(e),a=0;a{"use strict";t.exports=l;var i=n(7142);((l.prototype=Object.create(i.prototype)).constructor=l).className="Field";var o,r=n(2014),s=n(7089),a=n(6645),c=/^required|optional|repeated$/;function l(t,e,n,o,r,l,d){if(a.isObject(o)?(d=r,l=o,o=r=void 0):a.isObject(r)&&(d=l,l=r,r=void 0),i.call(this,t,l),!a.isInteger(e)||e<0)throw TypeError("id must be a non-negative integer");if(!a.isString(n))throw TypeError("type must be a string");if(void 0!==o&&!c.test(o=o.toString().toLowerCase()))throw TypeError("rule must be a string rule");if(void 0!==r&&!a.isString(r))throw TypeError("extend must be a string");"proto3_optional"===o&&(o="optional"),this.rule=o&&"optional"!==o?o:void 0,this.type=n,this.id=e,this.extend=r||void 0,this.required="required"===o,this.optional=!this.required,this.repeated="repeated"===o,this.map=!1,this.message=null,this.partOf=null,this.typeDefault=null,this.defaultValue=null,this.long=!!a.Long&&void 0!==s.long[n],this.bytes="bytes"===n,this.resolvedType=null,this.extensionField=null,this.declaringField=null,this._packed=null,this.comment=d}l.fromJSON=function(t,e){return new l(t,e.id,e.type,e.rule,e.extend,e.options,e.comment)},Object.defineProperty(l.prototype,"packed",{get:function(){return null===this._packed&&(this._packed=!1!==this.getOption("packed")),this._packed}}),l.prototype.setOption=function(t,e,n){return"packed"===t&&(this._packed=null),i.prototype.setOption.call(this,t,e,n)},l.prototype.toJSON=function(t){var e=!!t&&Boolean(t.keepComments);return a.toObject(["rule","optional"!==this.rule&&this.rule||void 0,"type",this.type,"id",this.id,"extend",this.extend,"options",this.options,"comment",e?this.comment:void 0])},l.prototype.resolve=function(){if(this.resolved)return this;if(void 0===(this.typeDefault=s.defaults[this.type])&&(this.resolvedType=(this.declaringField?this.declaringField.parent:this.parent).lookupTypeOrEnum(this.type),this.resolvedType instanceof o?this.typeDefault=null:this.typeDefault=this.resolvedType.values[Object.keys(this.resolvedType.values)[0]]),this.options&&null!=this.options.default&&(this.typeDefault=this.options.default,this.resolvedType instanceof r&&"string"==typeof this.typeDefault&&(this.typeDefault=this.resolvedType.values[this.typeDefault])),this.options&&(!0!==this.options.packed&&(void 0===this.options.packed||!this.resolvedType||this.resolvedType instanceof r)||delete this.options.packed,Object.keys(this.options).length||(this.options=void 0)),this.long)this.typeDefault=a.Long.fromNumber(this.typeDefault,"u"===this.type.charAt(0)),Object.freeze&&Object.freeze(this.typeDefault);else if(this.bytes&&"string"==typeof this.typeDefault){var t;a.base64.test(this.typeDefault)?a.base64.decode(this.typeDefault,t=a.newBuffer(a.base64.length(this.typeDefault)),0):a.utf8.write(this.typeDefault,t=a.newBuffer(a.utf8.length(this.typeDefault)),0),this.typeDefault=t}return this.map?this.defaultValue=a.emptyObject:this.repeated?this.defaultValue=a.emptyArray:this.defaultValue=this.typeDefault,this.parent instanceof o&&(this.parent.ctor.prototype[this.name]=this.defaultValue),i.prototype.resolve.call(this)},l.d=function(t,e,n,i){return"function"==typeof e?e=a.decorateType(e).name:e&&"object"==typeof e&&(e=a.decorateEnum(e).name),function(o,r){a.decorateType(o.constructor).add(new l(r,t,e,n,{default:i}))}},l._configure=function(t){o=t}},582:(t,e,n)=>{"use strict";var i=t.exports=n(3881);i.build="light",i.load=function(t,e,n){return"function"==typeof e?(n=e,e=new i.Root):e||(e=new i.Root),e.load(t,n)},i.loadSync=function(t,e){return e||(e=new i.Root),e.loadSync(t)},i.encoder=n(313),i.decoder=n(3122),i.verifier=n(3490),i.converter=n(6282),i.ReflectionObject=n(7142),i.Namespace=n(437),i.Root=n(349),i.Enum=n(2014),i.Type=n(1697),i.Field=n(114),i.OneOf=n(9943),i.MapField=n(9395),i.Service=n(7066),i.Method=n(2621),i.Message=n(7377),i.wrappers=n(9809),i.types=n(7089),i.util=n(6645),i.ReflectionObject._configure(i.Root),i.Namespace._configure(i.Type,i.Service,i.Enum),i.Root._configure(i.Type),i.Field._configure(i.Type)},3881:(t,e,n)=>{"use strict";var i=e;function o(){i.util._configure(),i.Writer._configure(i.BufferWriter),i.Reader._configure(i.BufferReader)}i.build="minimal",i.Writer=n(1722),i.BufferWriter=n(8160),i.Reader=n(840),i.BufferReader=n(8952),i.util=n(850),i.rpc=n(5735),i.roots=n(1384),i.configure=o,o()},9395:(t,e,n)=>{"use strict";t.exports=s;var i=n(114);((s.prototype=Object.create(i.prototype)).constructor=s).className="MapField";var o=n(7089),r=n(6645);function s(t,e,n,o,s,a){if(i.call(this,t,e,o,void 0,void 0,s,a),!r.isString(n))throw TypeError("keyType must be a string");this.keyType=n,this.resolvedKeyType=null,this.map=!0}s.fromJSON=function(t,e){return new s(t,e.id,e.keyType,e.type,e.options,e.comment)},s.prototype.toJSON=function(t){var e=!!t&&Boolean(t.keepComments);return r.toObject(["keyType",this.keyType,"type",this.type,"id",this.id,"extend",this.extend,"options",this.options,"comment",e?this.comment:void 0])},s.prototype.resolve=function(){if(this.resolved)return this;if(void 0===o.mapKey[this.keyType])throw Error("invalid key type: "+this.keyType);return i.prototype.resolve.call(this)},s.d=function(t,e,n){return"function"==typeof n?n=r.decorateType(n).name:n&&"object"==typeof n&&(n=r.decorateEnum(n).name),function(i,o){r.decorateType(i.constructor).add(new s(o,t,e,n))}}},7377:(t,e,n)=>{"use strict";t.exports=o;var i=n(850);function o(t){if(t)for(var e=Object.keys(t),n=0;n{"use strict";t.exports=r;var i=n(7142);((r.prototype=Object.create(i.prototype)).constructor=r).className="Method";var o=n(6645);function r(t,e,n,r,s,a,c,l,d){if(o.isObject(s)?(c=s,s=a=void 0):o.isObject(a)&&(c=a,a=void 0),void 0!==e&&!o.isString(e))throw TypeError("type must be a string");if(!o.isString(n))throw TypeError("requestType must be a string");if(!o.isString(r))throw TypeError("responseType must be a string");i.call(this,t,c),this.type=e||"rpc",this.requestType=n,this.requestStream=!!s||void 0,this.responseType=r,this.responseStream=!!a||void 0,this.resolvedRequestType=null,this.resolvedResponseType=null,this.comment=l,this.parsedOptions=d}r.fromJSON=function(t,e){return new r(t,e.type,e.requestType,e.responseType,e.requestStream,e.responseStream,e.options,e.comment,e.parsedOptions)},r.prototype.toJSON=function(t){var e=!!t&&Boolean(t.keepComments);return o.toObject(["type","rpc"!==this.type&&this.type||void 0,"requestType",this.requestType,"requestStream",this.requestStream,"responseType",this.responseType,"responseStream",this.responseStream,"options",this.options,"comment",e?this.comment:void 0,"parsedOptions",this.parsedOptions])},r.prototype.resolve=function(){return this.resolved?this:(this.resolvedRequestType=this.parent.lookupType(this.requestType),this.resolvedResponseType=this.parent.lookupType(this.responseType),i.prototype.resolve.call(this))}},437:(t,e,n)=>{"use strict";t.exports=u;var i=n(7142);((u.prototype=Object.create(i.prototype)).constructor=u).className="Namespace";var o,r,s,a=n(114),c=n(9943),l=n(6645);function d(t,e){if(t&&t.length){for(var n={},i=0;ie)return!0;return!1},u.isReservedName=function(t,e){if(t)for(var n=0;n0;){var i=t.shift();if(n.nested&&n.nested[i]){if(!((n=n.nested[i])instanceof u))throw Error("path conflicts with non-namespace objects")}else n.add(n=new u(i))}return e&&n.addJSON(e),n},u.prototype.resolveAll=function(){for(var t=this.nestedArray,e=0;e-1)return i}else if(i instanceof u&&(i=i.lookup(t.slice(1),e,!0)))return i}else for(var o=0;o{"use strict";t.exports=r,r.className="ReflectionObject";var i,o=n(6645);function r(t,e){if(!o.isString(t))throw TypeError("name must be a string");if(e&&!o.isObject(e))throw TypeError("options must be an object");this.options=e,this.parsedOptions=null,this.name=t,this.parent=null,this.resolved=!1,this.comment=null,this.filename=null}Object.defineProperties(r.prototype,{root:{get:function(){for(var t=this;null!==t.parent;)t=t.parent;return t}},fullName:{get:function(){for(var t=[this.name],e=this.parent;e;)t.unshift(e.name),e=e.parent;return t.join(".")}}}),r.prototype.toJSON=function(){throw Error()},r.prototype.onAdd=function(t){this.parent&&this.parent!==t&&this.parent.remove(this),this.parent=t,this.resolved=!1;var e=t.root;e instanceof i&&e._handleAdd(this)},r.prototype.onRemove=function(t){var e=t.root;e instanceof i&&e._handleRemove(this),this.parent=null,this.resolved=!1},r.prototype.resolve=function(){return this.resolved||this.root instanceof i&&(this.resolved=!0),this},r.prototype.getOption=function(t){if(this.options)return this.options[t]},r.prototype.setOption=function(t,e,n){return n&&this.options&&void 0!==this.options[t]||((this.options||(this.options={}))[t]=e),this},r.prototype.setParsedOption=function(t,e,n){this.parsedOptions||(this.parsedOptions=[]);var i=this.parsedOptions;if(n){var r=i.find((function(e){return Object.prototype.hasOwnProperty.call(e,t)}));if(r){var s=r[t];o.setProperty(s,n,e)}else(r={})[t]=o.setProperty({},n,e),i.push(r)}else{var a={};a[t]=e,i.push(a)}return this},r.prototype.setOptions=function(t,e){if(t)for(var n=Object.keys(t),i=0;i{"use strict";t.exports=s;var i=n(7142);((s.prototype=Object.create(i.prototype)).constructor=s).className="OneOf";var o=n(114),r=n(6645);function s(t,e,n,o){if(Array.isArray(e)||(n=e,e=void 0),i.call(this,t,n),void 0!==e&&!Array.isArray(e))throw TypeError("fieldNames must be an Array");this.oneof=e||[],this.fieldsArray=[],this.comment=o}function a(t){if(t.parent)for(var e=0;e-1&&this.oneof.splice(e,1),t.partOf=null,this},s.prototype.onAdd=function(t){i.prototype.onAdd.call(this,t);for(var e=0;e{"use strict";t.exports=c;var i,o=n(850),r=o.LongBits,s=o.utf8;function a(t,e){return RangeError("index out of range: "+t.pos+" + "+(e||1)+" > "+t.len)}function c(t){this.buf=t,this.pos=0,this.len=t.length}var l,d="undefined"!=typeof Uint8Array?function(t){if(t instanceof Uint8Array||Array.isArray(t))return new c(t);throw Error("illegal buffer")}:function(t){if(Array.isArray(t))return new c(t);throw Error("illegal buffer")},u=function(){return o.Buffer?function(t){return(c.create=function(t){return o.Buffer.isBuffer(t)?new i(t):d(t)})(t)}:d};function h(){var t=new r(0,0),e=0;if(!(this.len-this.pos>4)){for(;e<3;++e){if(this.pos>=this.len)throw a(this);if(t.lo=(t.lo|(127&this.buf[this.pos])<<7*e)>>>0,this.buf[this.pos++]<128)return t}return t.lo=(t.lo|(127&this.buf[this.pos++])<<7*e)>>>0,t}for(;e<4;++e)if(t.lo=(t.lo|(127&this.buf[this.pos])<<7*e)>>>0,this.buf[this.pos++]<128)return t;if(t.lo=(t.lo|(127&this.buf[this.pos])<<28)>>>0,t.hi=(t.hi|(127&this.buf[this.pos])>>4)>>>0,this.buf[this.pos++]<128)return t;if(e=0,this.len-this.pos>4){for(;e<5;++e)if(t.hi=(t.hi|(127&this.buf[this.pos])<<7*e+3)>>>0,this.buf[this.pos++]<128)return t}else for(;e<5;++e){if(this.pos>=this.len)throw a(this);if(t.hi=(t.hi|(127&this.buf[this.pos])<<7*e+3)>>>0,this.buf[this.pos++]<128)return t}throw Error("invalid varint encoding")}function m(t,e){return(t[e-4]|t[e-3]<<8|t[e-2]<<16|t[e-1]<<24)>>>0}function g(){if(this.pos+8>this.len)throw a(this,8);return new r(m(this.buf,this.pos+=4),m(this.buf,this.pos+=4))}c.create=u(),c.prototype._slice=o.Array.prototype.subarray||o.Array.prototype.slice,c.prototype.uint32=(l=4294967295,function(){if(l=(127&this.buf[this.pos])>>>0,this.buf[this.pos++]<128)return l;if(l=(l|(127&this.buf[this.pos])<<7)>>>0,this.buf[this.pos++]<128)return l;if(l=(l|(127&this.buf[this.pos])<<14)>>>0,this.buf[this.pos++]<128)return l;if(l=(l|(127&this.buf[this.pos])<<21)>>>0,this.buf[this.pos++]<128)return l;if(l=(l|(15&this.buf[this.pos])<<28)>>>0,this.buf[this.pos++]<128)return l;if((this.pos+=5)>this.len)throw this.pos=this.len,a(this,10);return l}),c.prototype.int32=function(){return 0|this.uint32()},c.prototype.sint32=function(){var t=this.uint32();return t>>>1^-(1&t)|0},c.prototype.bool=function(){return 0!==this.uint32()},c.prototype.fixed32=function(){if(this.pos+4>this.len)throw a(this,4);return m(this.buf,this.pos+=4)},c.prototype.sfixed32=function(){if(this.pos+4>this.len)throw a(this,4);return 0|m(this.buf,this.pos+=4)},c.prototype.float=function(){if(this.pos+4>this.len)throw a(this,4);var t=o.float.readFloatLE(this.buf,this.pos);return this.pos+=4,t},c.prototype.double=function(){if(this.pos+8>this.len)throw a(this,4);var t=o.float.readDoubleLE(this.buf,this.pos);return this.pos+=8,t},c.prototype.bytes=function(){var t=this.uint32(),e=this.pos,n=this.pos+t;if(n>this.len)throw a(this,t);return this.pos+=t,Array.isArray(this.buf)?this.buf.slice(e,n):e===n?new this.buf.constructor(0):this._slice.call(this.buf,e,n)},c.prototype.string=function(){var t=this.bytes();return s.read(t,0,t.length)},c.prototype.skip=function(t){if("number"==typeof t){if(this.pos+t>this.len)throw a(this,t);this.pos+=t}else do{if(this.pos>=this.len)throw a(this)}while(128&this.buf[this.pos++]);return this},c.prototype.skipType=function(t){switch(t){case 0:this.skip();break;case 1:this.skip(8);break;case 2:this.skip(this.uint32());break;case 3:for(;4!=(t=7&this.uint32());)this.skipType(t);break;case 5:this.skip(4);break;default:throw Error("invalid wire type "+t+" at offset "+this.pos)}return this},c._configure=function(t){i=t,c.create=u(),i._configure();var e=o.Long?"toLong":"toNumber";o.merge(c.prototype,{int64:function(){return h.call(this)[e](!1)},uint64:function(){return h.call(this)[e](!0)},sint64:function(){return h.call(this).zzDecode()[e](!1)},fixed64:function(){return g.call(this)[e](!0)},sfixed64:function(){return g.call(this)[e](!1)}})}},8952:(t,e,n)=>{"use strict";t.exports=r;var i=n(840);(r.prototype=Object.create(i.prototype)).constructor=r;var o=n(850);function r(t){i.call(this,t)}r._configure=function(){o.Buffer&&(r.prototype._slice=o.Buffer.prototype.slice)},r.prototype.string=function(){var t=this.uint32();return this.buf.utf8Slice?this.buf.utf8Slice(this.pos,this.pos=Math.min(this.pos+t,this.len)):this.buf.toString("utf-8",this.pos,this.pos=Math.min(this.pos+t,this.len))},r._configure()},349:(t,e,n)=>{"use strict";t.exports=u;var i=n(437);((u.prototype=Object.create(i.prototype)).constructor=u).className="Root";var o,r,s,a=n(114),c=n(2014),l=n(9943),d=n(6645);function u(t){i.call(this,"",t),this.deferred=[],this.files=[]}function h(){}u.fromJSON=function(t,e){return e||(e=new u),t.options&&e.setOptions(t.options),e.addJSON(t.nested)},u.prototype.resolvePath=d.path.resolve,u.prototype.fetch=d.fetch,u.prototype.load=function t(e,n,i){"function"==typeof n&&(i=n,n=void 0);var o=this;if(!i)return d.asPromise(t,o,e,n);var a=i===h;function c(t,e){if(i){var n=i;if(i=null,a)throw t;n(t,e)}}function l(t){var e=t.lastIndexOf("google/protobuf/");if(e>-1){var n=t.substring(e);if(n in s)return n}return null}function u(t,e){try{if(d.isString(e)&&"{"===e.charAt(0)&&(e=JSON.parse(e)),d.isString(e)){r.filename=t;var i,s=r(e,o,n),u=0;if(s.imports)for(;u-1))if(o.files.push(t),t in s)a?u(t,s[t]):(++g,setTimeout((function(){--g,u(t,s[t])})));else if(a){var n;try{n=d.fs.readFileSync(t).toString("utf8")}catch(t){return void(e||c(t))}u(t,n)}else++g,o.fetch(t,(function(n,r){--g,i&&(n?e?g||c(null,o):c(n):u(t,r))}))}var g=0;d.isString(e)&&(e=[e]);for(var p,f=0;f-1&&this.deferred.splice(e,1)}}else if(t instanceof c)m.test(t.name)&&delete t.parent[t.name];else if(t instanceof i){for(var n=0;n{"use strict";t.exports={}},5735:(t,e,n)=>{"use strict";e.Service=n(334)},334:(t,e,n)=>{"use strict";t.exports=o;var i=n(850);function o(t,e,n){if("function"!=typeof t)throw TypeError("rpcImpl must be a function");i.EventEmitter.call(this),this.rpcImpl=t,this.requestDelimited=Boolean(e),this.responseDelimited=Boolean(n)}(o.prototype=Object.create(i.EventEmitter.prototype)).constructor=o,o.prototype.rpcCall=function t(e,n,o,r,s){if(!r)throw TypeError("request must be specified");var a=this;if(!s)return i.asPromise(t,a,e,n,o,r);if(a.rpcImpl)try{return a.rpcImpl(e,n[a.requestDelimited?"encodeDelimited":"encode"](r).finish(),(function(t,n){if(t)return a.emit("error",t,e),s(t);if(null!==n){if(!(n instanceof o))try{n=o[a.responseDelimited?"decodeDelimited":"decode"](n)}catch(t){return a.emit("error",t,e),s(t)}return a.emit("data",n,e),s(null,n)}a.end(!0)}))}catch(t){return a.emit("error",t,e),void setTimeout((function(){s(t)}),0)}else setTimeout((function(){s(Error("already ended"))}),0)},o.prototype.end=function(t){return this.rpcImpl&&(t||this.rpcImpl(null,null,null),this.rpcImpl=null,this.emit("end").off()),this}},7066:(t,e,n)=>{"use strict";t.exports=a;var i=n(437);((a.prototype=Object.create(i.prototype)).constructor=a).className="Service";var o=n(2621),r=n(6645),s=n(5735);function a(t,e){i.call(this,t,e),this.methods={},this._methodsArray=null}function c(t){return t._methodsArray=null,t}a.fromJSON=function(t,e){var n=new a(t,e.options);if(e.methods)for(var i=Object.keys(e.methods),r=0;r{"use strict";t.exports=k;var i=n(437);((k.prototype=Object.create(i.prototype)).constructor=k).className="Type";var o=n(2014),r=n(9943),s=n(114),a=n(9395),c=n(7066),l=n(7377),d=n(840),u=n(1722),h=n(6645),m=n(313),g=n(3122),p=n(3490),f=n(6282),b=n(9809);function k(t,e){i.call(this,t,e),this.fields={},this.oneofs=void 0,this.extensions=void 0,this.reserved=void 0,this.group=void 0,this._fieldsById=null,this._fieldsArray=null,this._oneofsArray=null,this._ctor=null}function x(t){return t._fieldsById=t._fieldsArray=t._oneofsArray=null,delete t.encode,delete t.decode,delete t.verify,t}Object.defineProperties(k.prototype,{fieldsById:{get:function(){if(this._fieldsById)return this._fieldsById;this._fieldsById={};for(var t=Object.keys(this.fields),e=0;e{"use strict";var i=e,o=n(6645),r=["double","float","int32","uint32","sint32","fixed32","sfixed32","int64","uint64","sint64","fixed64","sfixed64","bool","string","bytes"];function s(t,e){var n=0,i={};for(e|=0;n{"use strict";var i,o,r=t.exports=n(850),s=n(1384);r.codegen=n(5124),r.fetch=n(9054),r.path=n(8626),r.fs=r.inquire("fs"),r.toArray=function(t){if(t){for(var e=Object.keys(t),n=new Array(e.length),i=0;i0)e[o]=t(e[o]||{},n,i);else{var r=e[o];r&&(i=[].concat(r).concat(i)),e[o]=i}return e}(t,e=e.split("."),n)},Object.defineProperty(r,"decorateRoot",{get:function(){return s.decorated||(s.decorated=new(n(349)))}})},8929:(t,e,n)=>{"use strict";t.exports=o;var i=n(850);function o(t,e){this.lo=t>>>0,this.hi=e>>>0}var r=o.zero=new o(0,0);r.toNumber=function(){return 0},r.zzEncode=r.zzDecode=function(){return this},r.length=function(){return 1};var s=o.zeroHash="\0\0\0\0\0\0\0\0";o.fromNumber=function(t){if(0===t)return r;var e=t<0;e&&(t=-t);var n=t>>>0,i=(t-n)/4294967296>>>0;return e&&(i=~i>>>0,n=~n>>>0,++n>4294967295&&(n=0,++i>4294967295&&(i=0))),new o(n,i)},o.from=function(t){if("number"==typeof t)return o.fromNumber(t);if(i.isString(t)){if(!i.Long)return o.fromNumber(parseInt(t,10));t=i.Long.fromString(t)}return t.low||t.high?new o(t.low>>>0,t.high>>>0):r},o.prototype.toNumber=function(t){if(!t&&this.hi>>>31){var e=1+~this.lo>>>0,n=~this.hi>>>0;return e||(n=n+1>>>0),-(e+4294967296*n)}return this.lo+4294967296*this.hi},o.prototype.toLong=function(t){return i.Long?new i.Long(0|this.lo,0|this.hi,Boolean(t)):{low:0|this.lo,high:0|this.hi,unsigned:Boolean(t)}};var a=String.prototype.charCodeAt;o.fromHash=function(t){return t===s?r:new o((a.call(t,0)|a.call(t,1)<<8|a.call(t,2)<<16|a.call(t,3)<<24)>>>0,(a.call(t,4)|a.call(t,5)<<8|a.call(t,6)<<16|a.call(t,7)<<24)>>>0)},o.prototype.toHash=function(){return String.fromCharCode(255&this.lo,this.lo>>>8&255,this.lo>>>16&255,this.lo>>>24,255&this.hi,this.hi>>>8&255,this.hi>>>16&255,this.hi>>>24)},o.prototype.zzEncode=function(){var t=this.hi>>31;return this.hi=((this.hi<<1|this.lo>>>31)^t)>>>0,this.lo=(this.lo<<1^t)>>>0,this},o.prototype.zzDecode=function(){var t=-(1&this.lo);return this.lo=((this.lo>>>1|this.hi<<31)^t)>>>0,this.hi=(this.hi>>>1^t)>>>0,this},o.prototype.length=function(){var t=this.lo,e=(this.lo>>>28|this.hi<<4)>>>0,n=this.hi>>>24;return 0===n?0===e?t<16384?t<128?1:2:t<2097152?3:4:e<16384?e<128?5:6:e<2097152?7:8:n<128?9:10}},850:function(t,e,n){"use strict";var i=e;function o(t,e,n){for(var i=Object.keys(e),o=0;o0)},i.Buffer=function(){try{var t=i.inquire("buffer").Buffer;return t.prototype.utf8Write?t:null}catch(t){return null}}(),i._Buffer_from=null,i._Buffer_allocUnsafe=null,i.newBuffer=function(t){return"number"==typeof t?i.Buffer?i._Buffer_allocUnsafe(t):new i.Array(t):i.Buffer?i._Buffer_from(t):"undefined"==typeof Uint8Array?t:new Uint8Array(t)},i.Array="undefined"!=typeof Uint8Array?Uint8Array:Array,i.Long=i.global.dcodeIO&&i.global.dcodeIO.Long||i.global.Long||i.inquire("long"),i.key2Re=/^true|false|0|1$/,i.key32Re=/^-?(?:0|[1-9][0-9]*)$/,i.key64Re=/^(?:[\\x00-\\xff]{8}|-?(?:0|[1-9][0-9]*))$/,i.longToHash=function(t){return t?i.LongBits.from(t).toHash():i.LongBits.zeroHash},i.longFromHash=function(t,e){var n=i.LongBits.fromHash(t);return i.Long?i.Long.fromBits(n.lo,n.hi,e):n.toNumber(Boolean(e))},i.merge=o,i.lcFirst=function(t){return t.charAt(0).toLowerCase()+t.substring(1)},i.newError=r,i.ProtocolError=r("ProtocolError"),i.oneOfGetter=function(t){for(var e={},n=0;n-1;--n)if(1===e[t[n]]&&void 0!==this[t[n]]&&null!==this[t[n]])return t[n]}},i.oneOfSetter=function(t){return function(e){for(var n=0;n{"use strict";t.exports=function(t){var e=o.codegen(["m"],t.name+"$verify")('if(typeof m!=="object"||m===null)')("return%j","object expected"),n=t.oneofsArray,i={};n.length&&e("var p={}");for(var c=0;c{"use strict";var i=e,o=n(7377);i[".google.protobuf.Any"]={fromObject:function(t){if(t&&t["@type"]){var e=t["@type"].substring(t["@type"].lastIndexOf("/")+1),n=this.lookup(e);if(n){var i="."===t["@type"].charAt(0)?t["@type"].substr(1):t["@type"];return-1===i.indexOf("/")&&(i="/"+i),this.create({type_url:i,value:n.encode(n.fromObject(t)).finish()})}}return this.fromObject(t)},toObject:function(t,e){var n="",i="";if(e&&e.json&&t.type_url&&t.value){i=t.type_url.substring(t.type_url.lastIndexOf("/")+1),n=t.type_url.substring(0,t.type_url.lastIndexOf("/")+1);var r=this.lookup(i);r&&(t=r.decode(t.value))}if(!(t instanceof this.ctor)&&t instanceof o){var s=t.$type.toObject(t,e);return""===n&&(n="type.googleapis.com/"),i=n+("."===t.$type.fullName[0]?t.$type.fullName.substr(1):t.$type.fullName),s["@type"]=i,s}return this.toObject(t,e)}}},1722:(t,e,n)=>{"use strict";t.exports=u;var i,o=n(850),r=o.LongBits,s=o.base64,a=o.utf8;function c(t,e,n){this.fn=t,this.len=e,this.next=void 0,this.val=n}function l(){}function d(t){this.head=t.head,this.tail=t.tail,this.len=t.len,this.next=t.states}function u(){this.len=0,this.head=new c(l,0,0),this.tail=this.head,this.states=null}var h=function(){return o.Buffer?function(){return(u.create=function(){return new i})()}:function(){return new u}};function m(t,e,n){e[n]=255&t}function g(t,e){this.len=t,this.next=void 0,this.val=e}function p(t,e,n){for(;t.hi;)e[n++]=127&t.lo|128,t.lo=(t.lo>>>7|t.hi<<25)>>>0,t.hi>>>=7;for(;t.lo>127;)e[n++]=127&t.lo|128,t.lo=t.lo>>>7;e[n++]=t.lo}function f(t,e,n){e[n]=255&t,e[n+1]=t>>>8&255,e[n+2]=t>>>16&255,e[n+3]=t>>>24}u.create=h(),u.alloc=function(t){return new o.Array(t)},o.Array!==Array&&(u.alloc=o.pool(u.alloc,o.Array.prototype.subarray)),u.prototype._push=function(t,e,n){return this.tail=this.tail.next=new c(t,e,n),this.len+=e,this},g.prototype=Object.create(c.prototype),g.prototype.fn=function(t,e,n){for(;t>127;)e[n++]=127&t|128,t>>>=7;e[n]=t},u.prototype.uint32=function(t){return this.len+=(this.tail=this.tail.next=new g((t>>>=0)<128?1:t<16384?2:t<2097152?3:t<268435456?4:5,t)).len,this},u.prototype.int32=function(t){return t<0?this._push(p,10,r.fromNumber(t)):this.uint32(t)},u.prototype.sint32=function(t){return this.uint32((t<<1^t>>31)>>>0)},u.prototype.uint64=function(t){var e=r.from(t);return this._push(p,e.length(),e)},u.prototype.int64=u.prototype.uint64,u.prototype.sint64=function(t){var e=r.from(t).zzEncode();return this._push(p,e.length(),e)},u.prototype.bool=function(t){return this._push(m,1,t?1:0)},u.prototype.fixed32=function(t){return this._push(f,4,t>>>0)},u.prototype.sfixed32=u.prototype.fixed32,u.prototype.fixed64=function(t){var e=r.from(t);return this._push(f,4,e.lo)._push(f,4,e.hi)},u.prototype.sfixed64=u.prototype.fixed64,u.prototype.float=function(t){return this._push(o.float.writeFloatLE,4,t)},u.prototype.double=function(t){return this._push(o.float.writeDoubleLE,8,t)};var b=o.Array.prototype.set?function(t,e,n){e.set(t,n)}:function(t,e,n){for(var i=0;i>>0;if(!e)return this._push(m,1,0);if(o.isString(t)){var n=u.alloc(e=s.length(t));s.decode(t,n,0),t=n}return this.uint32(e)._push(b,e,t)},u.prototype.string=function(t){var e=a.length(t);return e?this.uint32(e)._push(a.write,e,t):this._push(m,1,0)},u.prototype.fork=function(){return this.states=new d(this),this.head=this.tail=new c(l,0,0),this.len=0,this},u.prototype.reset=function(){return this.states?(this.head=this.states.head,this.tail=this.states.tail,this.len=this.states.len,this.states=this.states.next):(this.head=this.tail=new c(l,0,0),this.len=0),this},u.prototype.ldelim=function(){var t=this.head,e=this.tail,n=this.len;return this.reset().uint32(n),n&&(this.tail.next=t.next,this.tail=e,this.len+=n),this},u.prototype.finish=function(){for(var t=this.head.next,e=this.constructor.alloc(this.len),n=0;t;)t.fn(t.val,e,n),n+=t.len,t=t.next;return e},u._configure=function(t){i=t,u.create=h(),i._configure()}},8160:(t,e,n)=>{"use strict";t.exports=r;var i=n(1722);(r.prototype=Object.create(i.prototype)).constructor=r;var o=n(850);function r(){i.call(this)}function s(t,e,n){t.length<40?o.utf8.write(t,e,n):e.utf8Write?e.utf8Write(t,n):e.write(t,n)}r._configure=function(){r.alloc=o._Buffer_allocUnsafe,r.writeBytesBuffer=o.Buffer&&o.Buffer.prototype instanceof Uint8Array&&"set"===o.Buffer.prototype.set.name?function(t,e,n){e.set(t,n)}:function(t,e,n){if(t.copy)t.copy(e,n,0,t.length);else for(var i=0;i>>0;return this.uint32(e),e&&this._push(r.writeBytesBuffer,e,t),this},r.prototype.string=function(t){var e=o.Buffer.byteLength(t);return this.uint32(e),e&&this._push(s,e,t),this},r._configure()},8378:(t,e,n)=>{"use strict";n.d(e,{H:()=>r,KE:()=>o,ZP:()=>i});class i extends Error{constructor(t,e,n){super(function(t,e){const n=new WeakSet,i=(t,e)=>{if("object"==typeof e&&null!==e){if(n.has(e))return`[object ${e.constructor.name}]`;n.add(e)}return e},o=e?` ${JSON.stringify(e,i)}`:"",r=s(t);return t+o+r}(t,n)),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 i(t.message,e);throw n.stack=t.stack,n}}function o(t,e){console.warn(...a(t,e))}function r(t,e){console.error(...a(t,e))}function s(t){return`\nRead more: https://ckeditor.com/docs/ckeditor5/latest/support/error-codes.html#error-${t}`}function a(t,e){const n=s(t);return e?[t,e,n]:[t,n]}},4033:(t,e,n)=>{"use strict";n.d(e,{Z:()=>a});var i=n(669),o=n(8378),r=n(369),s=n(5838);class a extends i.Q5{constructor(t={},e={}){super();const n=(0,s.Z)(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 o.ZP("collection-add-item-invalid-index",this);let n=0;for(const i of t){const t=this._getItemIdBeforeAdding(i),o=e+n;this._items.splice(o,0,i),this._itemMap.set(t,i),this.fire("add",i,o),n++}return this.fire("change",{added:t,removed:[],index:e}),this}get(t){let e;if("string"==typeof t)e=this._itemMap.get(t);else{if("number"!=typeof t)throw new o.ZP("collection-get-invalid-arg",this);e=this._items[t]}return e||null}has(t){if("string"==typeof t)return this._itemMap.has(t);{const e=t[this._idProperty];return e&&this._itemMap.has(e)}}getIndex(t){let e;return e="string"==typeof t?this._itemMap.get(t):t,e?this._items.indexOf(e):-1}remove(t){const[e,n]=this._remove(t);return this.fire("change",{added:[],removed:[e],index:n}),e}map(t,e){return this._items.map(t,e)}find(t,e){return this._items.find(t,e)}filter(t,e){return this._items.filter(t,e)}clear(){this._bindToCollection&&(this.stopListening(this._bindToCollection),this._bindToCollection=null);const t=Array.from(this._items);for(;this.length;)this._remove(0);this.fire("change",{added:[],removed:t,index:0})}bindTo(t){if(this._bindToCollection)throw new o.ZP("collection-bind-to-rebind",this);return this._bindToCollection=t,{as:t=>{this._setUpBindToBinding((e=>new t(e)))},using:t=>{"function"==typeof t?this._setUpBindToBinding(t):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 o.ZP("collection-add-invalid-id",this);if(this.get(n))throw new o.ZP("collection-add-item-already-exists",this)}else t[e]=n=(0,r.Z)();return n}_remove(t){let e,n,i,r=!1;const s=this._idProperty;if("string"==typeof t?(n=t,i=this._itemMap.get(n),r=!i,i&&(e=this._items.indexOf(i))):"number"==typeof t?(e=t,i=this._items[e],r=!i,i&&(n=i[s])):(i=t,n=i[s],e=this._items.indexOf(i),r=-1==e||!this._itemMap.get(n)),r)throw new o.ZP("collection-remove-404",this);this._items.splice(e,1),this._itemMap.delete(n);const a=this._bindToInternalToExternalMap.get(i);return this._bindToInternalToExternalMap.delete(i),this._bindToExternalToInternalMap.delete(a),this.fire("remove",i,e),[i,e]}[Symbol.iterator](){return this._items[Symbol.iterator]()}}},327:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var i=n(4068);function o(t,e,n){n=n||function(t,e){return t===e};const i=t.length,r=e.length;if(i>200||r>200||i+r>300)return o.fastDiff(t,e,n,!0);let s,a;if(rr?-1:1;u[i+d]&&(u[i]=u[i+d].slice(0)),u[i]||(u[i]=[]),u[i].push(o>r?s:a);let m=Math.max(o,r),g=m-i;for(;gd;g--)h[g]=m(g);h[d]=m(d),p++}while(h[d]!==l);return u[d].slice(1)}o.fastDiff=i.Z},8979:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(5838),o=n(3243),r=n(7771),s=n(8533);const a=function(t){return"string"==typeof t||!(0,r.Z)(t)&&(0,s.Z)(t)&&"[object String]"==(0,o.Z)(t)};function c(t,e,n={},o=[]){const r=n&&n.xmlns,s=r?t.createElementNS(r,e):t.createElement(e);for(const t in n)s.setAttribute(t,n[t]);!a(o)&&(0,i.Z)(o)||(o=[o]);for(let e of o)a(e)&&(e=t.createTextNode(e)),s.appendChild(e);return s}},1916:(t,e,n)=>{"use strict";n.d(e,{Q:()=>c,Z:()=>a});var i=n(669),o=n(369),r=n(5006),s=n(3003);function a(t){return class extends t{listenTo(t,e,n,o={}){if((0,r.Z)(t)||(0,s.Z)(t)){const i={capture:!!o.useCapture,passive:!!o.usePassive},r=this._getProxyEmitter(t,i)||new l(t,i);this.listenTo(r,e,n,o)}else i.Q5.prototype.listenTo.call(this,t,e,n,o)}stopListening(t,e,n){if((0,r.Z)(t)||(0,s.Z)(t)){const i=this._getAllProxyEmitters(t);for(const t of i)this.stopListening(t,e,n)}else i.Q5.prototype.stopListening.call(this,t,e,n)}_getProxyEmitter(t,e){return(0,i.Rl)(this,d(t,e))}_getAllProxyEmitters(t){return[{capture:!1,passive:!1},{capture:!1,passive:!0},{capture:!0,passive:!1},{capture:!0,passive:!0}].map((e=>this._getProxyEmitter(t,e))).filter((t=>!!t))}}}const c=a(i.Q5);["_getProxyEmitter","_getAllProxyEmitters","on","once","off","listenTo","stopListening","fire","delegate","stopDelegating","_addEventListener","_removeEventListener"].forEach((t=>{a[t]=c.prototype[t]}));class l extends i.Q5{constructor(t,e){super(),(0,i.Hv)(this,d(t,e)),this._domNode=t,this._options=e}attach(t){if(this._domListeners&&this._domListeners[t])return;const e=this._createDomListener(t);this._domNode.addEventListener(t,e,this._options),this._domListeners||(this._domListeners={}),this._domListeners[t]=e}detach(t){let e;!this._domListeners[t]||(e=this._events[t])&&e.callbacks.length||this._domListeners[t].removeListener()}_addEventListener(t,e,n){this.attach(t),i.Q5.prototype._addEventListener.call(this,t,e,n)}_removeEventListener(t,e){i.Q5.prototype._removeEventListener.call(this,t,e),this.detach(t)}_createDomListener(t){const e=e=>{this.fire(t,e)};return e.removeListener=()=>{this._domNode.removeEventListener(t,e,this._options),delete this._domListeners[t]},e}}function d(t,e){let n=function(t){return t["data-ck-expando"]||(t["data-ck-expando"]=(0,o.Z)())}(t);for(const t of Object.keys(e).sort())e[t]&&(n+="-"+t);return n}},407:(t,e,n)=>{"use strict";function i(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)}}n.d(e,{Z:()=>i})},2152:(t,e,n)=>{"use strict";let i;n.d(e,{Z:()=>o});try{i={window,document}}catch(t){i={window:{},document:{}}}const o=i},5006:(t,e,n)=>{"use strict";function i(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}n.d(e,{Z:()=>i})},3978:(t,e,n)=>{"use strict";function i(t){return"[object Range]"==Object.prototype.toString.apply(t)}n.d(e,{Z:()=>i})},7363:(t,e,n)=>{"use strict";function i(t){return"[object Text]"==Object.prototype.toString.call(t)}n.d(e,{Z:()=>i})},6905:(t,e,n)=>{"use strict";function i(t){return!!(t&&t.getClientRects&&t.getClientRects().length)}n.d(e,{Z:()=>i})},3003:(t,e,n)=>{"use strict";function i(t){const e=Object.prototype.toString.apply(t);return"[object Window]"==e||"[object global]"==e}n.d(e,{Z:()=>i})},6224:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(3978),o=n(3003),r=n(407),s=n(7363);const a=["top","right","bottom","left","width","height"];class c{constructor(t){const e=(0,i.Z)(t);if(Object.defineProperty(this,"_source",{value:t._source||t,writable:!0,enumerable:!1}),u(t)||e)if(e){const e=c.getDomRangeRects(t);l(this,c.getBoundingRect(e))}else l(this,t.getBoundingClientRect());else if((0,o.Z)(t)){const{innerWidth:e,innerHeight:n}=t;l(this,{top:0,right:e,bottom:n,left:0,width:e,height:n})}else l(this,t)}clone(){return new c(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),width:0,height:0};return e.width=e.right-e.left,e.height=e.bottom-e.top,e.width<0||e.height<0?null:new c(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(!d(t)){let n=t.parentNode||t.commonAncestorContainer;for(;n&&!d(n);){const t=new c(n),i=e.getIntersection(t);if(!i)return null;i.getArea(){"use strict";n.d(e,{Z:()=>o});var i=n(2152);class o{constructor(t,e){o._observerInstance||o._createObserver(),this._element=t,this._callback=e,o._addElementCallback(t,e),o._observerInstance.observe(t)}destroy(){o._deleteElementCallback(this._element,this._callback)}static _addElementCallback(t,e){o._elementCallbacks||(o._elementCallbacks=new Map);let n=o._elementCallbacks.get(t);n||(n=new Set,o._elementCallbacks.set(t,n)),n.add(e)}static _deleteElementCallback(t,e){const n=o._getElementCallbacks(t);n&&(n.delete(e),n.size||(o._elementCallbacks.delete(t),o._observerInstance.unobserve(t))),o._elementCallbacks&&!o._elementCallbacks.size&&(o._observerInstance=null,o._elementCallbacks=null)}static _getElementCallbacks(t){return o._elementCallbacks?o._elementCallbacks.get(t):null}static _createObserver(){o._observerInstance=new i.Z.window.ResizeObserver((t=>{for(const e of t){const t=o._getElementCallbacks(e.target);if(t)for(const n of t)n(e)}}))}}o._observerInstance=null,o._elementCallbacks=null},7275:(t,e,n)=>{"use strict";n.d(e,{F:()=>a,m:()=>s});var i=n(3978),o=n(6224),r=n(7363);function s({target:t,viewportOffset:e=0}){const n=g(t);let i=n,o=null;for(;i;){let r;r=p(i==n?t:o),l(r,(()=>f(t,i)));const s=f(t,i);if(c(i,s,e),i.parent!=i){if(o=i.frameElement,i=i.parent,!o)return}else i=null}}function a(t){l(p(t),(()=>new o.Z(t)))}function c(t,e,n){const i=e.clone().moveBy(0,n),r=e.clone().moveBy(0,-n),s=new o.Z(t).excludeScrollbarsAndBorders();if(![r,i].every((t=>s.contains(t)))){let{scrollX:o,scrollY:a}=t;u(r,s)?a-=s.top-e.top+n:d(i,s)&&(a+=e.bottom-s.bottom+n),h(e,s)?o-=s.left-e.left+n:m(e,s)&&(o+=e.right-s.right+n),t.scrollTo(o,a)}}function l(t,e){const n=g(t);let i,r;for(;t!=n.document.body;)r=e(),i=new o.Z(t).excludeScrollbarsAndBorders(),i.contains(r)||(u(r,i)?t.scrollTop-=i.top-r.top:d(r,i)&&(t.scrollTop+=r.bottom-i.bottom),h(r,i)?t.scrollLeft-=i.left-r.left:m(r,i)&&(t.scrollLeft+=r.right-i.right)),t=t.parentNode}function d(t,e){return t.bottom>e.bottom}function u(t,e){return t.tope.right}function g(t){return(0,i.Z)(t)?t.startContainer.ownerDocument.defaultView:t.ownerDocument.defaultView}function p(t){if((0,i.Z)(t)){let e=t.commonAncestorContainer;return(0,r.Z)(e)&&(e=e.parentNode),e}return t.parentNode}function f(t,e){const n=g(t),i=new o.Z(t);if(n===e)return i;{let t=n;for(;t!=e;){const e=t.frameElement,n=new o.Z(e).excludeScrollbarsAndBorders();i.moveBy(n.left,n.top),t=t.parent}}return i}},8236:(t,e,n)=>{"use strict";function i(t,e){t instanceof HTMLTextAreaElement&&(t.value=e),t.innerHTML=e}n.d(e,{Z:()=>i})},2907:(t,e,n)=>{"use strict";function i(t){return e=>e+t}n.d(e,{Z:()=>i})},669:(t,e,n)=>{"use strict";n.d(e,{Hv:()=>g,Q5:()=>h,Rl:()=>m,ZP:()=>u});var i=n(8483),o=n(369),r=n(4841),s=n(6547),a=(n(9807),n(8378));const c=Symbol("listeningTo"),l=Symbol("emitterId"),d=Symbol("delegations");function u(t){return class extends t{on(t,e,n){this.listenTo(this,t,e,n)}once(t,e,n){let i=!1;this.listenTo(this,t,((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[c]||(this[c]={});const s=this[c];p(t)||g(t);const a=p(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[c];let o=t&&p(t);const r=i&&o?i[o]:void 0,s=r&&e?r.callbacks[e]:void 0;if(!(!i||t&&!r||e&&!s))if(n){w(this,t,e,n);-1!==s.indexOf(n)&&(1===s.length?delete r.callbacks[e]:w(this,t,e,n))}else if(s){for(;n=s.pop();)w(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[c]}}fire(t,...e){try{const n=t instanceof i.Z?t:new i.Z(this,t),o=n.name;let r=k(this,o);if(n.path.push(this),r){const t=[n,...e];r=Array.from(r);for(let e=0;e{this[d]||(this[d]=new Map),t.forEach((t=>{const i=this[d].get(t);i?i.set(e,n):this[d].set(t,new Map([[e,n]]))}))}}}stopDelegating(t,e){if(this[d])if(t)if(e){const n=this[d].get(t);n&&n.delete(e)}else this[d].delete(t);else this[d].clear()}_addEventListener(t,e,n){!function(t,e){const n=f(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=b(this,t),o={callback:e,priority:r.Z.get(n.priority)};for(const t of i)(0,s.Z)(t,o)}_removeEventListener(t,e){const n=b(this,t);for(const t of n)for(let n=0;n-1?k(t,e.substr(0,e.lastIndexOf(":"))):null}function x(t,e,n){for(let[o,r]of t){r?"function"==typeof r&&(r=r(e.name)):r=e.name;const t=new i.Z(e.source,r);t.path=[...e.path],o.fire(t,...n)}}function w(t,e,n,i){e._removeEventListener?e._removeEventListener(n,i):t._removeEventListener.call(e,n,i)}["on","once","off","listenTo","stopListening","fire","delegate","stopDelegating","_addEventListener","_removeEventListener"].forEach((t=>{u[t]=h.prototype[t]}))},3950:(t,e,n)=>{"use strict";n.d(e,{ZP:()=>r});const i=function(){try{return navigator.userAgent.toLowerCase()}catch(t){return""}}(),o={isMac:s(i),isWindows:function(t){return t.indexOf("windows")>-1}(i),isGecko:function(t){return!!t.match(/gecko\/\d+/)}(i),isSafari:function(t){return t.indexOf(" applewebkit/")>-1&&-1===t.indexOf("chrome")}(i),isiOS:function(t){return!!t.match(/iphone|ipad/i)||s(t)&&navigator.maxTouchPoints>0}(i),isAndroid:function(t){return t.indexOf("android")>-1}(i),isBlink:function(t){return t.indexOf("chrome/")>-1&&t.indexOf("edge/")<0}(i),features:{isRegExpUnicodePropertySupported:function(){let t=!1;try{t=0==="ć".search(new RegExp("[\\p{L}]","u"))}catch(t){}return t}()}},r=o;function s(t){return t.indexOf("macintosh")>-1}},8483:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});const i=function(){return function t(){t.called=!0}};class o{constructor(t,e){this.source=t,this.name=e,this.path=[],this.stop=i(),this.off=i()}}},4068:(t,e,n)=>{"use strict";function i(t,e,n,i=!1){n=n||function(t,e){return t===e};const s=Array.isArray(t)?t:Array.prototype.slice.call(t),a=Array.isArray(e)?e:Array.prototype.slice.call(e),c=function(t,e,n){const i=o(t,e,n);if(-1===i)return{firstIndex:-1,lastIndexOld:-1,lastIndexNew:-1};const s=r(t,i),a=r(e,i),c=o(s,a,n),l=t.length-c,d=e.length-c;return{firstIndex:i,lastIndexOld:l,lastIndexNew:d}}(s,a,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}(a,c)}function o(t,e,n){for(let i=0;ii})},7246:(t,e,n)=>{"use strict";function i(t){const e=t.next();return e.done?null:e.value}n.d(e,{Z:()=>i})},2073:(t,e,n)=>{"use strict";n.d(e,{Z:()=>s});var i=n(1916),o=n(9110),r=n(8378);class s extends((0,i.Z)(o.y)){constructor(){super(),this.set("isFocused",!1),this.set("focusedElement",null),this._elements=new Set,this._nextEventLoopTimeout=null}add(t){if(this._elements.has(t))throw new r.ZP("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(),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)}}},7557:(t,e,n)=>{"use strict";n.d(e,{Bb:()=>c.ZP,FE:()=>v.Z,Xu:()=>u.Z,a6:()=>l,ln:()=>s.ZP,Rh:()=>y.Z,VD:()=>E.Z,go:()=>A.Z,Re:()=>a.Z,UL:()=>g.Z,do:()=>p.Z,az:()=>d.Z,Hg:()=>o.Z,OB:()=>i.ZP,Ps:()=>C.Z,Cq:()=>w.Cq,yy:()=>m,XU:()=>w.XU,j9:()=>_.j,mA:()=>w.mA,CO:()=>h.Z,VG:()=>I.Z,dj:()=>w.dj,Zt:()=>w.Zt,pn:()=>k.Z,Do:()=>w.Do,H:()=>c.H,KE:()=>c.KE,CD:()=>r,Zz:()=>w.Zz,tA:()=>S.Z,F0:()=>x.F,mR:()=>x.m,jS:()=>f.Z,qo:()=>T.Z,qL:()=>D.Z,nn:()=>b.Z,hQ:()=>B.Z,i8:()=>M.Z});var i=n(3950),o=n(327);function r(t,...e){e.forEach((e=>{const n=Object.getOwnPropertyNames(e),i=Object.getOwnPropertySymbols(e);n.concat(i).forEach((n=>{if(n in t.prototype)return;if("function"==typeof e&&("length"==n||"name"==n||"prototype"==n))return;const i=Object.getOwnPropertyDescriptor(e,n);i.enumerable=!1,Object.defineProperty(t.prototype,n,i)}))}))}var s=n(669),a=n(9110),c=n(8378);class l{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=[]}}var d=n(8979),u=n(1916),h=n(2152);function m(t){return t instanceof HTMLTextAreaElement?t.value:t.innerHTML}var g=n(6224),p=n(679),f=n(8236),b=n(2907),k=n(6905),x=n(7275),w=n(1147),_=n(8918),A=n(3386),v=n(4033),C=n(7246),y=n(2073),E=n(6550),T=n(3701),D=n(9047),S=n(4841),I=n(6547),B=n(369),M=n(9807)},6547:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var i=n(4841);function o(t,e){const n=i.Z.get(e.priority);for(let o=0;o{"use strict";function i(t){return!(!t||!t[Symbol.iterator])}n.d(e,{Z:()=>i})},1147:(t,e,n)=>{"use strict";n.d(e,{Cq:()=>l,Do:()=>a,XU:()=>u,Zt:()=>g,Zz:()=>d,dj:()=>h,mA:()=>m});var i=n(8378),o=n(3950);const r={ctrl:"⌃",cmd:"⌘",alt:"⌥",shift:"⇧"},s={ctrl:"Ctrl+",alt:"Alt+",shift:"Shift+"},a=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;for(const e of"`-=[];',./\\")t[e]=e.charCodeAt(0);return t}(),c=Object.fromEntries(Object.entries(a).map((([t,e])=>[e,t.charAt(0).toUpperCase()+t.slice(1)])));function l(t){let e;if("string"==typeof t){if(e=a[t.toLowerCase()],!e)throw new i.ZP("keyboard-unknown-key",null,{key:t})}else e=t.keyCode+(t.altKey?a.alt:0)+(t.ctrlKey?a.ctrl:0)+(t.shiftKey?a.shift:0)+(t.metaKey?a.cmd:0);return e}function d(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 l(t.slice(0,-1));const e=l(t);return o.ZP.isMac&&e==a.ctrl?a.cmd:e}(t):t)).reduce(((t,e)=>e+t),0)}function u(t){let e=d(t);return Object.entries(o.ZP.isMac?r:s).reduce(((t,[n,i])=>(0!=(e&a[n])&&(e&=~a[n],t+=i),t)),"")+(e?c[e]:"")}function h(t){return t==a.arrowright||t==a.arrowleft||t==a.arrowup||t==a.arrowdown}function m(t,e){const n="ltr"===e;switch(t){case a.arrowleft:return n?"left":"right";case a.arrowright:return n?"right":"left";case a.arrowup:return"up";case a.arrowdown:return"down"}}function g(t,e){const n=m(t,e);return"down"===n||"right"===n}},6550:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});var i=n(1916),o=n(1147);class r{constructor(){this._listener=new i.Q}listenTo(t){this._listener.listenTo(t,"keydown",((t,e)=>{this._listener.fire("_keydown:"+(0,o.Cq)(e),e)}))}set(t,e,n={}){const i=(0,o.Zz)(t),r=n.priority;this._listener.listenTo(this._listener,"_keydown:"+i,((t,n)=>{e(n,(()=>{n.preventDefault(),n.stopPropagation(),t.stop()})),t.return=!0}),{priority:r})}press(t){return!!this._listener.fire("_keydown:"+(0,o.Cq)(t),t)}destroy(){this._listener.stopListening()}}},8918:(t,e,n)=>{"use strict";n.d(e,{j:()=>o});const i=["ar","ara","fa","per","fas","he","heb","ku","kur","ug","uig"];function o(t){return i.includes(t)?"rtl":"ltr"}},3386:(t,e,n)=>{"use strict";n.d(e,{Z:()=>c});var i=n(3701),o=n(8378),r=n(2152);function s(t,e,n=1){if("number"!=typeof n)throw new o.ZP("translation-service-quantity-not-a-number",null,{quantity:n});const i=Object.keys(r.Z.window.CKEDITOR_TRANSLATIONS).length;1===i&&(t=Object.keys(r.Z.window.CKEDITOR_TRANSLATIONS)[0]);const s=e.id||e.string;if(0===i||!function(t,e){return!!r.Z.window.CKEDITOR_TRANSLATIONS[t]&&!!r.Z.window.CKEDITOR_TRANSLATIONS[t].dictionary[e]}(t,s))return 1!==n?e.plural:e.string;const a=r.Z.window.CKEDITOR_TRANSLATIONS[t].dictionary,c=r.Z.window.CKEDITOR_TRANSLATIONS[t].getPluralForm||(t=>1===t?0:1),l=a[s];if("string"==typeof l)return l;return l[Number(c(n))]}r.Z.window.CKEDITOR_TRANSLATIONS||(r.Z.window.CKEDITOR_TRANSLATIONS={});var a=n(8918);class c{constructor(t={}){this.uiLanguage=t.uiLanguage||"en",this.contentLanguage=t.contentLanguage||this.uiLanguage,this.uiLanguageDirection=(0,a.j)(this.uiLanguage),this.contentLanguageDirection=(0,a.j)(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=(0,i.Z)(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)=>n{"use strict";n.d(e,{Z:()=>u,y:()=>h});var i=n(669),o=n(8378),r=n(7226);const s=Symbol("observableProperties"),a=Symbol("boundObservables"),c=Symbol("boundProperties"),l=Symbol("decoratedMethods"),d=Symbol("decoratedOriginal");function u(t){return class extends t{set(t,e){if((0,r.Z)(t))return void Object.keys(t).forEach((e=>{this.set(e,t[e])}),this);m(this);const n=this[s];if(t in this&&!n.has(t))throw new o.ZP("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||!f(t))throw new o.ZP("observable-bind-wrong-properties",this);if(new Set(t).size!==t.length)throw new o.ZP("observable-bind-duplicate-properties",this);m(this);const e=this[c];t.forEach((t=>{if(e.has(t))throw new o.ZP("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:g,toMany:p,_observable:this,_bindProperties:t,_to:[],_bindings:n}}unbind(...t){if(!this[s])return;const e=this[c],n=this[a];if(t.length){if(!f(t))throw new o.ZP("observable-unbind-wrong-properties",this);t.forEach((t=>{const i=e.get(t);i&&(i.to.forEach((([t,e])=>{const o=n.get(t),r=o[e];r.delete(i),r.size||delete o[e],Object.keys(o).length||(n.delete(t),this.stopListening(t,"change"))})),e.delete(t))}))}else n.forEach(((t,e)=>{this.stopListening(e,"change")})),n.clear(),e.clear()}decorate(t){m(this);const e=this[t];if(!e)throw new o.ZP("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][d]=e,this[l]||(this[l]=[]),this[l].push(t)}stopListening(t,e,n){if(!t&&this[l]){for(const t of this[l])this[t]=this[t][d];delete this[l]}i.Q5.prototype.stopListening.call(this,t,e,n)}}}const h=u(i.Q5);function m(t){t[s]||(Object.defineProperty(t,s,{value:new Map}),Object.defineProperty(t,a,{value:new Map}),Object.defineProperty(t,c,{value:new Map}))}function g(...t){const e=function(...t){if(!t.length)throw new o.ZP("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 o.ZP("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 o.ZP("observable-bind-to-no-callback",this);if(i>1&&e.callback)throw new o.ZP("observable-bind-to-extra-callback",this);var r;e.to.forEach((t=>{if(t.properties.length&&t.properties.length!==i)throw new o.ZP("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),r=this._observable,this._to.forEach((t=>{const e=r[a];let n;e.get(t.observable)||r.listenTo(t.observable,"change",((i,o)=>{n=e.get(t.observable)[o],n&&n.forEach((t=>{b(r,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[a],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=>{b(this._observable,t)}))}function p(t,e,n){if(this._bindings.size>1)throw new o.ZP("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 f(t){return t.every((t=>"string"==typeof t))}function b(t,e){const n=t[c].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)}["set","bind","unbind","decorate","on","once","off","listenTo","stopListening","fire","delegate","stopDelegating","_addEventListener","_removeEventListener"].forEach((t=>{u[t]=h.prototype[t]}))},4841:(t,e,n)=>{"use strict";n.d(e,{Z:()=>i});const i={get(t="normal"){return"number"!=typeof t?this[t]||this.normal:t},highest:1e5,high:1e3,normal:0,low:-1e3,lowest:-1e5}},3701:(t,e,n)=>{"use strict";function i(t){return Array.isArray(t)?t:[t]}n.d(e,{Z:()=>i})},9047:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});var i=n(5838);function o(t){return(0,i.Z)(t)?new Map(t):function(t){const e=new Map;for(const n in t)e.set(n,t[n]);return e}(t)}},369:(t,e,n)=>{"use strict";n.d(e,{Z:()=>o});const i=new Array(256).fill("").map(((t,e)=>("0"+e.toString(16)).slice(-2)));function o(){const t=4294967296*Math.random()>>>0,e=4294967296*Math.random()>>>0,n=4294967296*Math.random()>>>0,o=4294967296*Math.random()>>>0;return"e"+i[t>>0&255]+i[t>>8&255]+i[t>>16&255]+i[t>>24&255]+i[e>>0&255]+i[e>>8&255]+i[e>>16&255]+i[e>>24&255]+i[n>>0&255]+i[n>>8&255]+i[n>>16&255]+i[n>>24&255]+i[o>>0&255]+i[o>>8&255]+i[o>>16&255]+i[o>>24&255]}},9807:(t,e,n)=>{"use strict";n.d(e,{Z:()=>r});var i=n(8378);const o="35.3.0",r=o,s="object"==typeof window?window:n.g;if(s.CKEDITOR_VERSION)throw new i.ZP("ckeditor-duplicated-modules",null);s.CKEDITOR_VERSION=o},4537:t=>{"use strict";t.exports=function(t,e){var n=new Array(arguments.length-1),i=0,o=2,r=!0;for(;o{"use strict";var n=e;n.length=function(t){var e=t.length;if(!e)return 0;for(var n=0;--e%4>1&&"="===t.charAt(e);)++n;return Math.ceil(3*t.length)/4-n};for(var i=new Array(64),o=new Array(123),r=0;r<64;)o[i[r]=r<26?r+65:r<52?r+71:r<62?r-4:r-59|43]=r++;n.encode=function(t,e,n){for(var o,r=null,s=[],a=0,c=0;e>2],o=(3&l)<<4,c=1;break;case 1:s[a++]=i[o|l>>4],o=(15&l)<<2,c=2;break;case 2:s[a++]=i[o|l>>6],s[a++]=i[63&l],c=0}a>8191&&((r||(r=[])).push(String.fromCharCode.apply(String,s)),a=0)}return c&&(s[a++]=i[o],s[a++]=61,1===c&&(s[a++]=61)),r?(a&&r.push(String.fromCharCode.apply(String,s.slice(0,a))),r.join("")):String.fromCharCode.apply(String,s.slice(0,a))};var s="invalid encoding";n.decode=function(t,e,n){for(var i,r=n,a=0,c=0;c1)break;if(void 0===(l=o[l]))throw Error(s);switch(a){case 0:i=l,a=1;break;case 1:e[n++]=i<<2|(48&l)>>4,i=l,a=2;break;case 2:e[n++]=(15&i)<<4|(60&l)>>2,i=l,a=3;break;case 3:e[n++]=(3&i)<<6|l,a=0}}if(1===a)throw Error(s);return n-r},n.test=function(t){return/^(?:[A-Za-z0-9+/]{4})*(?:[A-Za-z0-9+/]{2}==|[A-Za-z0-9+/]{3}=)?$/.test(t)}},5124:t=>{"use strict";function e(t,n){"string"==typeof t&&(n=t,t=void 0);var i=[];function o(t){if("string"!=typeof t){var n=r();if(e.verbose&&console.log("codegen: "+n),n="return "+n,t){for(var s=Object.keys(t),a=new Array(s.length+1),c=new Array(s.length),l=0;l{"use strict";function e(){this._listeners={}}t.exports=e,e.prototype.on=function(t,e,n){return(this._listeners[t]||(this._listeners[t]=[])).push({fn:e,ctx:n||this}),this},e.prototype.off=function(t,e){if(void 0===t)this._listeners={};else if(void 0===e)this._listeners[t]=[];else for(var n=this._listeners[t],i=0;i{"use strict";t.exports=r;var i=n(4537),o=n(7199)("fs");function r(t,e,n){return"function"==typeof e?(n=e,e={}):e||(e={}),n?!e.xhr&&o&&o.readFile?o.readFile(t,(function(i,o){return i&&"undefined"!=typeof XMLHttpRequest?r.xhr(t,e,n):i?n(i):n(null,e.binary?o:o.toString("utf8"))})):r.xhr(t,e,n):i(r,this,t,e)}r.xhr=function(t,e,n){var i=new XMLHttpRequest;i.onreadystatechange=function(){if(4===i.readyState){if(0!==i.status&&200!==i.status)return n(Error("status "+i.status));if(e.binary){var t=i.response;if(!t){t=[];for(var o=0;o{"use strict";function e(t){return"undefined"!=typeof Float32Array?function(){var e=new Float32Array([-0]),n=new Uint8Array(e.buffer),i=128===n[3];function o(t,i,o){e[0]=t,i[o]=n[0],i[o+1]=n[1],i[o+2]=n[2],i[o+3]=n[3]}function r(t,i,o){e[0]=t,i[o]=n[3],i[o+1]=n[2],i[o+2]=n[1],i[o+3]=n[0]}function s(t,i){return n[0]=t[i],n[1]=t[i+1],n[2]=t[i+2],n[3]=t[i+3],e[0]}function a(t,i){return n[3]=t[i],n[2]=t[i+1],n[1]=t[i+2],n[0]=t[i+3],e[0]}t.writeFloatLE=i?o:r,t.writeFloatBE=i?r:o,t.readFloatLE=i?s:a,t.readFloatBE=i?a:s}():function(){function e(t,e,n,i){var o=e<0?1:0;if(o&&(e=-e),0===e)t(1/e>0?0:2147483648,n,i);else if(isNaN(e))t(2143289344,n,i);else if(e>34028234663852886e22)t((o<<31|2139095040)>>>0,n,i);else if(e<11754943508222875e-54)t((o<<31|Math.round(e/1401298464324817e-60))>>>0,n,i);else{var r=Math.floor(Math.log(e)/Math.LN2);t((o<<31|r+127<<23|8388607&Math.round(e*Math.pow(2,-r)*8388608))>>>0,n,i)}}function s(t,e,n){var i=t(e,n),o=2*(i>>31)+1,r=i>>>23&255,s=8388607&i;return 255===r?s?NaN:o*(1/0):0===r?1401298464324817e-60*o*s:o*Math.pow(2,r-150)*(s+8388608)}t.writeFloatLE=e.bind(null,n),t.writeFloatBE=e.bind(null,i),t.readFloatLE=s.bind(null,o),t.readFloatBE=s.bind(null,r)}(),"undefined"!=typeof Float64Array?function(){var e=new Float64Array([-0]),n=new Uint8Array(e.buffer),i=128===n[7];function o(t,i,o){e[0]=t,i[o]=n[0],i[o+1]=n[1],i[o+2]=n[2],i[o+3]=n[3],i[o+4]=n[4],i[o+5]=n[5],i[o+6]=n[6],i[o+7]=n[7]}function r(t,i,o){e[0]=t,i[o]=n[7],i[o+1]=n[6],i[o+2]=n[5],i[o+3]=n[4],i[o+4]=n[3],i[o+5]=n[2],i[o+6]=n[1],i[o+7]=n[0]}function s(t,i){return n[0]=t[i],n[1]=t[i+1],n[2]=t[i+2],n[3]=t[i+3],n[4]=t[i+4],n[5]=t[i+5],n[6]=t[i+6],n[7]=t[i+7],e[0]}function a(t,i){return n[7]=t[i],n[6]=t[i+1],n[5]=t[i+2],n[4]=t[i+3],n[3]=t[i+4],n[2]=t[i+5],n[1]=t[i+6],n[0]=t[i+7],e[0]}t.writeDoubleLE=i?o:r,t.writeDoubleBE=i?r:o,t.readDoubleLE=i?s:a,t.readDoubleBE=i?a:s}():function(){function e(t,e,n,i,o,r){var s=i<0?1:0;if(s&&(i=-i),0===i)t(0,o,r+e),t(1/i>0?0:2147483648,o,r+n);else if(isNaN(i))t(0,o,r+e),t(2146959360,o,r+n);else if(i>17976931348623157e292)t(0,o,r+e),t((s<<31|2146435072)>>>0,o,r+n);else{var a;if(i<22250738585072014e-324)t((a=i/5e-324)>>>0,o,r+e),t((s<<31|a/4294967296)>>>0,o,r+n);else{var c=Math.floor(Math.log(i)/Math.LN2);1024===c&&(c=1023),t(4503599627370496*(a=i*Math.pow(2,-c))>>>0,o,r+e),t((s<<31|c+1023<<20|1048576*a&1048575)>>>0,o,r+n)}}}function s(t,e,n,i,o){var r=t(i,o+e),s=t(i,o+n),a=2*(s>>31)+1,c=s>>>20&2047,l=4294967296*(1048575&s)+r;return 2047===c?l?NaN:a*(1/0):0===c?5e-324*a*l:a*Math.pow(2,c-1075)*(l+4503599627370496)}t.writeDoubleLE=e.bind(null,n,0,4),t.writeDoubleBE=e.bind(null,i,4,0),t.readDoubleLE=s.bind(null,o,0,4),t.readDoubleBE=s.bind(null,r,4,0)}(),t}function n(t,e,n){e[n]=255&t,e[n+1]=t>>>8&255,e[n+2]=t>>>16&255,e[n+3]=t>>>24}function i(t,e,n){e[n]=t>>>24,e[n+1]=t>>>16&255,e[n+2]=t>>>8&255,e[n+3]=255&t}function o(t,e){return(t[e]|t[e+1]<<8|t[e+2]<<16|t[e+3]<<24)>>>0}function r(t,e){return(t[e]<<24|t[e+1]<<16|t[e+2]<<8|t[e+3])>>>0}t.exports=e(e)},7199:module=>{"use strict";function inquire(moduleName){try{var mod=eval("quire".replace(/^/,"re"))(moduleName);if(mod&&(mod.length||Object.keys(mod).length))return mod}catch(t){}return null}module.exports=inquire},8626:(t,e)=>{"use strict";var n=e,i=n.isAbsolute=function(t){return/^(?:\/|\w+:)/.test(t)},o=n.normalize=function(t){var e=(t=t.replace(/\\/g,"/").replace(/\/{2,}/g,"/")).split("/"),n=i(t),o="";n&&(o=e.shift()+"/");for(var r=0;r0&&".."!==e[r-1]?e.splice(--r,2):n?e.splice(r,1):++r:"."===e[r]?e.splice(r,1):++r;return o+e.join("/")};n.resolve=function(t,e,n){return n||(e=o(e)),i(e)?e:(n||(t=o(t)),(t=t.replace(/(?:\/|^)[^/]+$/,"")).length?o(t+"/"+e):e)}},6662:t=>{"use strict";t.exports=function(t,e,n){var i=n||8192,o=i>>>1,r=null,s=i;return function(n){if(n<1||n>o)return t(n);s+n>i&&(r=t(i),s=0);var a=e.call(r,s,s+=n);return 7&s&&(s=1+(7|s)),a}}},4997:(t,e)=>{"use strict";var n=e;n.length=function(t){for(var e=0,n=0,i=0;i191&&i<224?r[s++]=(31&i)<<6|63&t[e++]:i>239&&i<365?(i=((7&i)<<18|(63&t[e++])<<12|(63&t[e++])<<6|63&t[e++])-65536,r[s++]=55296+(i>>10),r[s++]=56320+(1023&i)):r[s++]=(15&i)<<12|(63&t[e++])<<6|63&t[e++],s>8191&&((o||(o=[])).push(String.fromCharCode.apply(String,r)),s=0);return o?(s&&o.push(String.fromCharCode.apply(String,r.slice(0,s))),o.join("")):String.fromCharCode.apply(String,r.slice(0,s))},n.write=function(t,e,n){for(var i,o,r=n,s=0;s>6|192,e[n++]=63&i|128):55296==(64512&i)&&56320==(64512&(o=t.charCodeAt(s+1)))?(i=65536+((1023&i)<<10)+(1023&o),++s,e[n++]=i>>18|240,e[n++]=i>>12&63|128,e[n++]=i>>6&63|128,e[n++]=63&i|128):(e[n++]=i>>12|224,e[n++]=i>>6&63|128,e[n++]=63&i|128);return n-r}},3063:(t,e)=>{function n(t){if(t)return function(t){for(var e in n.prototype)t[e]=n.prototype[e];return t}(t)}e.Emitter=n,n.prototype.on=n.prototype.addEventListener=function(t,e){return this._callbacks=this._callbacks||{},(this._callbacks["$"+t]=this._callbacks["$"+t]||[]).push(e),this},n.prototype.once=function(t,e){function n(){this.off(t,n),e.apply(this,arguments)}return n.fn=e,this.on(t,n),this},n.prototype.off=n.prototype.removeListener=n.prototype.removeAllListeners=n.prototype.removeEventListener=function(t,e){if(this._callbacks=this._callbacks||{},0==arguments.length)return this._callbacks={},this;var n,i=this._callbacks["$"+t];if(!i)return this;if(1==arguments.length)return delete this._callbacks["$"+t],this;for(var o=0;o{"use strict";var md5,__WEBPACK_DEFAULT_EXPORT__=md5;(function(){var HxOverrides=function(){};HxOverrides.__name__=!0,HxOverrides.dateStr=function(t){var e=t.getMonth()+1,n=t.getDate(),i=t.getHours(),o=t.getMinutes(),r=t.getSeconds();return t.getFullYear()+"-"+(e<10?"0"+e:""+e)+"-"+(n<10?"0"+n:""+n)+" "+(i<10?"0"+i:""+i)+":"+(o<10?"0"+o:""+o)+":"+(r<10?"0"+r:""+r)},HxOverrides.strDate=function(t){switch(t.length){case 8:var e=t.split(":"),n=new Date;return n.setTime(0),n.setUTCHours(e[0]),n.setUTCMinutes(e[1]),n.setUTCSeconds(e[2]),n;case 10:e=t.split("-");return new Date(e[0],e[1]-1,e[2],0,0,0);case 19:var i=(e=t.split(" "))[0].split("-"),o=e[1].split(":");return new Date(i[0],i[1]-1,i[2],o[0],o[1],o[2]);default:throw"Invalid date format : "+t}},HxOverrides.cca=function(t,e){var n=t.charCodeAt(e);if(n==n)return n},HxOverrides.substr=function(t,e,n){return null!=e&&0!=e&&null!=n&&n<0?"":(null==n&&(n=t.length),e<0?(e=t.length+e)<0&&(e=0):n<0&&(n=t.length+n-e),t.substr(e,n))},HxOverrides.remove=function(t,e){for(var n=0,i=t.length;n>>32-e},str2blks:function(t){for(var e=1+(t.length+8>>6),n=new Array,i=0,o=16*e;i>2]|=HxOverrides.cca(t,r)<<(8*t.length+r)%4*8,r++;n[r>>2]|=128<<(8*t.length+r)%4*8;var s=8*t.length,a=16*e-2;return n[a]=255&s,n[a]|=(s>>>8&255)<<8,n[a]|=(s>>>16&255)<<16,n[a]|=(s>>>24&255)<<24,n},rhex:function(t){for(var e="",n="0123456789abcdef",i=0;i<4;){var o=i++;e+=n.charAt(t>>8*o+4&15)+n.charAt(t>>8*o&15)}return e},addme:function(t,e){var n=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(n>>16)<<16|65535&n},bitAND:function(t,e){return(t>>>1&e>>>1)<<1|1&t&e},bitXOR:function(t,e){return(t>>>1^e>>>1)<<1|1&t^1&e},bitOR:function(t,e){return(t>>>1|e>>>1)<<1|(1&t|1&e)},__class__:haxe.Md5},haxe.Timer=function(t){var e=this;this.id=window.setInterval((function(){e.run()}),t)},haxe.Timer.__name__=!0,haxe.Timer.delay=function(t,e){var n=new haxe.Timer(e);return n.run=function(){n.stop(),t()},n},haxe.Timer.measure=function(t,e){var n=haxe.Timer.stamp(),i=t();return haxe.Log.trace(haxe.Timer.stamp()-n+"s",e),i},haxe.Timer.stamp=function(){return(new Date).getTime()/1e3},haxe.Timer.prototype={run:function(){},stop:function(){null!=this.id&&(window.clearInterval(this.id),this.id=null)},__class__:haxe.Timer};var js=js||{},$_;function $bind(t,e){var n=function(){return n.method.apply(n.scope,arguments)};return n.scope=t,n.method=e,n}js.Boot=function(){},js.Boot.__name__=!0,js.Boot.__unhtml=function(t){return t.split("&").join("&").split("<").join("<").split(">").join(">")},js.Boot.__trace=function(t,e){var n,i=null!=e?e.fileName+":"+e.lineNumber+": ":"";i+=js.Boot.__string_rec(t,""),"undefined"!=typeof document&&null!=(n=document.getElementById("haxe:trace"))?n.innerHTML+=js.Boot.__unhtml(i)+" ":"undefined"!=typeof console&&null!=console.log&&console.log(i)},js.Boot.__clear_trace=function(){var t=document.getElementById("haxe:trace");null!=t&&(t.innerHTML="")},js.Boot.isClass=function(t){return t.__name__},js.Boot.isEnum=function(t){return t.__ename__},js.Boot.getClass=function(t){return t.__class__},js.Boot.__string_rec=function(t,e){if(null==t)return"null";if(e.length>=5)return"<...>";var n=typeof t;switch("function"==n&&(t.__name__||t.__ename__)&&(n="object"),n){case"object":if(t instanceof Array){if(t.__enum__){if(2==t.length)return t[0];var i=t[0]+"(";e+="\t";for(var o=2,r=t.length;o0?",":"")+js.Boot.__string_rec(t[c],e)}return i+="]"}var l;try{l=t.toString}catch(t){return"???"}if(null!=l&&l!=Object.toString){var d=t.toString();if("[object Object]"!=d)return d}var u=null;i="{\n";e+="\t";var h=null!=t.hasOwnProperty;for(var u in t)h&&!t.hasOwnProperty(u)||"prototype"!=u&&"__class__"!=u&&"__super__"!=u&&"__interfaces__"!=u&&"__properties__"!=u&&(2!=i.length&&(i+=", \n"),i+=e+u+" : "+js.Boot.__string_rec(t[u],e));return i+="\n"+(e=e.substring(1))+"}";case"function":return"";case"string":return t;default:return String(t)}},js.Boot.__interfLoop=function(t,e){if(null==t)return!1;if(t==e)return!0;var n=t.__interfaces__;if(null!=n)for(var i=0,o=n.length;i>>32-e},str2blks:function(t){for(var e=1+(t.length+8>>6),n=new Array,i=0,o=16*e;i>2]|=HxOverrides.cca(t,r)<<(8*t.length+r)%4*8,r++;n[r>>2]|=128<<(8*t.length+r)%4*8;var s=8*t.length,a=16*e-2;return n[a]=255&s,n[a]|=(s>>>8&255)<<8,n[a]|=(s>>>16&255)<<16,n[a]|=(s>>>24&255)<<24,n},rhex:function(t){for(var e="",n="0123456789abcdef",i=0;i<4;){var o=i++;e+=n.charAt(t>>8*o+4&15)+n.charAt(t>>8*o&15)}return e},addme:function(t,e){var n=(65535&t)+(65535&e);return(t>>16)+(e>>16)+(n>>16)<<16|65535&n},bitAND:function(t,e){return(t>>>1&e>>>1)<<1|1&t&e},bitXOR:function(t,e){return(t>>>1^e>>>1)<<1|1&t^1&e},bitOR:function(t,e){return(t>>>1|e>>>1)<<1|(1&t|1&e)},__class__:haxe.Md5},haxe.Timer=function(t){var e=this;this.id=window.setInterval((function(){e.run()}),t)},haxe.Timer.__name__=!0,haxe.Timer.delay=function(t,e){var n=new haxe.Timer(e);return n.run=function(){n.stop(),t()},n},haxe.Timer.measure=function(t,e){var n=haxe.Timer.stamp(),i=t();return haxe.Log.trace(haxe.Timer.stamp()-n+"s",e),i},haxe.Timer.stamp=function(){return(new Date).getTime()/1e3},haxe.Timer.prototype={run:function(){},stop:function(){null!=this.id&&(window.clearInterval(this.id),this.id=null)},__class__:haxe.Timer};var js=js||{},$_;function $bind(t,e){var n=function(){return n.method.apply(n.scope,arguments)};return n.scope=t,n.method=e,n}js.Boot=function(){},js.Boot.__name__=!0,js.Boot.__unhtml=function(t){return t.split("&").join("&").split("<").join("<").split(">").join(">")},js.Boot.__trace=function(t,e){var n,i=null!=e?e.fileName+":"+e.lineNumber+": ":"";i+=js.Boot.__string_rec(t,""),"undefined"!=typeof document&&null!=(n=document.getElementById("haxe:trace"))?n.innerHTML+=js.Boot.__unhtml(i)+" ":"undefined"!=typeof console&&null!=console.log&&console.log(i)},js.Boot.__clear_trace=function(){var t=document.getElementById("haxe:trace");null!=t&&(t.innerHTML="")},js.Boot.isClass=function(t){return t.__name__},js.Boot.isEnum=function(t){return t.__ename__},js.Boot.getClass=function(t){return t.__class__},js.Boot.__string_rec=function(t,e){if(null==t)return"null";if(e.length>=5)return"<...>";var n=typeof t;switch("function"==n&&(t.__name__||t.__ename__)&&(n="object"),n){case"object":if(t instanceof Array){if(t.__enum__){if(2==t.length)return t[0];var i=t[0]+"(";e+="\t";for(var o=2,r=t.length;o0?",":"")+js.Boot.__string_rec(t[c],e)}return i+="]"}var l;try{l=t.toString}catch(t){return"???"}if(null!=l&&l!=Object.toString){var d=t.toString();if("[object Object]"!=d)return d}var u=null;i="{\n";e+="\t";var h=null!=t.hasOwnProperty;for(var u in t)h&&!t.hasOwnProperty(u)||"prototype"!=u&&"__class__"!=u&&"__super__"!=u&&"__interfaces__"!=u&&"__properties__"!=u&&(2!=i.length&&(i+=", \n"),i+=e+u+" : "+js.Boot.__string_rec(t[u],e));return i+="\n"+(e=e.substring(1))+"}";case"function":return"";case"string":return t;default:return String(t)}},js.Boot.__interfLoop=function(t,e){if(null==t)return!1;if(t==e)return!0;var n=t.__interfaces__;if(null!=n)for(var i=0,o=n.length;i{function e(t){t=t||{},this.ms=t.min||100,this.max=t.max||1e4,this.factor=t.factor||2,this.jitter=t.jitter>0&&t.jitter<=1?t.jitter:0,this.attempts=0}t.exports=e,e.prototype.duration=function(){var t=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var e=Math.random(),n=Math.floor(e*this.jitter*t);t=0==(1&Math.floor(10*e))?t-n:t+n}return 0|Math.min(t,this.max)},e.prototype.reset=function(){this.attempts=0},e.prototype.setMin=function(t){this.ms=t},e.prototype.setMax=function(t){this.max=t},e.prototype.setJitter=function(t){this.jitter=t}},6553:(t,e,n)=>{"use strict";n.r(e),n.d(e,{CKEditorError:()=>i.Bb,Collection:()=>i.FE,DomEmitterMixin:()=>i.Xu,ElementReplacer:()=>i.a6,EmitterMixin:()=>i.ln,FocusTracker:()=>i.Rh,KeystrokeHandler:()=>i.VD,Locale:()=>i.go,ObservableMixin:()=>i.Re,Rect:()=>i.UL,ResizeObserver:()=>i.do,createElement:()=>i.az,diff:()=>i.Hg,env:()=>i.OB,first:()=>i.Ps,getCode:()=>i.Cq,getDataFromElement:()=>i.yy,getEnvKeystrokeText:()=>i.XU,getLanguageDirection:()=>i.j9,getLocalizedArrowKeyCodeDirection:()=>i.mA,global:()=>i.CO,insertToPriorityArray:()=>i.VG,isArrowKeyCode:()=>i.dj,isForwardArrowKeyCode:()=>i.Zt,isVisible:()=>i.pn,keyCodes:()=>i.Do,logError:()=>i.H,logWarning:()=>i.KE,mix:()=>i.CD,parseKeystroke:()=>i.Zz,priorities:()=>i.tA,scrollAncestorsToShowTarget:()=>i.F0,scrollViewportToShowTarget:()=>i.mR,setDataInElement:()=>i.jS,toArray:()=>i.qo,toMap:()=>i.qL,toUnit:()=>i.nn,uid:()=>i.hQ,version:()=>i.i8});var i=n(7557)},8180:(t,e,n)=>{"use strict";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 code{background-color:hsla(0,0%,78%,.3);border-radius:2px;padding:.15em}.ck.ck-editor__editable .ck-code_selected{background-color:hsla(0,0%,78%,.5)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-basic-styles/theme/code.css"],names:[],mappings:"AAKA,iBACC,kCAAuC,CAEvC,iBAAkB,CADlB,aAED,CAEA,0CACC,kCACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content code {\n\tbackground-color: hsla(0, 0%, 78%, 0.3);\n\tpadding: .15em;\n\tborder-radius: 2px;\n}\n\n.ck.ck-editor__editable .ck-code_selected {\n\tbackground-color: hsla(0, 0%, 78%, 0.5);\n}\n"],sourceRoot:""}]);const a=s},636:(t,e,n)=>{"use strict";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{border-left:5px solid #ccc;font-style:italic;margin-left:0;margin-right:0;overflow:hidden;padding-left:1.5em;padding-right:1.5em}.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,uBAWC,0BAAsC,CADtC,iBAAkB,CAFlB,aAAc,CACd,cAAe,CAPf,eAAgB,CAIhB,kBAAmB,CADnB,mBAOD,CAEA,gCACC,aAAc,CACd,2BACD",sourcesContent:['/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. 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)=>{"use strict";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;pointer-events:none;position:relative}.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{background:var(--ck-clipboard-drop-target-color);border:1px solid var(--ck-clipboard-drop-target-color);bottom:calc(var(--ck-clipboard-drop-target-dot-height)*-.5);margin-left:-1px;top:calc(var(--ck-clipboard-drop-target-dot-height)*-.5)}.ck.ck-editor__editable .ck.ck-clipboard-drop-target-position span:after{border-color:var(--ck-clipboard-drop-target-color) transparent transparent transparent;border-style:solid;border-width:calc(var(--ck-clipboard-drop-target-dot-height)) calc(var(--ck-clipboard-drop-target-dot-width)*.5) 0 calc(var(--ck-clipboard-drop-target-dot-width)*.5);content:"";display:block;height:0;left:50%;position:absolute;top:calc(var(--ck-clipboard-drop-target-dot-height)*-.5);transform:translateX(-50%);width:0}.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,CAEf,mBAAoB,CADpB,iBAOD,CAJC,mEACC,iBAAkB,CAClB,OACD,CAWA,qJACC,YACD,CCzBF,MACC,yCAA0C,CAC1C,yCAA0C,CAC1C,6DACD,CAOE,mEAIC,gDAAiD,CADjD,sDAAuD,CAFvD,2DAA8D,CAI9D,gBAAiB,CAHjB,wDAqBD,CAfC,yEAWC,sFAAuF,CAEvF,kBAAmB,CADnB,qKAA0K,CAX1K,UAAW,CAIX,aAAc,CAFd,QAAS,CAIT,QAAS,CADT,iBAAkB,CAElB,wDAA2D,CAE3D,0BAA2B,CAR3B,OAYD,CA2DF,kEACC,gGACD,CAKA,gDACC,OAAS,CACT,sBACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. 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-2022, CKSource Holding sp. z o.o. 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},9085:(t,e,n)=>{"use strict";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 pre{background:hsla(0,0%,78%,.3);border:1px solid #c4c4c4;border-radius:2px;color:#353535;direction:ltr;font-style:normal;min-width:200px;padding:1em;tab-size:4;text-align:left;white-space:pre-wrap}.ck-content pre code{background:unset;border-radius:0;padding:0}.ck.ck-editor__editable pre{position:relative}.ck.ck-editor__editable pre[data-language]:after{content:attr(data-language);position:absolute}:root{--ck-color-code-block-label-background:#757575}.ck.ck-editor__editable pre[data-language]:after{background:var(--ck-color-code-block-label-background);color:#fff;font-family:var(--ck-font-face);font-size:10px;line-height:16px;padding:var(--ck-spacing-tiny) var(--ck-spacing-medium);right:10px;top:-1px;white-space:nowrap}.ck.ck-code-block-dropdown .ck-dropdown__panel{max-height:250px;overflow-x:hidden;overflow-y:auto}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-code-block/theme/codeblock.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-code-block/codeblock.css"],names:[],mappings:"AAKA,gBAGC,4BAAiC,CACjC,wBAAiC,CACjC,iBAAkB,CAHlB,aAAwB,CAOxB,aAAc,CAMd,iBAAkB,CAGlB,eAAgB,CAjBhB,WAAY,CAUZ,UAAW,CAHX,eAAgB,CAIhB,oBAaD,CALC,qBACC,gBAAiB,CAEjB,eAAgB,CADhB,SAED,CAGD,4BACC,iBAMD,CAJC,iDACC,2BAA4B,CAC5B,iBACD,CCjCD,MACC,8CACD,CAEA,iDAGC,sDAAuD,CAMvD,UAAuB,CAHvB,+BAAgC,CADhC,cAAe,CAEf,gBAAiB,CACjB,uDAAwD,CANxD,UAAW,CADX,QAAS,CAST,kBACD,CAEA,+CAEC,gBAAiB,CAEjB,iBAAkB,CADlB,eAED",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck-content pre {\n\tpadding: 1em;\n\tcolor: hsl(0, 0%, 20.8%);\n\tbackground: hsla(0, 0%, 78%, 0.3);\n\tborder: 1px solid hsl(0, 0%, 77%);\n\tborder-radius: 2px;\n\n\t/* Code block are language direction–agnostic. */\n\ttext-align: left;\n\tdirection: ltr;\n\n\ttab-size: 4;\n\twhite-space: pre-wrap;\n\n\t/* Don't inherit the style, e.g. when in a block quote. */\n\tfont-style: normal;\n\n\t/* Don't let the code be squashed e.g. when in a table cell. */\n\tmin-width: 200px;\n\n\t& code {\n\t\tbackground: unset;\n\t\tpadding: 0;\n\t\tborder-radius: 0;\n\t}\n}\n\n.ck.ck-editor__editable pre {\n\tposition: relative;\n\n\t&[data-language]::after {\n\t\tcontent: attr(data-language);\n\t\tposition: absolute;\n\t}\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. 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-code-block-label-background: hsl(0, 0%, 46%);\n}\n\n.ck.ck-editor__editable pre[data-language]::after {\n\ttop: -1px;\n\tright: 10px;\n\tbackground: var(--ck-color-code-block-label-background);\n\n\tfont-size: 10px;\n\tfont-family: var(--ck-font-face);\n\tline-height: 16px;\n\tpadding: var(--ck-spacing-tiny) var(--ck-spacing-medium);\n\tcolor: hsl(0, 0%, 100%);\n\twhite-space: nowrap;\n}\n\n.ck.ck-code-block-dropdown .ck-dropdown__panel {\n\t/* There could be dozens of languages available. Use scroll to prevent a 10e6px dropdown. */\n\tmax-height: 250px;\n\toverflow-y: auto;\n\toverflow-x: hidden;\n}\n"],sourceRoot:""}]);const a=s},4807:(t,e,n)=>{"use strict";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 pre>code.ck-suggestion-marker-formatBlock{box-shadow:-7px 0 0 0 #ededed,-10px 0 0 0 var(--ck-color-suggestion-marker-format-border);display:block}.ck-content pre>code.ck-suggestion-marker-formatBlock.ck-suggestion-marker--active{box-shadow:-5px 0 0 0 #ededed,-8px 0 0 0 var(--ck-color-suggestion-marker-format-border-active)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-collaboration-core/theme/integrations/codeblock.css"],names:[],mappings:"AAAA,sDAEC,yFAAoG,CADpG,aAMD,CAHC,mFACC,+FACD",sourcesContent:[".ck-content pre > code.ck-suggestion-marker-formatBlock {\n\tdisplay: block;\n\tbox-shadow: -7px 0 0 0 hsl(0deg 0% 93%), -10px 0 0 0 var(--ck-color-suggestion-marker-format-border);\n\n\t&.ck-suggestion-marker--active {\n\t\tbox-shadow: -5px 0 0 0 hsl(0deg 0% 93%), -8px 0 0 0 var(--ck-color-suggestion-marker-format-border-active);\n\t}\n}\n"],sourceRoot:""}]);const a=s},8350:(t,e,n)=>{"use strict";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 .ck-suggestion-marker-deletion.ck-widget.ck-horizontal-line{background-color:var(--ck-color-suggestion-widget-deletion-background)}.ck-content .ck-suggestion-marker-deletion.ck-widget.ck-horizontal-line.ck-suggestion-marker--active{background-color:var(--ck-color-suggestion-widget-deletion-background-active)}.ck-content .ck-suggestion-marker-insertion.ck-widget.ck-horizontal-line{background-color:var(--ck-color-suggestion-widget-insertion-background)}.ck-content .ck-suggestion-marker-insertion.ck-widget.ck-horizontal-line.ck-suggestion-marker--active{background-color:var(--ck-color-suggestion-widget-insertion-background-active)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-collaboration-core/theme/integrations/horizontalline.css"],names:[],mappings:"AAAA,wEACC,sEAKD,CAHC,qGACC,6EACD,CAGD,yEACC,uEAKD,CAHC,sGACC,8EACD",sourcesContent:[".ck-content .ck-suggestion-marker-deletion.ck-widget.ck-horizontal-line {\n\tbackground-color: var(--ck-color-suggestion-widget-deletion-background);\n\n\t&.ck-suggestion-marker--active {\n\t\tbackground-color: var(--ck-color-suggestion-widget-deletion-background-active);\n\t}\n}\n\n.ck-content .ck-suggestion-marker-insertion.ck-widget.ck-horizontal-line {\n\tbackground-color: var(--ck-color-suggestion-widget-insertion-background);\n\n\t&.ck-suggestion-marker--active {\n\t\tbackground-color: var(--ck-color-suggestion-widget-insertion-background-active);\n\t}\n}\n"],sourceRoot:""}]);const a=s},8136:(t,e,n)=>{"use strict";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 .ck-suggestion-marker-deletion.ck-widget.image{background-color:var(--ck-color-suggestion-widget-deletion-background)}.ck-content .ck-suggestion-marker-deletion.ck-widget.image img{opacity:.6}.ck-content .ck-suggestion-marker-deletion.ck-widget.image figcaption{background-color:var(--ck-color-suggestion-widget-deletion-background)}.ck-content .ck-suggestion-marker-deletion.ck-widget.image.ck-suggestion-marker--active,.ck-content .ck-suggestion-marker-deletion.ck-widget.image.ck-suggestion-marker--active figcaption{background-color:var(--ck-color-suggestion-widget-deletion-background-active)}.ck-content .ck-suggestion-marker-insertion.ck-widget.image,.ck-content .ck-suggestion-marker-insertion.ck-widget.image figcaption{background-color:var(--ck-color-suggestion-widget-insertion-background)}.ck-content .ck-suggestion-marker-insertion.ck-widget.image.ck-suggestion-marker--active,.ck-content .ck-suggestion-marker-insertion.ck-widget.image.ck-suggestion-marker--active figcaption{background-color:var(--ck-color-suggestion-widget-insertion-background-active)}.ck-content .ck-widget.image>figcaption.ck-suggestion-marker-deletion{background-color:var(--ck-color-suggestion-widget-deletion-background);border:none}.ck-content .ck-widget.image>figcaption.ck-suggestion-marker-deletion.ck-suggestion-marker--active{background-color:var(--ck-color-suggestion-widget-deletion-background-active)}.ck-content .ck-widget.image>figcaption.ck-suggestion-marker-insertion{background-color:var(--ck-color-suggestion-widget-insertion-background);border:none}.ck-content .ck-widget.image>figcaption.ck-suggestion-marker-insertion.ck-suggestion-marker--active{background-color:var(--ck-color-suggestion-widget-insertion-background-active)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-collaboration-core/theme/integrations/image.css"],names:[],mappings:"AAAA,2DACC,sEAiBD,CAfC,+DACC,UACD,CAEA,sEACC,sEACD,CAKC,2LACC,6EACD,CAOD,mIACC,uEACD,CAKC,6LACC,8EACD,CAKD,sEACC,sEAAuE,CACvE,WAKD,CAHC,mGACC,6EACD,CAGD,uEACC,uEAAwE,CACxE,WAKD,CAHC,oGACC,8EACD",sourcesContent:[".ck-content .ck-suggestion-marker-deletion.ck-widget.image {\n\tbackground-color: var(--ck-color-suggestion-widget-deletion-background);\n\n\t& img {\n\t\topacity: 0.6;\n\t}\n\n\t& figcaption {\n\t\tbackground-color: var(--ck-color-suggestion-widget-deletion-background);\n\t}\n\n\t&.ck-suggestion-marker--active {\n\t\tbackground-color: var(--ck-color-suggestion-widget-deletion-background-active);\n\n\t\t& figcaption {\n\t\t\tbackground-color: var(--ck-color-suggestion-widget-deletion-background-active);\n\t\t}\n\t}\n}\n\n.ck-content .ck-suggestion-marker-insertion.ck-widget.image {\n\tbackground-color: var(--ck-color-suggestion-widget-insertion-background);\n\n\t& figcaption {\n\t\tbackground-color: var(--ck-color-suggestion-widget-insertion-background);\n\t}\n\n\t&.ck-suggestion-marker--active {\n\t\tbackground-color: var(--ck-color-suggestion-widget-insertion-background-active);\n\n\t\t& figcaption {\n\t\t\tbackground-color: var(--ck-color-suggestion-widget-insertion-background-active);\n\t\t}\n\t}\n}\n\n.ck-content .ck-widget.image > figcaption {\n\t&.ck-suggestion-marker-deletion {\n\t\tbackground-color: var(--ck-color-suggestion-widget-deletion-background);\n\t\tborder: none;\n\n\t\t&.ck-suggestion-marker--active {\n\t\t\tbackground-color: var(--ck-color-suggestion-widget-deletion-background-active);\n\t\t}\n\t}\n\n\t&.ck-suggestion-marker-insertion {\n\t\tbackground-color: var(--ck-color-suggestion-widget-insertion-background);\n\t\tborder: none;\n\n\t\t&.ck-suggestion-marker--active {\n\t\t\tbackground-color: var(--ck-color-suggestion-widget-insertion-background-active);\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},9224:(t,e,n)=>{"use strict";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 .ck-suggestion-marker-deletion.ck-widget.media{background-color:var(--ck-color-suggestion-widget-deletion-background)}.ck-content .ck-suggestion-marker-deletion.ck-widget.media .ck-media__wrapper{opacity:.6}.ck-content .ck-suggestion-marker-deletion.ck-widget.media.ck-suggestion-marker--active{background-color:var(--ck-color-suggestion-widget-deletion-background-active)}.ck-content .ck-suggestion-marker-insertion.ck-widget.media{background-color:var(--ck-color-suggestion-widget-insertion-background)}.ck-content .ck-suggestion-marker-insertion.ck-widget.media.ck-suggestion-marker--active{background-color:var(--ck-color-suggestion-widget-insertion-background-active)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-collaboration-core/theme/integrations/mediaembed.css"],names:[],mappings:"AAAA,2DACC,sEASD,CAPC,8EACC,UACD,CAEA,wFACC,6EACD,CAGD,4DACC,uEAKD,CAHC,yFACC,8EACD",sourcesContent:[".ck-content .ck-suggestion-marker-deletion.ck-widget.media {\n\tbackground-color: var(--ck-color-suggestion-widget-deletion-background);\n\n\t& .ck-media__wrapper {\n\t\topacity: 0.6;\n\t}\n\n\t&.ck-suggestion-marker--active {\n\t\tbackground-color: var(--ck-color-suggestion-widget-deletion-background-active);\n\t}\n}\n\n.ck-content .ck-suggestion-marker-insertion.ck-widget.media {\n\tbackground-color: var(--ck-color-suggestion-widget-insertion-background);\n\n\t&.ck-suggestion-marker--active {\n\t\tbackground-color: var(--ck-color-suggestion-widget-insertion-background-active);\n\t}\n}\n"],sourceRoot:""}]);const a=s},2102:(t,e,n)=>{"use strict";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 .ck-suggestion-marker-deletion.ck-widget.page-break{background-color:var(--ck-color-suggestion-widget-deletion-background)}.ck-content .ck-suggestion-marker-deletion.ck-widget.page-break.ck-suggestion-marker--active{background-color:var(--ck-color-suggestion-widget-deletion-background-active)}.ck-content .ck-suggestion-marker-insertion.ck-widget.page-break{background-color:var(--ck-color-suggestion-widget-insertion-background)}.ck-content .ck-suggestion-marker-insertion.ck-widget.page-break.ck-suggestion-marker--active{background-color:var(--ck-color-suggestion-widget-insertion-background-active)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-collaboration-core/theme/integrations/pagebreak.css"],names:[],mappings:"AAAA,gEACC,sEAKD,CAHC,6FACC,6EACD,CAGD,iEACC,uEAKD,CAHC,8FACC,8EACD",sourcesContent:[".ck-content .ck-suggestion-marker-deletion.ck-widget.page-break {\n\tbackground-color: var(--ck-color-suggestion-widget-deletion-background);\n\n\t&.ck-suggestion-marker--active {\n\t\tbackground-color: var(--ck-color-suggestion-widget-deletion-background-active);\n\t}\n}\n\n.ck-content .ck-suggestion-marker-insertion.ck-widget.page-break {\n\tbackground-color: var(--ck-color-suggestion-widget-insertion-background);\n\n\t&.ck-suggestion-marker--active {\n\t\tbackground-color: var(--ck-color-suggestion-widget-insertion-background-active);\n\t}\n}\n"],sourceRoot:""}]);const a=s},9050:(t,e,n)=>{"use strict";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-suggestion-widget-th-insertion-background:rgba(102,229,119,.12);--ck-color-suggestion-widget-th-insertion-background-active:rgba(37,218,61,.14);--ck-color-suggestion-widget-th-deletion-background:rgba(229,102,134,.14);--ck-color-suggestion-widget-th-deletion-background-active:rgba(196,33,74,.16)}.ck-content figure.table .ck-suggestion-marker-formatBlock{box-shadow:-3px 0 0 0 var(--ck-color-suggestion-marker-format-border)}.ck-content figure.table .ck-suggestion-marker-formatBlock.ck-suggestion-marker--active{box-shadow:-3px 0 0 0 var(--ck-color-suggestion-marker-format-border-active)}.ck-content .ck-suggestion-marker-insertion.table{border-color:var(--ck-color-suggestion-marker-insertion-border)}.ck-content .ck-suggestion-marker-insertion.table>figcaption{background-color:var(--ck-color-suggestion-widget-insertion-background)}.ck-content .ck-suggestion-marker-insertion.table>table>tbody>tr>th,.ck-content .ck-suggestion-marker-insertion.table>table>thead>tr>th{background-color:var(--ck-color-suggestion-widget-th-insertion-background);border-color:var(--ck-color-suggestion-marker-insertion-border)}.ck-content .ck-suggestion-marker-insertion.table>table>tbody>tr>td{background-color:var(--ck-color-suggestion-widget-insertion-background);border-color:var(--ck-color-suggestion-marker-insertion-border)}.ck-content .ck-suggestion-marker-insertion.ck-suggestion-marker--active.table{border-color:var(--ck-color-suggestion-marker-insertion-border-active)}.ck-content .ck-suggestion-marker-insertion.ck-suggestion-marker--active.table>figcaption{background-color:var(--ck-color-suggestion-widget-insertion-background-active)}.ck-content .ck-suggestion-marker-insertion.ck-suggestion-marker--active.table>table>tbody>tr>th,.ck-content .ck-suggestion-marker-insertion.ck-suggestion-marker--active.table>table>thead>tr>th{background-color:var(--ck-color-suggestion-widget-th-insertion-background-active);border-color:var(--ck-color-suggestion-marker-insertion-border-active)}.ck-content .ck-suggestion-marker-insertion.ck-suggestion-marker--active.table>table>tbody>tr>td{background-color:var(--ck-color-suggestion-widget-insertion-background-active);border-color:var(--ck-color-suggestion-marker-insertion-border-active)}.ck-content .ck-suggestion-marker-deletion.ck-widget.table{border-color:var(--ck-color-suggestion-marker-deletion-border)}.ck-content .ck-suggestion-marker-deletion.ck-widget.table>figcaption{background-color:var(--ck-color-suggestion-widget-deletion-background)}.ck-content .ck-suggestion-marker-deletion.ck-widget.table>table>tbody>tr>th,.ck-content .ck-suggestion-marker-deletion.ck-widget.table>table>thead>tr>th{background-color:var(--ck-color-suggestion-widget-th-deletion-background);border-color:var(--ck-color-suggestion-marker-deletion-border);text-decoration:none}.ck-content .ck-suggestion-marker-deletion.ck-widget.table>table>tbody>tr>td{background-color:var(--ck-color-suggestion-widget-deletion-background);border-color:var(--ck-color-suggestion-marker-deletion-border);text-decoration:none}.ck-content .ck-suggestion-marker-deletion.ck-suggestion-marker--active.table{border-color:var(--ck-color-suggestion-marker-deletion-border-active)}.ck-content .ck-suggestion-marker-deletion.ck-suggestion-marker--active.table>figcaption{background-color:var(--ck-color-suggestion-widget-deletion-background-active)}.ck-content .ck-suggestion-marker-deletion.ck-suggestion-marker--active.table>table>tbody>tr>th,.ck-content .ck-suggestion-marker-deletion.ck-suggestion-marker--active.table>table>thead>tr>th{background-color:var(--ck-color-suggestion-widget-th-deletion-background-active);border-color:var(--ck-color-suggestion-marker-deletion-border-active)}.ck-content .ck-suggestion-marker-deletion.ck-suggestion-marker--active.table>table>tbody>tr>td{background-color:var(--ck-color-suggestion-widget-deletion-background-active);border-color:var(--ck-color-suggestion-marker-deletion-border-active)}.ck-content .ck-widget.table>figcaption.ck-suggestion-marker-deletion{background-color:var(--ck-color-suggestion-widget-deletion-background);border:none}.ck-content .ck-widget.table>figcaption.ck-suggestion-marker-deletion.ck-suggestion-marker--active{background-color:var(--ck-color-suggestion-widget-deletion-background-active)}.ck-content .ck-widget.table>figcaption.ck-suggestion-marker-insertion{background-color:var(--ck-color-suggestion-widget-insertion-background);border:none}.ck-content .ck-widget.table>figcaption.ck-suggestion-marker-insertion.ck-suggestion-marker--active{background-color:var(--ck-color-suggestion-widget-insertion-background-active)}.ck-content .table th.ck-suggestion-marker-insertion{background-color:var(--ck-color-suggestion-widget-th-insertion-background)}.ck-content .table th.ck-suggestion-marker-insertion.ck-suggestion-marker--active{background-color:var(--ck-color-suggestion-widget-th-insertion-background-active)}.ck-content .table th.ck-suggestion-marker-deletion{background-color:var(--ck-color-suggestion-widget-th-deletion-background);text-decoration:none}.ck-content .table th.ck-suggestion-marker-deletion.ck-suggestion-marker--active{background-color:var(--ck-color-suggestion-widget-th-deletion-background-active)}.ck-content .table td.ck-suggestion-marker-insertion{background-color:var(--ck-color-suggestion-widget-insertion-background)}.ck-content .table td.ck-suggestion-marker-insertion.ck-suggestion-marker--active{background-color:var(--ck-color-suggestion-widget-insertion-background-active)}.ck-content .table td.ck-suggestion-marker-deletion{background-color:var(--ck-color-suggestion-widget-deletion-background);text-decoration:none}.ck-content .table td.ck-suggestion-marker-deletion.ck-suggestion-marker--active{background-color:var(--ck-color-suggestion-widget-deletion-background-active)}.ck-content .table td.ck-suggestion-marker-formatBlock,.ck-content .table td.ck-suggestion-marker-formatInline,.ck-content .table th.ck-suggestion-marker-formatBlock,.ck-content .table th.ck-suggestion-marker-formatInline{background-color:var(--ck-color-suggestion-widget-format-background);box-shadow:none}.ck-content .table td.ck-suggestion-marker-formatBlock.ck-suggestion-marker--active,.ck-content .table td.ck-suggestion-marker-formatInline.ck-suggestion-marker--active,.ck-content .table th.ck-suggestion-marker-formatBlock.ck-suggestion-marker--active,.ck-content .table th.ck-suggestion-marker-formatInline.ck-suggestion-marker--active{background-color:var(--ck-color-suggestion-widget-format-background-active);box-shadow:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-collaboration-core/theme/integrations/table.css"],names:[],mappings:"AAAA,MACC,0EAA8E,CAC9E,+EAAqF,CAErF,yEAA6E,CAC7E,8EACD,CAEA,2DACC,qEAKD,CAHC,wFACC,4EACD,CAGD,kDACC,+DAsBD,CApBC,6DACC,uEACD,CAQC,wIACC,0EAA2E,CAC3E,+DACD,CAEA,oEACC,uEAAwE,CACxE,+DACD,CAIF,+EACC,sEAsBD,CApBC,0FACC,8EACD,CAQC,kMACC,iFAAkF,CAClF,sEACD,CAEA,iGACC,8EAA+E,CAC/E,sEACD,CAIF,2DACC,8DAyBD,CAvBC,sEACC,sEACD,CASC,0JACC,yEAA0E,CAC1E,8DAA+D,CAC/D,oBACD,CAEA,6EACC,sEAAuE,CACvE,8DAA+D,CAC/D,oBACD,CAIF,8EACC,qEAsBD,CApBC,yFACC,6EACD,CAQC,gMACC,gFAAiF,CACjF,qEACD,CAEA,gGACC,6EAA8E,CAC9E,qEACD,CAKD,sEACC,sEAAuE,CACvE,WAKD,CAHC,mGACC,6EACD,CAGD,uEACC,uEAAwE,CACxE,WAKD,CAHC,oGACC,8EACD,CASD,qDACC,0EAKD,CAHC,kFACC,iFACD,CAGD,oDACC,yEAA0E,CAC1E,oBAKD,CAHC,iFACC,gFACD,CAGD,qDACC,uEAKD,CAHC,kFACC,8EACD,CAGD,oDACC,sEAAuE,CACvE,oBAKD,CAHC,iFACC,6EACD,CAGD,8NAIC,oEAAqE,CACrE,eAMD,CAJC,kVACC,2EAA4E,CAC5E,eACD",sourcesContent:[":root {\n\t--ck-color-suggestion-widget-th-insertion-background: hsla(128, 71%, 65%, .12);\n\t--ck-color-suggestion-widget-th-insertion-background-active: hsla(128, 71%, 50%, .14);\n\n\t--ck-color-suggestion-widget-th-deletion-background: hsla(345, 71%, 65%, .14);\n\t--ck-color-suggestion-widget-th-deletion-background-active: hsla(345, 71%, 45%, .16);\n}\n\n.ck-content figure.table .ck-suggestion-marker-formatBlock {\n\tbox-shadow: -3px 0 0 0 var(--ck-color-suggestion-marker-format-border);\n\n\t&.ck-suggestion-marker--active {\n\t\tbox-shadow: -3px 0 0 0 var(--ck-color-suggestion-marker-format-border-active);\n\t}\n}\n\n.ck-content .ck-suggestion-marker-insertion.table {\n\tborder-color: var(--ck-color-suggestion-marker-insertion-border);\n\n\t& > figcaption {\n\t\tbackground-color: var(--ck-color-suggestion-widget-insertion-background);\n\t}\n\n & > table {\n\t\t& > tbody > tr > th {\n\t\t\tbackground-color: var(--ck-color-suggestion-widget-th-insertion-background);\n\t\t\tborder-color: var(--ck-color-suggestion-marker-insertion-border);\n\t\t}\n\n\t\t& > thead > tr > th {\n\t\t\tbackground-color: var(--ck-color-suggestion-widget-th-insertion-background);\n\t\t\tborder-color: var(--ck-color-suggestion-marker-insertion-border);\n\t\t}\n\n\t\t& > tbody > tr > td {\n\t\t\tbackground-color: var(--ck-color-suggestion-widget-insertion-background);\n\t\t\tborder-color: var(--ck-color-suggestion-marker-insertion-border);\n\t\t}\n\t}\n}\n\n.ck-content .ck-suggestion-marker-insertion.ck-suggestion-marker--active.table {\n\tborder-color: var(--ck-color-suggestion-marker-insertion-border-active);\n\n\t& > figcaption {\n\t\tbackground-color: var(--ck-color-suggestion-widget-insertion-background-active);\n\t}\n\n\t& > table {\n\t\t& > tbody > tr > th {\n\t\t\tbackground-color: var(--ck-color-suggestion-widget-th-insertion-background-active);\n\t\t\tborder-color: var(--ck-color-suggestion-marker-insertion-border-active);\n\t\t}\n\n\t\t& > thead > tr > th {\n\t\t\tbackground-color: var(--ck-color-suggestion-widget-th-insertion-background-active);\n\t\t\tborder-color: var(--ck-color-suggestion-marker-insertion-border-active);\n\t\t}\n\n\t\t& > tbody > tr > td {\n\t\t\tbackground-color: var(--ck-color-suggestion-widget-insertion-background-active);\n\t\t\tborder-color: var(--ck-color-suggestion-marker-insertion-border-active);\n\t\t}\n\t}\n}\n\n.ck-content .ck-suggestion-marker-deletion.ck-widget.table {\n\tborder-color: var(--ck-color-suggestion-marker-deletion-border);\n\n\t& > figcaption {\n\t\tbackground-color: var(--ck-color-suggestion-widget-deletion-background);\n\t}\n\n\t& > table {\n\t\t& > tbody > tr > th {\n\t\t\tbackground-color: var(--ck-color-suggestion-widget-th-deletion-background);\n\t\t\tborder-color: var(--ck-color-suggestion-marker-deletion-border);\n\t\t\ttext-decoration: none;\n\t\t}\n\n\t\t& > thead > tr > th {\n\t\t\tbackground-color: var(--ck-color-suggestion-widget-th-deletion-background);\n\t\t\tborder-color: var(--ck-color-suggestion-marker-deletion-border);\n\t\t\ttext-decoration: none;\n\t\t}\n\n\t\t& > tbody > tr > td {\n\t\t\tbackground-color: var(--ck-color-suggestion-widget-deletion-background);\n\t\t\tborder-color: var(--ck-color-suggestion-marker-deletion-border);\n\t\t\ttext-decoration: none;\n\t\t}\n }\n}\n\n.ck-content .ck-suggestion-marker-deletion.ck-suggestion-marker--active.table {\n\tborder-color: var(--ck-color-suggestion-marker-deletion-border-active);\n\n\t& > figcaption {\n\t\tbackground-color: var(--ck-color-suggestion-widget-deletion-background-active);\n\t}\n\n & > table {\n\t\t& > tbody > tr > th {\n\t\t\tbackground-color: var(--ck-color-suggestion-widget-th-deletion-background-active);\n\t\t\tborder-color: var(--ck-color-suggestion-marker-deletion-border-active);\n\t\t}\n\n\t\t& > thead > tr > th {\n\t\t\tbackground-color: var(--ck-color-suggestion-widget-th-deletion-background-active);\n\t\t\tborder-color: var(--ck-color-suggestion-marker-deletion-border-active);\n\t\t}\n\n\t\t& > tbody > tr > td {\n\t\t\tbackground-color: var(--ck-color-suggestion-widget-deletion-background-active);\n\t\t\tborder-color: var(--ck-color-suggestion-marker-deletion-border-active);\n\t\t}\n\t}\n}\n\n.ck-content .ck-widget.table > figcaption {\n\t&.ck-suggestion-marker-deletion {\n\t\tbackground-color: var(--ck-color-suggestion-widget-deletion-background);\n\t\tborder: none;\n\n\t\t&.ck-suggestion-marker--active {\n\t\t\tbackground-color: var(--ck-color-suggestion-widget-deletion-background-active);\n\t\t}\n\t}\n\n\t&.ck-suggestion-marker-insertion {\n\t\tbackground-color: var(--ck-color-suggestion-widget-insertion-background);\n\t\tborder: none;\n\n\t\t&.ck-suggestion-marker--active {\n\t\t\tbackground-color: var(--ck-color-suggestion-widget-insertion-background-active);\n\t\t}\n\t}\n}\n\n/*\n * We need here at least 022 CSS Specificity because of table styles like `.ck-content .table table th { background: ... }\n * See: https://github.com/ckeditor/ckeditor5-table/blob/master/theme/table.css#L29\n */\n.ck-content .table {\n\t& th.ck-suggestion-marker-insertion {\n\t\tbackground-color: var(--ck-color-suggestion-widget-th-insertion-background);\n\n\t\t&.ck-suggestion-marker--active {\n\t\t\tbackground-color: var(--ck-color-suggestion-widget-th-insertion-background-active);\n\t\t}\n\t}\n\n\t& th.ck-suggestion-marker-deletion {\n\t\tbackground-color: var(--ck-color-suggestion-widget-th-deletion-background);\n\t\ttext-decoration: none;\n\n\t\t&.ck-suggestion-marker--active {\n\t\t\tbackground-color: var(--ck-color-suggestion-widget-th-deletion-background-active);\n\t\t}\n\t}\n\n\t& td.ck-suggestion-marker-insertion {\n\t\tbackground-color: var(--ck-color-suggestion-widget-insertion-background);\n\n\t\t&.ck-suggestion-marker--active {\n\t\t\tbackground-color: var(--ck-color-suggestion-widget-insertion-background-active);\n\t\t}\n\t}\n\n\t& td.ck-suggestion-marker-deletion {\n\t\tbackground-color: var(--ck-color-suggestion-widget-deletion-background);\n\t\ttext-decoration: none;\n\n\t\t&.ck-suggestion-marker--active {\n\t\t\tbackground-color: var(--ck-color-suggestion-widget-deletion-background-active);\n\t\t}\n\t}\n\n\t& th.ck-suggestion-marker-formatInline,\n\t& td.ck-suggestion-marker-formatInline,\n\t& th.ck-suggestion-marker-formatBlock,\n\t& td.ck-suggestion-marker-formatBlock {\n\t\tbackground-color: var(--ck-color-suggestion-widget-format-background);\n\t\tbox-shadow: none;\n\n\t\t&.ck-suggestion-marker--active {\n\t\t\tbackground-color: var(--ck-color-suggestion-widget-format-background-active);\n\t\t\tbox-shadow: none;\n\t\t}\n\t}\n}\n"],sourceRoot:""}]);const a=s},9032:(t,e,n)=>{"use strict";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-comment-box-border:#f2de02;--ck-color-suggestion-box-deletion-border:#d85a79;--ck-color-suggestion-box-insertion-border:#5ad86b;--ck-color-suggestion-box-format-border:#5ac1d8}.ck .ck-suggestion{border-top-left-radius:var(--ck-border-radius)}.ck .ck-annotation{border-left:3px solid transparent}.ck .ck-suggestion--disabled-comments .ck-annotation{min-height:80px}.ck .ck-comment,.ck .ck-comment__input-container,.ck .ck-thread__comment-count{border-left:3px solid var(--ck-color-comment-box-border)}.ck .ck-suggestion-insertion .ck-suggestion{border-left-color:var(--ck-color-suggestion-box-insertion-border)}.ck .ck-suggestion-deletion .ck-suggestion{border-left-color:var(--ck-color-suggestion-box-deletion-border)}.ck .ck-suggestion-replace .ck-suggestion{border-left-color:var(--ck-color-suggestion-box-insertion-border)}.ck .ck-suggestion-format .ck-suggestion{border-left-color:var(--ck-color-suggestion-box-format-border)}.ck .ck-suggestion-wrapper{outline:0}.ck .ck-suggestion-type{font-weight:700}.ck .ck-suggestion-color{border-radius:14px;box-shadow:0 0 0 1px #444;display:inline-block;height:14px;margin:0 5px;vertical-align:text-bottom;width:14px}.ck .ck-suggestion-insertion .ck-comment,.ck .ck-suggestion-insertion .ck-comment__input-container,.ck .ck-suggestion-insertion .ck-thread__comment-count,.ck .ck-suggestion-replace .ck-comment,.ck .ck-suggestion-replace .ck-comment__input-container,.ck .ck-suggestion-replace .ck-thread__comment-count{border-left-color:var(--ck-color-suggestion-box-insertion-border)}.ck .ck-suggestion-deletion .ck-comment,.ck .ck-suggestion-deletion .ck-comment__input-container,.ck .ck-suggestion-deletion .ck-thread__comment-count{border-left-color:var(--ck-color-suggestion-box-deletion-border)}.ck .ck-suggestion-format .ck-comment,.ck .ck-suggestion-format .ck-comment__input-container,.ck .ck-suggestion-format .ck-thread__comment-count{border-left-color:var(--ck-color-suggestion-box-format-border)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-collaboration-core/theme/suggestion.css"],names:[],mappings:"AAAA,MACC,qCAAgD,CAChD,iDAA6D,CAC7D,kDAA8D,CAC9D,+CACD,CAEA,mBACC,8CACD,CAEA,mBACC,iCACD,CAKA,qDACC,eACD,CAIA,+EAGC,wDACD,CAEA,4CACC,iEACD,CAEA,2CACC,gEACD,CAEA,0CACC,iEACD,CAEA,yCACC,8DACD,CAEA,2BACC,SACD,CAEA,wBACC,eACD,CAEA,yBAIC,kBAAmB,CAGnB,yBAA0B,CAN1B,oBAAqB,CAErB,WAAY,CAGZ,YAAa,CADb,0BAA2B,CAH3B,UAMD,CAKA,8SAMC,iEACD,CAEA,uJAGC,gEACD,CAEA,iJAGC,8DACD",sourcesContent:[":root {\n\t--ck-color-comment-box-border: hsl(55, 98%, 48%);\n\t--ck-color-suggestion-box-deletion-border: hsl(345, 62%, 60%);\n\t--ck-color-suggestion-box-insertion-border: hsl(128, 62%, 60%);\n\t--ck-color-suggestion-box-format-border: hsl(191, 62%, 60%);\n}\n\n.ck .ck-suggestion {\n\tborder-top-left-radius: var(--ck-border-radius);\n}\n\n.ck .ck-annotation {\n\tborder-left: 3px solid transparent;\n}\n\n\n/* See: #3683.\n * Inline Suggestion annotations that can't be commented on contains a scrollbar by default */\n.ck .ck-suggestion--disabled-comments .ck-annotation {\n\tmin-height: 80px;\n}\n\n/* See: #2459.\nWith track-changes feature enabled, we need to distinguish various types of annotations (comments and suggestions). */\n.ck .ck-comment,\n.ck .ck-thread__comment-count,\n.ck .ck-comment__input-container {\n\tborder-left: 3px solid var(--ck-color-comment-box-border);\n}\n\n.ck .ck-suggestion-insertion .ck-suggestion {\n\tborder-left-color: var(--ck-color-suggestion-box-insertion-border);\n}\n\n.ck .ck-suggestion-deletion .ck-suggestion {\n\tborder-left-color: var(--ck-color-suggestion-box-deletion-border);\n}\n\n.ck .ck-suggestion-replace .ck-suggestion {\n\tborder-left-color: var(--ck-color-suggestion-box-insertion-border);\n}\n\n.ck .ck-suggestion-format .ck-suggestion {\n\tborder-left-color: var(--ck-color-suggestion-box-format-border);\n}\n\n.ck .ck-suggestion-wrapper {\n\toutline: 0;\n}\n\n.ck .ck-suggestion-type {\n\tfont-weight: bold;\n}\n\n.ck .ck-suggestion-color {\n\tdisplay: inline-block;\n\twidth: 14px;\n\theight: 14px;\n\tborder-radius: 14px;\n\tvertical-align: text-bottom;\n\tmargin: 0 5px;\n\tbox-shadow: 0 0 0 1px #444;\n}\n\n/* Comments inside suggestion. */\n\n/* Handle comments inside suggestion keep same border-color. */\n.ck .ck-suggestion-insertion .ck-comment,\n.ck .ck-suggestion-insertion .ck-thread__comment-count,\n.ck .ck-suggestion-insertion .ck-comment__input-container,\n.ck .ck-suggestion-replace .ck-comment,\n.ck .ck-suggestion-replace .ck-thread__comment-count,\n.ck .ck-suggestion-replace .ck-comment__input-container {\n\tborder-left-color: var(--ck-color-suggestion-box-insertion-border);\n}\n\n.ck .ck-suggestion-deletion .ck-comment,\n.ck .ck-suggestion-deletion .ck-thread__comment-count,\n.ck .ck-suggestion-deletion .ck-comment__input-container {\n\tborder-left-color: var(--ck-color-suggestion-box-deletion-border);\n}\n\n.ck .ck-suggestion-format .ck-comment,\n.ck .ck-suggestion-format .ck-thread__comment-count,\n.ck .ck-suggestion-format .ck-comment__input-container {\n\tborder-left-color: var(--ck-color-suggestion-box-format-border);\n}\n"],sourceRoot:""}]);const a=s},6533:(t,e,n)=>{"use strict";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-suggestion-marker-insertion-border:rgba(30,174,49,.35);--ck-color-suggestion-marker-insertion-border-active:rgba(18,109,31,.5);--ck-color-suggestion-marker-insertion-background:rgba(102,229,119,.35);--ck-color-suggestion-marker-insertion-background-active:rgba(37,218,61,.5);--ck-color-suggestion-marker-deletion-border:rgba(174,30,66,.35);--ck-color-suggestion-marker-deletion-border-active:rgba(109,18,41,.5);--ck-color-suggestion-marker-deletion-background:rgba(229,102,134,.35);--ck-color-suggestion-marker-deletion-background-active:rgba(218,37,82,.5);--ck-color-suggestion-marker-deletion-stroke:rgba(87,15,33,.5);--ck-color-suggestion-marker-format-border:rgba(10,160,194,.4);--ck-color-suggestion-marker-format-border-active:rgba(10,160,194,.65);--ck-color-suggestion-widget-insertion-background:rgba(102,229,119,.05);--ck-color-suggestion-widget-insertion-background-active:rgba(37,218,61,.07);--ck-color-suggestion-widget-deletion-background:rgba(229,102,134,.05);--ck-color-suggestion-widget-deletion-background-active:rgba(196,33,74,.07);--ck-color-suggestion-widget-format-background:rgba(10,160,194,.09);--ck-color-suggestion-widget-format-background-active:rgba(10,160,194,.16)}.ck-content .ck-suggestion-marker-insertion{background:var(--ck-color-suggestion-marker-insertion-background);border-bottom:3px solid var(--ck-color-suggestion-marker-insertion-border);border-top:3px solid var(--ck-color-suggestion-marker-insertion-border)}.ck-content .ck-suggestion-marker-insertion.ck-suggestion-marker--active{background:var(--ck-color-suggestion-marker-insertion-background-active);border-color:var(--ck-color-suggestion-marker-insertion-border-active)}.ck-content .ck-suggestion-marker-insertion.ck-widget{background:none;border:3px solid var(--ck-color-suggestion-marker-insertion-border);text-decoration:none}.ck-content .ck-suggestion-marker-insertion.ck-widget.ck-suggestion-marker--active{border-color:var(--ck-color-suggestion-marker-insertion-border-active)}.ck-content .ck-suggestion-marker-deletion{background:var(--ck-color-suggestion-marker-deletion-background);border-bottom:3px solid var(--ck-color-suggestion-marker-deletion-border);border-top:3px solid var(--ck-color-suggestion-marker-deletion-border);text-decoration:line-through;text-decoration-color:var(--ck-color-suggestion-marker-deletion-stroke);text-decoration-thickness:3px}.ck-content .ck-suggestion-marker-deletion.ck-suggestion-marker--active{background:var(--ck-color-suggestion-marker-deletion-background-active);border-color:var(--ck-color-suggestion-marker-deletion-border-active)}.ck-content .ck-suggestion-marker-deletion.ck-widget{background:none;border:3px solid var(--ck-color-suggestion-marker-deletion-border);text-decoration:none}.ck-content .ck-suggestion-marker-deletion.ck-widget.ck-suggestion-marker--active{border-color:var(--ck-color-suggestion-marker-deletion-border-active)}.ck-content .ck-suggestion-marker-merge:after{background:var(--ck-color-suggestion-marker-deletion-background);border-bottom:3px solid var(--ck-color-suggestion-marker-deletion-border);border-top:3px solid var(--ck-color-suggestion-marker-deletion-border);color:var(--ck-color-suggestion-marker-deletion-stroke);content:"¶";text-decoration:line-through;text-decoration-color:var(--ck-color-suggestion-marker-deletion-stroke)}.ck-content .ck-suggestion-marker-merge.ck-suggestion-marker--active:after{background:var(--ck-color-suggestion-marker-deletion-background-active);border-color:var(--ck-color-suggestion-marker-deletion-border-active)}.ck-content .ck-suggestion-marker-split:after{background:var(--ck-color-suggestion-marker-insertion-background);border-bottom:3px solid var(--ck-color-suggestion-marker-insertion-border);border-top:3px solid var(--ck-color-suggestion-marker-insertion-border);color:var(--ck-color-suggestion-marker-insertion-border);content:"¶"}.ck-content .ck-suggestion-marker-split.ck-suggestion-marker--active:after{background:var(--ck-color-suggestion-marker-insertion-background-active);border-color:var(--ck-color-suggestion-marker-insertion-border-active)}.ck-content .ck-suggestion-marker-formatInline{border-bottom:3px solid var(--ck-color-suggestion-marker-format-border);border-top:3px solid var(--ck-color-suggestion-marker-format-border)}.ck-content .ck-suggestion-marker-formatInline.ck-suggestion-marker--active{border-color:var(--ck-color-suggestion-marker-format-border-active)}.ck-content .ck-suggestion-marker-formatInline.ck-widget{background:none;border:3px solid var(--ck-color-suggestion-marker-format-border)}.ck-content .ck-suggestion-marker-formatInline.ck-widget.ck-suggestion-marker--active{border-color:var(--ck-color-suggestion-marker-format-border-active)}.ck-content .ck-suggestion-marker-formatBlock{background:none;border:0;box-shadow:-7px 0 0 0 var(--ck-color-base-background),-10px 0 0 0 var(--ck-color-suggestion-marker-format-border)}.ck-content .ck-suggestion-marker-formatBlock.ck-suggestion-marker--active{box-shadow:-5px 0 0 0 var(--ck-color-base-background),-8px 0 0 0 var(--ck-color-suggestion-marker-format-border-active)}.ck-content ol .ck-suggestion-marker-formatBlock,.ck-content ul .ck-suggestion-marker-formatBlock{box-shadow:-2px 0 0 0 var(--ck-color-base-background),-5px 0 0 0 var(--ck-color-suggestion-marker-format-border)}.ck-content ol .ck-suggestion-marker-formatBlock.ck-suggestion-marker--active,.ck-content ul .ck-suggestion-marker-formatBlock.ck-suggestion-marker--active{box-shadow:-2px 0 0 0 var(--ck-color-base-background),-5px 0 0 0 var(--ck-color-suggestion-marker-format-border-active)}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-collaboration-core/theme/suggestionmarker.css"],names:[],mappings:"AAQA,MACC,iEAAuE,CACvE,uEAA6E,CAC7E,uEAA2E,CAC3E,2EAAiF,CAEjF,gEAAsE,CACtE,sEAA4E,CAC5E,sEAA0E,CAC1E,0EAAgF,CAChF,8DAAqE,CAErE,8DAAmE,CACnE,sEAA2E,CAE3E,uEAA2E,CAC3E,4EAAkF,CAElF,sEAA0E,CAC1E,2EAAiF,CAEjF,mEAAwE,CACxE,0EACD,CAEA,4CAGC,iEAAkE,CADlE,0EAA2E,CAD3E,uEAmBD,CAfC,yEAEC,wEAAyE,CADzE,sEAED,CAGA,sDACC,eAAgB,CAEhB,mEAAoE,CADpE,oBAMD,CAHC,mFACC,sEACD,CAIF,2CASC,gEAAiE,CAPjE,yEAA0E,CAD1E,sEAAuE,CAIvE,4BAA6B,CAC7B,uEAAwE,CACxE,6BAmBD,CAfC,wEAEC,uEAAwE,CADxE,qEAED,CAGA,qDACC,eAAgB,CAEhB,kEAAmE,CADnE,oBAMD,CAHC,kFACC,qEACD,CAKD,8CAQC,gEAAiE,CANjE,yEAA0E,CAD1E,sEAAuE,CAQvE,uDAAwD,CACxD,WAAY,CALZ,4BAA6B,CAC7B,uEAKD,CAEA,2EAEC,uEAAwE,CADxE,qEAED,CAIA,8CAGC,iEAAkE,CADlE,0EAA2E,CAD3E,uEAAwE,CAGxE,wDAAyD,CACzD,WACD,CAEA,2EAEC,wEAAyE,CADzE,sEAED,CAGD,+CAEC,uEAAwE,CADxE,oEAeD,CAZC,4EACC,mEACD,CAEA,yDACC,eAAgB,CAChB,gEAKD,CAHC,sFACC,mEACD,CAWF,8CAEC,eAAgB,CADhB,QAAS,CAET,iHAKD,CAHC,2EACC,uHACD,CAGD,kGAEC,gHAKD,CAHC,4JACC,uHACD",sourcesContent:["/*\n * What you're currently looking at is the source code of a legally protected, proprietary software.\n * Letters is licensed under a commercial license and protected by copyright law. Where not otherwise indicated,\n * all Letters content is authored by CKSource engineers and consists of CKSource-owned intellectual property.\n *\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n */\n\n:root {\n\t--ck-color-suggestion-marker-insertion-border: hsla(128, 71%, 40%, .35);\n\t--ck-color-suggestion-marker-insertion-border-active: hsla(128, 71%, 25%, .5);\n\t--ck-color-suggestion-marker-insertion-background: hsla(128, 71%, 65%, .35);\n\t--ck-color-suggestion-marker-insertion-background-active: hsla(128, 71%, 50%, .5);\n\n\t--ck-color-suggestion-marker-deletion-border: hsla(345, 71%, 40%, .35);\n\t--ck-color-suggestion-marker-deletion-border-active: hsla(345, 71%, 25%, .5);\n\t--ck-color-suggestion-marker-deletion-background: hsla(345, 71%, 65%, .35);\n\t--ck-color-suggestion-marker-deletion-background-active: hsla(345, 71%, 50%, .5);\n\t--ck-color-suggestion-marker-deletion-stroke: hsla(345, 71%, 20%, .5);\n\n\t--ck-color-suggestion-marker-format-border: hsla(191, 90%, 40%, .4);\n\t--ck-color-suggestion-marker-format-border-active: hsla(191, 90%, 40%, .65);\n\n\t--ck-color-suggestion-widget-insertion-background: hsla(128, 71%, 65%, .05);\n\t--ck-color-suggestion-widget-insertion-background-active: hsla(128, 71%, 50%, .07);\n\n\t--ck-color-suggestion-widget-deletion-background: hsla(345, 71%, 65%, .05);\n\t--ck-color-suggestion-widget-deletion-background-active: hsla(345, 71%, 45%, .07);\n\n\t--ck-color-suggestion-widget-format-background: hsla(191, 90%, 40%, .09);\n\t--ck-color-suggestion-widget-format-background-active: hsla(191, 90%, 40%, .16);\n}\n\n.ck-content .ck-suggestion-marker-insertion {\n\tborder-top: 3px solid var(--ck-color-suggestion-marker-insertion-border);\n\tborder-bottom: 3px solid var(--ck-color-suggestion-marker-insertion-border);\n\tbackground: var(--ck-color-suggestion-marker-insertion-background);\n\n\t&.ck-suggestion-marker--active {\n\t\tborder-color: var(--ck-color-suggestion-marker-insertion-border-active);\n\t\tbackground: var(--ck-color-suggestion-marker-insertion-background-active);\n\t}\n\n\t/* Disable background of marker inside widget. */\n\t&.ck-widget {\n\t\tbackground: none;\n\t\ttext-decoration: none;\n\t\tborder: 3px solid var(--ck-color-suggestion-marker-insertion-border);\n\n\t\t&.ck-suggestion-marker--active {\n\t\t\tborder-color: var(--ck-color-suggestion-marker-insertion-border-active);\n\t\t}\n\t}\n}\n\n.ck-content .ck-suggestion-marker-deletion {\n\tborder-top: 3px solid var(--ck-color-suggestion-marker-deletion-border);\n\tborder-bottom: 3px solid var(--ck-color-suggestion-marker-deletion-border);\n\n\t/* #2810. Safari doesn't support combined text-decoration values. */\n\ttext-decoration: line-through;\n\ttext-decoration-color: var(--ck-color-suggestion-marker-deletion-stroke);\n\ttext-decoration-thickness: 3px;\n\n\tbackground: var(--ck-color-suggestion-marker-deletion-background);\n\n\t&.ck-suggestion-marker--active {\n\t\tborder-color: var(--ck-color-suggestion-marker-deletion-border-active);\n\t\tbackground: var(--ck-color-suggestion-marker-deletion-background-active);\n\t}\n\n\t/* Disable background of marker inside widget. */\n\t&.ck-widget {\n\t\tbackground: none;\n\t\ttext-decoration: none;\n\t\tborder: 3px solid var(--ck-color-suggestion-marker-deletion-border);\n\n\t\t&.ck-suggestion-marker--active {\n\t\t\tborder-color: var(--ck-color-suggestion-marker-deletion-border-active);\n\t\t}\n\t}\n}\n\n.ck-content .ck-suggestion-marker-merge {\n\t&::after {\n\t\tborder-top: 3px solid var(--ck-color-suggestion-marker-deletion-border);\n\t\tborder-bottom: 3px solid var(--ck-color-suggestion-marker-deletion-border);\n\n\t\t/* #2810. Safari doesn't support combined text-decoration values. */\n\t\ttext-decoration: line-through;\n\t\ttext-decoration-color: var(--ck-color-suggestion-marker-deletion-stroke);\n\n\t\tbackground: var(--ck-color-suggestion-marker-deletion-background);\n\t\tcolor: var(--ck-color-suggestion-marker-deletion-stroke);\n\t\tcontent: '¶';\n\t}\n\n\t&.ck-suggestion-marker--active::after {\n\t\tborder-color: var(--ck-color-suggestion-marker-deletion-border-active);\n\t\tbackground: var(--ck-color-suggestion-marker-deletion-background-active);\n\t}\n}\n\n.ck-content .ck-suggestion-marker-split {\n\t&::after {\n\t\tborder-top: 3px solid var(--ck-color-suggestion-marker-insertion-border);\n\t\tborder-bottom: 3px solid var(--ck-color-suggestion-marker-insertion-border);\n\t\tbackground: var(--ck-color-suggestion-marker-insertion-background);\n\t\tcolor: var(--ck-color-suggestion-marker-insertion-border);\n\t\tcontent: '¶';\n\t}\n\n\t&.ck-suggestion-marker--active::after {\n\t\tborder-color: var(--ck-color-suggestion-marker-insertion-border-active);\n\t\tbackground: var(--ck-color-suggestion-marker-insertion-background-active);\n\t}\n}\n\n.ck-content .ck-suggestion-marker-formatInline {\n\tborder-top: 3px solid var(--ck-color-suggestion-marker-format-border);\n\tborder-bottom: 3px solid var(--ck-color-suggestion-marker-format-border);\n\n\t&.ck-suggestion-marker--active {\n\t\tborder-color: var(--ck-color-suggestion-marker-format-border-active);\n\t}\n\n\t&.ck-widget {\n\t\tbackground: none;\n\t\tborder: 3px solid var(--ck-color-suggestion-marker-format-border);\n\n\t\t&.ck-suggestion-marker--active {\n\t\t\tborder-color: var(--ck-color-suggestion-marker-format-border-active);\n\t\t}\n\t}\n}\n\n/* This is a tricky case.\n * We can't use `border-left` because sticky marker to the element looks kinda ugly.\n * We can't use `::before` pseudoelement because it requires `position: relative` of parent, which breaks side-image.\n * We can't use `outline` because it's impossible to display only left side of outline.\n * So... we need to use power of CSS hacks <3 and use doubled box-shadow.\n */\n\n.ck-content .ck-suggestion-marker-formatBlock {\n\tborder: 0;\n\tbackground: none;\n\tbox-shadow: -7px 0 0 0 var(--ck-color-base-background), -10px 0 0 0 var(--ck-color-suggestion-marker-format-border);\n\n\t&.ck-suggestion-marker--active {\n\t\tbox-shadow: -5px 0 0 0 var(--ck-color-base-background), -8px 0 0 0 var(--ck-color-suggestion-marker-format-border-active);\n\t}\n}\n\n.ck-content ul .ck-suggestion-marker-formatBlock,\n.ck-content ol .ck-suggestion-marker-formatBlock {\n\tbox-shadow: -2px 0 0 0 var(--ck-color-base-background), -5px 0 0 0 var(--ck-color-suggestion-marker-format-border);\n\n\t&.ck-suggestion-marker--active {\n\t\tbox-shadow: -2px 0 0 0 var(--ck-color-base-background), -5px 0 0 0 var(--ck-color-suggestion-marker-format-border-active);\n\t}\n}\n"],sourceRoot:""}]);const a=s},4853:(t,e,n)=>{"use strict";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-user-colors--0:#6d78e8;--ck-user-colors--0-alpha:rgba(109,120,232,.15);--ck-user-colors--1:#007a6c;--ck-user-colors--1-alpha:rgba(0,122,108,.15);--ck-user-colors--2:#ba4545;--ck-user-colors--2-alpha:rgba(186,69,69,.15);--ck-user-colors--3:#5635b1;--ck-user-colors--3-alpha:rgba(86,53,177,.15);--ck-user-colors--4:#548a2e;--ck-user-colors--4-alpha:rgba(84,138,46,.15);--ck-user-colors--5:#c3185d;--ck-user-colors--5-alpha:rgba(195,24,93,.15);--ck-user-colors--6:#ea4343;--ck-user-colors--6-alpha:rgba(234,67,67,.15);--ck-user-colors--7:#0bc3d0;--ck-user-colors--7-alpha:rgba(11,195,208,.15);--ck-user-dot-size:6px}.ck .ck-user__color--0{color:var(--ck-user-colors--0)}.ck .ck-user__bg-color--0{background-color:var(--ck-user-colors--0)}.ck .ck-user__selection--0{background-color:var(--ck-user-colors--0-alpha)}.ck .ck-user__selection--0.ck-widget{background-color:transparent;border:3px solid var(--ck-user-colors--0)}.ck .ck-user__marker--0,.ck .ck-user__marker--0 .ck-user__marker-dot,.ck .ck-user__marker--0:after{background-color:var(--ck-user-colors--0)}.ck .ck-user__marker--0 .ck-user__marker-line{border:1px solid var(--ck-user-colors--0)}.ck .ck-user__color--1{color:var(--ck-user-colors--1)}.ck .ck-user__bg-color--1{background-color:var(--ck-user-colors--1)}.ck .ck-user__selection--1{background-color:var(--ck-user-colors--1-alpha)}.ck .ck-user__selection--1.ck-widget{background-color:transparent;border:3px solid var(--ck-user-colors--1)}.ck .ck-user__marker--1,.ck .ck-user__marker--1 .ck-user__marker-dot,.ck .ck-user__marker--1:after{background-color:var(--ck-user-colors--1)}.ck .ck-user__marker--1 .ck-user__marker-line{border:1px solid var(--ck-user-colors--1)}.ck .ck-user__color--2{color:var(--ck-user-colors--2)}.ck .ck-user__bg-color--2{background-color:var(--ck-user-colors--2)}.ck .ck-user__selection--2{background-color:var(--ck-user-colors--2-alpha)}.ck .ck-user__selection--2.ck-widget{background-color:transparent;border:3px solid var(--ck-user-colors--2)}.ck .ck-user__marker--2,.ck .ck-user__marker--2 .ck-user__marker-dot,.ck .ck-user__marker--2:after{background-color:var(--ck-user-colors--2)}.ck .ck-user__marker--2 .ck-user__marker-line{border:1px solid var(--ck-user-colors--2)}.ck .ck-user__color--3{color:var(--ck-user-colors--3)}.ck .ck-user__bg-color--3{background-color:var(--ck-user-colors--3)}.ck .ck-user__selection--3{background-color:var(--ck-user-colors--3-alpha)}.ck .ck-user__selection--3.ck-widget{background-color:transparent;border:3px solid var(--ck-user-colors--3)}.ck .ck-user__marker--3,.ck .ck-user__marker--3 .ck-user__marker-dot,.ck .ck-user__marker--3:after{background-color:var(--ck-user-colors--3)}.ck .ck-user__marker--3 .ck-user__marker-line{border:1px solid var(--ck-user-colors--3)}.ck .ck-user__color--4{color:var(--ck-user-colors--4)}.ck .ck-user__bg-color--4{background-color:var(--ck-user-colors--4)}.ck .ck-user__selection--4{background-color:var(--ck-user-colors--4-alpha)}.ck .ck-user__selection--4.ck-widget{background-color:transparent;border:3px solid var(--ck-user-colors--4)}.ck .ck-user__marker--4,.ck .ck-user__marker--4 .ck-user__marker-dot,.ck .ck-user__marker--4:after{background-color:var(--ck-user-colors--4)}.ck .ck-user__marker--4 .ck-user__marker-line{border:1px solid var(--ck-user-colors--4)}.ck .ck-user__color--5{color:var(--ck-user-colors--5)}.ck .ck-user__bg-color--5{background-color:var(--ck-user-colors--5)}.ck .ck-user__selection--5{background-color:var(--ck-user-colors--5-alpha)}.ck .ck-user__selection--5.ck-widget{background-color:transparent;border:3px solid var(--ck-user-colors--5)}.ck .ck-user__marker--5,.ck .ck-user__marker--5 .ck-user__marker-dot,.ck .ck-user__marker--5:after{background-color:var(--ck-user-colors--5)}.ck .ck-user__marker--5 .ck-user__marker-line{border:1px solid var(--ck-user-colors--5)}.ck .ck-user__color--6{color:var(--ck-user-colors--6)}.ck .ck-user__bg-color--6{background-color:var(--ck-user-colors--6)}.ck .ck-user__selection--6{background-color:var(--ck-user-colors--6-alpha)}.ck .ck-user__selection--6.ck-widget{background-color:transparent;border:3px solid var(--ck-user-colors--6)}.ck .ck-user__marker--6,.ck .ck-user__marker--6 .ck-user__marker-dot,.ck .ck-user__marker--6:after{background-color:var(--ck-user-colors--6)}.ck .ck-user__marker--6 .ck-user__marker-line{border:1px solid var(--ck-user-colors--6)}.ck .ck-user__color--7{color:var(--ck-user-colors--7)}.ck .ck-user__bg-color--7{background-color:var(--ck-user-colors--7)}.ck .ck-user__selection--7{background-color:var(--ck-user-colors--7-alpha)}.ck .ck-user__selection--7.ck-widget{background-color:transparent;border:3px solid var(--ck-user-colors--7)}.ck .ck-user__marker--7,.ck .ck-user__marker--7 .ck-user__marker-dot,.ck .ck-user__marker--7:after{background-color:var(--ck-user-colors--7)}.ck .ck-user__marker--7 .ck-user__marker-line{border:1px solid var(--ck-user-colors--7)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-collaboration-core/theme/usercolors.css","webpack://./node_modules/@ckeditor/ckeditor5-collaboration-core/theme/usercolormixin.css"],names:[],mappings:"AAUA,MACC,2BAA2C,CAC3C,+CAAoD,CAEpD,2BAA4C,CAC5C,6CAAqD,CAErD,2BAAyC,CACzC,6CAAkD,CAElD,2BAA2C,CAC3C,6CAAoD,CAEpD,2BAA0C,CAC1C,6CAAmD,CAEnD,2BAA2C,CAC3C,6CAAoD,CAEpD,2BAAyC,CACzC,6CAAkD,CAElD,2BAA2C,CAC3C,8CAAoD,CAEpD,sBACD,CCnCC,uBACC,8BACD,CAEA,0BACC,yCACD,CAEA,2BACC,+CAMD,CAJC,qCACC,4BAA6B,CAC7B,yCACD,CAIA,mGAGC,yCACD,CAEA,8CACC,yCACD,CA1BD,uBACC,8BACD,CAEA,0BACC,yCACD,CAEA,2BACC,+CAMD,CAJC,qCACC,4BAA6B,CAC7B,yCACD,CAIA,mGAGC,yCACD,CAEA,8CACC,yCACD,CA1BD,uBACC,8BACD,CAEA,0BACC,yCACD,CAEA,2BACC,+CAMD,CAJC,qCACC,4BAA6B,CAC7B,yCACD,CAIA,mGAGC,yCACD,CAEA,8CACC,yCACD,CA1BD,uBACC,8BACD,CAEA,0BACC,yCACD,CAEA,2BACC,+CAMD,CAJC,qCACC,4BAA6B,CAC7B,yCACD,CAIA,mGAGC,yCACD,CAEA,8CACC,yCACD,CA1BD,uBACC,8BACD,CAEA,0BACC,yCACD,CAEA,2BACC,+CAMD,CAJC,qCACC,4BAA6B,CAC7B,yCACD,CAIA,mGAGC,yCACD,CAEA,8CACC,yCACD,CA1BD,uBACC,8BACD,CAEA,0BACC,yCACD,CAEA,2BACC,+CAMD,CAJC,qCACC,4BAA6B,CAC7B,yCACD,CAIA,mGAGC,yCACD,CAEA,8CACC,yCACD,CA1BD,uBACC,8BACD,CAEA,0BACC,yCACD,CAEA,2BACC,+CAMD,CAJC,qCACC,4BAA6B,CAC7B,yCACD,CAIA,mGAGC,yCACD,CAEA,8CACC,yCACD,CA1BD,uBACC,8BACD,CAEA,0BACC,yCACD,CAEA,2BACC,+CAMD,CAJC,qCACC,4BAA6B,CAC7B,yCACD,CAIA,mGAGC,yCACD,CAEA,8CACC,yCACD",sourcesContent:['/*\n * What you\'re currently looking at is the source code of a legally protected, proprietary software.\n * CKEditor 5 Collaboration is licensed under a commercial license and protected by copyright law. Where not otherwise indicated,\n * all CKEditor 5 Collaboration content is authored by CKSource engineers and consists of CKSource-owned intellectual property.\n *\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n */\n\n@import "./usercolormixin.css";\n\n:root {\n\t--ck-user-colors--0: hsla(235, 73%, 67%, 1);\n\t--ck-user-colors--0-alpha: hsla(235, 73%, 67%, 0.15);\n\n\t--ck-user-colors--1: hsla(173, 100%, 24%, 1);\n\t--ck-user-colors--1-alpha: hsla(173, 100%, 24%, 0.15);\n\n\t--ck-user-colors--2: hsla(0, 46%, 50%, 1);\n\t--ck-user-colors--2-alpha: hsla(0, 46%, 50%, 0.15);\n\n\t--ck-user-colors--3: hsla(256, 54%, 45%, 1);\n\t--ck-user-colors--3-alpha: hsla(256, 54%, 45%, 0.15);\n\n\t--ck-user-colors--4: hsla(95, 50%, 36%, 1);\n\t--ck-user-colors--4-alpha: hsla(95, 50%, 36%, 0.15);\n\n\t--ck-user-colors--5: hsla(336, 78%, 43%, 1);\n\t--ck-user-colors--5-alpha: hsla(336, 78%, 43%, 0.15);\n\n\t--ck-user-colors--6: hsla(0, 80%, 59%, 1);\n\t--ck-user-colors--6-alpha: hsla(0, 80%, 59%, 0.15);\n\n\t--ck-user-colors--7: hsla(184, 90%, 43%, 1);\n\t--ck-user-colors--7-alpha: hsla(184, 90%, 43%, 0.15);\n\n\t--ck-user-dot-size: 6px;\n}\n\n/* We are using mixins here because of lack of PostCSS loop plugin. */\n\n@mixin userColor var(--ck-user-colors--0), var(--ck-user-colors--0-alpha), 0;\n@mixin userColor var(--ck-user-colors--1), var(--ck-user-colors--1-alpha), 1;\n@mixin userColor var(--ck-user-colors--2), var(--ck-user-colors--2-alpha), 2;\n@mixin userColor var(--ck-user-colors--3), var(--ck-user-colors--3-alpha), 3;\n@mixin userColor var(--ck-user-colors--4), var(--ck-user-colors--4-alpha), 4;\n@mixin userColor var(--ck-user-colors--5), var(--ck-user-colors--5-alpha), 5;\n@mixin userColor var(--ck-user-colors--6), var(--ck-user-colors--6-alpha), 6;\n@mixin userColor var(--ck-user-colors--7), var(--ck-user-colors--7-alpha), 7;\n',"@define-mixin userColor $color, $colorAlpha, $number {\n\t.ck .ck-user__color--$(number) {\n\t\tcolor: $color;\n\t}\n\n\t.ck .ck-user__bg-color--$(number) {\n\t\tbackground-color: $color;\n\t}\n\n\t.ck .ck-user__selection--$(number) {\n\t\tbackground-color: $colorAlpha;\n\n\t\t&.ck-widget {\n\t\t\tbackground-color: transparent;\n\t\t\tborder: 3px solid $color;\n\t\t}\n\t}\n\n\t.ck .ck-user__marker--$(number) {\n\t\t&,\n\t\t&:after,\n\t\t& .ck-user__marker-dot {\n\t\t\tbackground-color: $color;\n\t\t}\n\n\t\t& .ck-user__marker-line {\n\t\t\tborder: 1px solid $color;\n\t\t}\n\t}\n}"],sourceRoot:""}]);const a=s},9097:(t,e,n)=>{"use strict";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-user-avatar-size:40px;--ck-user-avatar-background:#3670ab;--ck-user-avatar-color:#fff}.ck.ck-user{align-items:center;background-color:var(--ck-user-avatar-background);border-radius:50%;display:flex;height:var(--ck-user-avatar-size);justify-content:center;min-height:var(--ck-user-avatar-size);min-width:var(--ck-user-avatar-size);position:relative;width:var(--ck-user-avatar-size)}.ck.ck-user__name{color:var(--ck-user-avatar-color);cursor:default;-moz-user-select:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.ck.ck-user__name.ck-user__name--hidden{display:none}.ck.ck-user__img{background-color:var(--ck-user-avatar-background);background-position:50%;background-repeat:no-repeat;background-size:cover;border:2px solid var(--ck-user-avatar-background);border-radius:50%;display:none;height:inherit;width:inherit}.ck.ck-user__img.ck-user__anonymous{background-image:url(\"data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath fill='%23FFF' d='M9.8 20H2c0-5.7 5-5.7 6-7l.2-.8c-1.6-.8-2.7-2.7-2.7-5 0-2.8 2-5.2 4.3-5.2S14 4.4 14 7.3c0 2.2-1 4-2.6 5l.2.6c1.2 1.3 6 1.4 6 7H9.8z'/%3E%3C/svg%3E\");display:block}.ck.ck-user__img.ck-user__anonymous+.ck-user__name{display:none}.ck.ck-user__img.ck-user__avatar{background-color:#fff;display:block}.ck.ck-user__img.ck-user__img--hidden{display:none}.ck.ck-user__notification{align-items:center;background:#fff;border:2px solid #fff;border-radius:50%;box-sizing:content-box;display:flex;height:15px;justify-content:center;overflow:hidden;position:absolute;right:-7px;top:-8px;transform:translateZ(0);width:15px}.ck.ck-user__notification .ck-user__icon{background:#fff;color:var(--ck-color-annotation-info);height:19px;max-height:19px;max-width:19px;min-height:19px;min-width:19px;width:19px}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-collaboration-core/theme/users.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css"],names:[],mappings:"AAUA,MACC,0BAA2B,CAE3B,mCAA+C,CAC/C,2BACD,CAEA,YAGC,kBAAmB,CAGnB,iDAAkD,CADlD,iBAAkB,CAJlB,YAAa,CAMb,iCAAkC,CALlC,sBAAuB,CAQvB,qCAAsC,CADtC,oCAAqC,CALrC,iBAAkB,CAIlB,gCAGD,CAEA,kBACC,iCAAkC,CAClC,cAAe,CCvBf,qBAAsB,CACtB,wBAAyB,CACzB,oBAAqB,CACrB,gBD0BD,CAHC,wCACC,YACD,CAGD,iBAOC,iDAAkD,CAHlD,uBAAkC,CAClC,2BAA4B,CAC5B,qBAAsB,CAGtB,iDAAkD,CADlD,iBAAkB,CAPlB,YAAa,CAEb,cAAe,CADf,aA6BD,CApBC,oCAEC,oSAAmZ,CADnZ,aAOD,CAHC,mDACC,YACD,CAGD,iCAIC,qBAAkC,CAHlC,aAID,CAEA,sCACC,YACD,CAGD,0BAKC,kBAAmB,CACnB,eAAiB,CACjB,qBAAuB,CACvB,iBAAkB,CAClB,sBAAuB,CARvB,YAAa,CAEb,WAAY,CACZ,sBAAuB,CAUvB,eAAgB,CAHhB,iBAAkB,CAElB,UAAW,CADX,QAAS,CAGT,uBAAwB,CAbxB,UAyBD,CAVC,yCAEC,eAAiB,CADjB,qCAAsC,CAGtC,WAAY,CAEZ,eAAgB,CADhB,cAAe,CAGf,eAAgB,CADhB,cAAe,CAJf,UAMD",sourcesContent:["/*\n * What you're currently looking at is the source code of a legally protected, proprietary software.\n * CKEditor 5 Collaboration is licensed under a commercial license and protected by copyright law. Where not otherwise indicated,\n * all CKEditor 5 Collaboration content is authored by CKSource engineers and consists of CKSource-owned intellectual property.\n *\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n */\n\n@import '@ckeditor/ckeditor5-ui/theme/mixins/_unselectable.css';\n\n:root {\n\t--ck-user-avatar-size: 40px;\n\n\t--ck-user-avatar-background: hsl(210, 52%, 44%);\n\t--ck-user-avatar-color: hsl(0, 0%, 100%);\n}\n\n.ck.ck-user {\n\tdisplay: flex;\n\tjustify-content: center;\n\talign-items: center;\n\tposition: relative;\n\tborder-radius: 50%;\n\tbackground-color: var(--ck-user-avatar-background);\n\theight: var(--ck-user-avatar-size);\n\twidth: var(--ck-user-avatar-size);\n\tmin-width: var(--ck-user-avatar-size);\n\tmin-height: var(--ck-user-avatar-size);\n}\n\n.ck.ck-user__name {\n\tcolor: var(--ck-user-avatar-color);\n\tcursor: default;\n\t@mixin ck-unselectable;\n\n\t&.ck-user__name--hidden {\n\t\tdisplay: none;\n\t}\n}\n\n.ck.ck-user__img {\n\tdisplay: none;\n\twidth: inherit;\n\theight: inherit;\n\tbackground-position: center center;\n\tbackground-repeat: no-repeat;\n\tbackground-size: cover;\n\tbackground-color: var(--ck-user-avatar-background);\n\tborder-radius: 50%;\n\tborder: 2px solid var(--ck-user-avatar-background);\n\n\t&.ck-user__anonymous {\n\t\tdisplay: block;\n\t\tbackground-image: url(data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2020%2020%22%3E%0A%20%20%3Cpath%20fill%3D%22%23FFF%22%20fill-rule%3D%22nonzero%22%20d%3D%22M9.8%2020H2c0-5.7%205-5.7%206-7l.2-.8c-1.6-.8-2.7-2.7-2.7-5%200-2.8%202-5.2%204.3-5.2S14%204.4%2014%207.3c0%202.2-1%204-2.6%205l.2.6c1.2%201.3%206%201.4%206%207H9.8z%22%2F%3E%0A%3C%2Fsvg%3E);\n\n\t\t/* Do not display initials when user is anonymous. */\n\t\t& + .ck-user__name {\n\t\t\tdisplay: none;\n\t\t}\n\t}\n\n\t&.ck-user__avatar {\n\t\tdisplay: block;\n\n\t\t/* In case if avatar is transparent make background white. */\n\t\tbackground-color: hsl(0, 0%, 100%);\n\t}\n\n\t&.ck-user__img--hidden {\n\t\tdisplay: none;\n\t}\n}\n\n.ck.ck-user__notification {\n\tdisplay: flex;\n\twidth: 15px;\n\theight: 15px;\n\tjustify-content: center;\n\talign-items: center;\n\tbackground: white;\n\tborder: 2px solid white;\n\tborder-radius: 50%;\n\tbox-sizing: content-box;\n\n\tposition: absolute;\n\ttop: -8px;\n\tright: -7px;\n\toverflow: hidden;\n\ttransform: translateZ(0);\n\n\t& .ck-user__icon {\n\t\tcolor: var(--ck-color-annotation-info);\n\t\tbackground: white;\n\t\twidth: 19px;\n\t\theight: 19px;\n\t\tmax-width: 19px;\n\t\tmax-height: 19px;\n\t\tmin-width: 19px;\n\t\tmin-height: 19px;\n\t}\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. 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"],sourceRoot:""}]);const a=s},6610:(t,e,n)=>{"use strict";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-inline-annotation-container-width:300px;--ck-inline-annotation-container-max-height:400px}.ck.ck-balloon-panel .ck-annotation-wrapper{max-height:var(--ck-inline-annotation-container-max-height);overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;position:static;width:var(--ck-inline-annotation-container-width)}.ck.ck-balloon-panel .ck-annotation{animation:none}.ck.ck-balloon-panel .ck-annotation-wrapper *{white-space:normal}.ck.ck-balloon-panel .ck-annotation-wrapper strong{font-weight:700}.ck.ck-balloon-panel .ck-annotation-wrapper i{font-style:italic}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-comments/theme/annotation-inline.css"],names:[],mappings:"AAUA,MACC,4CAA6C,CAC7C,iDACD,CAEA,4CAKC,2DAA4D,CAQ5D,iBAAkB,CANlB,eAAgB,CAGhB,6BAA8B,CAR9B,eAAgB,CAEhB,iDAUD,CAEA,oCAEC,cACD,CAEA,8CAEC,kBACD,CAGA,mDACC,eACD,CAEA,8CACC,iBACD",sourcesContent:["/*\n * What you're currently looking at is the source code of a legally protected, proprietary software.\n * CKEditor 5 Collaboration is licensed under a commercial license and protected by copyright law. Where not otherwise indicated,\n * all CKEditor 5 Collaboration content is authored by CKSource engineers and consists of CKSource-owned intellectual property.\n *\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n */\n\n/* Common styles for inline comment and inline suggestion. */\n\n:root {\n\t--ck-inline-annotation-container-width: 300px;\n\t--ck-inline-annotation-container-max-height: 400px;\n}\n\n.ck.ck-balloon-panel .ck-annotation-wrapper {\n\t/* Override default `position: absolute`. */\n\tposition: static;\n\n\twidth: var(--ck-inline-annotation-container-width);\n\tmax-height: var(--ck-inline-annotation-container-max-height);\n\n\toverflow-y: auto;\n\n\t/* Get rid of scroll chaining. */\n\toverscroll-behavior-y: contain;\n\n\t/* We need to hide overflow in x-axis to prevent container stretching because of buttons tooltip. */\n\toverflow-x: hidden;\n}\n\n.ck.ck-balloon-panel .ck-annotation {\n\t/* We don't need fadeInLeft animation for inline annotations. */\n\tanimation: none;\n}\n\n.ck.ck-balloon-panel .ck-annotation-wrapper * {\n\t/* Default `.ck.ck-reset_all *` has `white-space: nowrap` and display content in one line. */\n\twhite-space: normal;\n}\n\n/* Because `.ck.ck-reset_all *` is overriding default font property. */\n.ck.ck-balloon-panel .ck-annotation-wrapper strong {\n\tfont-weight: bold;\n}\n\n.ck.ck-balloon-panel .ck-annotation-wrapper i {\n\tfont-style: italic;\n}\n"],sourceRoot:""}]);const a=s},5899:(t,e,n)=>{"use strict";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-annotation-icon:grey;--ck-color-annotation-info:#757575;--ck-annotation-button-size:0.85em}.ck .ck-annotation{--ck-user-avatar-size:28px;animation:fadeInLeft .3s;display:flex;font-size:var(--ck-font-size-base);padding:var(--ck-spacing-standard);position:relative;transition:background-color .3s ease}.ck .ck-annotation .ck-button{background-color:transparent;border-radius:var(--ck-border-radius);color:var(--ck-color-annotation-icon);cursor:pointer;font-size:var(--ck-annotation-button-size);min-height:unset;min-width:unset}.ck .ck-annotation__main{border-radius:var(--ck-border-radius);display:flex;flex-wrap:wrap;justify-content:space-between;padding-left:var(--ck-spacing-standard);transition:all .2s ease;width:calc(100% - var(--ck-user-avatar-size))}.ck .ck-annotation__main p{font-size:var(--ck-font-size-base);line-height:1.5em;margin:0;white-space:normal}.ck .ck-annotation__user{margin-top:var(--ck-spacing-small)}.ck .ck-annotation__info{align-items:center;color:var(--ck-color-annotation-info);display:flex;min-height:2.4em}.ck .ck-annotation__info-name,.ck .ck-annotation__info-time{color:var(--ck-color-annotation-info);font-size:var(--ck-font-size-small);font-weight:700;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ck .ck-annotation__info-time{margin-left:var(--ck-spacing-large)}.ck .ck-annotation__actions{opacity:.5;transition:opacity .2s ease}.ck .ck-annotation__content-wrapper{width:100%}@keyframes fadeInLeft{0%{opacity:0;transform:translate3d(-5%,0,0)}to{opacity:1;transform:translateZ(0)}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-comments/theme/annotation.css"],names:[],mappings:"AASA,MACC,+BAA2C,CAC3C,kCAA2C,CAE3C,kCACD,CAEA,mBAEC,0BAA2B,CAM3B,wBAA2B,CAF3B,YAAa,CAFb,kCAAmC,CAMnC,kCAAmC,CAHnC,iBAAkB,CAElB,oCAED,CAGC,8BAEC,4BAA6B,CAK7B,qCAAsC,CADtC,qCAAsC,CADtC,cAAe,CAGf,0CAA2C,CAJ3C,gBAAiB,CADjB,eAMD,CAGD,yBASC,qCAAsC,CARtC,YAAa,CACb,cAAe,CACf,6BAA8B,CAO9B,uCAAwC,CAFxC,uBAA0B,CAF1B,6CAKD,CAEA,2BAKC,kCAAmC,CAGnC,iBAAkB,CAPlB,QAAS,CAGT,kBAKD,CAEA,yBACC,kCACD,CAEA,yBAEC,kBAAmB,CACnB,qCAAsC,CAFtC,YAAa,CAKb,gBACD,CAEA,4DASC,qCAAsC,CACtC,mCAAoC,CARpC,eAAiB,CACjB,eAAgB,CAEhB,eAAgB,CAChB,sBAAuB,CAFvB,kBAOD,CAEA,8BACC,mCACD,CAEA,4BAEC,UAAY,CADZ,2BAED,CAGA,oCACC,UACD,CAEA,sBACC,GAEC,SAAU,CADV,8BAED,CAEA,GAEC,SAAU,CADV,uBAED,CACD",sourcesContent:["/*\n * What you're currently looking at is the source code of a legally protected, proprietary software.\n * CKEditor 5 Collaboration is licensed under a commercial license and protected by copyright law. Where not otherwise indicated,\n * all CKEditor 5 Collaboration content is authored by CKSource engineers and consists of CKSource-owned intellectual property.\n *\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n */\n\n/* Common styles for single comment and single suggestion. */\n:root {\n\t--ck-color-annotation-icon: hsl(0, 0%, 50%);\n\t--ck-color-annotation-info: hsl(0, 0%, 46%);\n\n\t--ck-annotation-button-size: 0.85em;\n}\n\n.ck .ck-annotation {\n\t/* Make avatar size in the comment smaller than in presence list. */\n\t--ck-user-avatar-size: 28px;\n\n\tfont-size: var(--ck-font-size-base);\n\n\tdisplay: flex;\n\tposition: relative;\n\tanimation: fadeInLeft 300ms;\n\ttransition: background-color 300ms ease;\n\tpadding: var(--ck-spacing-standard);\n}\n\n.ck .ck-annotation {\n\t& .ck-button {\n\t\t/* Overwrite CK5 button default styles. */\n\t\tbackground-color: transparent;\n\t\tmin-width: unset;\n\t\tmin-height: unset;\n\t\tcursor: pointer;\n\t\tcolor: var(--ck-color-annotation-icon);\n\t\tborder-radius: var(--ck-border-radius);\n\t\tfont-size: var(--ck-annotation-button-size);\n\t}\n}\n\n.ck .ck-annotation__main {\n\tdisplay: flex;\n\tflex-wrap: wrap;\n\tjustify-content: space-between;\n\n\t/* #1829. Firefox is wrongly rendering flex container width 100% with overflowed (non-spaced) text. */\n\twidth: calc( 100% - var(--ck-user-avatar-size) );\n\n\ttransition: all 200ms ease;\n\tborder-radius: var(--ck-border-radius);\n\tpadding-left: var(--ck-spacing-standard);\n}\n\n.ck .ck-annotation__main p {\n\tmargin: 0;\n\n\t/* We need it to prevent `.ck.ck-reset` ovverride. */\n\twhite-space: normal;\n\tfont-size: var(--ck-font-size-base);\n\n\t/* TODO: refactor this value later. */\n\tline-height: 1.5em;\n}\n\n.ck .ck-annotation__user {\n\tmargin-top: var(--ck-spacing-small);\n}\n\n.ck .ck-annotation__info {\n\tdisplay: flex;\n\talign-items: center;\n\tcolor: var(--ck-color-annotation-info);\n\n\t/* #156. Edit & remove icon are higher than plain text with the same font-size, so we need to take care if icons are hidden. */\n\tmin-height: 2.4em;\n}\n\n.ck .ck-annotation__info-name,\n.ck .ck-annotation__info-time {\n\tfont-weight: bold;\n\tmax-width: 150px;\n\twhite-space: nowrap;\n\toverflow: hidden;\n\ttext-overflow: ellipsis;\n\n\t/* We need it to prevent `.ck.ck-reset` ovverride. */\n\tcolor: var(--ck-color-annotation-info);\n\tfont-size: var(--ck-font-size-small);\n}\n\n.ck .ck-annotation__info-time {\n\tmargin-left: var(--ck-spacing-large);\n}\n\n.ck .ck-annotation__actions {\n\ttransition: opacity 200ms ease;\n\topacity: 0.5;\n}\n\n/* Because of display flex, we need to strech out annotation content to 100%. */\n.ck .ck-annotation__content-wrapper {\n\twidth: 100%;\n}\n\n@keyframes fadeInLeft {\n\tfrom {\n\t\ttransform: translate3d( -5%, 0, 0 );\n\t\topacity: 0;\n\t}\n\n\tto {\n\t\ttransform: translate3d( 0, 0, 0 );\n\t\topacity: 1;\n\t}\n}\n"],sourceRoot:""}]);const a=s},1556:(t,e,n)=>{"use strict";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-comment-background:#f3f7fb;--ck-color-comment-separator:#cddeef;--ck-color-comment-remove-background:#fcc;--ck-color-comment-input-background:var(--ck-color-comment-background)}.ck .ck-comment__wrapper{font-size:var(--ck-font-size-base);outline:0;position:relative;transition:all .3s linear}.ck .ck-comment__wrapper.ck-comment--remove-confirmation{transform:translate3d(-100%,0,0)}.ck .ck-comment__wrapper:first-of-type{border-top-left-radius:var(--ck-border-radius);border-top-right-radius:var(--ck-border-radius)}.ck .ck-comment:after{background-color:var(--ck-color-comment-separator);content:"";display:block;height:100%;left:calc(var(--ck-spacing-standard) + var(--ck-user-avatar-size)/2 - 2px);opacity:1;position:absolute;top:calc(var(--ck-user-avatar-size) + var(--ck-spacing-small));width:4px}.ck .ck-comment--remove{background-color:var(--ck-color-comment-remove-background)}.ck .ck-comment--remove:after{opacity:0}.ck .ck-comment--edit{background-color:var(--ck-color-comment-input-background)}.ck .ck-comment--edit:after{opacity:0}.ck .ck-comment__main .ck-comment__input-wrapper{display:flex;flex-direction:column;position:relative;transition:all .3s linear}.ck .ck-comment__main .ck-comment__input-wrapper .ck-comment__input{padding:0}.ck .ck-comment__content{word-break:break-word}.ck .ck-comment__user{z-index:var(--ck-z-default)}.ck-comment__input-actions .ck.ck-button.ck-comment__input-actions--submit{color:var(--ck-color-button-save)}.ck-comment__input-actions .ck.ck-button.ck-comment__input-actions--cancel{color:var(--ck-color-button-cancel)}.ck .ck-comment p,.ck .ck-comment__input p{margin:0}.ck .ck-comment ol,.ck .ck-comment ul,.ck .ck-comment__input ol,.ck .ck-comment__input ul{margin-left:10px;padding-left:10px}.ck .ck-comment ul,.ck .ck-comment__input ul{list-style:disc;margin-bottom:5px;margin-top:0}.ck .ck-comment ul ul,.ck .ck-comment__input ul ul{list-style:circle}.ck .ck-comment ul ul ul,.ck .ck-comment__input ul ul ul{list-style:square}.ck .ck-comment__external{color:var(--ck-color-annotation-info);font-size:var(--ck-font-size-tiny);font-style:italic;margin-top:var(--ck-spacing-standard)}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-comments/theme/comment.css"],names:[],mappings:"AAQA,MACC,qCAAiD,CACjD,oCAAgD,CAChD,yCAAuD,CACvD,sEACD,CAEA,yBACC,kCAAmC,CAEnC,SAAU,CADV,iBAAkB,CAElB,yBAUD,CARC,yDACC,gCACD,CAEA,uCAEC,8CAA+C,CAD/C,+CAED,CAIA,sBAcC,kDAAmD,CAbnD,UAAW,CACX,aAAc,CAWd,WAAY,CAPZ,0EAKE,CAPF,SAAU,CADV,iBAAkB,CAElB,8DAAiE,CAOjE,SAGD,CAGD,wBACC,0DAKD,CAHC,8BACC,SACD,CAGD,sBACC,yDAKD,CAHC,4BACC,SACD,CAIA,iDACC,YAAa,CACb,qBAAsB,CACtB,iBAAkB,CAClB,yBAKD,CAHC,oEACC,SACD,CAIF,yBACC,qBACD,CAEA,sBAEC,2BACD,CAGA,2EACC,iCACD,CAEA,2EACC,mCACD,CAMC,2CACC,QACD,CAEA,0FAGC,gBAAiB,CADjB,iBAED,CAEA,6CACC,eAAgB,CAChB,iBAAkB,CAClB,YASD,CAPC,mDACC,iBAKD,CAHC,yDACC,iBACD,CAKH,0BAEC,qCAAsC,CACtC,kCAAmC,CAFnC,iBAAkB,CAGlB,qCACD",sourcesContent:["/*\n * What you're currently looking at is the source code of a legally protected, proprietary software.\n * CKEditor 5 Collaboration is licensed under a commercial license and protected by copyright law. Where not otherwise indicated,\n * all CKEditor 5 Collaboration content is authored by CKSource engineers and consists of CKSource-owned intellectual property.\n *\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n */\n\n:root {\n\t--ck-color-comment-background: hsl(210, 52%, 97%);\n\t--ck-color-comment-separator: hsl(210, 52%, 87%);\n\t--ck-color-comment-remove-background: hsl(0, 100%, 90%);\n\t--ck-color-comment-input-background: var(--ck-color-comment-background);\n}\n\n.ck .ck-comment__wrapper {\n\tfont-size: var(--ck-font-size-base);\n\tposition: relative;\n\toutline: 0;\n\ttransition: all 300ms linear;\n\n\t&.ck-comment--remove-confirmation {\n\t\ttransform: translate3d( -100%, 0, 0 );\n\t}\n\n\t&:first-of-type {\n\t\tborder-top-right-radius: var(--ck-border-radius);\n\t\tborder-top-left-radius: var(--ck-border-radius);\n\t}\n}\n\n.ck .ck-comment {\n\t&::after {\n\t\tcontent: '';\n\t\tdisplay: block;\n\t\tposition: absolute;\n\t\topacity: 1;\n\t\ttop: calc( var(--ck-user-avatar-size) + var(--ck-spacing-small) );\n\t\tleft: calc(\n\t\t\tvar(--ck-spacing-standard) + ( var(--ck-user-avatar-size) / 2 )\n\n\t\t\t/* Half width of line. */\n\t\t\t- 2px\n\t\t\t);\n\t\twidth: 4px;\n\t\theight: 100%;\n\t\tbackground-color: var(--ck-color-comment-separator);\n\t}\n}\n\n.ck .ck-comment--remove {\n\tbackground-color: var(--ck-color-comment-remove-background);\n\n\t&::after {\n\t\topacity: 0;\n\t}\n}\n\n.ck .ck-comment--edit {\n\tbackground-color: var(--ck-color-comment-input-background);\n\n\t&::after {\n\t\topacity: 0;\n\t}\n}\n\n.ck .ck-comment__main {\n\t& .ck-comment__input-wrapper {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\tposition: relative;\n\t\ttransition: all 300ms linear;\n\n\t\t& .ck-comment__input {\n\t\t\tpadding: 0;\n\t\t}\n\t}\n}\n\n.ck .ck-comment__content {\n\tword-break: break-word;\n}\n\n.ck .ck-comment__user {\n\t/* Display user above vertical line. */\n\tz-index: var(--ck-z-default);\n}\n\n/* We need specificity 030 to beat styles in `commentinput.css`. */\n.ck-comment__input-actions .ck.ck-button.ck-comment__input-actions--submit {\n\tcolor: var(--ck-color-button-save);\n}\n\n.ck-comment__input-actions .ck.ck-button.ck-comment__input-actions--cancel {\n\tcolor: var(--ck-color-button-cancel);\n}\n\n/* Common styles for typography inside comment element and editable input.\nWe are styling resetting list-style because of parent
element. */\n.ck .ck-comment,\n.ck .ck-comment__input {\n\t& p {\n\t\tmargin: 0;\n\t}\n\n\t& ul,\n\t& ol {\n\t\tpadding-left: 10px;\n\t\tmargin-left: 10px;\n\t}\n\n\t& ul {\n\t\tlist-style: disc;\n\t\tmargin-bottom: 5px;\n\t\tmargin-top: 0;\n\n\t\t& ul {\n\t\t\tlist-style: circle;\n\n\t\t\t& ul {\n\t\t\t\tlist-style: square;\n\t\t\t}\n\t\t}\n\t}\n}\n\n.ck .ck-comment__external {\n\tfont-style: italic;\n\tcolor: var(--ck-color-annotation-info);\n\tfont-size: var(--ck-font-size-tiny);\n\tmargin-top: var(--ck-spacing-standard);\n}\n"],sourceRoot:""}]);const a=s},4964:(t,e,n)=>{"use strict";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-comment__input-container{--ck-user-avatar-size:28px;background:var(--ck-color-comment-background);display:none;font-size:var(--ck-font-size-base);padding:var(--ck-spacing-standard)}.ck .ck-comment__input-container--active{display:flex}.ck .ck-comment__input{background-color:transparent;border-width:0;color:var(--ck-color-base-text);padding:var(--ck-spacing-standard);padding-top:var(--ck-spacing-medium);resize:none;transition:color .3s ease-in-out}.ck .ck-comment__input:focus{outline:none}.ck .ck-comment__input .ck-editor__editable_inline{--ck-focus-ring:none;--ck-inner-shadow:none;background-color:transparent;border:0;overflow:visible;padding:0;word-break:break-word}.ck-comment__input-wrapper .ck.ck-editor__editable_inline :first-child{margin-top:0}.ck-comment__input-wrapper .ck.ck-editor__editable_inline :last-child{margin-bottom:0}.ck .ck-comment__input-actions{display:none;text-align:right;width:100%}.ck .ck-comment__input-actions.ck-comment__input-actions--active{display:block}.ck .ck-comment__input-actions .ck-button{background-color:transparent;border-radius:var(--ck-border-radius);color:var(--ck-color-annotations-icon);cursor:pointer;font-size:var(--ck-annotation-button-size);min-height:unset;min-width:unset}.ck .ck-comment__input-actions .ck-button.ck-disabled{opacity:.3}.ck .ck-comment__input-textarea{display:block}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-comments/theme/commentinput.css"],names:[],mappings:"AAQA,iCAEC,0BAA2B,CAM3B,6CAA8C,CAF9C,YAAa,CAFb,kCAAmC,CAGnC,kCAED,CAEA,yCACC,YACD,CAEA,uBASC,4BAA6B,CAF7B,cAAe,CADf,+BAAgC,CALhC,kCAAmC,CAGnC,oCAAqC,CAIrC,WAAY,CAEZ,gCAiBD,CAfC,6BACC,YACD,CAEA,mDAEC,oBAAqB,CACrB,sBAAuB,CAKvB,4BAA6B,CAD7B,QAAS,CADT,gBAAiB,CADjB,SAAU,CAIV,qBACD,CAKD,uEACC,YACD,CACA,sEACC,eACD,CAEA,+BAGC,YAAa,CADb,gBAAiB,CADjB,UAsBD,CAlBC,iEACC,aACD,CAEA,0CAEC,4BAA6B,CAK7B,qCAAsC,CADtC,sCAAuC,CADvC,cAAe,CAGf,0CAA2C,CAJ3C,gBAAiB,CADjB,eAMD,CAEA,sDACC,UACD,CAGD,gCACC,aACD",sourcesContent:["/*\n * What you're currently looking at is the source code of a legally protected, proprietary software.\n * CKEditor 5 Collaboration is licensed under a commercial license and protected by copyright law. Where not otherwise indicated,\n * all CKEditor 5 Collaboration content is authored by CKSource engineers and consists of CKSource-owned intellectual property.\n *\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n */\n\n.ck .ck-comment__input-container {\n\t/* Make avatar size in the comment smaller than in presence list. */\n\t--ck-user-avatar-size: 28px;\n\n\tfont-size: var(--ck-font-size-base);\n\n\tdisplay: none;\n\tpadding: var(--ck-spacing-standard);\n\tbackground: var(--ck-color-comment-background);\n}\n\n.ck .ck-comment__input-container--active {\n\tdisplay: flex;\n}\n\n.ck .ck-comment__input {\n\tpadding: var(--ck-spacing-standard);\n\n\t/* To keep vertical align with avatar. */\n\tpadding-top: var(--ck-spacing-medium);\n\n\tcolor: var(--ck-color-base-text);\n\tborder-width: 0;\n\tresize: none;\n\tbackground-color: transparent;\n\ttransition: color 300ms ease-in-out;\n\n\t&:focus {\n\t\toutline: none;\n\t}\n\n\t& .ck-editor__editable_inline {\n\t\t/* Disable default outline and border in editable input. */\n\t\t--ck-focus-ring: none;\n\t\t--ck-inner-shadow: none;\n\n\t\tpadding: 0;\n\t\toverflow: visible;\n\t\tborder: 0;\n\t\tbackground-color: transparent;\n\t\tword-break: break-word;\n\t}\n}\n\n/* Overwrite default CKEditor 5 margin of editable children.\nSee: ckeditor5-theme-lark/theme/ckeditor5-ui/components/editorui/editorui.css. */\n.ck-comment__input-wrapper .ck.ck-editor__editable_inline *:first-child {\n\tmargin-top: 0;\n}\n.ck-comment__input-wrapper .ck.ck-editor__editable_inline *:last-child {\n\tmargin-bottom: 0;\n}\n\n.ck .ck-comment__input-actions {\n\twidth: 100%;\n\ttext-align: right;\n\tdisplay: none;\n\n\t&.ck-comment__input-actions--active {\n\t\tdisplay: block;\n\t}\n\n\t& .ck-button {\n\t\t/* Overwrite CK5 button default styles. */\n\t\tbackground-color: transparent;\n\t\tmin-width: unset;\n\t\tmin-height: unset;\n\t\tcursor: pointer;\n\t\tcolor: var(--ck-color-annotations-icon);\n\t\tborder-radius: var(--ck-border-radius);\n\t\tfont-size: var(--ck-annotation-button-size);\n\t}\n\n\t& .ck-button.ck-disabled {\n\t\topacity: .3;\n\t}\n}\n\n.ck .ck-comment__input-textarea {\n\tdisplay: block;\n}\n"],sourceRoot:""}]);const a=s},5743:(t,e,n)=>{"use strict";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-comment-marker:#fef7a9;--ck-color-comment-marker-active:#fdf05d}.ck-comment-marker{background:var(--ck-color-comment-marker);border-bottom:3px solid transparent;border-top:3px solid transparent}.ck-comment-marker.ck-widget{background-color:transparent;border:3px solid var(--ck-color-comment-marker)}.ck-comment-marker--active{background:var(--ck-color-comment-marker-active)}.ck-comment-marker--active.ck-widget{border-color:var(--ck-color-comment-marker-active)}.ck-comment-marker--active.ck-widget .ck-comment-marker{background-color:var(--ck-color-comment-marker)}.ck-comment-marker--active .ck-comment-marker{background:var(--ck-color-comment-marker-active)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-comments/theme/commentmarker.css"],names:[],mappings:"AAQA,MACC,iCAA4C,CAC5C,wCACD,CAEA,mBACC,yCAA0C,CAI1C,mCAAoC,CADpC,gCAQD,CAJC,6BACC,4BAA6B,CAC7B,+CACD,CAGD,2BACC,gDAeD,CAbC,qCACC,kDAMD,CAHC,wDACC,+CACD,CAID,8CACC,gDACD",sourcesContent:["/*\n * What you're currently looking at is the source code of a legally protected, proprietary software.\n * CKEditor 5 Collaboration is licensed under a commercial license and protected by copyright law. Where not otherwise indicated,\n * all CKEditor 5 Collaboration content is authored by CKSource engineers and consists of CKSource-owned intellectual property.\n *\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n */\n\n:root {\n\t--ck-color-comment-marker: hsl(55, 98%, 83%);\n\t--ck-color-comment-marker-active: hsl(55, 98%, 68%);\n}\n\n.ck-comment-marker {\n\tbackground: var(--ck-color-comment-marker);\n\n\t/* Match size with suggestion markers */\n\tborder-top: 3px solid transparent;\n\tborder-bottom: 3px solid transparent;\n\n\t/* #152. In the image case, we change marker background to border. */\n\t&.ck-widget {\n\t\tbackground-color: transparent;\n\t\tborder: 3px solid var(--ck-color-comment-marker);\n\t}\n}\n\n.ck-comment-marker--active {\n\tbackground: var(--ck-color-comment-marker-active);\n\n\t&.ck-widget {\n\t\tborder-color: var(--ck-color-comment-marker-active);\n\n\t\t/* See #2469. Inactive comment in a widget inside an active comment should not be highlighted. */\n\t\t& .ck-comment-marker {\n\t\t\tbackground-color: var(--ck-color-comment-marker);\n\t\t}\n\t}\n\n\t/* See #2469. Inactive comment marker inside an active one should be highlighted too. */\n\t& .ck-comment-marker {\n\t\tbackground: var(--ck-color-comment-marker-active);\n\t}\n}\n"],sourceRoot:""}]);const a=s},4342:(t,e,n)=>{"use strict";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-thread-remove-background:var(--ck-color-comment-remove-background);--ck-color-comment-count:#5891ca}.ck .ck-thread{background-color:var(--ck-color-base-background);border-radius:var(--ck-border-radius);color:var(--ck-color-base-text);outline:0;overflow:hidden;transition:all .3s ease;width:100%}.ck .ck-thread__comments .ck-comment__wrapper:last-of-type .ck-comment:after{opacity:0}.ck .ck-thread__container{transition:transform .3s ease}.ck .ck-thread__comments{border-radius:var(--ck-border-radius);list-style:none;margin:0;overflow:hidden;padding:0;position:relative;z-index:var(--ck-z-default)}.ck .ck-thread__comment-count{--ck-user-avatar-size:28px;color:var(--ck-color-comment-count);cursor:pointer;font-size:var(--ck-font-size-base);font-weight:700;padding-left:calc(var(--ck-user-avatar-size) + var(--ck-spacing-standard)*2);transition:background-color .3s ease}.ck .ck-thread__comment-count:before{content:"\\25BC";margin-right:var(--ck-spacing-small)}.ck .ck-thread--active .ck-comment__options.ck-dropdown{display:block}.ck .ck-thread--active .ck-thread__input{background-color:var(--ck-color-comment-background);display:block}.ck .ck-thread--remove .ck-comment{background-color:var(--ck-color-comment-remove-background)}.ck .ck-thread--remove .ck-thread__input--active{background-color:var(--ck-color-base-background)}.ck .ck-thread--remove .ck-thread__comment-count,.ck .ck-thread--remove .ck-thread__input--active.ck-thread__input{background-color:var(--ck-color-comment-remove-background)}.ck .ck-thread--remove .ck-comment__wrapper .ck-comment:after{opacity:0}.ck .ck-thread--remove-confirmation .ck-thread__container{transform:translate3d(-100%,0,0)}.ck.ck-button.ck-thread__remove-confirm-submit{color:var(--ck-color-button-save)}.ck.ck-button.ck-thread__remove-confirm-cancel{color:var(--ck-color-button-cancel)}.ck .ck-thread__remove-confirm{background-color:var(--ck-color-comment-remove-background);display:flex;font-size:var(--ck-font-size-base);height:100%;justify-content:flex-start;left:100%;position:absolute;top:0;width:100%}.ck .ck-thread__remove-confirm .ck-thread__remove-confirm-inner{align-items:center;display:flex;flex-direction:column;height:100%;justify-content:center;max-height:400px;padding-top:var(--ck-spacing-standard);width:100%}.ck .ck-thread__remove-confirm p{font-weight:700;margin:0}.ck .ck-thread__input{border-radius:var(--ck-border-radius);transition:background-color .2s ease-in-out;width:calc(100% - var(--ck-user-avatar-size))}',"",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-comments/theme/commentthread.css"],names:[],mappings:"AAQA,MACC,6EAA8E,CAC9E,gCACD,CAEA,eAIC,gDAAiD,CAGjD,qCAAsC,CALtC,+BAAgC,CAChC,SAAU,CAEV,eAAgB,CAChB,uBAA0B,CAL1B,UAOD,CAKE,6EACC,SACD,CAIF,0BACC,6BACD,CAEA,yBAMC,qCAAsC,CAHtC,eAAgB,CAChB,QAAS,CAGT,eAAgB,CAFhB,SAAU,CAJV,iBAAkB,CAClB,2BAMD,CAEA,8BAEC,0BAA2B,CAI3B,mCAAoC,CAGpC,cAAe,CAFf,kCAAmC,CACnC,eAAiB,CAJjB,4EAAiF,CAQjF,oCAMD,CAJC,qCACC,eAAgB,CAChB,oCACD,CAIA,wDACC,aACD,CAEA,yCAEC,mDAAoD,CADpD,aAED,CAIA,mCACC,0DACD,CAEA,iDACC,gDAKD,CAEA,mHACC,0DACD,CAIC,8DACC,SACD,CAKD,0DACC,gCACD,CAID,+CACC,iCACD,CAEA,+CACC,mCACD,CAEA,+BASC,0DAA2D,CAN3D,YAAa,CAFb,kCAAmC,CAOnC,WAAY,CAJZ,0BAA2B,CAE3B,SAAU,CAJV,iBAAkB,CAGlB,KAAM,CAEN,UAqBD,CAjBC,gEAGC,kBAAmB,CAFnB,YAAa,CACb,qBAAsB,CAItB,WAAY,CAFZ,sBAAuB,CAMvB,gBAAiB,CALjB,sCAAuC,CAEvC,UAID,CAEA,iCACC,eAAiB,CACjB,QACD,CAGD,sBAKC,qCAAsC,CADtC,2CAA8C,CAF9C,6CAID",sourcesContent:["/*\n * What you're currently looking at is the source code of a legally protected, proprietary software.\n * CKEditor 5 Collaboration is licensed under a commercial license and protected by copyright law. Where not otherwise indicated,\n * all CKEditor 5 Collaboration content is authored by CKSource engineers and consists of CKSource-owned intellectual property.\n *\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n */\n\n:root {\n\t--ck-color-thread-remove-background: var(--ck-color-comment-remove-background);\n\t--ck-color-comment-count: hsl(210, 52%, 57%);\n}\n\n.ck .ck-thread {\n\twidth: 100%;\n\tcolor: var(--ck-color-base-text);\n\toutline: 0;\n\tbackground-color: var(--ck-color-base-background);\n\toverflow: hidden;\n\ttransition: all 300ms ease;\n\tborder-radius: var(--ck-border-radius);\n}\n\n/* Handle visibility of vertical line below avatars. */\n.ck .ck-thread__comments .ck-comment__wrapper {\n\t&:last-of-type {\n\t\t& .ck-comment::after {\n\t\t\topacity: 0;\n\t\t}\n\t}\n}\n\n.ck .ck-thread__container {\n\ttransition: transform 300ms ease;\n}\n\n.ck .ck-thread__comments {\n\tposition: relative;\n\tz-index: var(--ck-z-default);\n\tlist-style: none;\n\tmargin: 0;\n\tpadding: 0;\n\tborder-radius: var(--ck-border-radius);\n\toverflow: hidden;\n}\n\n.ck .ck-thread__comment-count {\n\t/* Make avatar size in the comment smaller than in presence list. */\n\t--ck-user-avatar-size: 28px;\n\n\tpadding-left: calc( var(--ck-user-avatar-size) + var(--ck-spacing-standard) * 2 );\n\n\tcolor: var(--ck-color-comment-count);\n\tfont-size: var(--ck-font-size-base);\n\tfont-weight: bold;\n\tcursor: pointer;\n\n\t/* Keep similar transition like `ck-annotation`. */\n\ttransition: background-color 300ms ease;\n\n\t&::before {\n\t\tcontent: '\\25BC';\n\t\tmargin-right: var(--ck-spacing-small);\n\t}\n}\n\n.ck .ck-thread--active {\n\t& .ck-comment__options.ck-dropdown {\n\t\tdisplay: block;\n\t}\n\n\t& .ck-thread__input {\n\t\tdisplay: block;\n\t\tbackground-color: var(--ck-color-comment-background);\n\t}\n}\n\n.ck .ck-thread--remove {\n\t& .ck-comment {\n\t\tbackground-color: var(--ck-color-comment-remove-background);\n\t}\n\n\t& .ck-thread__input--active {\n\t\tbackground-color: var(--ck-color-base-background);\n\n\t\t&.ck-thread__input {\n\t\t\tbackground-color: var(--ck-color-comment-remove-background);\n\t\t}\n\t}\n\n\t& .ck-thread__comment-count {\n\t\tbackground-color: var(--ck-color-comment-remove-background);\n\t}\n\n\t/* Handle visibility of vertical line below avatars. */\n\t& .ck-comment__wrapper {\n\t\t& .ck-comment::after {\n\t\t\topacity: 0;\n\t\t}\n\t}\n}\n\n.ck .ck-thread--remove-confirmation {\n\t& .ck-thread__container {\n\t\ttransform: translate3d( -100%, 0, 0 );\n\t}\n}\n\n/* We need specificity 020 to beat .ck.ck-button. */\n.ck.ck-button.ck-thread__remove-confirm-submit {\n\tcolor: var(--ck-color-button-save);\n}\n\n.ck.ck-button.ck-thread__remove-confirm-cancel {\n\tcolor: var(--ck-color-button-cancel);\n}\n\n.ck .ck-thread__remove-confirm {\n\tfont-size: var(--ck-font-size-base);\n\tposition: absolute;\n\tdisplay: flex;\n\tjustify-content: flex-start;\n\ttop: 0;\n\tleft: 100%;\n\twidth: 100%;\n\theight: 100%;\n\tbackground-color: var(--ck-color-comment-remove-background);\n\n\t& .ck-thread__remove-confirm-inner {\n\t\tdisplay: flex;\n\t\tflex-direction: column;\n\t\talign-items: center;\n\t\tjustify-content: center;\n\t\tpadding-top: var(--ck-spacing-standard);\n\t\theight: 100%;\n\t\twidth: 100%;\n\n\t\t/* Maximum height of confirmation (in case with such long comment). */\n\t\tmax-height: 400px;\n\t}\n\n\t& p {\n\t\tfont-weight: bold;\n\t\tmargin: 0;\n\t}\n}\n\n.ck .ck-thread__input {\n\t/* #1829. Firefox is wrongly rendering flex container width 100% with overflowed (non-spaced) text. */\n\twidth: calc( 100% - var(--ck-user-avatar-size) );\n\n\ttransition: background-color 200ms ease-in-out;\n\tborder-radius: var(--ck-border-radius);\n}\n"],sourceRoot:""}]);const a=s},659:(t,e,n)=>{"use strict";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-annotation-counter-icon-size:16px;--ck-annotation-counter-number-size:10px;--ck-color-annotation-counter-comment:#f2de02;--ck-color-annotation-counter-suggestion-insertion:#5ad86b;--ck-color-annotation-counter-suggestion-deletion:#d85a79;--ck-color-annotation-counter-suggestion-format:#5ac1d8}.ck.ck-sidebar--narrow .ck-sidebar-item{display:flex;justify-content:center}.ck.ck-sidebar--narrow .ck-annotation-counter{color:grey;cursor:pointer;font-size:var(--ck-annotation-counter-icon-size);min-height:unset;padding:0}.ck.ck-sidebar--narrow .ck-annotation-counter:focus,.ck.ck-sidebar--narrow .ck-annotation-counter:hover{background:transparent;box-shadow:none;color:#4d4d4d}.ck.ck-sidebar--narrow .ck-annotation-counter__badge{background:#333;border-radius:50%;color:#fff;display:flex;font-family:var(--ck-font-face);font-size:var(--ck-annotation-counter-number-size);font-weight:700;height:16px;justify-content:center;line-height:16px;position:absolute;right:0;text-shadow:-1px 0 2px #444,1px 0 2px #444;top:-6px;width:16px;z-index:1}.ck.ck-sidebar--narrow .ck-annotation-counter__badge--edit-mode{line-height:1}.ck.ck-sidebar--narrow .ck-annotation-counter__badge--suggestion-insertion,.ck.ck-sidebar--narrow .ck-annotation-counter__badge--suggestion-replace{background:var(--ck-color-annotation-counter-suggestion-insertion)}.ck.ck-sidebar--narrow .ck-annotation-counter__badge--suggestion-deletion{background:var(--ck-color-annotation-counter-suggestion-deletion)}.ck.ck-sidebar--narrow .ck-annotation-counter__badge--suggestion-format{background:var(--ck-color-annotation-counter-suggestion-format)}.ck.ck-sidebar--narrow .ck-annotation-counter__badge--comment{background:var(--ck-color-annotation-counter-comment)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-comments/theme/sidebar-narrow.css"],names:[],mappings:"AAQA,MACC,sCAAuC,CACvC,wCAAyC,CACzC,6CAAwD,CACxD,0DAAsE,CACtE,yDAAqE,CACrE,uDACD,CAGA,wCACC,YAAa,CACb,sBACD,CAEA,8CASC,UAAsB,CADtB,cAAe,CANf,gDAAiD,CAGjD,gBAAiB,CACjB,SAID,CAEA,wGAEC,sBAAuB,CACvB,eAAgB,CAChB,aACD,CAEA,qDAKC,eAA2B,CAJ3B,iBAAkB,CAMlB,UAAW,CAUX,YAAa,CARb,+BAAgC,CADhC,kDAAmD,CAFnD,eAAiB,CAFjB,WAAY,CAcZ,sBAAuB,CAGvB,gBAAiB,CAnBjB,iBAAkB,CAQlB,OAAQ,CAIR,0CAA4C,CAH5C,QAAS,CART,UAAW,CAqBX,SACD,CAGA,gEACC,aACD,CAEA,oJAEC,kEACD,CAEA,0EACC,iEACD,CAEA,wEACC,+DACD,CAEA,8DACC,qDACD",sourcesContent:["/*\n * What you're currently looking at is the source code of a legally protected, proprietary software.\n * CKEditor 5 Collaboration is licensed under a commercial license and protected by copyright law. Where not otherwise indicated,\n * all CKEditor 5 Collaboration content is authored by CKSource engineers and consists of CKSource-owned intellectual property.\n *\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n */\n\n:root {\n\t--ck-annotation-counter-icon-size: 16px;\n\t--ck-annotation-counter-number-size: 10px;\n\t--ck-color-annotation-counter-comment: hsl(55, 98%, 48%);\n\t--ck-color-annotation-counter-suggestion-insertion: hsl(128, 62%, 60%);\n\t--ck-color-annotation-counter-suggestion-deletion: hsl(345, 62%, 60%);\n\t--ck-color-annotation-counter-suggestion-format: hsl(191, 62%, 60%);\n}\n\n/* Center a annotation counter icon no matter of parent container width. */\n.ck.ck-sidebar--narrow .ck-sidebar-item {\n\tdisplay: flex;\n\tjustify-content: center;\n}\n\n.ck.ck-sidebar--narrow .ck-annotation-counter {\n\t/* Let's reduce icon size a bit. */\n\tfont-size: var(--ck-annotation-counter-icon-size);\n\n\t/* Reduce default `.ck-button` min-height which is 2.3em, bigger than current icon. */\n\tmin-height: unset;\n\tpadding: 0;\n\n\tcursor: pointer;\n\tcolor: hsl(0, 0%, 50%);\n}\n\n.ck.ck-sidebar--narrow .ck-annotation-counter:hover,\n.ck.ck-sidebar--narrow .ck-annotation-counter:focus {\n\tbackground: transparent;\n\tbox-shadow: none;\n\tcolor: hsl(0, 0%, 30%);\n}\n\n.ck.ck-sidebar--narrow .ck-annotation-counter__badge {\n\tborder-radius: 50%;\n\tposition: absolute;\n\twidth: 16px;\n\theight: 16px;\n\tbackground: hsl(0, 0%, 20%);\n\tfont-weight: bold;\n\tcolor: #fff;\n\tfont-size: var(--ck-annotation-counter-number-size);\n\tfont-family: var(--ck-font-face);\n\tright: 0;\n\ttop: -6px;\n\n\t/* Improve visibility of counter number. */\n\ttext-shadow: -1px 0 2px #444, 1px 0 2px #444;\n\n\t/* Display number perfectly center of circle. */\n\tdisplay: flex;\n\tjustify-content: center;\n\n\t/* We can't use here `align-items: center` because we need to edit `line-height` for edit mode case. */\n\tline-height: 16px;\n\n\t/* To display above comment icon. */\n\tz-index: 1;\n}\n\n/* When annotation is in edit mode, center `...` differently. */\n.ck.ck-sidebar--narrow .ck-annotation-counter__badge--edit-mode {\n\tline-height: 1;\n}\n\n.ck.ck-sidebar--narrow .ck-annotation-counter__badge--suggestion-insertion,\n.ck.ck-sidebar--narrow .ck-annotation-counter__badge--suggestion-replace {\n\tbackground: var(--ck-color-annotation-counter-suggestion-insertion);\n}\n\n.ck.ck-sidebar--narrow .ck-annotation-counter__badge--suggestion-deletion {\n\tbackground: var(--ck-color-annotation-counter-suggestion-deletion);\n}\n\n.ck.ck-sidebar--narrow .ck-annotation-counter__badge--suggestion-format {\n\tbackground: var(--ck-color-annotation-counter-suggestion-format);\n}\n\n.ck.ck-sidebar--narrow .ck-annotation-counter__badge--comment {\n\tbackground: var(--ck-color-annotation-counter-comment);\n}\n"],sourceRoot:""}]);const a=s},5745:(t,e,n)=>{"use strict";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-annotation-wrapper-background:#fff;--ck-color-annotation-wrapper-drop-shadow:0 1px 1px 1px #e6e6e6}.ck.ck-sidebar{outline:0;position:relative;transition:min-height .25s ease}.ck-sidebar-item{position:absolute;transition:top .3s ease,box-shadow .3s ease;width:100%}.ck-sidebar-item--no-animation{transition:top 0s ease!important}.ck.ck-annotation-wrapper{background:var(--ck-color-annotation-wrapper-background);border-radius:var(--ck-border-radius);box-shadow:var(--ck-color-annotation-wrapper-drop-shadow);outline:0}.ck.ck-annotation-wrapper:not(.ck-annotation-wrapper--active):hover{box-shadow:var(--ck-drop-shadow)}.ck.ck-annotation-wrapper--active{box-shadow:var(--ck-drop-shadow-active)}.ck.ck-annotation-wrapper--active .ck-annotation__actions,.ck.ck-annotation-wrapper:hover .ck-annotation__actions{opacity:1}.ck.ck-annotation-wrapper--active .ck-suggestion--accept,.ck.ck-annotation-wrapper:hover .ck-suggestion--accept{color:var(--ck-color-button-save)}.ck.ck-annotation-wrapper--active .ck-suggestion--discard,.ck.ck-annotation-wrapper:hover .ck-suggestion--discard{color:var(--ck-color-button-cancel)}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-comments/theme/sidebar.css"],names:[],mappings:"AAQA,MACC,6CAA0D,CAC1D,+DACD,CAEA,eAGC,SAAU,CAFV,iBAAkB,CAClB,+BAED,CAEA,iBACC,iBAAkB,CAElB,2CAAiD,CADjD,UAED,CAEA,+BACC,gCACD,CAEA,0BAGC,wDAAyD,CADzD,qCAAsC,CAEtC,yDAA0D,CAH1D,SAID,CAGA,oEACC,gCACD,CAEA,kCACC,uCACD,CAIC,kHACC,SACD,CAEA,gHACC,iCACD,CAEA,kHACC,mCACD",sourcesContent:["/*\n * What you're currently looking at is the source code of a legally protected, proprietary software.\n * CKEditor 5 Collaboration is licensed under a commercial license and protected by copyright law. Where not otherwise indicated,\n * all CKEditor 5 Collaboration content is authored by CKSource engineers and consists of CKSource-owned intellectual property.\n *\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n */\n\n:root {\n\t--ck-color-annotation-wrapper-background: hsl(0, 0%, 100%);\n\t--ck-color-annotation-wrapper-drop-shadow: 0 1px 1px 1px hsl(0, 0%, 90%);\n}\n\n.ck.ck-sidebar {\n\tposition: relative;\n\ttransition: min-height 250ms ease;\n\toutline: 0;\n}\n\n.ck-sidebar-item {\n\tposition: absolute;\n\twidth: 100%;\n\ttransition: top 300ms ease, box-shadow 300ms ease;\n}\n\n.ck-sidebar-item--no-animation {\n\ttransition: top 0s ease !important;\n}\n\n.ck.ck-annotation-wrapper {\n\toutline: 0;\n\tborder-radius: var(--ck-border-radius);\n\tbackground: var(--ck-color-annotation-wrapper-background);\n\tbox-shadow: var(--ck-color-annotation-wrapper-drop-shadow);\n}\n\n/* Handle case where annotation is inactive and users hover them. */\n.ck.ck-annotation-wrapper:not(.ck-annotation-wrapper--active):hover {\n\tbox-shadow: var(--ck-drop-shadow);\n}\n\n.ck.ck-annotation-wrapper--active {\n\tbox-shadow: var(--ck-drop-shadow-active);\n}\n\n.ck.ck-annotation-wrapper:hover,\n.ck.ck-annotation-wrapper--active {\n\t& .ck-annotation__actions {\n\t\topacity: 1;\n\t}\n\n\t& .ck-suggestion--accept {\n\t\tcolor: var(--ck-color-button-save)\n\t}\n\n\t& .ck-suggestion--discard {\n\t\tcolor: var(--ck-color-button-cancel)\n\t}\n}\n"],sourceRoot:""}]);const a=s},3638:(t,e,n)=>{"use strict";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-2022, CKSource Holding sp. z o.o. 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-2022, CKSource Holding sp. z o.o. 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-2022, CKSource Holding sp. z o.o. 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)=>{"use strict";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{content:attr(data-placeholder);left:0;pointer-events:none;position:absolute;right:0}.ck.ck-read-only .ck-placeholder:before{display:none}.ck.ck-reset_all .ck-placeholder{position:relative}.ck .ck-placeholder:before,.ck.ck-placeholder:before{color:var(--ck-color-engine-placeholder-text);cursor: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,qDAIC,8BAA+B,CAF/B,MAAO,CAKP,mBAAoB,CANpB,iBAAkB,CAElB,OAKD,CAKA,wCACC,YACD,CAQD,iCACC,iBACD,CC5BC,qDAEC,6CAA8C,CAD9C,WAED",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. 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/*\n * Rules for the `ck-placeholder` are loaded before the rules for `ck-reset_all` in the base CKEditor 5 DLL build.\n * This fix overwrites the incorrectly set `position: static` from `ck-reset_all`.\n * See https://github.com/ckeditor/ckeditor5/issues/11418.\n */\n.ck.ck-reset_all .ck-placeholder {\n\tposition: relative;\n}\n","/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. 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},4401:(t,e,n)=>{"use strict";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 span[data-ck-unsafe-element]{display:none}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-engine/theme/renderer.css"],names:[],mappings:"AAMA,qDACC,YACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* Elements marked by the Renderer as hidden should be invisible in the editor. */\n.ck.ck-editor__editable span[data-ck-unsafe-element] {\n\tdisplay: none;\n}\n"],sourceRoot:""}]);const a=s},6491:(t,e,n)=>{"use strict";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-spinner-size:18px}.ck-exportpdf_status-pending{position:relative}.ck.ck-exportpdf__spinner-container{display:none}.ck.ck-exportpdf__spinner{border:2px solid var(--ck-color-text);border-radius:50%;border-top:2px solid transparent;left:0;margin:0 auto;right:0;top:50%;transform:translateY(-50%);z-index:1}.ck-exportpdf_status-pending .ck.ck-exportpdf__spinner-container,.ck.ck-exportpdf__spinner{height:var(--ck-toolbar-spinner-size);position:absolute;width:var(--ck-toolbar-spinner-size)}.ck-exportpdf_status-pending .ck.ck-exportpdf__spinner-container{animation:rotate 1.5s linear infinite;display:block}.ck-exportpdf_status-pending .ck.ck-button__icon{color:transparent}@keyframes rotate{to{transform:rotate(1turn)}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-export-pdf/theme/exportpdf.css"],names:[],mappings:"AASA,MACC,8BACD,CAEA,6BACC,iBACD,CAEA,oCACC,YACD,CAEA,0BAUC,qCAA6B,CAF7B,iBAAkB,CAElB,gCAA6B,CAP7B,MAAO,CAEP,aAAc,CADd,OAAQ,CAFR,OAAQ,CASR,0BAA2B,CAC3B,SACD,CAEA,2FARC,qCAAsC,CANtC,iBAAkB,CAKlB,oCAeD,CANA,iEAKC,qCAAsC,CAJtC,aAKD,CAEA,iDACC,iBACD,CAEA,kBACC,GACC,uBACD,CACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n/* TODO\n\tExtract theme-lark styles before public release.\n*/\n\n:root {\n\t--ck-toolbar-spinner-size: 18px;\n}\n\n.ck-exportpdf_status-pending {\n\tposition: relative;\n}\n\n.ck.ck-exportpdf__spinner-container {\n\tdisplay: none;\n}\n\n.ck.ck-exportpdf__spinner {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 0;\n\tright: 0;\n\tmargin: 0 auto;\n\twidth: var(--ck-toolbar-spinner-size);\n\theight: var(--ck-toolbar-spinner-size);\n\tborder-radius: 50%;\n\tborder: 2px solid var(--ck-color-text);\n\tborder-top-color: transparent;\n\ttransform: translateY(-50%);\n\tz-index: 1;\n}\n\n.ck-exportpdf_status-pending .ck.ck-exportpdf__spinner-container {\n\tdisplay: block;\n\tposition: absolute;\n\twidth: var(--ck-toolbar-spinner-size);\n\theight: var(--ck-toolbar-spinner-size);\n\tanimation: 1.5s infinite rotate linear;\n}\n\n.ck-exportpdf_status-pending .ck.ck-button__icon {\n\tcolor: transparent;\n}\n\n@keyframes rotate {\n\tto {\n\t\ttransform: rotate(360deg)\n\t}\n}\n"],sourceRoot:""}]);const a=s},160:(t,e,n)=>{"use strict";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-spinner-size:18px}.ck-exportword_status-pending{position:relative}.ck.ck-exportword__spinner-container{display:none}.ck.ck-exportword__spinner{border:2px solid var(--ck-color-text);border-radius:50%;border-top:2px solid transparent;height:var(--ck-toolbar-spinner-size);left:0;margin:0 auto;position:absolute;right:0;top:50%;transform:translateY(-50%);width:var(--ck-toolbar-spinner-size);z-index:1}.ck-exportword_status-pending .ck.ck-exportword__spinner-container{animation:rotate 1.5s linear infinite;display:block;height:var(--ck-toolbar-spinner-size);position:absolute;width:var(--ck-toolbar-spinner-size)}.ck-exportword_status-pending .ck.ck-button__icon{color:transparent}@keyframes rotate{to{transform:rotate(1turn)}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-export-word/theme/exportword.css"],names:[],mappings:"AAKA,MACC,8BACD,CAEA,8BACC,iBACD,CAEA,qCACC,YACD,CAEA,2BAUC,qCAA6B,CAF7B,iBAAkB,CAElB,gCAA6B,CAH7B,qCAAsC,CAJtC,MAAO,CAEP,aAAc,CAJd,iBAAkB,CAGlB,OAAQ,CAFR,OAAQ,CASR,0BAA2B,CAL3B,oCAAqC,CAMrC,SACD,CAEA,mEAKC,qCAAsC,CAJtC,aAAc,CAGd,qCAAsC,CAFtC,iBAAkB,CAClB,oCAGD,CAEA,kDACC,iBACD,CAEA,kBACC,GACC,uBACD,CACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. 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-spinner-size: 18px;\n}\n\n.ck-exportword_status-pending {\n\tposition: relative;\n}\n\n.ck.ck-exportword__spinner-container {\n\tdisplay: none;\n}\n\n.ck.ck-exportword__spinner {\n\tposition: absolute;\n\ttop: 50%;\n\tleft: 0;\n\tright: 0;\n\tmargin: 0 auto;\n\twidth: var(--ck-toolbar-spinner-size);\n\theight: var(--ck-toolbar-spinner-size);\n\tborder-radius: 50%;\n\tborder: 2px solid var(--ck-color-text);\n\tborder-top-color: transparent;\n\ttransform: translateY(-50%);\n\tz-index: 1;\n}\n\n.ck-exportword_status-pending .ck.ck-exportword__spinner-container {\n\tdisplay: block;\n\tposition: absolute;\n\twidth: var(--ck-toolbar-spinner-size);\n\theight: var(--ck-toolbar-spinner-size);\n\tanimation: 1.5s infinite rotate linear;\n}\n\n.ck-exportword_status-pending .ck.ck-button__icon {\n\tcolor: transparent;\n}\n\n@keyframes rotate {\n\tto {\n\t\ttransform: rotate(360deg)\n\t}\n}\n"],sourceRoot:""}]);const a=s},5436:(t,e,n)=>{"use strict";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:var(--ck-color-highlight-background);color:var(--ck-color-text)}.ck-find-result_selected{background:#ff9633}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-find-and-replace/theme/findandreplace.css"],names:[],mappings:"AAKA,gBACC,+CAAgD,CAChD,0BACD,CAEA,yBACC,kBACD",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. 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: var(--ck-color-highlight-background);\n\tcolor: var(--ck-color-text);\n}\n\n.ck-find-result_selected {\n\tbackground: hsl(29, 100%, 60%);\n}\n"],sourceRoot:""}]);const a=s},9289:(t,e,n)=>{"use strict";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{max-width:100%}.ck.ck-find-and-replace-form fieldset{display:flex}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find .ck-results-counter{position:absolute}.ck.ck-find-and-replace-form{width:400px}.ck.ck-find-and-replace-form:focus{outline:none}.ck.ck-find-and-replace-form fieldset{align-content:stretch;align-items:center;border:0;flex-direction:row;flex-wrap:nowrap;margin:0;padding:var(--ck-spacing-large)}.ck.ck-find-and-replace-form fieldset>.ck-button{flex:0 0 auto}[dir=ltr] .ck.ck-find-and-replace-form fieldset>*+*{margin-left:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-find-and-replace-form fieldset>*+*{margin-right:var(--ck-spacing-standard)}.ck.ck-find-and-replace-form fieldset .ck-labeled-field-view{flex:1 1 auto}.ck.ck-find-and-replace-form fieldset .ck-labeled-field-view .ck-input{min-width:50px;width:100%}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find{align-items:flex-start}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find>.ck-button-find{font-weight:700}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find>.ck-button-find .ck-button__label{padding-left:var(--ck-spacing-large);padding-right:var(--ck-spacing-large)}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find>.ck-button-prev>.ck-icon{transform:rotate(90deg)}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find>.ck-button-next>.ck-icon{transform:rotate(-90deg)}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find .ck-results-counter{top:50%;transform:translateY(-50%)}[dir=ltr] .ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find .ck-results-counter{right:var(--ck-spacing-standard)}[dir=rtl] .ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find .ck-results-counter{left:var(--ck-spacing-standard)}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find .ck-results-counter{color:var(--ck-color-base-border)}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__replace{flex-wrap:wrap;justify-content:flex-end;margin-top:calc(var(--ck-spacing-large)*-1)}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__replace>.ck-labeled-field-view{margin-bottom:var(--ck-spacing-large)}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__replace>.ck-options-dropdown{margin-left:0;margin-right:auto}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__replace>.ck-labeled-field-view,.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__replace>.ck-labeled-field-view .ck-input{width:100%}@media screen and (max-width:600px){.ck.ck-find-and-replace-form{width:300px}.ck.ck-find-and-replace-form fieldset{flex-wrap:wrap}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find .ck-labeled-field-view{flex:1 0 auto;margin-bottom:var(--ck-spacing-standard);width:100%}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find>.ck-button{text-align:center}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find>.ck-button:first-of-type{flex:1 1 auto}[dir=ltr] .ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find>.ck-button:first-of-type{margin-left:0}[dir=rtl] .ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find>.ck-button:first-of-type{margin-right:0}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__find>.ck-button:first-of-type .ck-button__label{text-align:center;width:100%}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__replace>:not(.ck-labeled-field-view){flex:1 1 auto}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__replace>.ck-dropdown:not(.ck-labeled-field-view){flex-grow:0}.ck.ck-find-and-replace-form fieldset.ck-find-and-replace-form__replace>.ck-button:not(.ck-labeled-field-view)>.ck-button__label{text-align:center;width:100%}}","",{version:3,sources:["webpack://./node_modules/@ckeditor/ckeditor5-find-and-replace/theme/findandreplaceform.css","webpack://./node_modules/@ckeditor/ckeditor5-theme-lark/theme/ckeditor5-find-and-replace/findandreplaceform.css","webpack://./node_modules/@ckeditor/ckeditor5-ui/theme/mixins/_rwd.css"],names:[],mappings:"AAKA,6BACC,cAUD,CARC,sCACC,YAMD,CAHC,yFACC,iBACD,CCNF,6BACC,WAyGD,CAnGC,mCACC,YACD,CAEA,sCAIC,qBAAsB,CADtB,kBAAmB,CAInB,QAAS,CANT,kBAAmB,CACnB,gBAAiB,CAMjB,QAAS,CAFT,+BAwFD,CApFC,iDACC,aACD,CAGC,oDACC,sCACD,CAIA,oDACC,uCACD,CAGD,6DACC,aAMD,CAJC,uEAEC,cAAe,CADf,UAED,CAID,qEAEC,sBAkCD,CAhCC,qFACC,eAOD,CAJC,uGACC,oCAAqC,CACrC,qCACD,CAGD,8FACC,uBACD,CAEA,8FACC,wBACD,CAEA,yFACC,OAAQ,CACR,0BAWD,CAbA,mGAKE,gCAQF,CAbA,mGASE,+BAIF,CAbA,yFAYC,iCACD,CAID,wEACC,cAAe,CACf,wBAAyB,CACzB,2CAeD,CAbC,+FACC,qCACD,CAEA,6FAEC,aAAc,CADd,iBAED,CAEA,wMAEC,UACD,CCzGF,oCD+GA,6BACC,WAiDD,CA/CC,sCACC,cA6CD,CAzCE,4FACC,aAAc,CAEd,wCAAyC,CADzC,UAED,CAEA,gFACC,iBAkBD,CAhBC,8FACC,aAcD,CAfA,wGAIE,aAWF,CAfA,wGAQE,cAOF,CAJC,gHAEC,iBAAkB,CADlB,UAED,CAMH,qGACC,aAUD,CARC,iHACC,WACD,CAEA,iIAEC,iBAAkB,CADlB,UAED,CC5JH",sourcesContent:["/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n\n.ck.ck-find-and-replace-form {\n\tmax-width: 100%;\n\n\t& fieldset {\n\t\tdisplay: flex;\n\n\t\t/* The find fieldset */\n\t\t&.ck-find-and-replace-form__find .ck-results-counter {\n\t\t\tposition: absolute;\n\t\t}\n\t}\n}\n",'/*\n * Copyright (c) 2003-2022, CKSource Holding sp. z o.o. 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.ck-find-and-replace-form {\n\twidth: 400px;\n\n\t/*\n\t * The
`),t=r),o=this.editor.data.htmlProcessor.toView(t)}var r;const s=new Ji.Z(this,"inputTransformation");this.fire(s,{content:o,dataTransfer:i,targetRanges:e.targetRanges,method:e.method}),s.stop.called&&t.stop(),n.scrollToTheSelection()}),{priority:"low"}),this.listenTo(this,"inputTransformation",((t,n)=>{if(n.content.isEmpty)return;const i=this.editor.data.toModel(n.content,"$clipboardHolder");0!=i.childCount&&(t.stop(),e.change((()=>{this.fire("contentInsertion",{content:i,method:n.method,dataTransfer:n.dataTransfer,targetRanges:n.targetRanges})})))}),{priority:"low"}),this.listenTo(this,"contentInsertion",((t,n)=>{n.resultRange=e.insertContent(n.content)}),{priority:"low"})}_setupCopyCut(){const t=this.editor,e=t.model.document,n=t.editing.view.document,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",Gx(i.content))),"cut"==i.method&&t.model.deleteContent(e.selection)}),{priority:"low"})}}class $x extends Cn.Q5{constructor(){super(),this._stack=[]}add(t,e){const n=this._stack,i=n[0];this._insertDescriptor(t);const o=n[0];i===o||Yx(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||Yx(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(Yx(t,e[n]))return;n>-1&&e.splice(n,1);let i=0;for(;e[i]&&Jx(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 Yx(t,e){return t&&e&&t.priority==e.priority&&Qx(t.classes)==Qx(e.classes)}function Jx(t,e){return t.priority>e.priority||!(t.priorityQx(e.classes)}function Qx(t){return Array.isArray(t)?t.sort().join(","):t}const Xx='',tw="ck-widget_selected";function ew(t){return!!t.is("element")&&!!t.getCustomProperty("widget")}function nw(t,e,n={}){if(!t.is("containerElement"))throw new vn.ZP("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=lw,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 Iu;return n.set("content",Xx),n.render(),e.appendChild(n.element),e}));e.insert(e.createPositionAt(t,0),n),e.addClass(["ck-widget_with-selection-handle"],t)}(t,e),rw(t,e),t}function iw(t,e,n){if(e.classes&&n.addClass((0,Rn.Z)(e.classes),t),e.attributes)for(const i in e.attributes)n.setAttribute(i,e.attributes[i],t)}function ow(t,e,n){if(e.classes&&n.removeClass((0,Rn.Z)(e.classes),t),e.attributes)for(const i in e.attributes)n.removeAttribute(i,t)}function rw(t,e,n=iw,i=ow){const o=new $x;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 sw(t){const e=t.getCustomProperty("widgetLabel");return e?"function"==typeof e?e():e:""}function aw(t,e,n={}){return e.addClass(["ck-editor__editable","ck-editor__nested-editable"],t),e.setAttribute("role","textbox",t),n.label&&e.setAttribute("aria-label",n.label,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)})),rw(t,e),t}function cw(t,e){const n=t.getSelectedElement();if(n){const i=hw(t);if(i)return e.createRange(e.createPositionAt(n,i))}return rd(t,e)}function lw(){return null}const dw="widget-type-around";function uw(t,e,n){return!!t&&ew(t)&&!n.isInline(e)}function hw(t){return t.getAttribute(dw)}var mw=__webpack_require__(5137),gw={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(mw.Z,gw);mw.Z.locals;const pw=["before","after"],fw=(new DOMParser).parseFromString('',"image/svg+xml").firstChild,bw="ck-widget__type-around_disabled";class kw extends e{constructor(t){super(t),this._currentFakeCaretModelElement=null}static get pluginName(){return"WidgetTypeAround"}static get requires(){return[Tp,dg]}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(bw,n):t.addClass(bw,n)})),o||t.model.change((t=>{t.removeSelectionAttribute(dw)}))})),this._enableTypeAroundUIInjection(),this._enableInsertingParagraphsOnButtonClick(),this._enableInsertingParagraphsOnEnterKeypress(),this._enableInsertingParagraphsOnTypingKeystroke(),this._enableTypeAroundFakeCaretActivationUsingKeyboardArrows(),this._enableDeleteIntegration(),this._enableInsertContentIntegration(),this._enableInsertObjectIntegration(),this._enableDeleteContentIntegration()}destroy(){super.destroy(),this._currentFakeCaretModelElement=null}_insertParagraph(t,e){const n=this.editor,i=n.editing.view,o=n.model.schema.getAttributesWithProperty(t,"copyOnReplace",!0);n.execute("insertParagraph",{position:n.model.createPositionAt(t,e),attributes:o}),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=hw(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);uw(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 pw){const i=new xd({tag:"div",attributes:{class:["ck","ck-widget__type-around__button",`ck-widget__type-around__button_${n}`],title:e[n]},children:[t.ownerDocument.importNode(fw,!0)]});t.appendChild(i.render())}}(n,e),function(t){const e=new xd({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:[ew,"$text"],priority:"high"}),this._listenToIfEnabled(n,"change:range",((e,n)=>{n.directChange&&t.model.change((t=>{t.removeSelectionAttribute(dw)}))})),this._listenToIfEnabled(e.document,"change:data",(()=>{const e=n.getSelectedElement();if(e){if(uw(t.editing.mapper.toViewElement(e),e,i))return}t.model.change((t=>{t.removeSelectionAttribute(dw)}))})),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(pw.map(r),t),this._currentFakeCaretModelElement=null)}const s=e.selection.getSelectedElement();if(!s)return;const a=n.mapper.toViewElement(s);if(!uw(a,s,i))return;const c=hw(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(dw)}))}))}_handleArrowKeyPress(t,e){const n=this.editor,i=n.model,o=i.document.selection,r=i.schema,s=n.editing.view,a=e.keyCode,c=(0,ho.Zt)(a,n.locale.contentLanguageDirection),l=s.document.selection.getSelectedElement();let d;uw(l,n.editing.mapper.toModelElement(l),r)?d=this._handleArrowKeyPressOnSelectedWidget(c):o.isCollapsed?d=this._handleArrowKeyPressWhenSelectionNextToAWidget(c):e.shiftKey||(d=this._handleArrowKeyPressWhenNonCollapsedSelection(c)),d&&(e.preventDefault(),t.stop())}_handleArrowKeyPressOnSelectedWidget(t){const e=this.editor.model,n=hw(e.document.selection);return e.change((e=>{if(!n)return e.setSelectionAttribute(dw,t?"after":"before"),!0;if(!(n===(t?"after":"before")))return e.removeSelectionAttribute(dw),!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!!uw(e.editing.mapper.toViewElement(r),r,i)&&(n.change((e=>{o._setSelectionOverElement(r),e.setSelectionAttribute(dw,t?"before":"after")})),!0)}_handleArrowKeyPressWhenNonCollapsedSelection(t){const e=this.editor,n=e.model,i=n.schema,o=e.editing.mapper,r=n.document.selection,s=t?r.getLastPosition().nodeBefore:r.getFirstPosition().nodeAfter;return!!uw(o.toViewElement(s),s,i)&&(n.change((e=>{e.setSelection(s,"on"),e.setSelectionAttribute(dw,t?"after":"before")})),!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:uw(r,o,s)&&(this._insertParagraph(o,i.isSoft?"before":"after"),a=!0),a&&(i.preventDefault(),n.stop())}),{context:ew})}_enableInsertingParagraphsOnTypingKeystroke(){const t=this.editor.editing.view.document;this._listenToIfEnabled(t,"insertText",((e,n)=>{this._insertParagraphAccordingToFakeCaretPosition()&&(n.selection=t.selection)}),{priority:"high"}),Wo.ZP.isAndroid?this._listenToIfEnabled(t,"keydown",((t,e)=>{229==e.keyCode&&this._insertParagraphAccordingToFakeCaretPosition()})):this._listenToIfEnabled(t,"compositionstart",(()=>{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=hw(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:ew})}_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=hw(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"})}_enableInsertObjectIntegration(){const t=this.editor,e=this.editor.model.document.selection;this._listenToIfEnabled(t.model,"insertObject",((t,n)=>{const[,i,,o={}]=n;if(i&&!i.is("documentSelection"))return;const r=hw(e);r&&(o.findOptimalPosition=r,n[3]=o)}),{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;hw(e)&&t.stop()}),{priority:"high"})}}function xw(t){const e=t.model;return(n,i)=>{const o=i.keyCode==ho.Do.arrowup,r=i.keyCode==ho.Do.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=ww(i,t,"forward");if(!n)return null;const o=i.createRange(t,n),r=_w(i.schema,o,"backward");return r?i.createRange(t,r):null}{const t=e.isCollapsed?e.focus:e.getFirstPosition(),n=ww(i,t,"backward");if(!n)return null;const o=i.createRange(n,t),r=_w(i.schema,o,"forward");return r?i.createRange(r,t):null}}(t,a,c);if(l){if(l.isCollapsed){if(a.isCollapsed)return;if(s)return}(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=Ud.Z.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 ww(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 _w(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;return null}var Aw=__webpack_require__(6507),vw={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(Aw.Z,vw);Aw.Z.locals;class Cw extends e{static get pluginName(){return"Widget"}static get requires(){return[kw,dg]}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);ew(a)&&i.consumable.consume(r,"selection")&&o.setSelection(o.createRangeOn(a),{fake:!0,label:sw(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;ew(t)&&!yw(t,r)&&(i.addClass(tw,t),this._previouslySelected.add(t),r=t)}}),{priority:"low"}),e.addObserver(fl),this.listenTo(n,"mousedown",((...t)=>this._onMousedown(...t))),this.listenTo(n,"arrowKey",((...t)=>{this._handleSelectionChangeOnArrowKeyPress(...t)}),{context:[ew,"$text"]}),this.listenTo(n,"arrowKey",((...t)=>{this._preventDefaultOnArrowKeyPress(...t)}),{context:"$root"}),this.listenTo(n,"arrowKey",xw(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){let e=t;for(;e;){if(e.is("editableElement")&&!e.is("rootElement"))return!0;if(ew(e))return!1;e=e.parent}return!1}(r)){if((Wo.ZP.isSafari||Wo.ZP.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(!ew(r)&&(r=r.findAncestor(ew),!r))return;Wo.ZP.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=(0,ho.mA)(n,this.editor.locale.contentLanguageDirection),c="down"==a||"right"==a,l="up"==a||"down"==a;if(s&&o.isObject(s)){const n=c?r.getLastPosition():r.getFirstPosition(),s=o.getNearestSelectionRange(n,c?"forward":"backward");return void(s&&(i.change((t=>{t.setSelection(s)})),e.preventDefault(),t.stop()))}if(!r.isCollapsed&&!e.shiftKey){const n=r.getFirstPosition(),s=r.getLastPosition(),a=n.nodeAfter,l=s.nodeBefore;return void((a&&o.isObject(a)||l&&o.isObject(l))&&(i.change((t=>{t.setSelection(c?s:n)})),e.preventDefault(),t.stop()))}if(!r.isCollapsed)return;const d=this._getObjectElementNextToSelection(c);if(d&&o.isObject(d)){if(o.isInline(d)&&l)return;this._setSelectionOverElement(d),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);if(e.modifySelection(o,{direction:t?"forward":"backward"}),o.isEqual(i))return null;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(tw,e);this._previouslySelected.clear()}}function yw(t,e){return!!e&&Array.from(t.getAncestors()).includes(e)}const Ew=function(t,e,n){var i=!0,o=!0;if("function"!=typeof t)throw new TypeError("Expected a function");return(0,B.Z)(n)&&(i="leading"in n?!!n.leading:i,o="trailing"in n?!!n.trailing:o),Mr(t,e,{leading:i,maxWait:e,trailing:o})};var Tw=__webpack_require__(390),Dw={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(Tw.Z,Dw);Tw.Z.locals;class Sw extends e{static get pluginName(){return"DragDrop"}static get requires(){return[Kx,Cw]}init(){const t=this.editor,e=t.editing.view;this._draggedRange=null,this._draggingUid="",this._draggableElement=null,this._updateDropMarkerThrottled=Ew((t=>this._updateDropMarker(t)),40),this._removeDropMarkerDelayed=Mw((()=>this._removeDropMarker()),40),this._clearDraggableAttributesDelayed=Mw((()=>this._clearDraggableAttributes()),40),e.addObserver(Wx),e.addObserver(fl),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)})),Wo.ZP.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,r)=>{const s=n.selection;if(r.target&&r.target.is("editableElement"))return void r.preventDefault();const a=r.target?Nw(r.target):null;if(a){const n=t.editing.mapper.toModelElement(a);this._draggedRange=js.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&&ew(t)||(this._draggedRange=js.fromRange(s.getFirstRange()))}if(!this._draggedRange)return void r.preventDefault();this._draggingUid=(0,Hs.Z)(),r.dataTransfer.effectAllowed=this.isEnabled?"copyMove":"copy",r.dataTransfer.setData("application/ckeditor5-dragging-uid",this._draggingUid);const c=e.createSelection(this._draggedRange.toRange()),l=t.data.toView(e.getSelectedContent(c));o.fire("clipboardOutput",{dataTransfer:r.dataTransfer,content:l,method:"dragstart"}),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=Iw(t,n.targetRanges,n.target);this._draggedRange||(n.dataTransfer.dropEffect="copy"),Wo.ZP.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=Iw(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"==Bw(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(Kx);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"==Bw(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(Wo.ZP.isAndroid||!o)return;this._clearDraggableAttributesDelayed.cancel();let r=Nw(o.target);if(Wo.ZP.isBlink&&!t.isReadOnly&&!r&&!n.selection.isCollapsed){const t=n.selection.getSelectedElement();t&&ew(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",(()=>{Wo.ZP.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.append("",t.createElement("span"),""),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 Iw(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(ew(e))return n.createRangeOn(i.toModelElement(e));if(!e.is("editableElement")){const t=e.findAncestor((t=>ew(t)||t.is("editableElement")));if(ew(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,Wo.ZP.isGecko?"forward":"backward"),r||function(t,e){const n=t.model;let i=e;for(;i;){if(n.schema.isObject(i))return n.createRangeOn(i);i=i.parent}return null}(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 Bw(t){return Wo.ZP.isGecko?t.dropEffect:["all","copyMove"].includes(t.effectAllowed)?"move":"copy"}function Mw(t,e){let n;function i(...o){i.cancel(),n=setTimeout((()=>t(...o)),e)}return i.cancel=()=>{clearTimeout(n)},i}function Nw(t){if(t.is("editableElement"))return null;if(t.hasClass("ck-widget__selection-handle"))return t.findAncestor(ew);if(ew(t))return t;const e=t.findAncestor((t=>ew(t)||t.is("editableElement")));return ew(e)?e:null}class Ow extends e{static get pluginName(){return"PastePlainText"}static get requires(){return[Kx]}init(){const t=this.editor,e=t.model,n=t.editing.view,i=n.document,o=e.document.selection;let r=!1;n.addObserver(Wx),this.listenTo(i,"keydown",((t,e)=>{r=e.shiftKey})),t.plugins.get(Kx).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==Array.from(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 Pw extends e{static get pluginName(){return"Clipboard"}static get requires(){return[Kx,Sw,Ow]}}class Rw extends i{constructor(t){super(t),this.affectsData=!1}execute(){const t=this.editor.model,e=t.document.selection;let n=t.schema.getLimitElement(e);if(e.containsEntireContent(n)||!Lw(t.schema,n))do{if(n=n.parent,!n)return}while(!Lw(t.schema,n));t.change((t=>{t.setSelection(n,"in")}))}}function Lw(t,e){return t.isLimit(e)&&(t.checkChild(e,"$text")||t.checkChild(e,"paragraph"))}const zw=(0,ho.Zz)("Ctrl+A");class jw extends e{static get pluginName(){return"SelectAllEditing"}init(){const t=this.editor,e=t.editing.view.document;t.commands.add("selectAll",new Rw(t)),this.listenTo(e,"keydown",((e,n)=>{(0,ho.Cq)(n)===zw&&(t.execute("selectAll"),n.preventDefault())}))}}class Fw extends e{static get pluginName(){return"SelectAllUI"}init(){const t=this.editor;t.ui.componentFactory.add("selectAll",(e=>{const n=t.commands.get("selectAll"),i=new Nu(e),o=e.t;return i.set({label:o("Select all"),icon:'',keystroke:"Ctrl+A",tooltip:!0}),i.bind("isEnabled").to(n,"isEnabled"),this.listenTo(i,"execute",(()=>{t.execute("selectAll"),t.editing.view.focus()})),i}))}}class Vw extends e{static get requires(){return[jw,Fw]}static get pluginName(){return"SelectAll"}}class Hw extends i{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={isUndoable:!1})}),{priority:"high"}),this.listenTo(t.data,"set",((t,e)=>{e[1].batchType.isUndoable||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=>!qw(t,a)));e.length&&(Uw(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=cl([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 Uw(t){t.sort(((t,e)=>t.start.isBefore(e.start)?-1:1));for(let e=1;ee!==t&&e.containsRange(t,!0)))}class Ww extends Hw{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({isUndo:!0});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 Zw extends Hw{execute(){const t=this._stack.pop(),e=this.editor.model.createBatch({isUndo:!0});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 Gw extends e{constructor(t){super(t),this._batchRegistry=new WeakSet}static get pluginName(){return"UndoEditing"}init(){const t=this.editor;this._undoCommand=new Ww(t),this._redoCommand=new Zw(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)||(this._batchRegistry.add(i),i.isUndoable&&(o?this._undoCommand.addBatch(i):r||(this._undoCommand.addBatch(i),this._redoCommand.clearStack())))}),{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 Kw='',$w='';class Yw extends e{static get pluginName(){return"UndoUI"}init(){const t=this.editor,e=t.locale,n=t.t,i="ltr"==e.uiLanguageDirection?Kw:$w,o="ltr"==e.uiLanguageDirection?$w:Kw;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 Nu(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 Jw extends e{static get requires(){return[Gw,Yw]}static get pluginName(){return"Undo"}}class Qw extends i{refresh(){const t=this.editor.model,e=t.document,n=(0,od.Z)(e.selection.getSelectedBlocks());this.value=!!n&&n.is("element","paragraph"),this.isEnabled=!!n&&Xw(n,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")&&Xw(t,e.schema)&&i.rename(t,"paragraph")}))}}function Xw(t,e){return e.checkChild(t.parent,"paragraph")&&!e.isObject(t)}class t_ extends i{execute(t){const e=this.editor.model,n=t.attributes;let i=t.position;e.change((t=>{const o=t.createElement("paragraph");if(n&&e.schema.setAllowedAttributes(o,n,t),!e.schema.checkChild(i.parent,o)){const n=e.schema.findAllowedParent(i,o);if(!n)return;i=t.split(i,n).position}e.insertContent(o,i),t.setSelection(o,"in")}))}}class e_ extends e{static get pluginName(){return"Paragraph"}init(){const t=this.editor,e=t.model;t.commands.add("paragraph",new Qw(t)),t.commands.add("insertParagraph",new t_(t)),e.schema.register("paragraph",{inheritAllFrom:"$block"}),t.conversion.elementToElement({model:"paragraph",view:"p"}),t.conversion.for("upcast").elementToElement({model:(t,{writer:e})=>e_.paragraphLikeElements.has(t.name)?t.isEmpty?null:e.createElement("paragraph"):null,view:/.+/,converterPriority:"low"})}}e_.paragraphLikeElements=new Set(["blockquote","dd","div","dt","h1","h2","h3","h4","h5","h6","li","p","td","th"]);const n_=["focus","defaultPlugins","childCount","placeholder","_updatePlaceholder","change","create","initPlugins","setSelection","initialData","ready","document","name","view","change:placeholder","getRoot","plugins","assign","editing","init","fire","placeholderElement","getChild","destroy","then","config","set","data","model"];var i_,o_;i_=n_,o_=221,function(t){for(;--t;)i_.push(i_.shift())}(++o_);const r_=function(t,e){return n_[t-=0]};class s_ extends gd{constructor(t={}){(t=Object[r_("0x1c")]({},t))[r_("0x1b")]||(t[r_("0x1b")]=s_[r_("0xc")]),super(t),this.ui=new qx(this),this[r_("0x8")](r_("0xe"),""),this[r_("0xa")][r_("0x16")].on(r_("0x10"),(()=>this[r_("0xf")]()),{priority:"low"}),this.on(r_("0x19"),(()=>this[r_("0xf")]())),this[r_("0xa")][r_("0x16")].createRoot()}[r_("0x11")](){const t=this[r_("0x7")].get(r_("0x14"))||"";return this[r_("0x12")]()[r_("0x6")]((()=>this.ui[r_("0x1")]()))[r_("0x6")]((()=>this[r_("0x9")].init(t))).then((()=>this[r_("0x2")](r_("0x15"))))}[r_("0x5")](){return super[r_("0x5")]()[r_("0x6")]((()=>this.ui.destroy()))}[r_("0xb")](){this[r_("0xa")][r_("0x10")]((t=>{const e=this.model[r_("0x16")][r_("0x1a")](),n=e[r_("0x4")](e.childCount-1);t[r_("0x13")](n,"end"),this[r_("0x0")][r_("0x18")][r_("0xb")]()}))}_updatePlaceholder(){const t=this[r_("0x0")][r_("0x18")],e=t.document[r_("0x1a")](),n=e.getChild(0);e[r_("0xd")]>1||!n||"p"!=n[r_("0x17")]?this.placeholderElement&&(function(t,e){const n=e.document;t.change((t=>{if(!Qc.has(n))return;const i=Qc.get(n),o=i.get(e);t.removeAttribute("data-placeholder",o.hostElement),tl(t,o.hostElement),i.delete(e)}))}(t,this[r_("0x3")]),this[r_("0x3")]=void 0):(Xc({view:t,element:n,text:this[r_("0xe")],keepOnFocus:!0}),this.placeholderElement=n)}}(0,_u.mix)(s_,_u.ObservableMixin),(0,_u.mix)(s_,hu),s_[r_("0xc")]=[Pw,Tp,Bp,Vw,ug,Jw,e_];const a_=["_editorCreationPromise","model","destroy","insertBefore","createEditor","editor","placeholder","focusNext","TOO_LONG_COMMENT_ALERT","ck-comment__input-actions--submit","isEnabled","extendTemplate","submitButtonView","_isDestroyed","setData","_createSubmitButton","label","then","value","Esc","set","tab","focusTracker","add","_initializeFocusCycling","_createCancelButton","fire","div","disabledSubmit","stop","cancelButtonView","cancel","showButtons","bind","ck-comment__input-wrapper","forEach","render","submit","focus","view","Reply...","initialData","keystrokes","length","icon","element","change","editorReady","ck-comment__input-actions--active","bindTemplate","_editorConfig","low","execute","ck-comment__input-actions--cancel"];var c_,l_;c_=a_,l_=473,function(t){for(;--t;)c_.push(c_.shift())}(++l_);const d_=function(t,e){return a_[t-=0]};class u_ extends Hd{constructor(t,e={}){super(t),this[d_("0x12")]=null,this[d_("0x9")]=e,this[d_("0x1")]=new _u.KeystrokeHandler,this[d_("0x23")]=new _u.FocusTracker,this.set(d_("0x1f"),e[d_("0x0")]||""),this[d_("0x21")](d_("0x29"),!1),this[d_("0x21")](d_("0x2d"),!0),this[d_("0x21")](d_("0x13"),Ox(t,d_("0x35"))),this[d_("0x19")]=this._createSubmitButton(),this.cancelButtonView=this[d_("0x26")](),this.setTemplate({tag:d_("0x28"),attributes:{class:[d_("0x2f")]},children:[{tag:d_("0x28"),attributes:{class:["ck-comment__input-actions",this[d_("0x8")].if(d_("0x2d"),d_("0x7"))]},children:[this[d_("0x19")],this[d_("0x2b")]]}]}),this[d_("0x1")][d_("0x21")](d_("0x20"),((t,e)=>{this[d_("0x2b")][d_("0x27")](d_("0xb")),e()})),this.on(d_("0x32"),((e,n)=>{n[d_("0x2")]>65e3?(alert(Ox(t,d_("0x15"),[n[d_("0x2")],65e3])),e[d_("0x2a")]()):this[d_("0x12")][d_("0x1b")]("")}),{priority:"high"})}[d_("0x31")](){super[d_("0x31")](),this.keystrokes.listenTo(this[d_("0x4")]),this[d_("0x23")][d_("0x24")](this.element)}[d_("0x11")](){return this[d_("0x12")]||(this[d_("0x12")]=new s_(this[d_("0x9")]),this._editorCreationPromise=this[d_("0x12")].create()[d_("0x1e")]((()=>{this._isDestroyed||(this[d_("0x4")][d_("0x10")](this.editor.ui[d_("0x4")],this[d_("0x4")].firstChild),this[d_("0x12")][d_("0xe")].document.on(d_("0x5"),(()=>this[d_("0x1f")]=this.editor.getData())),this[d_("0x12")][d_("0x2e")](d_("0x13")).to(this),this[d_("0x25")](this[d_("0x12")]),this[d_("0x27")](d_("0x6")))}))),this[d_("0xd")]}focus(){this.editor&&this.editor[d_("0x33")]()}async[d_("0xf")](){this[d_("0x1a")]||(this[d_("0x1a")]=!0,this.editor&&(await this[d_("0xd")],await this[d_("0x12")][d_("0xf")]()),await super.destroy())}[d_("0x1c")](){const{locale:t}=this,e=new Nu(t);return e[d_("0x18")]({attributes:{class:[d_("0x16")]}}),e.label=Ox(t,"Submit"),e.icon=wu.check,e.on(d_("0xb"),(()=>{this[d_("0x27")](d_("0x32"),this[d_("0x1f")])})),e[d_("0x2e")](d_("0x17")).to(this,d_("0x1f"),this,"disabledSubmit",((t,e)=>!e&&!!t.trim())),e}_createCancelButton(){const{locale:t}=this,e=new Nu(t);return e[d_("0x18")]({attributes:{class:[d_("0xc")]}}),e[d_("0x1d")]=Ox(t,"Cancel"),e[d_("0x3")]=wu[d_("0x2c")],e.on(d_("0xb"),(()=>{this[d_("0x12")][d_("0x1b")](""),this.fire(d_("0x2c"))})),e}[d_("0x25")](t){const e=this[d_("0x23")],n=new kd;[t.ui[d_("0x34")],this.submitButtonView,this.cancelButtonView][d_("0x30")]((t=>{n[d_("0x24")](t),e[d_("0x24")](t[d_("0x4")])}));const i=new Xu({focusables:n,focusTracker:e});this[d_("0x1")].set(d_("0x22"),((t,e)=>{i[d_("0x14")](),e()}),{priority:d_("0xa")}),this.keystrokes[d_("0x21")]("shift + tab",((t,e)=>{i.focusPrevious(),e()}),{priority:d_("0xa")})}}var h_,m_,g_=["then","ck-thread__user","ck-comment__input-container--active","showButtons","editor","extendTemplate","set","createEditor","change:showInput","commentInputView","isFocused","ck-comment__input-container","div","focusTracker","setTemplate","bind","showInput","userView","destroy"];h_=g_,m_=127,function(t){for(;--t;)h_.push(h_.shift())}(++m_);var p_=function(t,e){return g_[t-=0]};class f_ extends Hd{constructor(t,e,n){super(t),this.commentInputView=new u_(t,n),this[p_("0xf")][p_("0x2")](p_("0x9")).to(this[p_("0xf")][p_("0x0")],p_("0x10"),this[p_("0xf")],"value",((t,e)=>t||!!e)),this[p_("0xc")](p_("0x3"),!1),this.on(p_("0xe"),(()=>{this[p_("0x3")]&&!this[p_("0xf")][p_("0xa")]&&this[p_("0xf")][p_("0xd")]()})),this[p_("0x4")]=new ob(t,e),this[p_("0x4")].extendTemplate({attributes:{class:p_("0x7")}}),this[p_("0xf")][p_("0xb")]({attributes:{class:"ck-thread__input"}}),this[p_("0x1")]({tag:p_("0x12"),attributes:{class:[p_("0x11"),this.bindTemplate.if("showInput",p_("0x8"))]},children:[this[p_("0x4")],this[p_("0xf")]]})}destroy(){return this[p_("0xf")].destroy()[p_("0x6")]((()=>super[p_("0x5")]()))}}const b_=["set","bindTemplate","count","NUMBER_OF_COMMENTS"];var k_,x_;k_=b_,x_=329,function(t){for(;--t;)k_.push(k_.shift())}(++x_);const w_=function(t,e){return b_[t-=0]};class __ extends Hd{constructor(t){super(t);const e=this[w_("0x0")];this[w_("0x3")](w_("0x1")),this.setTemplate({tag:"li",attributes:{class:"ck-thread__comment-count"},children:[{text:e.to("count",(e=>Ox(t,w_("0x2"),e)))}]})}}const A_=["_shouldCollapse","createCollection","change:isActive","equal","remove","viewUid","maxCommentCharsWhenCollapsed","set","_rearrangeCollapse","insert","removeComment","from","expand","isEditMode","comments","delegate","add","bind","_rearrangeExpand","commentViews","isActive","CommentView","ck-thread__comments","_updateHasDirtyComment","maxThreadTotalWeight","_handleRemoveCommentModel","editorConfig","setTemplate","locale","_handleNewCommentModel","formatDateTime","delete","change:isEditMode","render","destroy","refreshVisibleViews","hasDirtyComment","count","listenTo","commentUpdated","_model","_config","some","length","change:hasDirtyComment","_collapsedCommentsView","focus","stopListening","collapse","visibleViews","weight","get"];var v_,C_;v_=A_,C_=265,function(t){for(;--t;)v_.push(v_.shift())}(++C_);const y_=function(t,e){return A_[t-=0]};class E_ extends Hd{constructor(t,e,n){super(t),this[y_("0x2")](y_("0x1f"),!1),this[y_("0x2")](y_("0x26"),e[y_("0x9")][y_("0x26")]),this[y_("0x2")](y_("0xf"),!1),this[y_("0x23")]=e,this[y_("0x24")]=n,this.commentViews=this.createCollection(),this[y_("0x2c")]=this[y_("0x30")](),this[y_("0x28")]=new __(t),this[y_("0x28")][y_("0xc")](y_("0x20")).to(this,"length",(t=>t-this[y_("0x24")].maxCommentsWhenCollapsed));for(const t of e[y_("0x9")])this._handleNewCommentModel(t);this[y_("0x21")](e[y_("0x9")],"add",((t,e)=>{this[y_("0x26")]++,this[y_("0x18")](e),this.refreshVisibleViews()})),this[y_("0x21")](e[y_("0x9")],y_("0x33"),((t,e)=>{this.length--,this[y_("0x14")](e),this.refreshVisibleViews()})),this[y_("0x21")](e,y_("0x22"),(()=>this[y_("0x1e")]())),this.on(y_("0x31"),(()=>this[y_("0x1e")]())),this.on(y_("0x27"),(()=>this.refreshVisibleViews())),this[y_("0x16")]({tag:"ul",attributes:{class:[y_("0x11")]},children:this[y_("0x2c")]})}get[y_("0x2f")](){return this[y_("0x23")][y_("0x2d")]>this[y_("0x24")][y_("0x13")]&&!this[y_("0xf")]&&!this[y_("0x1f")]}[y_("0x1c")](){super[y_("0x1c")](),this[y_("0x1e")]()}[y_("0x29")](){this.element[y_("0x29")]()}[y_("0x1d")](){this[y_("0x28")][y_("0x1d")]();for(const t of this.commentViews)t[y_("0x1d")]();super[y_("0x1d")]()}[y_("0x1e")](){this[y_("0x2f")]?this[y_("0x3")]():this._rearrangeExpand()}[y_("0x18")](t){const e=new(this[y_("0x24")][y_("0x10")])(this[y_("0x17")],t,{maxCommentCharsWhenCollapsed:this._config[y_("0x1")],formatDateTime:this[y_("0x24")][y_("0x19")],editorConfig:this._config[y_("0x15")]});e[y_("0x0")]=t.id,e[y_("0xa")](y_("0x5")).to(this),e[y_("0xa")]("updateComment").to(this),this[y_("0x21")](e,y_("0x1b"),(()=>this[y_("0x12")]())),this[y_("0xe")].add(e)}[y_("0x14")](t){const e=this.commentViews[y_("0x33")](t.id);this[y_("0x2a")](e),e[y_("0x8")]&&this._updateHasDirtyComment(),e[y_("0x1d")]()}[y_("0x12")](){this[y_("0x1f")]=Array.from(this.commentViews)[y_("0x25")]((t=>t[y_("0x8")]))}_rearrangeCollapse(){const t=function(t){const e=new _u.Collection;for(const n of t)e[y_("0xb")](n);return e}(this[y_("0xe")]),e=this[y_("0x28")][y_("0x20")];for(let n=1;n<=e;n++)t[y_("0x33")](1);for(const e of t)e[y_("0x2b")]();e>0&&t[y_("0xb")](this._collapsedCommentsView,1),T_((0,_u.diff)(Array[y_("0x6")](this.visibleViews),Array.from(t)),this[y_("0x2c")],t)}[y_("0xd")](){T_((0,_u.diff)(Array.from(this[y_("0x2c")]),Array[y_("0x6")](this[y_("0xe")])),this.visibleViews,this.commentViews);for(const t of this[y_("0x2c")])t[y_("0x7")]()}}function T_(t,e,n){let i=0;for(const o of t)switch(o){case y_("0x4"):e[y_("0xb")](n[y_("0x2e")](i),i),i++;break;case y_("0x1a"):e[y_("0x33")](i);break;case y_("0x32"):i++}}const D_=["CommentView","_localUser","Write a comment...","change:isActive","commentThreadInputView","isActive","addComment","removeComment","isDirty","editorConfig","_config","removeCommentThread","delegate","_model","placeholder","fire","commentInputView","bind","stop","element","value","commentsListView","showInput","isReadOnly","length","_createCommentThreadInputView","hasDirtyComment","set","cancel","Reply...","destroy","locale","focus"];var S_,I_;S_=D_,I_=105,function(t){for(;--t;)S_.push(S_.shift())}(++I_);const B_=function(t,e){return D_[t-=0]};class M_ extends Hd{constructor(t,e,n,i){super(t),this[B_("0x15")](B_("0x20"),!1),this[B_("0x15")](B_("0x2"),!1),this[B_("0x7")]=e,this[B_("0x1c")]=n,this[B_("0x4")]=i,this[B_("0xf")]=new E_(t,e,Object.assign({CommentView:this[B_("0x4")][B_("0x1b")]},i)),this[B_("0xf")].delegate("removeComment").to(this),this[B_("0xf")][B_("0x6")]("updateComment").to(this),this[B_("0xf")][B_("0xb")](B_("0x20")).to(this),this[B_("0x15")](B_("0x12"),this[B_("0xf")][B_("0x12")]),this.bind(B_("0x12")).to(this[B_("0xf")],"length"),this[B_("0x1f")]=this[B_("0x13")](),this.on(B_("0x1"),(()=>this[B_("0x1a")]())),this[B_("0xb")](B_("0x2")).to(this.commentsListView,B_("0x14"),this[B_("0x1f")][B_("0xa")],B_("0xe"),((t,e)=>t||!!e))}[B_("0x1a")](){this[B_("0xd")].focus()}[B_("0x18")](){this[B_("0x2")]=!1,this[B_("0xf")][B_("0x18")](),this[B_("0x1f")][B_("0x18")](),super[B_("0x18")]()}[B_("0x13")](){const t=new f_(this[B_("0x19")],this[B_("0x1c")],this[B_("0x4")][B_("0x3")]),e=t.commentInputView;return t.bind(B_("0x10")).to(this,B_("0x20"),this[B_("0x7")],"isReadOnly",e,B_("0xe"),((t,e,n)=>!!n||t&&!e)),e[B_("0xb")](B_("0x8")).to(this,B_("0x12"),(t=>Ox(this[B_("0x19")],B_(t?"0x17":"0x1d")))),e.on("submit",((t,e)=>{this[B_("0x9")](B_("0x0"),e)})),e.on("cancel",(()=>{this[B_("0x1a")]()})),e[B_("0xb")]("disabledSubmit").to(this[B_("0x7")],B_("0x11")),e.on(B_("0x16"),(t=>{0==this[B_("0x12")]&&(this[B_("0x9")]("removeCommentThread"),t[B_("0xc")]())})),this.on(B_("0x1e"),((t,n,i)=>{i||this[B_("0x12")]||e[B_("0xe")]||this[B_("0x9")](B_("0x5"))})),t}}const N_=["_bindFirstCommentView","fire","ck-thread--remove-confirmation",".ck-thread__container","set","listenTo","removeCommentThread","locale","_cancelAllConfirms","bind","element","length","change:isReadOnly","Delete comment thread?","div","getTemplate","ck-thread","render","containerElement","ck-thread__container","setTemplate","commentsListView","actionIndicator","remove","stop","commentThreadInputView","placeholder","bindTemplate","removeButton","_model","cancelConfirm","get","_boundFirstCommentView","commentViews","change:isActive","isActive","high"];var O_,P_;O_=N_,P_=131,function(t){for(;--t;)O_.push(O_.shift())}(++P_);const R_=function(t,e){return N_[t-=0]};class L_ extends M_{constructor(t,e,n,i){super(t,e,n,i),this[R_("0x15")](R_("0x2"),null),this.containerElement=null,this[R_("0xc")]=null,this[R_("0x18")]=t,this[R_("0x0")](this[R_("0x20")]()),this.on(R_("0xe"),((t,e,n)=>{n||this[R_("0x19")]()})),this[R_("0x16")](this[R_("0x9")],R_("0x1d"),((t,e,n)=>{n&&this[R_("0x19")]()})),this[R_("0x1c")]>0&&this[R_("0x11")](),this[R_("0x16")](this.commentsListView[R_("0xd")],"add",(()=>{this[R_("0x11")]()}))}[R_("0x20")](){const t=this[R_("0x7")];return{tag:R_("0x1f"),attributes:{class:[R_("0x21"),t.if(R_("0xf"),"ck-thread--active"),t.if("isConfirm",R_("0x13")),t.to(R_("0x2"),(t=>t?"ck-thread--"+t:""))],"data-thread-id":this[R_("0x9")].id,tabindex:-1},children:[{tag:R_("0x1f"),attributes:{class:R_("0x24")},children:[this[R_("0x1")],this[R_("0x5")]]}]}}[R_("0x22")](){super[R_("0x22")](),this[R_("0x23")]=this[R_("0x1b")].querySelector(R_("0x14"))}[R_("0x19")](){this[R_("0xa")]();for(const t of this[R_("0x1")].commentViews)t[R_("0xa")]()}[R_("0x11")](){const{locale:t}=this,e=this[R_("0x1")][R_("0xd")][R_("0xb")](0);e!==this._boundFirstCommentView&&(this[R_("0xc")]=e,this.unbind("actionIndicator"),this[R_("0x1a")](R_("0x2")).to(e,R_("0x2"),(t=>R_("0x3")===t?"remove":null)),e[R_("0x6")]=Ox(t,"Write a comment..."),e[R_("0x8")].on("execute",(e=>{e[R_("0x4")](),this.showConfirm(Ox(t,R_("0x1e")),this[R_("0x23")]).then((()=>{this[R_("0x12")](R_("0x17"))}))}),{priority:R_("0x10")}))}}(0,_u.mix)(L_,nx);var z_,j_,F_=["content","ck-annotation__content","change:content","innerHTML","set","setTemplate","render","ck-comment__content","element"];z_=F_,j_=214,function(t){for(;--t;)z_.push(z_.shift())}(++j_);var V_=function(t,e){return F_[t-=0]};class H_ extends Hd{constructor(t){super(t),this[V_("0x6")](V_("0x2"),""),this[V_("0x7")]({tag:"div",attributes:{class:[V_("0x0"),V_("0x3")]}})}[V_("0x8")](){super[V_("0x8")](),this.on(V_("0x4"),((t,e,n)=>{this[V_("0x1")].innerHTML=n})),this[V_("0x1")][V_("0x5")]=this[V_("0x2")]}}const U_=["value","isEditMode","add","locale","fire","destroy","isCollapsed","_createCommentContentView","_model","remove","collapse","bind","set","get","focus","_createCommentInputView","createCollection","editorConfig","isReadOnly","initialData","visibleView","createEditor","switchToEditMode","content","_config","switchToDisplayMode","cancel","element"];var q_,W_;q_=U_,W_=452,function(t){for(;--t;)q_.push(q_.shift())}(++W_);const Z_=function(t,e){return U_[t-=0]};class G_ extends Hd{constructor(t,e,n){super(t),this._model=e,this[Z_("0x14")]=n,this[Z_("0x8")](Z_("0x19"),!1),this[Z_("0x8")](Z_("0x2"),!0),this[Z_("0x10")]=this[Z_("0xc")](),this[Z_("0x10")].add(this[Z_("0x3")]())}expand(){this.isCollapsed=!1}[Z_("0x6")](){this[Z_("0x19")]||(this[Z_("0x2")]=!0)}focus(){this[Z_("0x17")][Z_("0xa")]()}async[Z_("0x1")](){await this[Z_("0x10")][Z_("0x9")](0).destroy(),super[Z_("0x1")]()}[Z_("0x12")](){this.isEditMode||(this.isEditMode=!0,this.visibleView[Z_("0x5")](0)[Z_("0x1")](),this[Z_("0x10")][Z_("0x1a")](this[Z_("0xb")]()))}[Z_("0x15")](){this.isEditMode&&(this[Z_("0x19")]=!1,this[Z_("0x10")][Z_("0x5")](0).destroy(),this[Z_("0x10")][Z_("0x1a")](this._createCommentContentView()))}_createCommentContentView(){const t=new H_(this[Z_("0x1b")]);return t.bind(Z_("0x13")).to(this[Z_("0x4")],Z_("0x13"),this,Z_("0x2"),((t,e)=>e?Wk(t,{limit:this[Z_("0x14")].maxCommentCharsWhenCollapsed}):t)),t}[Z_("0xb")](){this[Z_("0x14")].editorConfig||(this._config[Z_("0xd")]={}),this._config[Z_("0xd")][Z_("0xf")]=this[Z_("0x4")][Z_("0x13")];const t=new u_(this[Z_("0x1b")],this[Z_("0x14")][Z_("0xd")]);return t[Z_("0x18")]=this[Z_("0x4")][Z_("0x13")],t[Z_("0x7")]("disabledSubmit").to(this[Z_("0x4")],Z_("0xe")),t.on("submit",((t,e)=>{this[Z_("0x0")]("updateComment",this[Z_("0x4")].id,e),this[Z_("0x15")](),this[Z_("0xa")]()})),t.on(Z_("0x16"),(()=>{this.switchToDisplayMode(),this[Z_("0xa")]()})),t.once("editorReady",(()=>{t[Z_("0xa")]()})),t[Z_("0x11")](),t}}const K_=["ck-comment__actions--hidden","render","isVisible","EXTERNAL_IMPORT_WORD_COMMENT","focus","isRemovable","bindTemplate","getTemplate","_attachActions","edit","switchToEditMode","ck-annotation__user","change:isRemovable","name","then","ck-annotation__info","ck-comment__main","getExternalCommentNote","removeButton","set","removeComment","listenTo","attributes","@external","getUserViewNotificationText","showConfirm","Remove","isEditable","ck-annotation__info-time","extendTemplate","setTemplate","ck-comment--edit","ck-annotation","element","isExternal","actionIndicator","icon","EXTERNAL_AVATAR","_createRemoveButton","author","importWord","ck-comment__actions","Reply...","label","source","isEditMode","userView","bind","ck-comment__info-time","authoredAt","div","ck-comment__external","isConfirm","span","mouseenter","EXTERNAL_COMMENT","isEnabled","cancelConfirm","locale","blur","Delete comment?","isReadOnly","fire","pencil","_model","ck-comment__wrapper","ck-comment","_createCommentInputView","creator","mouseleave","time","ck-comment--remove-confirmation","ck-comment__user","editButton","placeholder","formatDateTime","push"];var $_,Y_;$_=K_,Y_=426,function(t){for(;--t;)$_.push($_.shift())}(++Y_);const J_=function(t,e){return K_[t-=0]};class Q_ extends G_{constructor(t,e,n){super(t,e,n),this.set(J_("0x47"),null),this[J_("0x37")](J_("0x21"),Ox(t,J_("0x1"))),this[J_("0x37")]("authoredAt",null),this[J_("0x6")](J_("0x8")).to(e),this[J_("0x20")]=this._createEditButton(),this[J_("0x36")]=this[J_("0x4a")](),this[J_("0x5")]=new ob(t,e.author,this[J_("0x3c")]()),this[J_("0x5")].extendTemplate({attributes:{class:[J_("0x1f"),J_("0x2f")]}}),this[J_("0x39")](e,J_("0x30"),(()=>this[J_("0x10")]())),this[J_("0x42")](this[J_("0x2b")]())}[J_("0x2b")](){const t=this[J_("0x2a")],e=[{tag:"div",attributes:{class:["ck-comment__info",J_("0x33")]},children:[{tag:J_("0xc"),children:[{text:this.userView[J_("0x31")]}],attributes:{class:["ck-comment__info-name","ck-annotation__info-name"]}},{tag:J_("0x1d"),attributes:{datetime:t.to(J_("0x8")),class:[J_("0x7"),J_("0x40")]},children:[{text:t.to(J_("0x8"),(t=>this._config[J_("0x22")](t)))}]}]},{tag:J_("0x9"),attributes:{class:[J_("0x0"),"ck-annotation__actions",t.if(J_("0x4"),J_("0x24")),t.if(J_("0x4"),"ck-annotation__actions--hidden")]},children:[this[J_("0x20")],this[J_("0x36")]]},{tag:J_("0x9"),attributes:{class:["ck-annotation__content-wrapper"]},children:this.visibleView}];return this[J_("0x17")][J_("0x46")]&&e[J_("0x23")]({tag:"div",attributes:{class:[J_("0xa")]},children:[{text:this[J_("0x35")]()}]}),{tag:"li",attributes:{class:[J_("0x18"),t.if(J_("0xb"),J_("0x1e"))],tabindex:-1},children:[{tag:J_("0x9"),attributes:{class:[J_("0x19"),J_("0x44"),t.if(J_("0x4"),J_("0x43")),t.to(J_("0x47"),(t=>t?"ck-comment--"+t:""))],"data-author-id":this[J_("0x17")][J_("0x4b")].id,"data-comment-id":this._model.id},children:[this[J_("0x5")],{tag:J_("0x9"),attributes:{class:[J_("0x34"),"ck-annotation__main"]},children:e}]}]}}_createEditButton(){const t=new Nu(this[J_("0x11")]);return t[J_("0x2")]=Ox(this[J_("0x11")],"Edit"),t[J_("0x48")]=wu[J_("0x16")],t[J_("0x41")]({attributes:{class:J_("0x43")}}),t[J_("0x6")]("isEnabled").to(this[J_("0x17")],J_("0x14"),(t=>!t)),t[J_("0x6")]("isVisible").to(this[J_("0x17")],J_("0x3f")),t.on("execute",(()=>this[J_("0x2e")]())),t}[J_("0x4a")](){const t=new Nu(this[J_("0x11")]);return t[J_("0x2")]=Ox(this[J_("0x11")],J_("0x3e")),t[J_("0x48")]='\x3c!--\n\n What you\'re currently looking at is the source code of a legally protected, proprietary software.\n CKEditor 5 Collaboration is licensed under a commercial license and protected by copyright law. Where not otherwise indicated,\n all CKEditor 5 Collaboration content is authored by CKSource engineers and consists of CKSource-owned intellectual property.\n\n Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n\n!--\x3e\n\n\n',t.extendTemplate({attributes:{class:"ck-comment--remove"}}),t.bind(J_("0xf")).to(this[J_("0x17")],"isReadOnly",(t=>!t)),t[J_("0x6")](J_("0x26")).to(this._model,J_("0x29")),t.on("execute",(()=>{this[J_("0x3d")](Ox(this[J_("0x11")],J_("0x13")),this[J_("0x45")])[J_("0x32")]((()=>{this[J_("0x15")](J_("0x38"),this[J_("0x17")].id)}))})),t}_attachActions(t,e){this[J_("0x39")](t,J_("0xd"),(()=>this[J_("0x47")]=e)),this.listenTo(t,J_("0x28"),(()=>this.actionIndicator=e)),this[J_("0x39")](t,J_("0x1c"),(()=>this[J_("0x47")]=null)),this[J_("0x39")](t,J_("0x12"),(()=>this[J_("0x47")]=null))}[J_("0x1a")](){const t=super[J_("0x1a")]();return t[J_("0x6")]("placeholder").to(this),t}[J_("0x35")](){return"importWord"===this[J_("0x17")][J_("0x3a")]["@external"].source?Ox(this[J_("0x11")],J_("0x27")):Ox(this[J_("0x11")],J_("0xe"))}[J_("0x3c")](){return this[J_("0x17")].isExternal?J_("0x4c")===this[J_("0x17")][J_("0x3a")][J_("0x3b")][J_("0x3")]?Ox(this.locale,"EXTERNAL_IMPORT_WORD_AVATAR",this._model.creator[J_("0x31")]):Ox(this[J_("0x11")],J_("0x49"),this[J_("0x17")][J_("0x1b")][J_("0x31")]):null}[J_("0x25")](){super[J_("0x25")](),this[J_("0x2c")](this.editButton[J_("0x45")],J_("0x2d")),this[J_("0x2c")](this[J_("0x36")][J_("0x45")],"remove")}}(0,_u.mix)(Q_,nx);var X_=__webpack_require__(1556),tA={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(X_.Z,tA);X_.Z.locals;var eA=__webpack_require__(4342),nA={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(eA.Z,nA);eA.Z.locals;var iA=__webpack_require__(4964),oA={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(iA.Z,oA);iA.Z.locals;const rA=["observe","disconnect","class","type","cancel","attributeName"];var sA,aA;sA=rA,aA=490,function(t){for(;--t;)sA.push(sA.shift())}(++aA);const cA=function(t,e){return rA[t-=0]};function lA(t){const e=Ew(t,30),n=new MutationObserver((t=>{for(const n of t)("attributes"==n[cA("0x5")]&&cA("0x4")==n[cA("0x1")]||"childList"==n[cA("0x5")])&&e()}));return{attach(t){n[cA("0x2")](t,{attributes:!0,childList:!0,subtree:!0})},detach(){n[cA("0x3")](),e[cA("0x0")]()}}}var dA=__webpack_require__(5899),uA={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(dA.Z,uA);dA.Z.locals;const hA=["_mutationObserver","ck-rounded-corners","type","focusTracker","isActive","mainView","detach","div","ck-annotation-wrapper--active","bindTemplate","createCollection","height","_updateHeight","set","element","targetRect","Esc","ck-annotation-wrapper","fire","add","keystrokes","focus","attach","destroy","render","content"];var mA,gA;mA=hA,gA=249,function(t){for(;--t;)mA.push(mA.shift())}(++gA);const pA=function(t,e){return hA[t-=0]};class fA extends Hd{constructor(t,e){super(t),this.id=(0,_u.uid)(),this[pA("0xe")]=new _u.FocusTracker,this[pA("0x5")]=new _u.KeystrokeHandler,this.keystrokes.set("Esc",((t,e)=>this[pA("0x3")](pA("0x1"),e))),this.set(pA("0x0"),{top:0,right:0,bottom:0,left:0}),this[pA("0x18")](pA("0x16"),0),this[pA("0x18")](pA("0xf"),!1),this.set("isDirty",!1),this[pA("0x18")]("length",0),this.set(pA("0xd"),""),this._mutationObserver=lA((()=>this[pA("0x17")]())),this[pA("0xa")]=this[pA("0x15")](),this.content[pA("0x4")](e),this[pA("0x10")]=e;const n=this[pA("0x14")];this.setTemplate({tag:pA("0x12"),attributes:{class:["ck",pA("0x2"),pA("0xc"),n.if(pA("0xf"),pA("0x13"))],tabindex:-1},children:this[pA("0xa")]})}[pA("0x9")](){super.render(),this[pA("0xe")].add(this[pA("0x19")]),this.keystrokes.listenTo(this[pA("0x19")]),this[pA("0xb")][pA("0x7")](this[pA("0x19")])}destroy(){this.content.clear(),this.keystrokes[pA("0x8")](),this.focusTracker[pA("0x8")](),this[pA("0xb")][pA("0x11")](),super[pA("0x8")]()}[pA("0x6")](){this[pA("0x19")][pA("0x6")]()}[pA("0x17")](){const t=this[pA("0x19")].clientHeight;t&&(this.height=t)}}const bA=["annotation-invalid-target","destroy","object","view","focusableElements","type","_assertCorrectTarget","mainView","_type","isActive","add","_isTargetElementVisible","isVisible","item","stopListening","refreshVisibility","render","updateTargetRect","function","_id","element","focusTracker","targetRect","nodeType","getClientRects","_target","remove","target"];var kA,xA;kA=bA,xA=192,function(t){for(;--t;)kA.push(kA.shift())}(++xA);const wA=function(t,e){return bA[t-=0]};class _A{constructor({view:t,target:e,type:n,isVisible:i=!0}){this[wA("0x7")]=t,this[wA("0x7")][wA("0x18")]||this.view[wA("0x14")](),this[wA("0xc")]=n,this[wA("0x1")]=e,this._assertCorrectTarget(),this[wA("0x8")]=new _u.Collection([this[wA("0x7")][wA("0x18")]],{idProperty:wA("0x17")}),this.focusableElements.on(wA("0xe"),((t,e)=>{this[wA("0x7")].focusTracker[wA("0xe")](e)})),this[wA("0x8")].on("remove",((t,e)=>{this[wA("0x7")][wA("0x19")][wA("0x2")](e)})),this.set(wA("0x10"),i)}get[wA("0x9")](){return"function"==typeof this[wA("0xc")]?this._type():this[wA("0xc")]}get innerView(){return this[wA("0x7")].mainView}get[wA("0x3")](){return wA("0x16")==typeof this[wA("0x1")]?this[wA("0x1")]():this[wA("0x1")]}get targetRect(){const t=this[wA("0x3")];return this[wA("0xa")](),null!==t&&this._isTargetElementVisible()?AA(t)?new _u.Rect(t[wA("0x0")]()[wA("0x11")](0)):new _u.Rect(t):null}get isActive(){return this[wA("0x7")][wA("0xd")]}set[wA("0xd")](t){this[wA("0x7")][wA("0xd")]=t,this[wA("0x7")][wA("0xb")][wA("0xd")]=t}[wA("0x15")](){this[wA("0x7")][wA("0x1a")]=this[wA("0x1a")]}[wA("0x5")](){this.focusableElements[wA("0x12")](),this[wA("0x8")].clear(),this[wA("0x12")]()}[wA("0x13")](){this[wA("0x10")]=this[wA("0xf")]()}[wA("0xf")](){const t=this[wA("0x3")];return!AA(t)||(!!t.offsetParent||!!t.getClientRects()[wA("0x11")](0))}[wA("0xa")](){const t=this[wA("0x3")];if(!(null===t||t instanceof _u.Rect||AA(t)))throw new _u.CKEditorError(wA("0x4"),null,{target:t})}}function AA(t){return null!==t&&wA("0x6")==typeof t&&1===t[wA("0x1b")]}(0,_u.mix)(_A,_u.ObservableMixin);const vA=["view","change:isFocused","refreshPositioning","add","set","_sort","has","_viewToAnnotation","_innerViewToAnnotation","innerView","top","focusableElements","delete","isFocused","_items","get","remove","targetRect","_getOrderInContent","_focusTracker","left","stopListening","length","fire","getByInnerView","destroy","clear","focusTracker","updateTargetRect","sort","blur","listenTo","focus","getIndex"];var CA,yA;CA=vA,yA=239,function(t){for(;--t;)CA.push(CA.shift())}(++yA);const EA=function(t,e){return vA[t-=0]};class TA extends _u.Collection{constructor(t=[]){super(),this[EA("0x7")]=new Map,this[EA("0x6")]=new Map,this[EA("0x12")]=new _u.FocusTracker,this[EA("0x12")].on(EA("0x0"),((t,e,n)=>{n||this[EA("0x16")](EA("0x1d"))}));for(const e of t)this.add(e)}get[EA("0xc")](){return this[EA("0x12")][EA("0xc")]}[EA("0x2")](t){if(this[EA("0x5")](t))throw new _u.CKEditorError("annotationcollection-duplicated-item",null);this[EA("0x7")][EA("0x3")](t[EA("0x8")],t),this[EA("0x6")][EA("0x3")](t[EA("0x21")],t);for(const e of t[EA("0xa")])this[EA("0x12")][EA("0x2")](e);this[EA("0x1e")](t.focusableElements,EA("0x2"),((t,e)=>{this[EA("0x12")][EA("0x2")](e)})),this[EA("0x1e")](t[EA("0xa")],EA("0xf"),((t,e)=>{this._focusTracker[EA("0xf")](e)})),this.listenTo(t[EA("0x21")].focusTracker,EA("0x0"),((e,n,i)=>{i&&this.fire(EA("0x1f"),t)})),t[EA("0x1b")]();const e=this._getOrderInContent(t[EA("0x21")][EA("0x10")]);super[EA("0x2")](t,e)}[EA("0xf")](t){if(!this[EA("0x5")](t))throw new _u.CKEditorError("annotationcollection-not-existing-item",null);this[EA("0x14")](t[EA("0x21")][EA("0x1a")]),this[EA("0x14")](t[EA("0xa")]);for(const e of t[EA("0xa")])this._focusTracker[EA("0xf")](e);this[EA("0x6")][EA("0xb")](t[EA("0x21")]),this[EA("0x7")][EA("0xb")](t[EA("0x8")]),super[EA("0xf")](t)}[EA("0x17")](t){return this[EA("0x7")][EA("0xe")](t)}getByView(t){return this[EA("0x6")].get(t)}[EA("0x18")](){super[EA("0x19")](),this[EA("0x14")](),this[EA("0x7")][EA("0x19")](),this[EA("0x6")][EA("0x19")](),this[EA("0x12")][EA("0x18")]()}[EA("0x1")](){for(const t of this)t.updateTargetRect();this[EA("0x4")]()}[EA("0x4")](){const t=Array.from(this)[EA("0x1c")](((t,e)=>DA(t[EA("0x21")][EA("0x10")],e[EA("0x21")][EA("0x10")])));for(let e=t[EA("0x15")]-1;e>0;e--){const n=t[e];e!==this[EA("0x20")](n)&&(this[EA("0xf")](n),this.add(n,e))}}[EA("0x11")](t){let e=0;if(!t)return this[EA("0xd")][EA("0x15")];for(const n of this){const i=n[EA("0x21")][EA("0x10")];if(i){if(DA(t,i)<0)return e;e++}}return e}}function DA(t,e){if(null===t&&null===e)return 0;if(null===t)return-1;if(null===e)return 1;const n=t[EA("0x9")]-e[EA("0x9")];return 0==n?t[EA("0x13")]-e[EA("0x13")]:n}const SA=["createAnnotationView","collection","fire","has","source","activeAnnotations","_deactivateAllAnnotations","destroy","refreshVisibility","remove","activate","set","isVisible","_activateAnnotation","_bindAnnotationsToVisibleAnnotations","change:isVisible","Annotations","_addActiveAnnotation","_removeActiveAnnotation","createAnnotation","refreshPositioning","add","getByInnerView","deactivateAll","_visibleAnnotations","listenTo"];var IA,BA;IA=SA,BA=380,function(t){for(;--t;)IA.push(IA.shift())}(++BA);const MA=function(t,e){return SA[t-=0]};class NA extends Dn{static get pluginName(){return MA("0x0")}constructor(t){super(t),this[MA("0xb")]=new TA,this._visibleAnnotations=new TA,this[MA("0x15")](MA("0xf"),new Set),this[MA("0x18")]()}[MA("0x5")](t){this.collection[MA("0x5")](t)}[MA("0x13")](t){this[MA("0xb")][MA("0x13")](t),t[MA("0x11")]()}[MA("0x12")](){for(const t of this.collection)t[MA("0x12")]()}[MA("0x4")](){this._visibleAnnotations[MA("0x4")]()}[MA("0x6")](t){return this.collection[MA("0x6")](t)}[MA("0x7")](){this[MA("0xc")](MA("0x10"))}[MA("0x11")](){for(const t of this.collection)t[MA("0x11")]();this[MA("0x8")][MA("0x11")](),this.collection[MA("0x11")](),super[MA("0x11")]()}[MA("0x14")](t){this.fire(MA("0x17"),t)}[MA("0x3")](t){return new _A(t)}[MA("0xa")](t,e){return new fA(t,e)}[MA("0x1")](t){const e=new Set(this[MA("0xf")]);e[MA("0x5")](t),this[MA("0xf")]=e}[MA("0x2")](t){const e=new Set(this[MA("0xf")]);e.delete(t),this.activeAnnotations=e}_bindAnnotationsToVisibleAnnotations(){const t=this[MA("0xb")],e=this[MA("0x8")];function n(t){const n=t[MA("0xe")];n[MA("0x16")]&&!e[MA("0xd")](n)?e[MA("0x5")](n):!n[MA("0x16")]&&e[MA("0xd")](n)&&e[MA("0x13")](n)}this.listenTo(t,MA("0x5"),((t,i)=>{i[MA("0x16")]&&e[MA("0x5")](i),this.listenTo(i,"change:isVisible",n)})),this[MA("0x9")](t,"remove",((t,i)=>{e[MA("0xd")](i)&&e[MA("0x13")](i),this.stopListening(i,MA("0x19"),n)}))}}const OA=["_adapter","isExternal","addUser","requires","commentsrepository-active-not-attached","_findOptimalIndex","commentsrepository-invalid-comment-authorid","updateComment","commentsrepository-remove-comment-missing-comment-thread","comments.maxCommentCharsWhenCollapsed","_getExternalAuthor","removeCommentThread","getByInnerView","pop","createdAt","Users","removeAttribute","then","context","commentsrepository-invalid-comment-thread-id","getCommentThreads","commentInputView","commentsrepository-remove-comment-thread-internal-error","commentsrepository-remove-missing-comment","commentsrepository-attach-missing-comment-thread","_nonAdminChannels","_isAttached","commentsrepository-get-comment-invalid-id","createElement","div","_attachCommentThread","licenseKey","add","comments","config","slice","locale","external:","_removeCommentThread","author","resolve","update","error","commentsrepository-invalid-comment-content","content","once","string","CommentsRepository","attachTo","adapter","fetchCommentThread","replace","channelId","commentsrepository-missing-thread-and-adapter-method","_detachCommentThread","addComment","addCommentThread","getIndex","assign","change:activeAnnotations","commentsrepository-invalid-commentid","setAdminPermissions","removeComment","_removeComment","comments.maxThreadTotalWeight","_threads","get","commentsrepository-update-comment-invalid-content","comments.maxCommentsWhenCollapsed","trim","commentsrepository-update-missing-comment","push","type","comment","creator","listenTo","isFromAdapter","activeCommentThread","@external","bind","reduce","commentsrepository-fetch-comment-thread","authorName","has","commentsrepository-missing-target","init","charCodeAt","catch","getCommentThread","delete","focus","commentsrepository-add-comment-user-not-exists","authoredAt","commentsrepository-adapter-already-set","weight","PendingActions","getTime","isEditable","_add","editorReady","from","PENDING_ACTION_COMMENT_THREAD","values","define","_threadToController","innerHTML","stopListening","length","_updateComment","map","_readOnlyChannels","_addCommentThread","set","isReadOnly","function","innerView","activate","deactivateAll","commentsrepository-remove-missing-comment-thread","commentThreadInputView","isRemovable","model","parse","hasCommentThread","_remove","comments.editorConfig","commentsrepository-update-comment-missing-comment-thread","isDirty","createCommentThreadController","getUser","getComment","filter","_addComment","fire","textContent","_repository","isAttached","commentsrepository-update-comment-internal-error","remove","plugins","_viewToController","commentsrepository-remove-comment-internal-error","attributes","warn","pluginName","openNewCommentThread","view","fromCharCode","toJSON","destroy","substring","threadId","switchReadOnly"];var PA,RA;PA=OA,RA=245,function(t){for(;--t;)PA.push(PA.shift())}(++RA);const LA=function(t,e){return OA[t-=0]},zA=Symbol("noChannel");class jA extends Dn{static get[LA("0x40")](){return[NA,fu,$f]}static get[LA("0x34")](){return LA("0x6c")}constructor(t){super(t),this[LA("0x7e")]=new Map,this[LA("0xc")]=new Map,this._viewToController=new Map,this[LA("0x12")]=new Set,this.set(LA("0x56"),new Set),this.licenseKey=this[LA("0x4f")].config[LA("0x7f")](LA("0x5c"));const e=this[LA("0x4f")][LA("0x5f")];e.define(LA("0x81"),2),e[LA("0xb")](LA("0x7d"),500),e[LA("0xb")](LA("0x46"),140),e[LA("0xb")]("comments.CommentThreadView",L_),e[LA("0xb")]("comments.CommentView",Q_),e[LA("0x7f")]("comments.editorConfig")||console[LA("0x33")]("Missing comments editor configuration (`comments.editorConfig`). Default configuration will be used instead.")}[LA("0x92")](){const t=this[LA("0x4f")][LA("0x2f")][LA("0x7f")](NA);this.set(LA("0x8a"),null),this.on(LA("0x75"),((t,e)=>this[LA("0x13")](e))),this.on(LA("0x48"),((t,e)=>this[LA("0x63")](e))),this.on(LA("0x74"),((t,e)=>this[LA("0x28")](e))),this.on(LA("0x44"),((t,e)=>this._updateComment(e))),this.on("removeComment",((t,e)=>this[LA("0x7c")](e))),this.on(LA("0x74"),((t,{threadId:e,isFromAdapter:n})=>{if(n)return;const i=this[LA("0x95")](e),o=this[LA("0xc")][LA("0x7f")](i);o&&o[LA("0x36")][LA("0x97")]()}),{priority:"lowest"}),this[LA("0x88")](t,LA("0x78"),((t,e,n)=>{const i=Array[LA("0x8")](n)[LA("0x11")]((t=>this[LA("0x30")].get(t[LA("0x17")])))[LA("0x27")](Boolean)[0];this[LA("0x8a")]=i?i[LA("0x1d")]:null}))}afterInit(){!function(t){const e=t instanceof Tn,n=[1,85,78,115,198,255,50,112,83,87,161],i=u([52,48,52,52,50,50,48,54]),o=[127,34,6,211,167,86,146,199,132,160,18],r=u([65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80,81,82,83,84,85,86,87,88,89,90,97,98,99,100,101,102,103,104,105,106,107,108,109,110,111,112,113,114,115,116,117,118,119,120,121,122,48,49,50,51,52,53,54,55,56,57]),s=function(e){if(t[u([112,108,117,103,105,110,115])][u([104,97,115])](u([87,101,98,83,111,99,107,101,116,71,97,116,101,119,97,121]))&&t[u([112,108,117,103,105,110,115])][u([103,101,116])](u([87,101,98,83,111,99,107,101,116,71,97,116,101,119,97,121]))[u([115,116,97,116,101])]==u([99,111,110,110,101,99,116,101,100]))return a(u([108,105,99,101,110,115,101,75,101,121,86,97,108,105,100]));if(t[u([112,108,117,103,105,110,115])][u([104,97,115])](u([84,114,97,99,107,67,104,97,110,103,101,115,68,97,116,97,71,101,116,116,101,114]))&&t[u([112,108,117,103,105,110,115])][u([103,101,116])](u([84,114,97,99,107,67,104,97,110,103,101,115,68,97,116,97,71,101,116,116,101,114]))[u([114,101,115,117,108,116])]==u([101,110,100]))return a(u([108,105,99,101,110,115,101,75,101,121,86,97,108,105,100]));try{const r=function(t){const e=[29,221,175,90,231,133,239,240,75,180];return function(t,e){const n=atob(t),i=Array.from(function(t){const e=new Uint8Array(t[LA("0xf")]);for(let n=0;n=0;--t)o[t]=n%256,n=parseInt(n/256);let r=null,s=16;const a=new Uint8Array(e),c=[],l=[];g();for(let e=0;e=0;e--){if(255!==t[e]){t[e]++;break}t[e]=0}}function m(t){const e=c[LA("0xf")]-1,n=[0,0,0,0];let o=d(t);for(let t=0;t<4;t++)o[t]^=c[0][t];for(let t=1;t>24&255]^i[u([84,50])][o[(e+1)%4]>>16&255]^i[u([84,51])][o[(e+2)%4]>>8&255]^i[u([84,52])][255&o[(e+3)%4]]^c[t][e];o=n[LA("0x60")]()}const r=new Uint8Array(16);let s;for(let t=0;t<4;t++)s=c[e][t],r[4*t]=255&(i[u([83])][o[t]>>24&255]^s>>24),r[4*t+1]=255&(i[u([83])][o[(t+1)%4]>>16&255]^s>>16),r[4*t+2]=255&(i[u([83])][o[(t+2)%4]>>8&255]^s>>8),r[4*t+3]=255&(i[u([83])][255&o[(t+3)%4]]^s);return r}function g(){const t=i[u([110,117,109,98,101,114,79,102,82,111,117,110,100,115])][a[LA("0xf")]];for(let e=0;e<=t;e++)c.push([0,0,0,0]),l[LA("0x84")]([0,0,0,0]);const e=4*(t+1),n=a[LA("0xf")]/4,o=d(a);let r;for(let e=0;e>2,c[r][e%4]=o[e],l[t-r][e%4]=o[e];let s,h=0,m=n;for(;m>16&255]<<24^i[u([83])][s>>8&255]<<16^i[u([83])][255&s]<<8^i[u([83])][s>>24&255]^i[u([114,99,111,110])][h]<<24,h+=1;for(let t=1;t>8&255]<<8^i[u([83])][s>>16&255]<<16^i[u([83])][s>>24&255]<<24;for(let t=n/2+1;t>2,a=m%4,c[r][a]=o[d],l[t-r][a]=o[d++],m++}for(let e=1;e>24&255]^i[u([85,50])][s>>16&255]^i[u([85,51])][s>>8&255]^i[u([85,52])][255&s]}}(i,e,r+256*o))}(t,new(window[u([85,105,110,116,56,65,114,114,97,121])])([...n,...e,...o]))}(e),s=JSON[LA("0x1e")](r),c=parseInt(s[u([49])]),l=parseInt(s[u([51])]),d=parseInt(s[u([52])])||0,h=parseInt(s[u([53])])||0,m=2;if(!(1&d)||t[u([112,108,117,103,105,110,115])][u([104,97,115])](u([84,114,97,99,107,67,104,97,110,103,101,115,69,100,105,116,105,110,103]))&&!(d&m))return a(u([108,105,99,101,110,115,101,75,101,121,73,110,118,97,108,105,100]));if(h&&!window[u([111,112,101,110])][u([99,108,111,115,101,100])])return a(u([108,105,99,101,110,115,101,75,101,121,73,110,118,97,108,105,100]));if(parseInt(i)/2>c)return a(u([108,105,99,101,110,115,101,75,101,121,73,110,118,97,108,105,100]));if(t[u([112,108,117,103,105,110,115])][u([104,97,115])](u([84,114,97,99,107,67,104,97,110,103,101,115,69,100,105,116,105,110,103]))){const e=t[u([112,108,117,103,105,110,115])][u([103,101,116])](u([84,114,97,99,107,67,104,97,110,103,101,115,69,100,105,116,105,110,103]));if(parseInt(e[u([95,101,120,101,99,117,116,101,83,117,103,103,101,115,116,105,111,110])])/2>c)return a(u([108,105,99,101,110,115,101,75,101,121,73,110,118,97,108,105,100]))}return a(u(l?[108,105,99,101,110,115,101,75,101,121,84,114,105,97,108]:[108,105,99,101,110,115,101,75,101,121,86,97,108,105,100]))}catch(t){return a(u([108,105,99,101,110,115,101,75,101,121,73,110,118,97,108,105,100]))}}(t.config[LA("0x7f")](u([108,105,99,101,110,115,101,75,101,121])));function a(e){const n=function(){const t=String(window[u([112,101,114,102,111,114,109,97,110,99,101])][u([110,111,119])]())[LA("0x70")](u([46]),"");let e="";for(let n=0;n=r.length&&(i-=r[LA("0xf")]),e+=r[i]}return e}();return t[n]=e,e}function c(t){for(const e of t[u([101,100,105,116,111,114,115])])l(e);t[u([112,108,117,103,105,110,115])][u([103,101,116])](u([67,111,109,109,101,110,116,115,82,101,112,111,115,105,116,111,114,121]))[u([115,119,105,116,99,104,82,101,97,100,79,110,108,121])](!0),t[u([112,108,117,103,105,110,115])][u([103,101,116])](u([67,111,109,109,101,110,116,115,82,101,112,111,115,105,116,111,114,121]))[u([115,119,105,116,99,104,82,101,97,100,79,110,108,121])]=d}function l(t){function e(){t[u([109,111,100,101,108])][u([99,104,97,110,103,101])]=d,t[u([109,111,100,101,108])][u([101,110,113,117,101,117,101,67,104,97,110,103,101])]=d,t[u([101,110,97,98,108,101,82,101,97,100,79,110,108,121,77,111,100,101])](u([109,111,100,101,108]))}t[u([115,116,97,116,101])]==u([114,101,97,100,121])?e():t[u([111,110,99,101])](u([114,101,97,100,121]),(()=>e()))}function d(){return null}function u(t){return t[LA("0x11")]((t=>String.fromCharCode(t))).join("")}e?(s==u([108,105,99,101,110,115,101,75,101,121,73,110,118,97,108,105,100])?c(t):s==u([108,105,99,101,110,115,101,75,101,121,84,114,105,97,108])&&window[u([115,101,116,84,105,109,101,111,117,116])]((()=>{c(t),a(u([108,105,99,101,110,115,101,75,101,121,84,114,105,97,108,76,105,109,105,116,58,116,105,109,101]))}),o[6]*n[8]*n[6]),t[u([101,100,105,116,111,114,115])][u([111,110])](u([97,100,100]),((t,e)=>{s!=u([108,105,99,101,110,115,101,75,101,121,73,110,118,97,108,105,100])&&s!=u([108,105,99,101,110,115,101,75,101,121,84,114,105,97,108,76,105,109,105,116,58,116,105,109,101])&&s!=u([108,105,99,101,110,115,101,75,101,121,84,114,105,97,108,76,105,109,105,116,58,111,112,101,114,97,116,105,111,110,115])||l(e)}))):s==u([108,105,99,101,110,115,101,75,101,121,73,110,118,97,108,105,100])?l(t):s==u([108,105,99,101,110,115,101,75,101,121,84,114,105,97,108])&&t[u([111,110])](u([114,101,97,100,121]),(()=>{let e=0;t[u([109,111,100,101,108])][u([111,110])](u([97,112,112,108,121,79,112,101,114,97,116,105,111,110]),((n,i)=>{i[0][u([105,115,68,111,99,117,109,101,110,116,79,112,101,114,97,116,105,111,110])]&&e++,504===e&&(l(t),a(u([108,105,99,101,110,115,101,75,101,121,84,114,105,97,108,76,105,109,105,116,58,111,112,101,114,97,116,105,111,110,115])),n[u([111,102,102])]())}),{priority:u([104,105,103,104,101,115,116])})}))}(this.context)}set[LA("0x6e")](t){if(this[LA("0x3d")])throw new _u.CKEditorError(LA("0x1"));this[LA("0x3d")]=t}get adapter(){return this[LA("0x3d")]}[LA("0x75")]({channelId:t=zA,threadId:e=(0,_u.uid)(),comments:n=[],target:i,isFromAdapter:o}={}){return this.fire(HA("addCommentThread",t),{channelId:t,threadId:e,comments:n,target:i,isFromAdapter:o}),this[LA("0x95")](e)}[LA("0x35")]({channelId:t=zA,threadId:e=(0,_u.uid)(),target:n}){if(this._readOnlyChannels.has(t)||this[LA("0x12")][LA("0x90")](void 0))return;if(!n)throw new _u.CKEditorError(LA("0x91"));const i=this.addCommentThread({channelId:t,threadId:e,target:n});if(!i)return null;const o=this._threadToController[LA("0x7f")](i),r=o.view[LA("0x1b")][LA("0x52")],s=this[LA("0x4f")][LA("0x2f")][LA("0x7f")](NA),a=s[LA("0x49")](o[LA("0x36")]);return s[LA("0x18")](a),r[LA("0x6a")](LA("0x7"),(()=>r[LA("0x97")]())),i}[LA("0x1f")](t){if(LA("0x6b")!=typeof t)throw new _u.CKEditorError(LA("0x50"));return this[LA("0x7e")][LA("0x90")](t)}getCommentThread(t){if(LA("0x6b")!=typeof t)throw new _u.CKEditorError(LA("0x50"));return this[LA("0x7e")][LA("0x7f")](t)}[LA("0x6f")]({channelId:t,threadId:e}={}){const n=this[LA("0x95")](e);if(n)return Promise[LA("0x65")](n);if(!this[LA("0x6e")])throw new _u.CKEditorError("commentsrepository-missing-thread-and-adapter",this[LA("0x4f")]);if(LA("0x16")!=typeof this.adapter[LA("0x95")])throw new _u.CKEditorError(LA("0x72"),this[LA("0x4f")]);return this[LA("0x6e")][LA("0x95")]({channelId:t,threadId:e})[LA("0x4e")]((n=>this[LA("0x1f")](e)?this.getCommentThread(e):n?this[LA("0x75")](Object[LA("0x77")]({isFromAdapter:!0,channelId:t},n)):void 0))[LA("0x94")]((t=>{throw console[LA("0x67")](t),new _u.CKEditorError(LA("0x8e"),this.context)}))}[LA("0x51")]({channelId:t,skipNotAttached:e=!1,skipEmpty:n=!1,toJSON:i=!1}={}){const o=[];for(const i of this[LA("0x7e")][LA("0xa")]())t&&i[LA("0x71")]!==t||e&&!i[LA("0x2c")]||n&&0===i[LA("0xf")]||o[LA("0x84")](i);return i?o[LA("0x11")]((t=>t[LA("0x38")]())):o}setActiveCommentThread(t){const e=this[LA("0x4f")].plugins[LA("0x7f")](NA);if(!t)return void(this[LA("0x8a")]&&e[LA("0x19")]());const n=this[LA("0x95")](t);if(!n)throw new _u.CKEditorError("commentsrepository-active-missing-comment-thread",null,{threadId:t});if(!this[LA("0xc")][LA("0x90")](n))throw new _u.CKEditorError(LA("0x41"),null,{threadId:t});const i=e[LA("0x49")](this._threadToController[LA("0x7f")](n)[LA("0x36")]);e[LA("0x18")](i)}[LA("0x3c")](t,e){t?this[LA("0x12")][LA("0x5d")](e):this[LA("0x12")].delete(e);for(const n of this[LA("0x51")]({channelId:e}))n[LA("0x15")]=!!t}[LA("0x15")](t){return this._readOnlyChannels[LA("0x90")](t)||this[LA("0x12")][LA("0x90")](void 0)}[LA("0x24")](t,e){return new Nx(t,e)}[LA("0x7a")](t,e=zA){const n=!this[LA("0x56")][LA("0x90")](e),i=new Set(this[LA("0x56")]);n&&!t&&(i[LA("0x5d")](e),this._nonAdminChannels=i),!n&&t&&(i[LA("0x96")](e),this[LA("0x56")]=i)}_addCommentThread({channelId:t,threadId:e,comments:n,target:i,isFromAdapter:o}){if(LA("0x6b")!=typeof e)throw new _u.CKEditorError(LA("0x50"),null,{threadId:e});if(this[LA("0x1f")](e))throw new _u.CKEditorError("commentsrepository-duplicated-comment-thread-id",null,{threadId:e});const r=new FA(this,{channelId:t,id:e});(this._readOnlyChannels[LA("0x90")](t)||this[LA("0x12")][LA("0x90")](void 0))&&(r[LA("0x15")]=!0),this._threads.set(e,r);for(const t of n)r.addComment(Object[LA("0x77")]({isFromAdapter:o},t));i&&r[LA("0x6d")](i)}[LA("0x5b")]({threadId:t,target:e}){const n=this[LA("0x95")](t);if(!n)throw new _u.CKEditorError(LA("0x55"),this);const i=this[LA("0x4f")][LA("0x2f")][LA("0x7f")]("PendingActions"),o=this[LA("0x4f")][LA("0x2f")][LA("0x7f")](NA),r=this._createCommentThreadView(n),s=new Nx(n,r);let a=null;r.on("change:isDirty",((t,e,n)=>{n?a=i[LA("0x5d")](Ox(this[LA("0x4f")][LA("0x61")],LA("0x9"))):(i[LA("0x2e")](a),a=null)})),this[LA("0xc")].set(n,s),this[LA("0x30")][LA("0x14")](r,s);const c=new fA(this[LA("0x4f")].locale,r);c[LA("0x8c")](LA("0xf")).to(r),c[LA("0x8c")](LA("0x23")).to(r,LA("0x23"),r,LA("0xf"),((t,e)=>t||!e)),c[LA("0x8c")]("isActive").to(r),c[LA("0x85")]=LA("0x86");const l=new _A({view:c,target:e,type:LA("0x86")});return o[LA("0x5d")](l),l}_createCommentThreadView(t){const e=this[LA("0x4f")][LA("0x2f")].get(LA("0x4c")),{config:n,locale:i}=this[LA("0x4f")],o=Pk(n.get(LA("0x61")));return new(0,n[LA("0x7f")]("comments").CommentThreadView)(i,t,e.me,{editorConfig:n[LA("0x7f")](LA("0x21")),maxCommentsWhenCollapsed:n[LA("0x7f")](LA("0x81")),maxThreadTotalWeight:n[LA("0x7f")](LA("0x7d")),maxCommentCharsWhenCollapsed:n[LA("0x7f")](LA("0x46")),formatDateTime:o,CommentView:n[LA("0x7f")]("comments").CommentView})}_removeCommentThread({threadId:t,isFromAdapter:e}){const n=this.getCommentThread(t);if(!n)throw new _u.CKEditorError(LA("0x1a"),this);if(this[LA("0x73")](t),this[LA("0x7e")].delete(t),!n[LA("0xf")]||e||!this[LA("0x6e")]||LA("0x16")!=typeof this.adapter[LA("0x48")])return Promise[LA("0x65")]();const i=this.context.plugins.get(LA("0x3")),{channelId:o}=n,r=i[LA("0x5d")](Ox(this.context[LA("0x61")],LA("0x9")));return this[LA("0x6e")][LA("0x48")]({channelId:o,threadId:t})[LA("0x4e")]((()=>i.remove(r)))[LA("0x94")]((t=>{throw console[LA("0x67")](t),new _u.CKEditorError(LA("0x53"),this)}))}_detachCommentThread(t){const e=this.context.plugins[LA("0x7f")](NA),n=this[LA("0x95")](t);if(this[LA("0xc")][LA("0x90")](n)){const t=this[LA("0xc")][LA("0x7f")](n),i=t[LA("0x36")],o=e.getByInnerView(i);this[LA("0xc")].delete(n),this[LA("0x30")].delete(i),o&&e[LA("0x2e")](o),t[LA("0x39")](),i.destroy()}}[LA("0x47")](t){const e=this.context[LA("0x2f")].get($f),n=ax(LA("0x62")+t);return e[LA("0x25")](n)||e[LA("0x3f")]({id:n,name:t})}[LA("0x28")]({threadId:t,commentId:e=(0,_u.uid)(),content:n,authorId:i,createdAt:o,attributes:r,isFromAdapter:s}){if(LA("0x6b")!=typeof e)throw new _u.CKEditorError(LA("0x79"));if(LA("0x6b")!=typeof i)throw new _u.CKEditorError(LA("0x43"));if(LA("0x6b")!=typeof n||!n[LA("0x82")]())throw new _u.CKEditorError(LA("0x68"));const a=this[LA("0x95")](t);if(!a)throw new _u.CKEditorError("commentsrepository-add-comment-to-missing-comment-thread",this);const c=this[LA("0x4f")][LA("0x2f")][LA("0x7f")]($f).getUser(i);if(!c)throw new _u.CKEditorError(LA("0x98"),null,{authorId:i});let l=null,d=o;r&&r[LA("0x8b")]&&(l=this[LA("0x47")](r[LA("0x8b")][LA("0x8f")]),d=r[LA("0x8b")][LA("0x4b")]);const u=new VA(this,{threadId:t,id:e,author:l||c,creator:c,content:n,createdAt:o,authoredAt:d,attributes:r});if(a[LA("0x6")](u),s||!this[LA("0x6e")]||LA("0x16")!=typeof this[LA("0x6e")].addComment)return Promise.resolve();const h=this.context[LA("0x2f")].get(LA("0x3")),{channelId:m}=a,g=h[LA("0x5d")](Ox(this.context[LA("0x61")],LA("0x9")));return r||(r={}),this[LA("0x6e")][LA("0x74")]({channelId:m,threadId:t,commentId:e,content:n,attributes:r})[LA("0x4e")]((i=>{if(h[LA("0x2e")](g),this.hasCommentThread(t))i&&i[LA("0x4b")]&&this[LA("0x10")]({threadId:t,commentId:e,createdAt:i[LA("0x4b")],isFromAdapter:!0});else{const s={threadId:t,commentId:e,content:n,attributes:r,createdAt:i&&i[LA("0x4b")]?i[LA("0x4b")]:o,authorId:c.id};this.addCommentThread({channelId:m,threadId:t,comments:[s],isFromAdapter:!0})}})).catch((t=>{throw console[LA("0x67")](t),new _u.CKEditorError("commentsrepository-add-comment-internal-error",this)}))}[LA("0x10")]({threadId:t,commentId:e,content:n,createdAt:i,attributes:o,isFromAdapter:r}){if(void 0!==n&&(LA("0x6b")!=typeof n||!n[LA("0x82")]()[LA("0xf")]))throw new _u.CKEditorError(LA("0x80"));const s=this[LA("0x95")](t),a=s[LA("0x26")](e);if(!a)throw new _u.CKEditorError(LA("0x83"),this);let c=!1;if(n&&n!==a[LA("0x69")]&&(a[LA("0x5")]||r)&&(a[LA("0x69")]=n,c=!0),i&&i!==a[LA("0x4b")]&&(a.createdAt=i,a[LA("0x32")]&&a[LA("0x32")][LA("0x8b")]||(a[LA("0x0")]=i),c=!0),o&&!fc(o,a[LA("0x32")])&&(a[LA("0x32")]=o,c=!0),!c)return Promise[LA("0x65")]();if(s.fire("commentUpdated"),r||!this[LA("0x6e")]||LA("0x16")!=typeof this[LA("0x6e")][LA("0x44")])return Promise[LA("0x65")]();const l=this.context[LA("0x2f")][LA("0x7f")]("PendingActions"),{channelId:d}=this[LA("0x95")](a[LA("0x3b")]),u=l[LA("0x5d")](Ox(this[LA("0x4f")][LA("0x61")],LA("0x9")));return this[LA("0x6e")].updateComment({channelId:d,threadId:t,commentId:e,content:n,attributes:o})[LA("0x4e")]((()=>l[LA("0x2e")](u)))[LA("0x94")]((t=>{throw console[LA("0x67")](t),new _u.CKEditorError(LA("0x2d"),this)}))}[LA("0x7c")]({threadId:t,commentId:e,isFromAdapter:n}){const i=this.getCommentThread(t),o=i[LA("0x26")](e);if(!o)throw new _u.CKEditorError(LA("0x54"),this);if(i[LA("0x20")](o),n||!this[LA("0x6e")]||LA("0x16")!=typeof this[LA("0x6e")][LA("0x7b")])return Promise[LA("0x65")]();const r=this[LA("0x4f")].plugins[LA("0x7f")](LA("0x3")),{channelId:s}=i,a=r[LA("0x5d")](Ox(this[LA("0x4f")][LA("0x61")],"PENDING_ACTION_COMMENT_THREAD"));return this[LA("0x6e")][LA("0x7b")]({channelId:s,threadId:t,commentId:e})[LA("0x4e")]((()=>r[LA("0x2e")](a))).catch((t=>{throw console[LA("0x67")](t),new _u.CKEditorError(LA("0x31"),this)}))}}class FA{constructor(t,e){this[LA("0x71")]=e.channelId,this.id=e.id,this[LA("0x14")]("isReadOnly",!1),this[LA("0x8c")](LA("0x1c")).to(t,"_nonAdminChannels",(t=>!t[LA("0x90")](this[LA("0x71")]))),this[LA("0x5e")]=new _u.Collection,this[LA("0x2b")]=t,this[LA("0x57")]=!1}get[LA("0x2")](){return Array.from(this[LA("0x5e")])[LA("0x8d")](((t,e)=>t+e[LA("0x2")]),0)}get length(){return this[LA("0x5e")].length}get[LA("0x2c")](){return this[LA("0x57")]}[LA("0x2e")]({isFromAdapter:t=!1}={}){const{channelId:e,id:n}=this;this[LA("0x2b")][LA("0x29")](HA(LA("0x48"),e),{channelId:e,threadId:n,isFromAdapter:t})}[LA("0x6d")](t){return this[LA("0x2b")][LA("0x5b")]({threadId:this.id,target:t})}addComment(t){const{channelId:e,id:n}=this;this[LA("0x2b")][LA("0x29")](HA(LA("0x74"),e,n),Object.assign({channelId:e,threadId:n},t))}getComment(t){if(LA("0x6b")!=typeof t)throw new _u.CKEditorError(LA("0x58"),null,{commentId:t});return this[LA("0x5e")][LA("0x7f")](t)}[LA("0x38")](){return{threadId:this.id,comments:this.comments.map((t=>t[LA("0x38")]()))}}[LA("0x6")](t){return this[LA("0x88")](t,"change:authoredAt",(()=>{const e=this[LA("0x42")](t),n=this[LA("0x5e")];e-1!=n[LA("0x76")](t)&&e+1!=n[LA("0x76")](t)&&(this[LA("0x20")](t),this[LA("0x6")](t))})),t[LA("0x4b")]?this[LA("0x5e")][LA("0x5d")](t,this[LA("0x42")](t)):this[LA("0x5e")][LA("0x5d")](t)}[LA("0x20")](t){return this[LA("0xe")](t),t.destroy(),this.comments[LA("0x2e")](t)}_findOptimalIndex(t){const e=this[LA("0x5e")].find((e=>new Date(e[LA("0x0")])[LA("0x4")]()>new Date(t[LA("0x0")])[LA("0x4")]()));return e?this[LA("0x5e")][LA("0x76")](e):this[LA("0xf")]}}(0,_u.mix)(FA,_u.ObservableMixin);class VA{constructor(t,e){const n=t[LA("0x4f")][LA("0x2f")][LA("0x7f")]("Users").me,i=t[LA("0x95")](e[LA("0x3b")]),o=0===i[LA("0x5e")][LA("0xf")],r=n===e.author;this.id=e.id,this[LA("0x3b")]=e[LA("0x3b")],this[LA("0x64")]=e[LA("0x64")],this[LA("0x87")]=e.creator,this[LA("0x3e")]=Boolean(e[LA("0x32")]&&e[LA("0x32")]["@external"]),this[LA("0x14")](LA("0x69"),e[LA("0x69")]),this.createdAt=e[LA("0x4b")]||new Date,this[LA("0x14")]("authoredAt",e[LA("0x0")]||new Date),this[LA("0x14")](LA("0x32"),e[LA("0x32")]||{}),this[LA("0x14")](LA("0x5"),r),this[LA("0x8c")]("isRemovable").to(i,LA("0x1c"),(t=>t&&o||r)),this.bind(LA("0x15")).to(i,LA("0x15")),this[LA("0x2b")]=t}get weight(){return Math.max(function(t){const e=document[LA("0x59")](LA("0x5a"));return e[LA("0xd")]=t,e[LA("0x2a")][LA("0xf")]}(this[LA("0x69")]),200)}[LA("0x66")](t){const{threadId:e,id:n}=this;if(!this._repository[LA("0x1f")](e))throw new _u.CKEditorError(LA("0x22"),this);const{channelId:i}=this._repository[LA("0x95")](e);this[LA("0x2b")].fire(HA("updateComment",i,e),Object[LA("0x77")]({channelId:i,threadId:e,commentId:n},t))}setAttribute(t,e){const n=Ks(this[LA("0x32")]);Mi(n,t,e),this[LA("0x66")]({attributes:n})}[LA("0x4d")](t){const e=Ks(this.attributes);li(e,t),this[LA("0x66")]({attributes:e})}remove(t={}){if(!t[LA("0x89")]&&!this[LA("0x1c")])return;const{threadId:e,id:n}=this;if(!this._repository.hasCommentThread(e))throw new _u.CKEditorError(LA("0x45"),this);const{channelId:i}=this[LA("0x2b")][LA("0x95")](e);this._repository.fire(HA(LA("0x7b"),i,e),Object[LA("0x77")]({channelId:i,threadId:e,commentId:n},t))}[LA("0x38")](){return{commentId:this.id,content:this[LA("0x69")],createdAt:this[LA("0x4b")],authorId:this[LA("0x87")].id,attributes:this[LA("0x32")]}}[LA("0x39")](){this.stopListening()}}function HA(t,...e){for(const n of e)void 0!==n&&(t+=":"+String(n));return t}(0,_u.mix)(VA,_u.ObservableMixin);const UA=["createRange","tableCell","selection","start","getLastMatchingPosition","execute","textProxy","model","isObject","push","element","refresh","getRanges","backward","comment:","_hasContent","document","isEnabled","_itemIsContent","editor","getItems","_trimToContent","change"];var qA,WA;qA=UA,WA=349,function(t){for(;--t;)qA.push(qA.shift())}(++WA);const ZA=function(t,e){return UA[t-=0]};class GA extends i{[ZA("0x7")](){const t=this[ZA("0xf")][ZA("0x3")][ZA("0xc")][ZA("0x15")];for(const e of t[ZA("0x8")]())if(this._hasContent(e))return void(this[ZA("0xd")]=!0);this.isEnabled=!1}[ZA("0x1")]({threadId:t=(0,_u.uid)()}={}){const e=this[ZA("0xf")][ZA("0x3")],n=[];for(const t of e[ZA("0xc")][ZA("0x15")][ZA("0x8")]())this[ZA("0xb")](t)&&n[ZA("0x5")](this[ZA("0x11")](t));e[ZA("0x12")]((e=>{for(const i of n){const n=(0,_u.uid)().substr(1,5),o=ZA("0xa")+t+":"+n;e.addMarker(o,{range:i,usingOperation:!1,affectData:!1})}}))}[ZA("0xb")](t){for(const e of t[ZA("0x10")]())if(this[ZA("0xe")](e))return!0;return!1}[ZA("0xe")](t){return t.is(ZA("0x2"))||this[ZA("0xf")][ZA("0x3")].schema[ZA("0x4")](t)&&!t.is(ZA("0x6"),ZA("0x14"))}[ZA("0x11")](t){const e=t=>!this[ZA("0xe")](t.item),n=t[ZA("0x16")][ZA("0x0")](e),i=t.end[ZA("0x0")](e,{direction:ZA("0x9")});return this.editor[ZA("0x3")][ZA("0x13")](n,i)}}const KA=["annotation","getByInnerView","element","requires","fire","has","set","selection","editing","change:isFocused","push","listenTo","getOrderedSelectedAnnotations","model","hasDomSelection","uiUpdate","registerAnnotation","pluginName","isCollapsed","containsRange","focusTracker","_dataCollectors","refreshSelectedViews","EditorAnnotations","function","change:range","innerView","range","update","init","delete","remove","view","directChange","from","add","refresh","isReadOnly","isEqual","_editorAnnotations","sort","document","getRanges","editor"];var $A,YA;$A=KA,YA=165,function(t){for(;--t;)$A.push($A.shift())}(++YA);const JA=function(t,e){return KA[t-=0]};class QA extends e{static get[JA("0xe")](){return[NA]}static get[JA("0x1c")](){return JA("0x22")}constructor(t){super(t),this[JA("0x20")]=new Set,this[JA("0x6")]=new Set}[JA("0x28")](){const t=this.editor,e=t[JA("0x18")].document[JA("0x12")],n=Mr((()=>this.refreshSelectedViews()),10);e.on(JA("0x24"),((t,e)=>{e[JA("0x0")]&&(n.cancel(),this[JA("0x21")]())})),this[JA("0x16")](t.editing[JA("0x2b")][JA("0x8")],JA("0x14"),((t,e,i)=>{i&&n()})),this[JA("0x16")](t.ui.focusTracker,"change:isFocused",((e,n,i)=>{i||t[JA("0x4")]||this[JA("0xf")]("blur",{isAnnotationTracked:t=>this._editorAnnotationsData[JA("0x10")](t[JA("0x25")])})})),this[JA("0x16")](this[JA("0xa")].ui,JA("0x27"),(()=>this[JA("0xf")](JA("0x1a"))))}[JA("0x1b")](t){if(this[JA("0x6")][JA("0x10")](t))return;this[JA("0x6")].add(t.view),this[JA("0xa")].ui[JA("0x1f")][JA("0x2")](t[JA("0x2b")][JA("0xd")]);const e=this.editor.plugins.get(NA);this[JA("0x16")](e.collection,JA("0x2a"),((t,e)=>{this[JA("0xa")].ui.focusTracker.remove(e[JA("0x2b")][JA("0xd")]),this._editorAnnotations[JA("0x29")](e.view)}))}[JA("0x19")](){return this[JA("0xa")][JA("0x13")][JA("0x2b")][JA("0x19")]}addSourceCollector(t){if(JA("0x23")!=typeof t)throw new _u.CKEditorError("editorannotations-invalid-source-callback");this[JA("0x20")][JA("0x2")](t)}refreshSelectedViews(){this[JA("0xf")](JA("0x3"))}[JA("0x17")]({activeAnnotation:t,annotations:e}){const n=[],i=this[JA("0xa")][JA("0x18")][JA("0x8")][JA("0x12")],o=Array[JA("0x1")](i[JA("0x9")]());for(const[t,i]of this._editorAnnotationsData){const o=r(i),s=e[JA("0xc")](t);o&&s&&n[JA("0x15")]({annotation:s,range:o})}function r(t){for(const e of t)for(const t of o)if(e[JA("0x1e")](t,!i[JA("0x1d")]))return e;return null}return n[JA("0x7")](((e,n)=>{const i=e.range,o=n[JA("0x26")];if(!i[JA("0x5")](o)){if(i.containsRange(o,!0))return 1;if(o[JA("0x1e")](i,!0))return-1}return e[JA("0xb")]==t?-1:n.annotation==t?1:0})).map((t=>t[JA("0xb")]))}get _editorAnnotationsData(){const t=new Map;for(const e of Array[JA("0x1")](this[JA("0x20")]))for(const[n,i]of e())t[JA("0x11")](n,i);return t}}const XA=["get","RestrictedEditingModeEditing","has","addCommentThread","enableCommand","plugins"];var tv,ev;tv=XA,ev=199,function(t){for(;--t;)tv.push(tv.shift())}(++ev);const nv=function(t,e){return XA[t-=0]};class iv extends e{afterInit(){const t=this.editor;t[nv("0x4")][nv("0x1")]("RestrictedEditingModeEditing")&&t[nv("0x4")][nv("0x5")](nv("0x0"))[nv("0x3")](nv("0x2"))}}var ov=__webpack_require__(5743),rv={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(ov.Z,rv);ov.Z.locals;const sv=["collaboration.channelId","execute","plugins","Users","map","config","high","_handleImportedData","editor","commands","importWord","dataInsert","get","afterInit"];var av,cv;av=sv,cv=130,function(t){for(;--t;)av.push(av.shift())}(++cv);const lv=function(t,e){return sv[t-=0]};class dv extends e{[lv("0x9")](){const t=this[lv("0x4")],e=t[lv("0x5")][lv("0x8")](lv("0x6")),n=t[lv("0xc")].get(lv("0xd"));e&&(e.on(lv("0xb"),((t,[,e])=>{e.collaboration_features={comments:!0,user_id:n.me.id}}),{priority:_u.priorities[lv("0x2")]+10}),this.listenTo(e,lv("0x7"),this[lv("0x3")]))}[lv("0x3")](t,e){const{comment_threads:n}=e;n&&n.forEach((({thread_id:t,comments:e})=>{const n=e[lv("0x0")]((({author:t,content:e,created_at:n})=>({content:e,authorId:this[lv("0x4")][lv("0xc")][lv("0x8")](lv("0xd")).me.id,createdAt:new Date,attributes:{"@external":{authorName:t,createdAt:n?new Date(n):new Date,source:lv("0x6")}}}))),i=this[lv("0x4")][lv("0x1")][lv("0x8")](lv("0xa"));this.editor[lv("0xc")][lv("0x8")](jA).addCommentThread({channelId:i,threadId:t,comments:n})}))}}const uv=["comment:","map","addCommentThread","model","change:isReadOnly","left","_attachedThreads","collaboration.channelId","_attachMarkerToThread","_threadToController","low","newRange","view","destroyed","markers","EditorAnnotations","activeMarker","getWalker","end","hasCommentThread","includes","sort","pluginName","attachTo","upcast","hasContent","updateMarker","reconvertMarker","state","hasMarkerForId","change","dataDowncast","CommentsRepository","_threads","removeMarker","removeCommentThread","editing","_handleMarkerAddAndRemove","switchReadOnly","for","Annotations","CommentsEditing","conversion","document","ck-comment-marker","elementToElement","getCommentThreads","editingDowncast","high","ck-comment-marker--active","managedUsingOperations","addComment","editor","once","_detachCommentThread","delete","isThreadsLoadingPaused","get","push","markerName","$marker","update:comment","destroy","markerToData","registerAnnotation","has","plugins","set","getChangedMarkers","getAllMarkersForId","config","registerPostFixer","ready","isEqual","length","affectsData","createRange","listenTo","_initializeMarkerConverters","top","add","stop","render","start","getCommentThread","comment","split","change:activeMarker","init"];var hv,mv;hv=uv,mv=281,function(t){for(;--t;)hv.push(hv.shift())}(++mv);const gv=function(t,e){return uv[t-=0]};class pv extends e{static get requires(){return[jA,QA,iv,dv]}static get[gv("0x8")](){return gv("0x1b")}constructor(t){super(t),this.set(gv("0x2a"),!0),t.data.once(gv("0x3a"),(()=>this[gv("0x2a")]=!1)),this[gv("0x35")](gv("0x2"),null),this.on(gv("0x49"),((e,n,i,o)=>{t[gv("0x4e")].change((()=>{if(i){const{id:e}=bv(i),n=this[gv("0x37")](e);for(const e of n)t[gv("0x16")].reconvertMarker(e)}if(o){const{id:e}=bv(o),n=this.getAllMarkersForId(e);for(const e of n)t.editing[gv("0xd")](e)}}))})),this[gv("0x51")]=new Map}[gv("0x4a")](){const t=this[gv("0x26")],e=t[gv("0x34")][gv("0x2b")](gv("0x12")),n=t[gv("0x38")][gv("0x2b")](gv("0x52"));t.commands[gv("0x42")](gv("0x4d"),new GA(t)),this[gv("0x3f")](t,gv("0x4f"),((n,i,o)=>{e[gv("0x18")](o,t[gv("0x38")][gv("0x2b")](gv("0x52")))})),this.listenTo(e,fv(gv("0x15"),n),((n,{threadId:i})=>{t[gv("0x4e")][gv("0x10")]((t=>{for(const e of this[gv("0x37")](i))t.removeMarker(e)}));const o=e.getCommentThread(i);e[gv("0x5")](i)&&!o[gv("0x3c")]||n[gv("0x43")]()}),{priority:gv("0x22")}),this[gv("0x3f")](e,fv(gv("0x25"),n),((n,{threadId:i,isFromAdapter:o})=>{const r=this[gv("0x37")](i);!o&&0!=r[gv("0x3c")]&&e[gv("0x5")](i)&&1===e[gv("0x46")](i).length&&t[gv("0x4e")][gv("0x10")]((t=>{for(const e of r)t.updateMarker(e,{usingOperation:!0,affectsData:!0})}))}),{priority:gv("0x55")}),this[gv("0x40")](),this[gv("0x17")]()}[gv("0x30")](){const t=this[gv("0x26")][gv("0x34")][gv("0x2b")](gv("0x12")),e=this[gv("0x26")][gv("0x38")].get("collaboration.channelId");for(const n of t[gv("0x20")]({channelId:e}))t._detachCommentThread(n.id),t[gv("0x13")][gv("0x29")](n.id);super[gv("0x30")]()}[gv("0xf")](t){return this[gv("0x37")](t)[gv("0x3c")]>0}[gv("0x37")](t){return(this[gv("0x51")][gv("0x2b")](t)||[])[gv("0x4c")]((t=>this[gv("0x26")].model.markers[gv("0x2b")](t))).filter((t=>t))}[gv("0x40")](){const t=this.editor;t[gv("0x1c")][gv("0x19")](gv("0x21")).markerToHighlight({model:gv("0x47"),view:t=>{const{id:e}=bv(t[gv("0x2d")]),n=[gv("0x1e")];return this[gv("0x2")]&&bv(this.activeMarker).id===e&&n[gv("0x2c")](gv("0x23")),{classes:n,attributes:{"data-comment":e}}}}),t[gv("0x1c")][gv("0x19")](gv("0x11"))[gv("0x31")]({model:gv("0x47"),view:e=>{const n=t.model[gv("0x0")][gv("0x2b")](e),{id:i,part:o}=bv(e);return n&&!n[gv("0x3d")]?null:{group:"comment",name:o?i+":"+o:i}}}),t[gv("0x1c")][gv("0x19")]("upcast")[gv("0x1f")]({view:{name:gv("0x47"),attribute:{id:/^\w/}},model:(t,{writer:e})=>e.createElement(gv("0x2e"),{"data-name":gv("0x4b")+t.getAttribute("id")})}),t[gv("0x1c")][gv("0x19")](gv("0xa")).dataToMarker({view:gv("0x47")})}[gv("0x17")](){const t=this[gv("0x26")],e=t[gv("0x34")].get(gv("0x12")),n=new Set;t.model[gv("0x1d")][gv("0x39")]((e=>{let i=!1;for(const{name:o,data:r}of t[gv("0x4e")].document.differ[gv("0x36")]()){const{group:s,id:a}=bv(o);let c=r[gv("0x56")];if(gv("0x47")!==s||!c)continue;const l="$graveyard"===c.root.rootName;l||(c=kv(c,t.model),!c||c[gv("0x3b")](r[gv("0x56")]))?!c||!t[gv("0x4e")][gv("0xb")](c)||this[gv("0x51")][gv("0x33")](a)&&l?(e[gv("0x14")](o),i=!0):l||(this[gv("0x2a")]?n.add(o):this[gv("0x53")](o,a)):(e[gv("0xc")](o,{range:c}),i=!0)}return i})),this.on("change:isThreadsLoadingPaused",((e,i,o)=>{if(!o&&n.size)for(const e of n){const{id:i}=bv(e);n.delete(i),t[gv("0x4e")][gv("0x0")].get(e)&&this[gv("0x53")](e,i)}})),this[gv("0x3f")](t[gv("0x4e")].markers,gv("0x2f"),((i,o,r,s)=>{if(s)return;const{id:a}=bv(o.name),c=t[gv("0x34")][gv("0x2b")](gv("0x12")).getCommentThread(a);n[gv("0x29")](a),c&&!this[gv("0xf")](a)&&(this._attachedThreads[gv("0x29")](a),e[gv("0x28")](a))}))}[gv("0x53")](t,e){if(this[gv("0x51")][gv("0x33")](e)){const n=this[gv("0x51")][gv("0x2b")](e);return void(n[gv("0x6")](t)||n[gv("0x2c")](t))}this[gv("0x51")][gv("0x35")](e,[t]);const n=this[gv("0x26")],i=n[gv("0x34")][gv("0x2b")](gv("0x12")),o=n.config[gv("0x2b")](gv("0x52")),r=n.plugins[gv("0x2b")](gv("0x1")),s=()=>{const t=this.getAllMarkersForId(e);if(0===t.length)return null;if(1===t[gv("0x3c")])return Fk(n[gv("0x16")],t[0]);const i=t[gv("0x4c")]((t=>Fk(n[gv("0x16")],t)));return i[gv("0x7")](((t,e)=>{const n=new _u.Rect(t),i=new _u.Rect(e),o=n[gv("0x41")]-i[gv("0x41")];return 0==o?n.left-i[gv("0x50")]:o})),i[0]};this.getAllMarkersForId(e)[0][gv("0x24")]?i.fetchCommentThread({channelId:o,threadId:e}).then((t=>{if(gv("0x58")!==n[gv("0xe")])if(t){const e=t[gv("0x9")](s);r[gv("0x32")](e)}else{const t=this[gv("0x37")](e);n[gv("0x4e")][gv("0x10")]((e=>{for(const n of t)e[gv("0x14")](n)}))}})):n[gv("0x16")][gv("0x57")][gv("0x27")](gv("0x44"),(()=>{const t=n[gv("0x34")][gv("0x2b")](gv("0x1a")),a=i.openNewCommentThread({channelId:o,threadId:e,target:s}),c=i[gv("0x54")][gv("0x2b")](a)[gv("0x57")],l=t.getByInnerView(c);r.registerAnnotation(l)}),{priority:gv("0x55")})}}function fv(t,e){return e?t+":"+e:t}function bv(t){const e=t[gv("0x48")](":");return{group:e[0],id:e[1],part:e[2]}}function kv(t,e){const n=e.schema,i=e[gv("0x3e")](t[gv("0x45")]);for(const o of t[gv("0x3")]()){const{type:t,item:r,nextPosition:s}=o;if("text"===t||n.isObject(r)){const t=e.createPositionBefore(r);i.isCollapsed&&(i.start=t),i[gv("0x4")]=s}}return i.isCollapsed?null:i}const xv='\x3c!--\n\n What you\'re currently looking at is the source code of a legally protected, proprietary software.\n CKEditor 5 Collaboration is licensed under a commercial license and protected by copyright law. Where not otherwise indicated,\n all CKEditor 5 Collaboration content is authored by CKSource engineers and consists of CKSource-owned intellectual property.\n\n Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n\n!--\x3e\n\n\n',wv=["focus","innerView","bind","map","locale","focusTracker","get","highest","plugins","editor","listenTo","_viewToController","push","model","addSourceCollector","length","pluginName","CommentsListView","execute","comment:","view","Comment","hasMarkerForId","_createUIButton","init","addCommentThread","tooltip","activeMarker","comment","_threadToController","CommentThreadInputView","CommentsUI","icon","change:activeAnnotations","isFocused","add"];var _v,Av;_v=wv,Av=195,function(t){for(;--t;)_v.push(_v.shift())}(++Av);const vv=function(t,e){return wv[t-=0]};class Cv extends e{static get[vv("0x1")](){return vv("0x10")}static get requires(){return[jA,pv,QA,NA]}get[vv("0x2")](){return E_}get[vv("0xf")](){return f_}[vv("0x9")](){const t=this[vv("0x1e")],e=t[vv("0x1d")][vv("0x1b")](jA),n=t.plugins[vv("0x1b")](pv),i=t[vv("0x1d")][vv("0x1b")](NA),o=t[vv("0x1d")][vv("0x1b")](QA);t.ui.componentFactory[vv("0x14")](vv("0xd"),(()=>this[vv("0x8")]())),o[vv("0x23")]((()=>{const t=[];for(const[i,o]of e[vv("0xe")]){const e=n.getAllMarkersForId(i.id),r=e[vv("0x18")]((t=>t.getRange()));e[vv("0x0")]>0&&t[vv("0x21")]([o[vv("0x5")],r])}return t})),this[vv("0x1f")](i,vv("0x12"),((t,i,o)=>{const r=Array.from(o)[vv("0x18")]((t=>t[vv("0x16")])).find((t=>e[vv("0x20")].has(t)));if(!r)return void(n.activeMarker=null);const s=e._viewToController[vv("0x1b")](r)[vv("0x22")].id,a=vv("0x4")+s;n[vv("0x7")](s)?n[vv("0xc")]=a:n[vv("0xc")]&&(n.activeMarker=null)})),this.listenTo(e,"removeCommentThread",((e,{threadId:i,isFromAdapter:o})=>{!o&&t.ui[vv("0x1a")][vv("0x13")]&&n[vv("0x7")](i)&&t.editing[vv("0x5")][vv("0x15")]()}),{priority:vv("0x1c")}),this[vv("0x1f")](e,"addComment",((i,{threadId:o,isFromAdapter:r})=>{!r&&n[vv("0x7")](o)&&e.hasCommentThread(o)&&1===e.getCommentThread(o)[vv("0x0")]&&(t.editing[vv("0x5")][vv("0x15")](),i.stop())}),{priority:"low"})}[vv("0x8")](){const t=this[vv("0x1e")],e=new Nu(t[vv("0x19")]),n=t.commands.get(vv("0xa"));return e.label=Ox(t.locale,vv("0x6")),e[vv("0xb")]=Ox(t[vv("0x19")],vv("0x6")),e[vv("0x11")]=xv,e[vv("0x17")]("isEnabled").to(n),this[vv("0x1f")](e,vv("0x3"),(()=>n[vv("0x3")]())),e}}const yv=["affectsData","_enableCommentsOnlyMode","has","delete","pluginName","config","requires","document","editor","view","set","stop","plugins","clipboardInput","get","commentsOnly","clearForceDisabled","commands","forceDisabled","commentsOnlyMode","isEnabled","highest","_disableCommentsOnlyMode","listenTo","stopListening","addCommentThread","DragDrop","CommentsOnly","editing","cut","afterInit"];var Ev,Tv;Ev=yv,Tv=318,function(t){for(;--t;)Ev.push(Ev.shift())}(++Tv);const Dv=function(t,e){return yv[t-=0]};class Sv extends e{static get[Dv("0x1b")](){return Dv("0x13")}static get[Dv("0x1d")](){return[pv]}constructor(t){super(t),this[Dv("0x2")](Dv("0xc"),null),this.on("change:isEnabled",((t,e,n)=>{n?this[Dv("0x18")]():this[Dv("0xe")]()}))}[Dv("0x16")](){null===this[Dv("0xc")]&&(this[Dv("0xc")]=!!this[Dv("0x0")][Dv("0x1c")].get(Dv("0x7")))}[Dv("0x18")](){for(const[t,e]of this[Dv("0x0")][Dv("0x9")])e[Dv("0x17")]&&Dv("0x11")!==t&&e[Dv("0xa")](Dv("0xb"));this[Dv("0x0")][Dv("0x4")][Dv("0x19")](Dv("0x12"))&&this[Dv("0x0")][Dv("0x4")][Dv("0x6")](Dv("0x12")).forceDisabled(Dv("0xb"));const t=this[Dv("0x0")][Dv("0x14")][Dv("0x1")][Dv("0x1e")];this[Dv("0xf")](t,Dv("0x15"),(t=>t[Dv("0x3")]()),{priority:Dv("0xd")}),this[Dv("0xf")](t,Dv("0x5"),(t=>t[Dv("0x3")]()),{priority:Dv("0xd")}),this.listenTo(t,Dv("0x1a"),(t=>t[Dv("0x3")]()),{priority:"highest"})}_disableCommentsOnlyMode(){for(const[t,e]of this[Dv("0x0")].commands)e[Dv("0x17")]&&Dv("0x11")!==t&&e[Dv("0x8")](Dv("0xb"));this[Dv("0x10")](this.editor.editing[Dv("0x1")].document)}}const Iv=["length","delete","_uisData","listenTo","activeAnnotations","get","destroy","annotationsuis-activate-missing-ui","filter","size","add","register","hasActive","annotationsuis-register-invalid-interface","setActiveAnnotation","_activateAnnotation","AnnotationsUIs","stopListening","_setSelectedAnnotations","remove","function","_assertAnnotationDoesNotBelongToMultipleUIs","deactivateAll","detach","context","isActive","activate","_removeActiveAnnotation","collection","has","from","_addActiveAnnotation","plugins","push","pluginName","attach","_uis","set","_visibleAnnotations","change:activeAnnotation","switchTo","requires","activeUIs","deactivate"];var Bv,Mv;Bv=Iv,Mv=381,function(t){for(;--t;)Bv.push(Bv.shift())}(++Mv);const Nv=function(t,e){return Iv[t-=0]};class Ov extends Dn{static get[Nv("0xc")](){return[NA]}static get[Nv("0x5")](){return Nv("0x1f")}constructor(t){super(t),this.activeUIs=new Set,this[Nv("0x7")]=new Map,this[Nv("0x11")]=new Map}init(){const t=this[Nv("0x27")][Nv("0x3")][Nv("0x14")](NA);this[Nv("0x12")](t,Nv("0x1e"),((t,e)=>{for(const t of this[Nv("0xd")]){const n=this._uis[Nv("0x14")](t);(0,this._uisData.get(t)[Nv("0x17")])(e)&&n[Nv("0x1d")](e)}})),this[Nv("0x12")](t,"_deactivateAllAnnotations",(()=>{for(const t of this.activeUIs)this._uis[Nv("0x14")](t)[Nv("0x1d")](null)})),this[Nv("0x12")](t[Nv("0x9")],Nv("0x19"),((t,e)=>{this[Nv("0x24")](e)}))}[Nv("0x1b")](){return this[Nv("0xd")][Nv("0x18")]>0}[Nv("0x28")](t){return this[Nv("0xd")][Nv("0x0")](t)}[Nv("0x29")](t,e=(()=>!0)){const n=this.context[Nv("0x3")][Nv("0x14")](NA);if(!this[Nv("0x7")][Nv("0x0")](t))throw new _u.CKEditorError(Nv("0x16"),this,{uiName:t});this[Nv("0x28")](t)&&this.deactivate(t),this.activeUIs[Nv("0x19")](t);const i=new TA;(function({source:t,target:e,filter:n}){for(const i of t)n(i)&&e[EA("0x2")](i);e.listenTo(t,EA("0x2"),((t,i)=>{n(i)&&e.add(i)})),e[EA("0x1e")](t,EA("0xf"),((t,n)=>{e.has(n)&&e.remove(n)}))})({source:n._visibleAnnotations,target:i,filter:e}),this[Nv("0x11")][Nv("0x8")](t,{collection:i,filter:e});const o=this[Nv("0x7")].get(t);o[Nv("0x6")](i),this[Nv("0x12")](o,Nv("0xa"),((t,e,i,o)=>{o&&n[Nv("0x2a")](o),i&&n[Nv("0x2")](i)}))}[Nv("0xe")](t){this[Nv("0xd")][Nv("0x10")](t);const e=this._uis[Nv("0x14")](t);e.detach(),this[Nv("0x20")](e),this[Nv("0x11")][Nv("0x14")](t)[Nv("0x2b")][Nv("0x15")](),this._uisData.delete(t)}[Nv("0xb")](t){const e=this[Nv("0x27")][Nv("0x3")].get(NA),n=Array[Nv("0x1")](e[Nv("0x13")])[0]||null;this[Nv("0x25")](),this[Nv("0x29")](t);const i=this[Nv("0x7")].get(t);i[Nv("0x1d")](n),i[Nv("0x21")]&&n&&i._setSelectedAnnotations([n])}[Nv("0x25")](){for(const t of this.activeUIs)this[Nv("0xe")](t)}[Nv("0x1a")](t,e){if(this._uis.has(t))throw new _u.CKEditorError("annotationsuis-register-already-registered");if(Nv("0x23")!=typeof e.attach||Nv("0x23")!=typeof e[Nv("0x26")]||Nv("0x23")!=typeof e[Nv("0x1d")])throw new _u.CKEditorError(Nv("0x1c"),null);this[Nv("0x7")][Nv("0x8")](t,e)}refilterAnnotations(){const t=this[Nv("0x27")].plugins.get(NA).collection,e=new Map,n=Array[Nv("0x1")](this[Nv("0xd")]);for(const t of this[Nv("0xd")]){const n=this[Nv("0x11")].get(t)[Nv("0x2b")];for(const i of n)e[Nv("0x8")](i,t)}for(const i of t){const t=e[Nv("0x14")](i);this[Nv("0x24")](i);const o=n.find((t=>this[Nv("0x11")][Nv("0x14")](t).filter(i)));t!==o&&(t&&this[Nv("0x11")][Nv("0x14")](t)[Nv("0x2b")][Nv("0x22")](i),o&&this[Nv("0x11")][Nv("0x14")](o)[Nv("0x2b")][Nv("0x19")](i))}}[Nv("0x15")](){this[Nv("0x25")](),super[Nv("0x15")]()}[Nv("0x24")](t){const e=[];for(const n of this[Nv("0xd")])(0,this[Nv("0x11")].get(n)[Nv("0x17")])(t)&&e[Nv("0x4")](n);if(e[Nv("0xf")]>1)throw new _u.CKEditorError("annotationsuis-annotation-mismatch",null,{matchedUIs:e,annotationType:t.type})}}var Pv=__webpack_require__(5745),Rv={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(Pv.Z,Rv);Pv.Z.locals;const Lv=["class","minHeight","div","createCollection","list","bindTemplate","ck-sidebar","setTemplate","set"];var zv,jv;zv=Lv,jv=229,function(t){for(;--t;)zv.push(zv.shift())}(++jv);const Fv=function(t,e){return Lv[t-=0]},Vv=(0,_u.toUnit)("px");class Hv extends Hd{constructor(t){super(t);const e=this[Fv("0x1")];this[Fv("0x4")]("minHeight",0),this.set(Fv("0x5"),""),this.list=this[Fv("0x8")](),this[Fv("0x3")]({tag:Fv("0x7"),attributes:{class:["ck",Fv("0x2"),"ck-reset",e.to(Fv("0x5"))],style:{minHeight:e.to(Fv("0x6"),(t=>t?Vv(t+10):null))}},children:this[Fv("0x0")]})}}const Uv=["ck-sidebar-item--no-animation","height","attach","setTemplate","updateHeight","content","render","element","detach","_mutationObserver","isAnimationDisabled","ck-sidebar-item","set","bindTemplate","_targetTop","bottom","createCollection","top","bind"];var qv,Wv;qv=Uv,Wv=457,function(t){for(;--t;)qv.push(qv.shift())}(++Wv);const Zv=function(t,e){return Uv[t-=0]},Gv=(0,_u.toUnit)("px");class Kv extends Hd{constructor(t){super(t),this[Zv("0xb")]("top"),this[Zv("0xb")](Zv("0x0"),0),this[Zv("0x11")](Zv("0xe")).to(this,Zv("0x10"),this,"height",((t,e)=>(t||0)+e)),this[Zv("0xb")](Zv("0x9"),!1),this._mutationObserver=lA((()=>this[Zv("0x3")]())),this[Zv("0xd")]=null,this[Zv("0x4")]=this[Zv("0xf")]();const e=this[Zv("0xc")];this[Zv("0x2")]({tag:"div",attributes:{class:[Zv("0xa"),e.to(Zv("0x9"),(t=>t?Zv("0x12"):""))],style:{top:e.to(Zv("0x10"),Gv)}},children:this[Zv("0x4")]})}[Zv("0x5")](){super.render(),this[Zv("0x8")][Zv("0x1")](this[Zv("0x6")])}[Zv("0x3")](){const t=this[Zv("0x6")].clientHeight;t&&(this.height=t)}destroy(){this.content.clear(),this[Zv("0x8")][Zv("0x7")](),super.destroy()}}const $v=["change:targetRect","config","sidebar.preventScrollOutOfView","_destroySidebarItemView","_createSidebarView","_annotations","target","getIndex","_alignAfterItem","_spaceBetweenItems","minHeight","change:_lastItem","list","element","_lastItem","context","_getItemAfter","_setItemTop","targetRect","pluginName","updateHeight","setContainer","_sidebarItemViewToAnnotation","object","container","_recalculate","nodeType","view","class","_targetTop","get","isAnimationDisabled","_alignForTopChange","_updateLastItem","init","Sidebar","set","_activeAnnotation","refresh","content","isActive","push","sidebar.container","_recalculateBuffer","define","destroy","addAnnotation","_annotationToSidebarItemView","change:top","_detachFromContainer","bind","_alignToTargetRect","top","bottom","_getItemBefore","max","listenTo","length","getSidebarItemView","_alignForBottomChange","_alignBeforeItem","unbind","clear","render","stopListening","height","add","locale","remove","_getTargetTop","sidebar-setcontainer-invalid-element","_getMaxAvailableTop"];var Yv,Jv;Yv=$v,Jv=486,function(t){for(;--t;)Yv.push(Yv.shift())}(++Jv);const Qv=function(t,e){return $v[t-=0]};class Xv extends Dn{static get[Qv("0x25")](){return Qv("0x35")}constructor(t){super(t),this[Qv("0x36")]("_lastItem"),this[Qv("0x2d")]=this[Qv("0x16")](),this.set("container",null),this[Qv("0x1b")]=25,this[Qv("0x28")]=new Map,this[Qv("0x41")]=new Map,this[Qv("0x21")][Qv("0x13")][Qv("0x3e")]("sidebar.preventScrollOutOfView",!1),this._annotations=null,this[Qv("0x37")]=null,this._recalculateBuffer=[]}[Qv("0x34")](){const t=this.context[Qv("0x13")][Qv("0x30")](Qv("0x3c"));t&&this[Qv("0x27")](t)}[Qv("0x27")](t){if(!eC(t))throw new _u.CKEditorError(Qv("0x10"));this[Qv("0x2a")]=t}_attachToContainer({viewClass:t="",spaceBetweenItems:e=25}={}){if(!eC(this.container))throw new _u.CKEditorError("sidebar-attachtocontainer-missing-container",this);this.container.appendChild(this[Qv("0x2d")].element),this[Qv("0x2d")].class=t,this[Qv("0x1b")]=e}rearrange({removedAnnotation:t,previousAnnotation:e,nextAnnotation:n}){const i=this.getSidebarItemView(t);this[Qv("0x2d")].list[Qv("0xe")](i),this[Qv("0x15")](t),e&&this[Qv("0x45")](this[Qv("0x4")](e)),n&&this[Qv("0x45")](this[Qv("0x4")](n)),this[Qv("0x33")]()}[Qv("0x38")]({blurredAnnotation:t,activatedAnnotation:e,disableAnimationOnActivatedAnnotation:n}){if(this._activeAnnotation=e,t){t[Qv("0x3a")]=!1;const e=this[Qv("0x4")](t);e&&n&&(e[Qv("0x31")]=!1)}if(e){const t=this[Qv("0x4")](e);t&&(e[Qv("0x3a")]=!0,n&&(t[Qv("0x31")]=!0,t[Qv("0x46")]+=1),this._alignToTargetRect(t))}}[Qv("0x43")](t){this[Qv("0xa")](),this.view[Qv("0x1f")][Qv("0xe")]();for(const e of t)this[Qv("0x15")](e);this[Qv("0x2d")][Qv("0x1e")][Qv("0x8")](),this[Qv("0x2d")][Qv("0x2e")]="",this[Qv("0x20")]=null}[Qv("0x40")](t,e){e||(e=t.view);const n=new Kv(this.context[Qv("0xd")]);this[Qv("0x28")][Qv("0x36")](n,t),this[Qv("0x41")][Qv("0x36")](t,n),n[Qv("0x39")][Qv("0xc")](e),this[Qv("0x2")](t[Qv("0x2d")],Qv("0x12"),((e,i,o)=>{const r=this[Qv("0xf")](t,o);n[Qv("0x2f")]!=r&&(n._targetTop=r,this[Qv("0x23")](n,r))})),this[Qv("0x2")](n,Qv("0x42"),(()=>{this[Qv("0x2b")](n,Qv("0x46"))})),this.listenTo(n,"change:bottom",(()=>{this[Qv("0x2b")](n,Qv("0x47"))})),this._alignToTargetRect(n);const i=this[Qv("0x0")](n);return i&&this[Qv("0x1a")](i,n)||this[Qv("0x45")](n),this[Qv("0x33")](),this[Qv("0x2d")][Qv("0x1e")][Qv("0xc")](n),n}[Qv("0x32")](t){if(!t[Qv("0x39")][Qv("0x3")])return;const e=this[Qv("0x0")](t);if(!e)return;const n=this[Qv("0x28")].get(e),i=this[Qv("0x37")];i&&i===n?this[Qv("0x1a")](e,t):this[Qv("0x6")](t,e)}[Qv("0x5")](t){if(!t[Qv("0x39")].length)return;const e=this[Qv("0x22")](t);if(!e)return;const n=this._sidebarItemViewToAnnotation.get(e),i=this[Qv("0x21")][Qv("0x13")].get(Qv("0x14")),o=this._activeAnnotation;o&&o===n&&i?(this._alignBeforeItem(e,t),this[Qv("0x1a")](t,e)):o&&o===n?this[Qv("0x6")](e,t):this._alignAfterItem(t,e)}[Qv("0x2b")](t,e){0===this[Qv("0x3d")][Qv("0x3")]&&setTimeout((()=>{for(const{sidebarItemView:t,changedProp:e}of this[Qv("0x3d")])"top"===e?this[Qv("0x32")](t):this._alignForBottomChange(t);this[Qv("0x3d")]=[]}),10),this[Qv("0x3d")][Qv("0x3b")]({sidebarItemView:t,changedProp:e})}getSidebarItemView(t){return this[Qv("0x41")][Qv("0x30")](t)}[Qv("0x3f")](){this[Qv("0x2d")][Qv("0x3f")]()}[Qv("0x15")](t){const e=this[Qv("0x4")](t);this[Qv("0xa")](e),this[Qv("0xa")](t[Qv("0x2d")]),e[Qv("0x3f")](),this[Qv("0x41")].delete(t),this._sidebarItemViewToAnnotation.delete(e)}[Qv("0x16")](){const t=new Hv(this[Qv("0x21")][Qv("0xd")]);return t[Qv("0x9")](),this.on(Qv("0x1d"),((e,n,i,o)=>{o&&t[Qv("0x7")](Qv("0x1c")),i?t[Qv("0x44")](Qv("0x1c")).to(i,"bottom"):t[Qv("0x1c")]=null})),t}[Qv("0x33")](){this._lastItem=this[Qv("0x4")](this._annotations.last)}[Qv("0x0")](t){const e=this[Qv("0x28")][Qv("0x30")](t),n=this[Qv("0x17")][Qv("0x30")](this[Qv("0x17")][Qv("0x19")](e)-1);return n&&this[Qv("0x4")](n)}[Qv("0x22")](t){const e=this[Qv("0x28")][Qv("0x30")](t),n=this[Qv("0x17")][Qv("0x30")](this[Qv("0x17")][Qv("0x19")](e)+1);return n&&this.getSidebarItemView(n)}[Qv("0x6")](t,e){t[Qv("0x26")]();const n=tC(e[Qv("0x47")]+this[Qv("0x1b")],t[Qv("0x46")]);return!!n&&(this._setItemTop(e,e[Qv("0x46")]-n),!0)}_alignAfterItem(t,e){t[Qv("0x26")]();const n=tC(t[Qv("0x47")]+this[Qv("0x1b")],e[Qv("0x46")]);return!!n&&(this[Qv("0x23")](e,e.top+n,!1),!0)}[Qv("0x45")](t){const e=this[Qv("0x28")].get(t);if(!e||!e.target)return;const n=this[Qv("0xf")](e,e[Qv("0x24")]);this[Qv("0x23")](t,n)}[Qv("0xf")](t,e){if(null===e)return 0;if(t[Qv("0x18")]instanceof _u.Rect)return e.top;{const t=new _u.Rect(this[Qv("0x2d")][Qv("0x1f")])[Qv("0x46")];return e[Qv("0x46")]-t}}[Qv("0x23")](t,e,n=this[Qv("0x21")][Qv("0x13")].get(Qv("0x14"))){n&&(e=Math.max(e,this[Qv("0x11")](t))),t.top=e}[Qv("0x11")](t){let e=this[Qv("0x0")](t),n=0;for(;e;)e.updateHeight(),n+=this[Qv("0x1b")]+e[Qv("0xb")],e=this[Qv("0x0")](e);return n}}function tC(t,e){return Math[Qv("0x1")](t-e,0)}function eC(t){return null!==t&&Qv("0x29")==typeof t&&1===t[Qv("0x2c")]}const nC=["off","setActiveAnnotation","plugins","resize","focus","addAnnotation","_editorAnnotations","_refreshPositioningDebounced","hasDomSelection","set","activeAnnotation","annotations","getOrderedSelectedAnnotations","editors","isAttached","refreshPositioning","_integrateWithEditorAnnotations","set:container","detach","listenTo","from","_attachToContainer","init","rearrange","stop","WideSidebar","blur","stopListening","refresh","EditorAnnotations","removeEventListener","_activeAnnotation","_annotations","pluginName","remove","add","widesidebar-detach-not-attached","destroy","context","has","high","container","Sidebar","get","change:container","_destroyEditorAnnotationsIntegration"];var iC,oC;iC=nC,oC=250,function(t){for(;--t;)iC.push(iC.shift())}(++oC);const rC=function(t,e){return nC[t-=0]};class sC extends Dn{static get requires(){return[Xv,Ov]}static get[rC("0xd")](){return rC("0x5")}constructor(t){super(t),this[rC("0x28")]=!1,this[rC("0x23")](rC("0x24"),null),this[rC("0x25")]=null,this[rC("0x20")]=new _u.Collection,this[rC("0x21")]=Mr((()=>{this[rC("0x25")][rC("0x29")]()}),250,{leading:!1})}[rC("0x2")](){const t=this[rC("0x12")][rC("0x1c")].get(Ov),e=this[rC("0x12")][rC("0x1c")][rC("0x17")](Xv);t.register("wideSidebar",this),e[rC("0x15")]&&t.switchTo("wideSidebar")}[rC("0x1b")](t){if(t===this.activeAnnotation)return;const e=this[rC("0x12")][rC("0x1c")][rC("0x17")](Xv);e[rC("0xb")]=t;const n=this[rC("0x24")];this[rC("0x24")]=t,e[rC("0x8")]({blurredAnnotation:n,activatedAnnotation:this[rC("0x24")]})}attach(t){this[rC("0x25")]=t;const e=this.context[rC("0x1c")][rC("0x17")](rC("0x16"));if(e[rC("0xc")]=t,this[rC("0x28")])throw new _u.CKEditorError("widesidebar-attach-already-attached",this);this[rC("0x28")]=!0,this[rC("0x2d")](e,rC("0x2b"),(()=>{this[rC("0x2c")](),this[rC("0x2d")](e,rC("0x18"),(e=>{e[rC("0x1a")](),this.attach(t)}))})),e[rC("0x1")]({viewClass:"ck-sidebar--wide"});const n=t=>{t.updateTargetRect(),e[rC("0x1f")](t)};for(const e of t)n(e);this[rC("0x2d")](t,rC("0xf"),((t,e)=>{n(e)})),this[rC("0x2d")](t,rC("0xe"),((n,i,o)=>{e[rC("0x3")]({removedAnnotation:i,previousAnnotation:t.get(o-1),nextAnnotation:t[rC("0x17")](o+1)}),i===this[rC("0x24")]&&this[rC("0x1b")](null)}),{priority:rC("0x14")}),this[rC("0x2d")](t,rC("0x1e"),((t,e)=>{this[rC("0x1b")](e)})),this[rC("0x2d")](t,rC("0x6"),(()=>{this[rC("0x1b")](null)}));const i=this[rC("0x12")].editors?this[rC("0x12")][rC("0x27")]:new _u.Collection([this[rC("0x12")]]);for(const t of i)this._integrateWithEditorAnnotations(t);this[rC("0x2d")](i,rC("0xf"),((t,e)=>{this[rC("0x2d")](e,"ready",(()=>{this[rC("0x2a")](e)}))})),this[rC("0x2d")](i,rC("0xe"),((t,e)=>{e[rC("0x1c")][rC("0x13")](rC("0x9"))&&this[rC("0x19")](e[rC("0x1c")][rC("0x17")](rC("0x9")))})),window.addEventListener(rC("0x1d"),this[rC("0x21")]),this[rC("0x25")][rC("0x29")]()}[rC("0x2c")](){if(!this[rC("0x28")])throw new _u.CKEditorError(rC("0x10"),this);this[rC("0x1b")](null);const t=this[rC("0x12")][rC("0x1c")][rC("0x17")](Xv);t._detachFromContainer(this[rC("0x25")]),this[rC("0x7")](t),this[rC("0x7")](this[rC("0x25")]),this[rC("0x7")](this[rC("0x12")][rC("0x27")]);for(const t of Array[rC("0x0")](this[rC("0x20")]))this[rC("0x19")](t);window[rC("0xa")](rC("0x1d"),this._refreshPositioningDebounced),this[rC("0x21")].cancel(),this[rC("0x24")]=null,this[rC("0x28")]=!1,this.annotations=null}[rC("0x11")](){this[rC("0x28")]&&this[rC("0x2c")]()}_integrateWithEditorAnnotations(t){const e=t[rC("0x1c")][rC("0x17")]("EditorAnnotations");if(!e)return;const n=()=>{const t=e[rC("0x26")]({annotations:this[rC("0x25")],activeAnnotation:this[rC("0x24")]});this[rC("0x1b")](t[0]||null)};this[rC("0x2d")](e,rC("0x8"),n),this[rC("0x2d")](e,"blur",((t,{isAnnotationTracked:e})=>{this.activeAnnotation&&e(this.activeAnnotation)&&this[rC("0x1b")](null)})),this.listenTo(e,"uiUpdate",(()=>{this[rC("0x21")]()})),this[rC("0x2d")](this[rC("0x25")],"blur",(t=>{e[rC("0x22")]()&&(n(),t[rC("0x4")]())}),{priority:rC("0x14")}),this[rC("0x20")][rC("0xf")](e)}_destroyEditorAnnotationsIntegration(t){t&&(this[rC("0x7")](t),this[rC("0x20")].remove(t))}}const aC=["icon","isDirty","ck-annotation-counter__badge--edit-mode","children","_badge","...","annotationType","extendTemplate","number","set","bind","add"];var cC,lC;cC=aC,lC=413,function(t){for(;--t;)cC.push(cC.shift())}(++lC);const dC=function(t,e){return aC[t-=0]};class uC extends Nu{constructor(t){super(t);const e=this.bindTemplate;this.set(dC("0x8"),!1),this[dC("0x4")](dC("0x3"),0),this[dC("0x5")](dC("0xb")).to(this,"isDirty",this,dC("0x3"),((t,e)=>t?dC("0x0"):e)),this[dC("0x4")](dC("0x1"),""),this[dC("0x7")]=xv,this[dC("0x2")]({attributes:{class:["ck-annotation-counter"]}}),this.counterView=new Hd,this.counterView.setTemplate({tag:"span",attributes:{class:["ck-annotation-counter__badge",e.to(dC("0x1"),(t=>"ck-annotation-counter__badge--"+t)),e.if("isDirty",dC("0x9"))]},children:[{text:e.to(dC("0xb"))}]}),this[dC("0xa")][dC("0x6")](this.counterView)}}var hC=__webpack_require__(659),mC={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(hC.Z,mC);hC.Z.locals;const gC=["isDirty","has","register","southArrowNorth","change:container","pluginName","activeAnnotation","narrowsidebar-detach-not-attached","number","high","_manuallyClosedAnnotationViews","preventDefault","_showBalloon","includes","_refreshPositioning","rearrange","keyCode","locale","northArrowSouth","isAttached","type","_hideBalloon","_annotationToNarrowView","_integrateWithEditorAnnotations","attachToDom","off","listenTo","create","getOrderedSelectedAnnotations","target","element","add","narrowSidebar","bind","attach","contains","refresh","_setSelectedAnnotations","editors","_attachToContainer","northArrowSouthWest","setActiveAnnotation","stop","set:container","destroy","_attachListeners","getSidebarItemView","southArrowNorthWest","getByView","_updateBalloonPosition","resize","view","defaultPositions","context","preventClosingBalloon","cancel","clear","southArrowNorthEast","_destroyEditorAnnotationsIntegration","blur","values","bodyCollection","get","hasDomSelection","addEventListener","removeEventListener","stopPropagation","delete","Esc","_refreshPositioningDebounced","mousedown","pin","addAnnotation","stopListening","execute","focus","isVisible","_annotations","ready","_editorAnnotations","detach","refreshPositioning","first","remove","annotationType","_domEmitter","_selectedAnnotations","content","init","low","annotations","set","plugins","_detachListeners","change:height","northArrowSouthEast","unpin","balloonPanelView","EditorAnnotations","length"];var pC,fC;pC=gC,fC=233,function(t){for(;--t;)pC.push(pC.shift())}(++fC);const bC=function(t,e){return gC[t-=0]};class kC extends Dn{static get requires(){return[Xv,Ov]}static get[bC("0x48")](){return"NarrowSidebar"}constructor(t){super(t),this[bC("0x56")]=!1,this[bC("0x4d")]=new Set,this._domEmitter=Object[bC("0x5e")](_u.DomEmitterMixin),this[bC("0x59")]=new Map,this[bC("0x3a")](bC("0x49"),null),this[bC("0x39")]=null,this[bC("0x35")]=[],this._editorAnnotations=new _u.Collection,this[bC("0x24")]=Mr((()=>{this[bC("0x51")]()}),250,{leading:!1})}[bC("0x37")](){this.context.plugins[bC("0x1d")](Ov)[bC("0x45")](bC("0x63"),this),this.bodyCollection=new Tu(this[bC("0x14")][bC("0x54")]),this[bC("0x40")]=new tu(this[bC("0x14")][bC("0x54")]),this[bC("0x1c")][bC("0x5b")](),this[bC("0x1c")][bC("0x62")](this[bC("0x40")])}[bC("0x1")](t){this[bC("0x39")]=t;const e=this[bC("0x14")].plugins[bC("0x1d")](Xv),n=this[bC("0x40")];if(e[bC("0x2c")]=t,this[bC("0x56")])throw new _u.CKEditorError("narrowsidebar-attach-already-attached",this);this.isAttached=!0,this.listenTo(e,bC("0xa"),(()=>{this[bC("0x2f")](),this[bC("0x5d")](e,bC("0x47"),(e=>{e[bC("0x5c")](),this[bC("0x1")](t)}))})),e[bC("0x6")]({viewClass:"ck-sidebar--narrow",spaceBetweenItems:5});const i=t=>{const i=new uC(this[bC("0x14")][bC("0x54")]);e[bC("0x27")](t,i),this._annotationToNarrowView.set(t,i),i[bC("0x0")](bC("0x43"),bC("0x33"),bC("0x4b")).to(t[bC("0x12")],bC("0x43"),bC("0x57"),bC("0x42")),i.on(bC("0x29"),(()=>{this[bC("0x4d")].clear(),n.content[bC("0x31")]!==t[bC("0x12")]?(this._showBalloon(t),t.view[bC("0x61")][bC("0x2a")](),this.setActiveAnnotation(t)):this[bC("0x8")](null)}))};for(const e of t)i(e);this[bC("0x5d")](t,bC("0x62"),((t,e)=>{i(e)})),this[bC("0x5d")](t,bC("0x32"),((n,i,o)=>{this[bC("0x59")][bC("0x1d")](i).destroy(),this._annotationToNarrowView[bC("0x22")](i),e[bC("0x52")]({removedAnnotation:i,previousAnnotation:t[bC("0x1d")](o-1),nextAnnotation:t.get(o+1)}),i===this.activeAnnotation&&this[bC("0x8")](null)}),{priority:bC("0x38")}),this[bC("0x5d")](t,"focus",((t,e)=>{this[bC("0x8")](e)})),this[bC("0x5d")](t,"blur",(()=>{this[bC("0x8")](null)})),this[bC("0x34")][bC("0x5d")](document,"keydown",((t,e)=>{e[bC("0x53")]===_u.keyCodes.esc&&n[bC("0x2b")]&&(this[bC("0x4d")][bC("0x62")](n.content[bC("0x31")]),this[bC("0x58")](),e[bC("0x21")](),e[bC("0x4e")]())})),this[bC("0x34")][bC("0x5d")](document,"mousedown",((t,i)=>{const o=i.target;n[bC("0x2b")]&&n[bC("0x61")][bC("0x2")](o)||e.view[bC("0x61")][bC("0x2")](o)||t[bC("0x15")]||(this[bC("0x4d")][bC("0x17")](),this[bC("0x58")](),this[bC("0x8")](null))}));const o=this[bC("0x14")][bC("0x5")]?this[bC("0x14")][bC("0x5")]:new _u.Collection([this[bC("0x14")]]);for(const t of o)this[bC("0x5a")](t);this[bC("0x5d")](o,bC("0x62"),((t,e)=>{this[bC("0x5d")](e,bC("0x2d"),(()=>{this[bC("0x5a")](e)}))})),this[bC("0x5d")](o,bC("0x32"),((t,e)=>{e[bC("0x3b")][bC("0x44")](bC("0x41"))&&this[bC("0x19")](e[bC("0x3b")][bC("0x1d")]("EditorAnnotations"))})),window[bC("0x1f")](bC("0x11"),this[bC("0x24")]),this[bC("0x51")]()}[bC("0x8")](t){if(t===this[bC("0x49")])return;const e=this[bC("0x14")][bC("0x3b")][bC("0x1d")]("Sidebar");e[bC("0x3")]({blurredAnnotation:this[bC("0x49")],activatedAnnotation:t,disableAnimationOnActivatedAnnotation:!0}),t?e[bC("0xd")](t)?this[bC("0x4f")](t):this._hideBalloon():this[bC("0x58")](),this[bC("0x49")]=t}[bC("0x2f")](){if(!this.isAttached)throw new _u.CKEditorError(bC("0x4a"),this);this.setActiveAnnotation(null);const t=this[bC("0x14")].plugins[bC("0x1d")]("Sidebar");this[bC("0x58")](),Array.from(this[bC("0x59")][bC("0x1b")](),(t=>t[bC("0xb")]())),this[bC("0x59")].clear(),t._detachFromContainer(this[bC("0x39")]),this[bC("0x28")](),this._domEmitter[bC("0x28")](),this[bC("0x28")](this[bC("0x14")][bC("0x5")]);for(const t of Array.from(this[bC("0x2e")]))this[bC("0x19")](t);window[bC("0x20")](bC("0x11"),this[bC("0x24")]),this[bC("0x24")][bC("0x16")](),this[bC("0x35")]=[],this[bC("0x56")]=!1,this[bC("0x39")]=null}[bC("0xb")](){this[bC("0x56")]&&this[bC("0x2f")](),this[bC("0x1c")].detachFromDom()}[bC("0x5a")](t){const e=t[bC("0x3b")].get(bC("0x41")),n=this[bC("0x14")].plugins[bC("0x1d")](Xv),i=this[bC("0x39")],o=this.balloonPanelView,r=()=>{const t=e[bC("0x5f")]({activeAnnotation:this[bC("0x49")],annotations:this[bC("0x39")]});this[bC("0x4")](t),this[bC("0x8")](t[0]||null)};this.listenTo(e,"refresh",r),this[bC("0x5d")](e,"blur",((t,{isAnnotationTracked:e})=>{this.activeAnnotation&&e(this[bC("0x49")])&&(this[bC("0x4")]([]),this.setActiveAnnotation(null))})),this.listenTo(e,"uiUpdate",(()=>{this[bC("0x24")]()})),this[bC("0x5d")](i,bC("0x1a"),(t=>{e[bC("0x1e")]()&&t[bC("0x9")]()}),{priority:"high"}),this[bC("0x34")][bC("0x5d")](document,bC("0x25"),((t,i)=>{const s=i[bC("0x60")];o[bC("0x2b")]&&o.element[bC("0x2")](s)||n[bC("0x12")][bC("0x61")][bC("0x2")](s)||this[bC("0x49")]&&e[bC("0x1e")]()&&(r(),t[bC("0x15")]=!0)}),{priority:bC("0x4c")}),this[bC("0x2e")][bC("0x62")](e)}[bC("0x19")](t){t&&(this[bC("0x28")](t),this[bC("0x2e")][bC("0x32")](t))}[bC("0x4")](t){for(const e of this[bC("0x35")])t[bC("0x50")](e)||this[bC("0x4d")].delete(e[bC("0x12")]);this[bC("0x35")]=t}[bC("0x51")](){const t=this[bC("0x40")];this[bC("0x39")][bC("0x30")](),t[bC("0x2b")]&&this[bC("0x10")]()}[bC("0x4f")](t){if(this[bC("0x4d")].has(t[bC("0x12")]))return;const e=this.balloonPanelView.content[bC("0x31")];e!==t[bC("0x12")]?(e&&this[bC("0x3c")](e),this[bC("0xc")](t[bC("0x12")]),this[bC("0x40")].content.clear(),this[bC("0x40")][bC("0x36")][bC("0x62")](t[bC("0x12")]),this._updateBalloonPosition()):this[bC("0x10")]()}[bC("0x10")](){const t=this.balloonPanelView[bC("0x36")][bC("0x31")],e=this[bC("0x39")][bC("0xf")](t);if(!this._annotationToNarrowView[bC("0x44")](e))return;const n=this._annotationToNarrowView[bC("0x1d")](e)[bC("0x61")],i=function(){const t=tu[bC("0x13")];return[t[bC("0x18")],t[bC("0x3e")],t[bC("0x46")],t[bC("0x55")],t[bC("0xe")],t[bC("0x7")]]}();this[bC("0x40")][bC("0x26")]({target:n,positions:i})}[bC("0x58")](){const t=this.balloonPanelView,e=t[bC("0x36")][bC("0x31")];e&&(this[bC("0x3c")](e),t[bC("0x3f")](),t.content.clear())}[bC("0xc")](t){this.listenTo(t,bC("0x3d"),(()=>this[bC("0x10")]())),this[bC("0x5d")](t,bC("0x23"),((e,n)=>{this[bC("0x4d")][bC("0x62")](t),this._hideBalloon(),n()}))}[bC("0x3c")](t){this[bC("0x28")](t)}}var xC=__webpack_require__(6610),wC={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(xC.Z,wC);xC.Z.locals;const _C=["view","focus","listenTo","change:isFocused","focusTracker","plugins","context","clear","isAttached","getOrderedSelectedAnnotations","getSelection","_forceRefresh","_manuallyClosed","isFocused","annotations","target","hasActive","init","delete","_balloon","editing","register","stopListening","inlineannotations-not-allowed-with-context","has","destroy","add","editor","pluginName","getRangeAt","keystrokes","attach","isActive","change:visibleView","_addedAnnotations","updatePosition","afterInit","activeAnnotation","document","requires","includes","length","blur","_selectedAnnotations","get","inlineannotations-detach-not-attached","targetRect","_setSelectedAnnotations","set","Esc","_closeAnnotation","showStack","selection","setActiveAnnotation","every","_removeAnnotationFromBalloon","getByView","InlineAnnotations","remove","inline","hasView","addObserver","detach","visibleView","switchTo"];var AC,vC;AC=_C,vC=226,function(t){for(;--t;)AC.push(AC.shift())}(++vC);const CC=function(t,e){return _C[t-=0]};class yC extends e{static get[CC("0x8")](){return[QA,im,Ov]}static get[CC("0x3e")](){return CC("0x1a")}constructor(t){super(t),t[CC("0x36")].view[CC("0x1e")](fl),this[CC("0x2a")]=!1,this[CC("0x11")](CC("0x6"),null),this[CC("0x30")]=null,this[CC("0x2e")]=new Set,this[CC("0x35")]=t[CC("0x27")].get(im),this[CC("0x3")]=new Set,this[CC("0xc")]=[],this[CC("0x2d")]=!1}[CC("0x33")](){const t=this[CC("0x3d")].plugins.get(Ov);t[CC("0x28")]===this[CC("0x3d")]&&(t[CC("0x37")](CC("0x1c"),this),this.editor[CC("0x40")][CC("0x11")](CC("0x12"),((t,e)=>{const n=this[CC("0x35")];if(this[CC("0x2a")]&&n[CC("0x20")]){const t=this.annotations.getByView(n[CC("0x20")]);this[CC("0x13")](t),e()}})))}[CC("0x5")](){const t=this[CC("0x3d")].plugins[CC("0xd")](Ov);t[CC("0x28")]===this[CC("0x3d")]&&(t[CC("0x32")]()||t[CC("0x21")]("inline"))}[CC("0x16")](t){t!==this[CC("0x6")]&&(this[CC("0x6")]&&(this.activeAnnotation[CC("0x1")]=!1),t&&this[CC("0x3d")].ui[CC("0x26")][CC("0x2f")]&&(this._addAnnotationToBalloon(t,!0),t[CC("0x1")]=!0),t||this[CC("0x10")]([]),this.activeAnnotation=t)}[CC("0x0")](t){this[CC("0x30")]=t;const e=this[CC("0x3d")][CC("0x27")][CC("0xd")](Ov),n=this._balloon;if(this[CC("0x2a")])throw new _u.CKEditorError("inlineannotations-attach-already-attached",this);if(e[CC("0x28")]!==this.editor)throw new _u.CKEditorError(CC("0x39"),this);const i=this.editor.plugins[CC("0xd")]("EditorAnnotations");this[CC("0x24")](i,"refresh",function(){const t=i[CC("0x2b")]({activeAnnotation:this[CC("0x6")],annotations:this[CC("0x30")]});var e,n;!this[CC("0x2d")]&&(e=t,n=this[CC("0xc")],e[CC("0xa")]===n.length&&e[CC("0x17")]((t=>n.includes(t))))||(this[CC("0x2d")]=!1,this[CC("0x10")](t),this.setActiveAnnotation(t[0]||null))}.bind(this)),this[CC("0x24")](i,CC("0xb"),((t,{isAnnotationTracked:e})=>{this[CC("0x6")]&&e(this.activeAnnotation)&&(this[CC("0x10")]([]),this[CC("0x16")](null))})),this[CC("0x24")](this.editor.ui[CC("0x26")],CC("0x25"),((t,e,n)=>{n||this.setActiveAnnotation(null)})),this.listenTo(t,CC("0x1b"),((t,e)=>{this[CC("0x18")](e),e===this.activeAnnotation&&this[CC("0x16")](null)})),this[CC("0x24")](n,CC("0x2"),((e,i,o,r)=>{if(r&&this[CC("0x38")](r),!o||!t.getByView(o))return;const s=t.getByView(o);this[CC("0x24")](o,"change:height",(()=>{n[CC("0x4")]()})),this[CC("0x24")](o,"Esc",(()=>{this[CC("0x13")](s),this[CC("0x3d")][CC("0x36")][CC("0x22")][CC("0x23")]()})),this[CC("0x6")]!==s&&this[CC("0x16")](s)})),this[CC("0x24")](this.editor.ui,"update",(()=>{n.visibleView&&t[CC("0x19")](n[CC("0x20")])&&n[CC("0x4")]()})),this[CC("0x24")](this[CC("0x3d")][CC("0x36")][CC("0x22")][CC("0x7")],"mousedown",(()=>{this._forceRefresh=!0,this[CC("0x2e")][CC("0x29")]()})),this[CC("0x3d")].editing[CC("0x22")][CC("0x7")][CC("0x15")].editableElement&&this[CC("0x3d")][CC("0x36")][CC("0x22")][CC("0x23")](),this[CC("0x2a")]=!0}detach(){if(!this.isAttached)throw new _u.CKEditorError(CC("0xe"),this);this[CC("0x16")](null);for(const t of this[CC("0x3")])this[CC("0x18")](t);this[CC("0x38")](),this[CC("0x2a")]=!1,this[CC("0x30")]=null}[CC("0x3b")](){this[CC("0x2a")]&&this[CC("0x1f")]()}[CC("0x10")](t){for(const e of this[CC("0xc")])t[CC("0x9")](e)||this[CC("0x2e")][CC("0x34")](e);for(const e of this[CC("0x30")])t[CC("0x9")](e)||this[CC("0x18")](e);if(this[CC("0x3d")].ui.focusTracker[CC("0x2f")])for(const e of t)this._addAnnotationToBalloon(e);this[CC("0xc")]=t}_addAnnotationToBalloon(t,e){this._manuallyClosed[CC("0x3a")](t)||(this._addedAnnotations.has(t)||this._balloon.hasView(t[CC("0x22")])||(this[CC("0x3")][CC("0x3c")](t),this[CC("0x35")][CC("0x3c")]({stackId:t[CC("0x22")].id,view:t.view,position:{target:()=>t[CC("0x31")]||t[CC("0xf")]||document[CC("0x2c")]()[CC("0x3f")](0)}})),e&&this._balloon[CC("0x14")](t[CC("0x22")].id))}[CC("0x18")](t){this[CC("0x3")][CC("0x3a")](t)&&this[CC("0x35")][CC("0x1d")](t[CC("0x22")])&&(this[CC("0x3")][CC("0x34")](t),this._balloon.remove(t[CC("0x22")]))}[CC("0x13")](t){this[CC("0x2e")][CC("0x3c")](t),this._removeAnnotationFromBalloon(t)}}var EC,TC,DC=["requires","pluginName"];EC=DC,TC=162,function(t){for(;--t;)EC.push(EC.shift())}(++TC);var SC=function(t,e){return DC[t-=0]};class IC extends e{static get[SC("0x0")](){return[jA,pv,Cv,Sv,sC,kC,yC]}static get[SC("0x1")](){return"Comments"}}class BC extends e{static get pluginName(){return"CloudServicesUploadAdapter"}static get requires(){return["CloudServices",Im]}init(){const t=this.editor,e=t.plugins.get("CloudServices"),n=e.token,i=e.uploadUrl;n&&(this._uploadGateway=t.plugins.get("CloudServicesCore").createUploadGateway(n,i),t.plugins.get(Im).createUploadAdapter=t=>new MC(this._uploadGateway,t))}}class MC{constructor(t,e){this.uploadGateway=t,this.loader=e}upload(){return this.loader.file.then((t=>(this.fileUploader=this.uploadGateway.upload(t),this.fileUploader.on("progress",((t,e)=>{this.loader.uploadTotal=e.total,this.loader.uploaded=e.uploaded})),this.fileUploader.send())))}abort(){this.fileUploader.abort()}}class NC extends e{static get requires(){return[BC,"ImageUpload"]}init(){const t=this.editor;t.plugins.has("ImageBlockEditing")||t.plugins.has("ImageInlineEditing")||(0,_u.logWarning)("easy-image-image-feature-missing",t)}static get pluginName(){return"EasyImage"}}class OC extends e{static get requires(){return[Pw,Tp,Vw,Bp,ug,Jw]}static get pluginName(){return"Essentials"}}const PC=["join","then","push","ownerNode","fetch","indexOf","The editor stylesheet could not be found in the document. Check your webpack config – style-loader should use data-cke=true attribute for the editor stylesheet.","length","warn","hasAttribute","text",".ck-content",":root","trim","EDITOR_STYLES","cssText"];var RC,LC;RC=PC,LC=428,function(t){for(;--t;)RC.push(RC.shift())}(++LC);const zC=function(t,e){return PC[t-=0]};function jC(){const t=[],e=[];for(const n of document.styleSheets)if(n[zC("0x7")][zC("0xd")]("data-cke"))for(const i of n.cssRules)-1!==i[zC("0x3")][zC("0x9")](zC("0xf"))?t[zC("0x6")](i[zC("0x3")]):-1!==i[zC("0x3")][zC("0x9")](zC("0x0"))&&e.push(i[zC("0x3")]);return t[zC("0xb")]||console[zC("0xc")](zC("0xa")),[...e,...t][zC("0x4")](" ").trim()}class FC extends i{constructor(t){super(t),this.set("isBusy",!1),this.affectsData=!1}refresh(){this.isEnabled=!this.isBusy,this.value=this.isBusy?"pending":void 0}execute(t={}){const e=this.editor,n=e.t,i=t.converterUrl||"https://pdf-converter.cke-cs.com/v1/convert/",o=t.dataCallback||(t=>t.getData()),r=e.plugins.get("ExportPdf"),s=t.token||r._token;return this.isBusy=!0,this.refresh(),function(t){if(!t)return new Promise((t=>t("")));const e=[];for(const n of t)zC("0x2")!==n?e[zC("0x6")](window[zC("0x8")](n)[zC("0x5")]((t=>t[zC("0xe")]()))):e[zC("0x6")](jC());return Promise.all(e)[zC("0x5")]((t=>t[zC("0x4")](" ")[zC("0x1")]()))}(t.stylesheets||["EDITOR_STYLES"]).then((async n=>{const r={html:'\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\t\t'+await o(e)+"\n\t\t\t\t\t\t\t
\n\t\t\t\t\t\t\n\t\t\t\t\t",css:n,options:t.converterOptions},a={method:"POST",headers:{"Content-Type":"application/json",Accept:"application/pdf",...s?{Authorization:s.value}:null,"x-cs-app-id":t.appID||"cke5"},body:JSON.stringify(r)};return window.fetch(i,a).then((t=>{if(200!==t.status)throw t;return t.blob()})).then((e=>{this.o(e,t.fileName||"document.pdf")}))})).catch((t=>{throw e.plugins.get("Notification").showWarning(n("An error occurred while generating the PDF.")),t})).finally((()=>{this.isBusy=!1,this.refresh()}))}o(t,e){const n=document.createElement("a");n.href=window.URL.createObjectURL(t),n.download=e,n.click(),n.remove()}}var VC=__webpack_require__(6491),HC={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(VC.Z,HC);VC.Z.locals;class UC extends e{static get pluginName(){return"ExportPdf"}static get requires(){return["CloudServices",$h]}init(){const t=this.editor,e=t.t,n=t.config.get("exportPdf")||{};t.commands.add("exportPdf",new FC(t)),t.ui.componentFactory.add("exportPdf",(i=>{const o=t.commands.get("exportPdf"),r=new Nu(i);r.set({label:e("Export to PDF"),icon:'',tooltip:!0}),r.bind("isOn","isEnabled").to(o,"isBusy","isEnabled"),r.extendTemplate({attributes:{class:[r.bindTemplate.if("isOn","ck-exportpdf_status-pending")]}});const s=new Hd;return s.setTemplate({tag:"span",attributes:{class:["ck","ck-exportpdf__spinner-container"]},children:[{tag:"span",attributes:{class:["ck","ck-exportpdf__spinner"]}}]}),r.children.add(s),this.listenTo(r,"execute",(()=>{t.execute("exportPdf",n),t.editing.view.focus()})),r}));const i=t.plugins.get("CloudServices");if(!1===n.tokenUrl)this._token=null;else{if(n.tokenUrl)return i.registerTokenUrl(n.tokenUrl).then((t=>{this._token=t}));this._token=i.token}}}const qC=["TrackChanges","push","cssText","has","text","plugins",".ck-content","trim","indexOf","name","join","styleSheets","length","map","keys","timezone","content",":root","get","getCommentThreads","Users","warn","authorId","comments","then","suggestions","createdAt"];var WC,ZC;WC=qC,ZC=402,function(t){for(;--t;)WC.push(WC.shift())}(++ZC);const GC=function(t,e){return qC[t-=0]};function KC(){const t=[],e=[];for(const n of document[GC("0xe")])if(n.ownerNode.hasAttribute("data-cke"))for(const i of n.cssRules)-1!==i[GC("0x5")][GC("0xb")](GC("0x9"))?t[GC("0x4")](i.cssText):-1!==i[GC("0x5")].indexOf(GC("0x14"))&&e.push(i[GC("0x5")]);return t[GC("0xf")]||console[GC("0x18")]("The editor stylesheet could not be found in the document. Check your webpack config – style-loader should use data-cke=true attribute for the editor stylesheet."),[...e,...t][GC("0xd")](" ").trim()}function $C(t){const e=t[GC("0x8")][GC("0x6")](GC("0x17")),n=t[GC("0x8")][GC("0x6")]("CommentsRepository"),i=t[GC("0x8")][GC("0x6")](GC("0x3")),o={};if(e&&n){const e=function(t){const e={};if(!t.length)return e;for(const n of t)n[GC("0x1a")][GC("0x10")]((t=>{void 0===e[n.id]&&(e[n.id]=[]),e[n.id][GC("0x4")]({author:t.author[GC("0xc")],content:t[GC("0x13")],created:t[GC("0x2")]})}));return e}(t[GC("0x8")][GC("0x15")]("CommentsRepository")[GC("0x16")]({skipNotAttached:!0,skipEmpty:!0}));Object.keys(e)[GC("0xf")]&&(o.comments=e)}if(e&&i){const e=t[GC("0x8")][GC("0x15")]("TrackChanges"),n=t[GC("0x8")][GC("0x15")](GC("0x17")),i=function(t,e){const n={};if(!t[GC("0xf")]||!e.length)return n;for(const i of t)n[i.id]={author:e[GC("0x15")](i[GC("0x19")])[GC("0xc")],created:i.createdAt};return n}(e.getSuggestions({toJSON:!0}),n.users);Object[GC("0x11")](i)[GC("0xf")]&&(o[GC("0x1")]=i)}return(o[GC("0x1")]||o[GC("0x1a")])&&(o[GC("0x12")]=(new Intl.DateTimeFormat).resolvedOptions().timeZone),o}class YC extends i{constructor(t){super(t),this.set("isBusy",!1),this.affectsData=!1}refresh(){this.isEnabled=!this.isBusy,this.value=this.isBusy?"pending":void 0}execute(t={}){const e=this.editor,n=e.t,i=t.converterUrl||"https://docx-converter.cke-cs.com/v1/convert",o=t.converterOptions||{},r=e.plugins.get("ExportWord"),s=t.token||r._token,a=!1!==o.auto_pagination,c=t.dataCallback||(t=>t.getData({pagination:a}));return this.isBusy=!0,this.refresh(),function(t){if(!t)return new Promise((t=>t("")));const e=[];for(const n of t)"EDITOR_STYLES"!==n?e.push(window.fetch(n)[GC("0x0")]((t=>t[GC("0x7")]()))):e.push(KC());return Promise.all(e)[GC("0x0")]((t=>t.join(" ")[GC("0xa")]()))}(t.stylesheets||["EDITOR_STYLES"]).then((async n=>{const r=await c(e),a={html:'
'+r+"
",css:n,options:{...o,...$C(e)}},l={method:"POST",headers:{"Content-Type":"application/json",Accept:"application/docx",...s?{Authorization:s.value}:null},body:JSON.stringify(a)};return window.fetch(i,l).then((t=>{if(200!==t.status)throw t;return t.blob()})).then((e=>{this.o(e,t.fileName||"document.docx")}))})).catch((t=>{throw e.plugins.get("Notification").showWarning(n("An error occurred while generating the Word file.")),t})).finally((()=>{this.isBusy=!1,this.refresh()}))}o(t,e){const n=document.createElement("a");n.href=window.URL.createObjectURL(t),n.download=e,n.click(),n.remove()}}var JC=__webpack_require__(160),QC={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(JC.Z,QC);JC.Z.locals;class XC extends e{static get pluginName(){return"ExportWord"}static get requires(){return["CloudServices",$h]}init(){const t=this.editor,e=t.t,n=t.config.get("exportWord")||{};t.commands.add("exportWord",new YC(t)),t.ui.componentFactory.add("exportWord",(i=>{const o=t.commands.get("exportWord"),r=new Nu(i);r.set({label:e("Export to Word"),icon:'',tooltip:!0}),r.bind("isOn","isEnabled").to(o,"isBusy","isEnabled"),r.extendTemplate({attributes:{class:[r.bindTemplate.if("isOn","ck-exportword_status-pending")]}});const s=new Hd;return s.setTemplate({tag:"span",attributes:{class:["ck","ck-exportword__spinner-container"]},children:[{tag:"span",attributes:{class:["ck","ck-exportword__spinner"]}}]}),r.children.add(s),this.listenTo(r,"execute",(()=>{t.execute("exportWord",n),t.editing.view.focus()})),r}));const i=t.plugins.get("CloudServices");if(!1===n.tokenUrl)this._token=null;else{if(n.tokenUrl)return i.registerTokenUrl(n.tokenUrl).then((t=>{this._token=t}));this._token=i.token}}}class ty extends i{constructor(t,e){super(t),this.modelElements=e}refresh(){const t=(0,_u.first)(this.editor.model.document.selection.getSelectedBlocks());this.value=!!t&&this.modelElements.includes(t.name)&&t.name,this.isEnabled=!!t&&this.modelElements.some((e=>ey(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=>ey(t,i,e.schema)));for(const e of o)e.is("element",i)||t.rename(e,i)}))}}function ey(t,e,n){return n.checkChild(t.parent,e)&&!n.isObject(t)}const ny="paragraph";class iy extends e{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[e_]}init(){const t=this.editor,e=t.config.get("heading.options"),n=[];for(const i of e)i.model!==ny&&(t.model.schema.register(i.model,{inheritAllFrom:"$block"}),t.conversion.elementToElement(i),n.push(i.model));this._addDefaultH1Conversion(t),t.commands.add("heading",new ty(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",ny)&&0===o.childCount&&i.writer.rename(o,ny)}))}_addDefaultH1Conversion(t){t.conversion.for("upcast").elementToElement({model:"heading1",view:"h1",converterPriority:_u.priorities.get("low")+1})}}var oy=__webpack_require__(3230),ry={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(oy.Z,ry);oy.Z.locals;class sy extends e{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 _u.Collection,a=t.commands.get("heading"),c=t.commands.get("paragraph"),l=[a];for(const t of n){const e={type:"button",model:new Yh({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=Ah(e);return Ch(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 ay extends e{static get requires(){return[iy,sy]}static get pluginName(){return"Heading"}}new Set(["paragraph","heading1","heading2","heading3","heading4","heading5","heading6"]);class cy extends e{static get requires(){return[im]}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||!ew(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(0,vn.KE)("widget-toolbar-no-items",{toolbarId:t});const r=this.editor,s=r.t,a=new lh(r.locale);if(a.ariaLabel=e||s("Widget toolbar"),this._toolbarDefinitions.has(t))throw new vn.ZP("widget-toolbar-duplicated",this,{toolbarId:t});a.fillFromConfig(n,r.ui.componentFactory);const c={view:a,getRelatedElement:i,balloonClassName:o};r.ui.addToolbar(a,{isContextual:!0,beforeFocus:()=>{const t=i(r.editing.view.document.selection);t&&this._showToolbar(c,t)},afterBlur:()=>{this._hideToolbar(c)}}),this._toolbarDefinitions.set(t,c)}_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)?ly(this.editor,e):this._isToolbarInBalloon(t)||(this._balloon.add({view:t.view,position:dy(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);ly(this.editor,e)}})))}_isToolbarVisible(t){return this._balloon.visibleView===t.view}_isToolbarInBalloon(t){return this._balloon.hasView(t.view)}}function ly(t,e){const n=t.plugins.get("ContextualBalloon"),i=dy(t,e);n.updatePosition(i)}function dy(t,e){const n=t.editing.view,i=tu.defaultPositions;return{target:n.domConverter.mapViewToDom(e),positions:[i.northArrowSouth,i.northArrowSouthWest,i.northArrowSouthEast,i.southArrowNorth,i.southArrowNorthWest,i.southArrowNorthEast,i.viewportStickyNorth]}}class uy extends t.y{constructor(t){super(),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}get originalWidth(){return this._originalWidth}get originalHeight(){return this._originalHeight}get originalWidthPercents(){return this._originalWidthPercents}get aspectRatio(){return this._aspectRatio}begin(t,e,n){const i=new Ud.Z(e);this.activeHandlePosition=function(t){const e=["top-left","top-right","bottom-right","bottom-left"];for(const n of e)if(t.classList.contains(hy(n)))return n}(t),this._referenceCoordinates=function(t,e){const n=new Ud.Z(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 hy(t){return`ck-widget__resizer__handle-${t}`}class my extends Hd{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 gy extends t.y{constructor(t){super(),this._options=t,this._viewResizerWrapper=null,this.set("isEnabled",!0),this.set("isSelected",!1),this.bind("isVisible").to(this,"isEnabled",this,"isSelected",((t,e)=>t&&e)),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"})}get state(){return this._state}show(){this._options.editor.editing.view.change((t=>{t.removeClass("ck-hidden",this._viewResizerWrapper)}))}hide(){this._options.editor.editing.view.change((t=>{t.addClass("ck-hidden",this._viewResizerWrapper)}))}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),n}));n.insert(n.createPositionAt(e,"end"),i),n.addClass("ck-widget_with-resizer",e),this._viewResizerWrapper=i,this.isVisible||this.hide()})),this.on("change:isVisible",(()=>{this.isVisible?(this.show(),this.redraw()):this.hide()}))}begin(t){this._state=new uy(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 Ud.Z(n),o=Math.round(i.width),r=Math.round(i.height),s=new Ud.Z(n);e.width=Math.round(s.width),e.height=Math.round(s.height),this.redraw(i),this.state.update({...e,handleHostWidth:o,handleHostHeight:r})}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 Ud.Z(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"!==In(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);let s=Math.abs(e.originalWidth+r.x),a=Math.abs(e.originalHeight+r.y);return"width"==(s/e.aspectRatio>a?"width":"height")?a=s/e.aspectRatio:s=a*e.aspectRatio,{width:Math.round(s),height:Math.round(a),widthPercents:Math.min(Math.round(e.originalWidthPercents/e.originalWidth*s*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)}get _domResizerWrapper(){return this._options.editor.editing.view.domConverter.mapViewToDom(this._viewResizerWrapper)}_appendHandles(t){const e=["top-left","top-right","bottom-right","bottom-left"];for(const i of e)t.appendChild(new xd({tag:"div",attributes:{class:"ck-widget__resizer__handle "+(n=i,`ck-widget__resizer__handle-${n}`)}}).render());var n}_appendSizeUI(t){this._sizeView=new my,this._sizeView.render(),t.appendChild(this._sizeView.element)}}var py=__webpack_require__(2263),fy={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(py.Z,fy);py.Z.locals;class by extends e{static get pluginName(){return"WidgetResize"}init(){const t=this.editor.editing,e=nr.Z.window.document;this.set("selectedResizer",null),this.set("_activeResizer",null),this._resizers=new Map,t.view.addObserver(fl),this._observer=new gr.Q,this.listenTo(t.view.document,"mousedown",this._mouseDownListener.bind(this),{priority:"high"}),this._observer.listenTo(e,"mousemove",this._mouseMoveListener.bind(this)),this._observer.listenTo(e,"mouseup",this._mouseUpListener.bind(this)),this._redrawSelectedResizerThrottled=Ew((()=>this.redrawSelectedResizer()),200),this.editor.ui.on("update",this._redrawSelectedResizerThrottled),this.editor.model.document.on("change",(()=>{for(const[t,e]of this._resizers)t.isAttached()||(this._resizers.delete(t),e.destroy())}),{priority:"lowest"}),this._observer.listenTo(nr.Z.window,"resize",this._redrawSelectedResizerThrottled);const n=this.editor.editing.view.document.selection;n.on("change",(()=>{const t=n.getSelectedElement(),e=this.getResizerByViewElement(t)||null;e?this.select(e):this.deselect()}))}redrawSelectedResizer(){this.selectedResizer&&this.selectedResizer.isVisible&&this.selectedResizer.redraw()}destroy(){super.destroy(),this._observer.stopListening();for(const t of this._resizers.values())t.destroy();this._redrawSelectedResizerThrottled.cancel()}select(t){this.deselect(),this.selectedResizer=t,this.selectedResizer.isSelected=!0}deselect(){this.selectedResizer&&(this.selectedResizer.isSelected=!1),this.selectedResizer=null}attachTo(t){const e=new gy(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.select(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;gy.isResizeHandle(n)&&(this._activeResizer=this._getResizerByHandle(n)||null,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 ky(t){return t.createContainerElement("figure",{class:"image"},[t.createEmptyElement("img"),t.createSlot()])}function xy(t,e){const n=t.plugins.get("ImageUtils"),i=t.plugins.has("ImageInlineEditing")&&t.plugins.has("ImageBlockEditing");return t=>{if(!n.isInlineImageView(t))return null;if(!i)return o(t);return(t.findAncestor(n.isBlockImageView)?"imageBlock":"imageInline")!==e?null:o(t)};function o(t){const e={name:!0};return t.hasAttribute("src")&&(e.attributes=["src"]),e}}function wy(t,e){const n=(0,_u.first)(e.getSelectedBlocks());return!n||t.isObject(n)||n.isEmpty&&"listItem"!=n.name?"imageBlock":"imageInline"}class _y extends e{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=Ay(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 r=i.createElement(n,t);return o.insertObject(r,e,null,{setSelection:"on",findOptimalPosition:!e&&"imageInline"!=n}),r.parent?r:null}))}getClosestSelectedImageWidget(t){const e=t.getFirstPosition();if(!e)return null;const n=t.getSelectedElement();if(n&&this.isImageWidget(n))return n;let i=e.parent;for(;i;){if(i.is("element")&&this.isImageWidget(i))return i;i=i.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"==Ay(t,e)){const n=function(t,e){const n=cw(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 nw(t,e,{label:()=>{const e=this.findViewImgElement(t).getAttribute("alt");return e?`${e} ${n}`:n}})}isImageWidget(t){return!!t.getCustomProperty("image")&&ew(t)}isBlockImage(t){return!!t&&t.is("element","imageBlock")}isInlineImage(t){return!!t&&t.is("element","imageInline")}findViewImgElement(t){if(this.isInlineImageView(t))return t;const e=this.editor.editing.view;for(const{item:n}of e.createRangeIn(t))if(this.isInlineImageView(n))return n}}function Ay(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")?wy(i,e):i.checkChild(e,"imageInline")?"imageInline":"imageBlock"):"imageBlock":"imageInline"}const vy=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 Cy extends e{static get requires(){return[Pw,_y,Jw,dg]}static get pluginName(){return"AutoImage"}constructor(t){super(t),this._timeoutId=null,this._positionToInsert=null}init(){const t=this.editor,e=t.model.document;this.listenTo(t.plugins.get("ClipboardPipeline"),"inputTransformation",(()=>{const t=e.selection.getFirstRange(),n=Fc.fromPosition(t.start);n.stickiness="toPrevious";const i=Fc.fromPosition(t.end);i.stickiness="toNext",e.once("change:data",(()=>{this._embedImageBetweenPositions(n,i),n.detach(),i.detach()}),{priority:"high"})})),t.commands.get("undo").on("execute",(()=>{this._timeoutId&&(_u.global.window.clearTimeout(this._timeoutId),this._positionToInsert.detach(),this._timeoutId=null,this._positionToInsert=null)}),{priority:"high"})}_embedImageBetweenPositions(t,e){const n=this.editor,i=new js(t,e),o=i.getWalker({ignoreElementEnd:!0}),r=Object.fromEntries(n.model.document.selection.getAttributes()),s=this.editor.plugins.get("ImageUtils");let a="";for(const t of o)t.item.is("$textProxy")&&(a+=t.item.data);a=a.trim(),a.match(vy)?(this._positionToInsert=Fc.fromPosition(t),this._timeoutId=_u.global.window.setTimeout((()=>{n.commands.get("insertImage").isEnabled?(n.model.change((t=>{let e;this._timeoutId=null,t.remove(i),i.detach(),"$graveyard"!==this._positionToInsert.root.rootName&&(e=this._positionToInsert.toPosition()),s.insertImage({...r,src:a},e),this._positionToInsert.detach(),this._positionToInsert=null})),n.plugins.get("Delete").requestUndoOnBackspace()):i.detach()}),100)):i.detach()}}class yy extends i{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 Ey extends e{static get requires(){return[_y]}static get pluginName(){return"ImageTextAlternativeEditing"}init(){this.editor.commands.add("imageTextAlternative",new yy(this.editor))}}var Ty=__webpack_require__(6831),Dy={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(Ty.Z,Dy);Ty.Z.locals;var Sy=__webpack_require__(1590),Iy={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(Sy.Z,Iy);Sy.Z.locals;class By extends Hd{constructor(t){super(t);const e=this.locale.t;this.focusTracker=new _u.FocusTracker,this.keystrokes=new _u.KeystrokeHandler,this.labeledInput=this._createLabeledInputView(),this.saveButtonView=this._createButton(e("Save"),wu.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(e("Cancel"),wu.cancel,"ck-button-cancel","cancel"),this._focusables=new kd,this._focusCycler=new Xu({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]}),vu(this)}render(){super.render(),this.keystrokes.listenTo(this.element),Cu({view:this}),[this.labeledInput,this.saveButtonView,this.cancelButtonView].forEach((t=>{this._focusables.add(t),this.focusTracker.add(t.element)}))}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createButton(t,e,n,i){const o=new Nu(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 Wh(this.locale,Zh);return e.label=t("Text alternative"),e}}function My(t){const e=t.editing.view,n=tu.defaultPositions,i=t.plugins.get("ImageUtils");return{target:e.domConverter.mapViewToDom(i.getClosestSelectedImageWidget(e.document.selection)),positions:[n.northArrowSouth,n.northArrowSouthWest,n.northArrowSouthEast,n.southArrowNorth,n.southArrowNorthWest,n.southArrowNorthEast,n.viewportStickyNorth]}}class Ny extends e{static get requires(){return[im]}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 Nu(n);return o.set({label:e("Change image text alternative"),icon:wu.lowVision,tooltip:!0}),o.bind("isEnabled").to(i,"isEnabled"),o.bind("isOn").to(i,"value",(t=>!!t)),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 By(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=My(t);e.updatePosition(n)}}(t):this._hideForm(!0)})),Au({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:My(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 Oy extends e{static get requires(){return[Ey,Ny]}static get pluginName(){return"ImageTextAlternative"}}function Py(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.findViewImgElement(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 Ry(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.findViewImgElement(r);o.setAttribute(n.attributeKey,n.attributeNewValue||"",s)}}class Ly extends pr{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 zy extends i{constructor(t){super(t);const e=t.config.get("image.insert.type");t.plugins.has("ImageBlockEditing")||"block"===e&&(0,_u.logWarning)("image-block-plugin-required"),t.plugins.has("ImageInlineEditing")||"inline"===e&&(0,_u.logWarning)("image-inline-plugin-required")}refresh(){this.isEnabled=this.editor.plugins.get("ImageUtils").isImageAllowed()}execute(t){const e=(0,_u.toArray)(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("string"==typeof t&&(t={src:t}),e&&r&&i.isImage(r)){const e=this.editor.model.createPositionAfter(r);i.insertImage({...t,...o},e)}else i.insertImage({...t,...o})}))}}class jy extends e{static get requires(){return[_y]}static get pluginName(){return"ImageEditing"}init(){const t=this.editor,e=t.conversion;t.editing.view.addObserver(Ly),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 zy(t);t.commands.add("insertImage",n),t.commands.add("imageInsert",n)}}class Fy extends i{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 Vy extends e{static get requires(){return[jy,_y,Kx]}static get pluginName(){return"ImageBlockEditing"}init(){const t=this.editor;t.model.schema.register("imageBlock",{inheritAllFrom:"$blockObject",allowAttributes:["alt","src","srcset"]}),this._setupConversion(),t.plugins.has("ImageInlineEditing")&&(t.commands.add("imageTypeBlock",new Fy(this.editor,"imageBlock")),this._setupClipboardIntegration())}_setupConversion(){const t=this.editor,e=t.t,n=t.conversion,i=t.plugins.get("ImageUtils");n.for("dataDowncast").elementToStructure({model:"imageBlock",view:(t,{writer:e})=>ky(e)}),n.for("editingDowncast").elementToStructure({model:"imageBlock",view:(t,{writer:n})=>i.toImageWidget(ky(n),n,e("image widget"))}),n.for("downcast").add(Ry(i,"imageBlock","src")).add(Ry(i,"imageBlock","alt")).add(Py(i,"imageBlock")),n.for("upcast").elementToElement({view:xy(t,"imageBlock"),model:(t,{writer:e})=>e.createElement("imageBlock",t.hasAttribute("src")?{src:t.getAttribute("src")}:null)}).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.findViewImgElement(n.viewItem);if(!o||!i.consumable.test(o,{name:!0}))return;i.consumable.consume(n.viewItem,{name:!0,classes:"image"});const r=i.convertItem(o,n.modelCursor),s=(0,_u.first)(r.modelRange.getItems());s?(i.convertChildren(n.viewItem,s),i.updateConversionResult(s,n)):i.consumable.revert(n.viewItem,{name:!0,classes:"image"})}}(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"===wy(e.schema,c)){const t=new bl(n.document),e=s.map((e=>t.createElement("figure",{class:"image"},e)));r.content=t.createDocumentFragment(e)}}))}}var Hy=__webpack_require__(9048),Uy={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(Hy.Z,Uy);Hy.Z.locals;class qy extends e{static get requires(){return[Vy,Cw,Oy]}static get pluginName(){return"ImageBlock"}}class Wy extends e{static get requires(){return[jy,_y,Kx]}static get pluginName(){return"ImageInlineEditing"}init(){const t=this.editor,e=t.model.schema;e.register("imageInline",{inheritAllFrom:"$inlineObject",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 Fy(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").elementToStructure({model:"imageInline",view:(t,{writer:n})=>i.toImageWidget(function(t){return t.createContainerElement("span",{class:"image-inline"},t.createEmptyElement("img"))}(n),n,e("image widget"))}),n.for("downcast").add(Ry(i,"imageInline","src")).add(Ry(i,"imageInline","alt")).add(Py(i,"imageInline")),n.for("upcast").elementToElement({view:xy(t,"imageInline"),model:(t,{writer:e})=>e.createElement("imageInline",t.hasAttribute("src")?{src:t.getAttribute("src")}:null)})}_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"===wy(e.schema,c)){const t=new bl(n.document),e=s.map((e=>1===e.childCount?(Array.from(e.getAttributes()).forEach((n=>t.setAttribute(...n,i.findViewImgElement(e)))),e.getChild(0)):e));r.content=t.createDocumentFragment(e)}}))}}class Zy extends e{static get requires(){return[Wy,Cw,Oy]}static get pluginName(){return"ImageInline"}}class Gy extends e{static get requires(){return[qy,Zy]}static get pluginName(){return"Image"}}class Ky extends e{static get pluginName(){return"ImageCaptionUtils"}static get requires(){return[_y]}getCaptionFromImageModelElement(t){for(const e of t.getChildren())if(e&&e.is("element","caption"))return e;return null}getCaptionFromModelSelection(t){const e=this.editor.plugins.get("ImageUtils"),n=t.getFirstPosition().findAncestor("caption");return n&&e.isBlockImage(n.parent)?n:null}matchImageCaptionViewElement(t){const e=this.editor.plugins.get("ImageUtils");return"figcaption"==t.name&&e.isBlockImageView(t.parent)?{name:!0}:null}}class $y extends i{refresh(){const t=this.editor,e=t.plugins.get("ImageCaptionUtils");if(!t.plugins.has(Vy))return this.isEnabled=!1,void(this.value=!1);const n=t.model.document.selection,i=n.getSelectedElement();if(!i){const t=e.getCaptionFromModelSelection(n);return this.isEnabled=!!t,void(this.value=!!t)}this.isEnabled=this.editor.plugins.get("ImageUtils").isImage(i),this.isEnabled?this.value=!!e.getCaptionFromImageModelElement(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("ImageCaptionUtils");let r,s=n.getSelectedElement();s?r=o.getCaptionFromImageModelElement(s):(r=o.getCaptionFromModelSelection(n),s=r.parent),i._saveCaption(s,r),t.setSelection(s,"on"),t.remove(r)}}class Yy extends e{static get requires(){return[_y,Ky]}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 $y(this.editor)),this._setupConversion(),this._setupImageTypeCommandsIntegration(),this._registerCaptionReconversion()}_setupConversion(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageUtils"),i=t.plugins.get("ImageCaptionUtils"),o=t.t;t.conversion.for("upcast").elementToElement({view:t=>i.matchImageCaptionViewElement(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:i})=>{if(!n.isBlockImage(t.parent))return null;const r=i.createEditableElement("figcaption");i.setCustomProperty("imageCaption",!0,r),Xc({view:e,element:r,text:o("Enter image caption"),keepOnFocus:!0});const s=t.parent.getAttribute("alt");return aw(r,i,{label:s?o("Caption for image: %0",[s]):o("Caption for the image")})}})}_setupImageTypeCommandsIntegration(){const t=this.editor,e=t.plugins.get("ImageUtils"),n=t.plugins.get("ImageCaptionUtils"),i=t.commands.get("imageTypeInline"),o=t.commands.get("imageTypeBlock"),r=t=>{if(!t.return)return;const{oldElement:i,newElement:o}=t.return;if(!i)return;if(e.isBlockImage(i)){const t=n.getCaptionFromImageModelElement(i);if(t)return void this._saveCaption(o,t)}const r=this._getSavedCaption(i);r&&this._saveCaption(o,r)};i&&this.listenTo(i,"execute",r,{priority:"low"}),o&&this.listenTo(o,"execute",r,{priority:"low"})}_getSavedCaption(t){const e=this._savedCaptionsMap.get(t);return e?ks.fromJSON(e):null}_saveCaption(t,e){this._savedCaptionsMap.set(t,e.toJSON())}_registerCaptionReconversion(){const t=this.editor,e=t.model,n=t.plugins.get("ImageUtils"),i=t.plugins.get("ImageCaptionUtils");e.document.on("change:data",(()=>{const o=e.document.differ.getChanges();for(const e of o){if("alt"!==e.attributeKey)continue;const o=e.range.start.nodeAfter;if(n.isBlockImage(o)){const e=i.getCaptionFromImageModelElement(o);if(!e)return;t.editing.reconvertItem(e)}}}))}}class Jy extends e{static get requires(){return[Ky]}static get pluginName(){return"ImageCaptionUI"}init(){const t=this.editor,e=t.editing.view,n=t.plugins.get("ImageCaptionUtils"),i=t.t;t.ui.componentFactory.add("toggleImageCaption",(o=>{const r=t.commands.get("toggleImageCaption"),s=new Nu(o);return s.set({icon:wu.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=n.getCaptionFromModelSelection(t.model.document.selection);if(i){const n=t.editing.mapper.toViewElement(i);e.scrollToTheSelection(),e.change((t=>{t.addClass("image__caption_highlighted",n)}))}t.editing.view.focus()})),s}))}}var Qy=__webpack_require__(8662),Xy={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(Qy.Z,Xy);Qy.Z.locals;class tE extends e{static get requires(){return[Yy,Jy]}static get pluginName(){return"ImageCaption"}}function eE(t){const e=t.map((t=>t.replace("+","\\+")));return new RegExp(`^image\\/(${e.join("|")})$`)}function nE(t){return new Promise(((e,n)=>{const i=t.getAttribute("src");fetch(i).then((t=>t.blob())).then((t=>{const n=iE(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=_u.global.document.createElement("img");i.addEventListener("load",(()=>{const t=_u.global.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=iE(e,t),i=n.replace("image/","");return new File([e],`image.${i}`,{type:n})}))}(i).then(e).catch(n):n(t)))}))}function iE(t,e){return t.type?t.type:e.match(/data:(image\/\w+);base64/)?e.match(/data:(image\/\w+);base64/)[1].toLowerCase():"image/jpeg"}class oE extends e{static get pluginName(){return"ImageUploadUI"}init(){const t=this.editor,e=t.t,n=n=>{const i=new Mm(n),o=t.commands.get("uploadImage"),r=t.config.get("image.upload.types"),s=eE(r);return i.set({acceptedType:r.map((t=>`image/${t}`)).join(","),allowMultipleFiles:!0}),i.buttonView.set({label:e("Insert image"),icon:wu.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}),t.editing.view.focus())})),i};t.ui.componentFactory.add("uploadImage",n),t.ui.componentFactory.add("imageUpload",n)}}var rE=__webpack_require__(5870),sE={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(rE.Z,sE);rE.Z.locals;var aE=__webpack_require__(9899),cE={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(aE.Z,cE);aE.Z.locals;var lE=__webpack_require__(9825),dE={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(lE.Z,dE);lE.Z.locals;class uE extends e{static get pluginName(){return"ImageUploadProgress"}constructor(t){super(t),this.placeholder="data:image/gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw=="}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(Im),c=r?e.attributeNewValue:null,l=this.placeholder,d=i.editing.mapper.toViewElement(o),u=n.writer;if("reading"==c)return hE(d,u),void mE(s,l,d,u);if("uploading"==c){const t=a.loaders.get(r);return hE(d,u),void(t?(gE(d,u),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,u,t,i.editing.view),function(t,e,n,i){if(i.data){const o=t.findViewImgElement(e);n.setAttribute("src",i.data,o)}}(s,d,u,t)):mE(s,l,d,u))}"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,u,i.editing.view),function(t,e){fE(t,e,"progressBar")}(d,u),gE(d,u),function(t,e){e.removeClass("ck-appear",t)}(d,u)}}function hE(t,e){t.hasClass("ck-appear")||e.addClass("ck-appear",t)}function mE(t,e,n,i){n.hasClass("ck-image-upload-placeholder")||i.addClass("ck-image-upload-placeholder",n);const o=t.findViewImgElement(n);o.getAttribute("src")!==e&&i.setAttribute("src",e,o),pE(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 gE(t,e){t.hasClass("ck-image-upload-placeholder")&&e.removeClass("ck-image-upload-placeholder",t),fE(t,e,"placeholder")}function pE(t,e){for(const n of t.getChildren())if(n.getCustomProperty(e))return n}function fE(t,e,n){const i=pE(t,n);i&&e.remove(e.createRangeOn(i))}class bE extends i{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=(0,_u.toArray)(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(Im).createLoader(t),r=i.plugins.get("ImageUtils");o&&r.insertImage({...e,uploadId:o.id},n)}}class kE extends e{static get requires(){return[Im,$h,Kx,_y]}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(Im),o=t.plugins.get("ImageUtils"),r=eE(t.config.get("image.upload.types")),s=new bE(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((()=>{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:nE(t.item),imageElement:t.item})));if(!r.length)return;const s=new bl(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 xE(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(Im),r=e.plugins.get($h),s=e.plugins.get("ImageUtils"),a=this._uploadImageElements;return n.enqueueChange({isUndoable:!1},(e=>{e.setAttribute("uploadStatus","reading",a.get(t.id))})),t.read().then((()=>{const i=t.upload(),o=a.get(t.id);if(_u.env.isSafari){const t=e.editing.mapper.toViewElement(o),n=s.findViewImgElement(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({isUndoable:!1},(t=>{t.setAttribute("uploadStatus","uploading",o)})),i})).then((e=>{n.enqueueChange({isUndoable:!1},(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({isUndoable:!1},(e=>{e.remove(a.get(t.id))})),c()}));function c(){n.enqueueChange({isUndoable:!1},(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 xE(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 wE extends e{static get pluginName(){return"ImageUpload"}static get requires(){return[kE,oE,uE]}}var _E=__webpack_require__(5150),AE={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(_E.Z,AE);_E.Z.locals;class vE extends Hd{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 CE=__webpack_require__(9292),yE={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(CE.Z,yE);CE.Z.locals;class EE extends Hd{constructor(t,e){super(t);const{insertButtonView:n,cancelButtonView:i}=this._createActionButtons(t);if(this.insertButtonView=n,this.cancelButtonView=i,this.set("imageURLInputValue",""),this.focusTracker=new _u.FocusTracker,this.keystrokes=new _u.KeystrokeHandler,this._focusables=new kd,this._focusCycler=new Xu({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.set("_integrations",new _u.Collection),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 vE(t,{children:[this.insertButtonView,this.cancelButtonView],class:"ck-image-insert-form__action-row"})]})}render(){super.render(),Cu({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"})}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}getIntegration(t){return this._integrations.find((e=>e.name===t))}_createActionButtons(t){const e=t.t,n=new Nu(t),i=new Nu(t);return n.set({label:e("Insert"),icon:wu.check,class:"ck-button-save",type:"submit",withText:!0,isEnabled:this.imageURLInputValue}),i.set({label:e("Cancel"),icon:wu.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 TE(t){const e=t.t,n=new Wh(t,Zh);return n.set({label:e("Insert image via URL")}),n.fieldView.placeholder="https://example.com/image.png",n}class DE extends e{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=t.t,i=e.commands.get("uploadImage"),o=e.commands.get("insertImage");this.dropdownView=Ah(t,i?Ku:void 0);const r=this.dropdownView.buttonView,s=this.dropdownView.panelView;if(r.set({label:n("Insert image"),icon:wu.image,tooltip:!0}),s.extendTemplate({attributes:{class:"ck-image-insert__panel"}}),i){const t=this.dropdownView.buttonView;t.actionView=e.ui.componentFactory.create("uploadImage"),t.actionView.extendTemplate({attributes:{class:"ck ck-button ck-splitbutton__action"}})}return this._setUpDropdown(i||o)}_setUpDropdown(t){const e=this.editor,n=e.t,i=new EE(e.locale,function(t){const e=t.config.get("image.insert.integrations"),n=t.plugins.get("ImageInsertUI"),i={insertImageViaUrl:TE(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)),o=i.insertButtonView,r=i.getIntegration("insertImageViaUrl"),s=this.dropdownView,a=s.panelView,c=this.editor.plugins.get("ImageUtils");function l(){e.editing.view.focus(),s.isOpen=!1}return s.bind("isEnabled").to(t),s.once("change:isOpen",(()=>{a.children.add(i)})),s.on("change:isOpen",(()=>{const t=e.model.document.selection.getSelectedElement();s.isOpen&&(c.isImage(t)?(i.imageURLInputValue=t.getAttribute("src"),o.label=n("Update"),r.label=n("Update image URL")):(i.imageURLInputValue="",o.label=n("Insert"),r.label=n("Insert image via URL")))}),{priority:"low"}),i.delegate("submit","cancel").to(s),this.delegate("cancel").to(s),s.on("submit",(()=>{l(),function(){const t=e.model.document.selection.getSelectedElement();c.isImage(t)?e.model.change((e=>{e.setAttribute("src",i.imageURLInputValue,t),e.removeAttribute("srcset",t),e.removeAttribute("sizes",t)})):e.execute("insertImage",{source:i.imageURLInputValue})}()})),s.on("cancel",(()=>{l()})),s}}class SE extends e{static get pluginName(){return"ImageInsertViaUrl"}static get requires(){return[DE]}}class IE extends e{static get pluginName(){return"ImageInsert"}static get requires(){return[wE,SE,DE]}}class BE extends i{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 ME extends e{static get requires(){return[_y]}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 BE(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 NE={small:wu.objectSizeSmall,medium:wu.objectSizeMedium,large:wu.objectSizeLarge,original:wu.objectSizeFull};class OE extends e{static get requires(){return[ME]}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 Nu(n),s=e.commands.get("resizeImage"),a=this._getOptionLabelValue(t,!0);if(!NE[o])throw new _u.CKEditorError("imageresizebuttons-missing-icon",e,t);return i.set({label:a,icon:NE[o],tooltip:a,isToggleable:!0}),i.bind("isEnabled").to(this),i.bind("isOn").to(s,"value",PE(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=Ah(o,Wu),a=s.buttonView;return a.set({tooltip:n("Resize image"),commandValue:i.value,icon:NE.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),Ch(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 _u.Collection;return t.map((t=>{const i=t.value?t.value+this._resizeUnit:null,o={type:"button",model:new Yh({commandName:"resizeImage",commandValue:i,label:this._getOptionLabelValue(t),withText:!0,icon:null})};o.model.bind("isOn").to(e,"value",PE(i)),n.add(o)})),n}}function PE(t){return e=>null===t&&e===t||e&&e.width===t}const RE=/(image|image-inline)/,LE="image_resized";class zE extends e{static get requires(){return[by]}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(Ly),this.listenTo(e.document,"imageLoaded",((n,i)=>{if(!i.target.matches("figure.image.ck-widget > img,figure.image.ck-widget > picture > img,figure.image.ck-widget > a > img,figure.image.ck-widget > a > picture > img,span.image-inline.ck-widget > img,span.image-inline.ck-widget > picture > img"))return;const o=t.editing.view.domConverter,r=o.domToView(i.target).findAncestor({classes:RE});let s=this.editor.plugins.get(by).getResizerByViewElement(r);if(s)return void s.redraw();const a=t.editing.mapper,c=a.toModelElement(r);s=t.plugins.get(by).attachTo({unit:t.config.get("image.resizeUnit"),modelElement:c,viewElement:r,editor:t,getHandleHost:t=>t.querySelector("img"),getResizeHost:()=>o.mapViewToDom(a.toViewElement(c.parent)),isCentered(){const t=c.getAttribute("imageStyle");return!t||"block"==t||"alignCenter"==t},onCommit(n){e.change((t=>{t.removeClass(LE,r)})),t.execute("resizeImage",{width:n})}}),s.on("updateSize",(()=>{r.hasClass(LE)||e.change((t=>{t.addClass(LE,r)}))})),s.bind("isEnabled").to(this)}))}}var jE=__webpack_require__(1043),FE={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(jE.Z,FE);jE.Z.locals;class VE extends e{static get requires(){return[ME,zE,OE]}static get pluginName(){return"ImageResize"}}class HE extends i{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:UE,objectInline:qE,objectLeft:WE,objectRight:ZE,objectCenter:GE,objectBlockLeft:KE,objectBlockRight:$E}=wu,YE={get inline(){return{name:"inline",title:"In line",icon:qE,modelElements:["imageInline"],isDefault:!0}},get alignLeft(){return{name:"alignLeft",title:"Left aligned image",icon:WE,modelElements:["imageBlock","imageInline"],className:"image-style-align-left"}},get alignBlockLeft(){return{name:"alignBlockLeft",title:"Left aligned image",icon:KE,modelElements:["imageBlock"],className:"image-style-block-align-left"}},get alignCenter(){return{name:"alignCenter",title:"Centered image",icon:GE,modelElements:["imageBlock"],className:"image-style-align-center"}},get alignRight(){return{name:"alignRight",title:"Right aligned image",icon:ZE,modelElements:["imageBlock","imageInline"],className:"image-style-align-right"}},get alignBlockRight(){return{name:"alignBlockRight",title:"Right aligned image",icon:$E,modelElements:["imageBlock"],className:"image-style-block-align-right"}},get block(){return{name:"block",title:"Centered image",icon:GE,modelElements:["imageBlock"],isDefault:!0}},get side(){return{name:"side",title:"Side image",icon:ZE,modelElements:["imageBlock"],className:"image-style-side"}}},JE={full:UE,left:KE,right:$E,center:GE,inlineLeft:WE,inlineRight:ZE,inline:qE},QE=[{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 XE(t){(0,_u.logWarning)("image-style-configuration-definition-invalid",t)}const tT={normalizeStyles:function(t){const e=(t.configuredStyles.options||[]).map((t=>function(t){t="string"==typeof t?YE[t]?{...YE[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}(YE[t.name],t);"string"==typeof t.icon&&(t.icon=JE[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 XE({style:t}),!1;{const o=[e?"imageBlock":null,n?"imageInline":null];if(!i.some((t=>o.includes(t))))return(0,_u.logWarning)("image-style-missing-dependency",{style:t,missingPlugins:i.map((t=>"imageBlock"===t?"ImageBlockEditing":"ImageInlineEditing"))}),!1}return!0}(e,t)));return e},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")?[...QE]:[]},warnInvalidStyle:XE,DEFAULT_OPTIONS:YE,DEFAULT_ICONS:JE,DEFAULT_DROPDOWN_DEFINITIONS:QE};function eT(t,e){for(const n of e)if(n.name===t)return n}class nT extends e{static get pluginName(){return"ImageStyleEditing"}static get requires(){return[_y]}init(){const{normalizeStyles:t,getDefaultStylesConfiguration:e}=tT,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 HE(n,this.normalizedStyles))}_setupConversion(t,e){const n=this.editor,i=n.model.schema,o=function(t){return(e,n,i)=>{if(!i.consumable.consume(n.item,e.name))return;const o=eT(n.attributeNewValue,t),r=eT(n.attributeOldValue,t),s=i.mapper.toViewElement(n.item),a=i.writer;r&&a.removeClass(r.className,s),o&&a.addClass(o.className,s)}}(this.normalizedStyles),r=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=(0,_u.first)(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",r,{priority:"low"})),e&&(i.extend("imageInline",{allowAttributes:"imageStyle"}),n.data.upcastDispatcher.on("element:img",r,{priority:"low"}))}_setupPostFixer(){const t=this.editor,e=t.model.document,n=t.plugins.get(_y),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 iT=__webpack_require__(4622),oT={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(iT.Z,oT);iT.Z.locals;class rT extends e{static get requires(){return[nT]}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=sT(t.get("ImageStyleEditing").normalizedStyles,this.localizedDefaultStylesTitles);for(const t of n)this._createButton(t);const i=sT([...e.filter(B.Z),...tT.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})=>aT(e)===t)))).map((t=>{const e=n.create(t);return t===r&&(o=e),e}));s.length!==c.length&&tT.warnInvalidStyle({dropdown:t});const l=Ah(i,Ku),d=l.buttonView,u=d.arrowView;return vh(l,c,{enableActiveItemFocusOnDropdownOpen:!0}),d.set({label:cT(a,o.label),class:null,tooltip:!0}),u.unbind("label"),u.set({label:a}),d.bind("icon").toMany(c,"isOn",((...t)=>{const e=t.findIndex(ki);return e<0?o.icon:c[e].icon})),d.bind("label").toMany(c,"isOn",((...t)=>{const e=t.findIndex(ki);return cT(a,e<0?o.label:c[e].label)})),d.bind("isOn").toMany(c,"isOn",((...t)=>t.some(ki))),d.bind("class").toMany(c,"isOn",((...t)=>t.some(ki)?"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(ki))),this.listenTo(l,"execute",(()=>{this.editor.editing.view.focus()})),l}))}_createButton(t){const e=t.name;this.editor.ui.componentFactory.add(aT(e),(n=>{const i=this.editor.commands.get("imageStyle"),o=new Nu(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 sT(t,e){for(const n of t)e[n.title]&&(n.title=e[n.title]);return t}function aT(t){return`imageStyle:${t}`}function cT(t,e){return(t?t+": ":"")+e}class lT extends e{static get requires(){return[nT,rT]}static get pluginName(){return"ImageStyle"}}class dT extends e{static get requires(){return[cy,_y]}static get pluginName(){return"ImageToolbar"}afterInit(){const t=this.editor,e=t.t,n=t.plugins.get(cy),i=t.plugins.get("ImageUtils");var o;n.register("image",{ariaLabel:e("Image toolbar"),items:(o=t.config.get("image.toolbar")||[],o.map((t=>(0,B.Z)(t)?t.name:t))),getRelatedElement:t=>i.getClosestSelectedImageWidget(t)})}}class uT extends e{static get requires(){return[jy,_y]}static get pluginName(){return"PictureEditing"}afterInit(){const t=this.editor;t.plugins.has("ImageBlockEditing")&&t.model.schema.extend("imageBlock",{allowAttributes:["sources"]}),t.plugins.has("ImageInlineEditing")&&t.model.schema.extend("imageInline",{allowAttributes:["sources"]}),this._setupConversion(),this._setupImageUploadEditingIntegration()}_setupConversion(){const t=this.editor,e=t.conversion,n=t.plugins.get("ImageUtils");e.for("upcast").add(function(t){const e=["srcset","media","type","sizes"];return t=>{t.on("element:picture",n)};function n(n,i,o){const r=i.viewItem;if(!o.consumable.test(r,{name:!0}))return;const s=new Map;for(const t of r.getChildren())if(t.is("element","source")){const n={};for(const i of e)t.hasAttribute(i)&&o.consumable.test(t,{attributes:i})&&(n[i]=t.getAttribute(i));Object.keys(n).length&&s.set(t,n)}const a=t.findViewImgElement(r);if(!a)return;let c=i.modelCursor.parent;if(!c.is("element","imageBlock")){const t=o.convertItem(a,i.modelCursor);i.modelRange=t.modelRange,i.modelCursor=t.modelCursor,c=(0,_u.first)(t.modelRange.getItems())}o.consumable.consume(r,{name:!0});for(const[t,e]of s)o.consumable.consume(t,{attributes:Object.keys(e)});s.size&&o.writer.setAttribute("sources",Array.from(s.values()),c),o.convertChildren(r,c)}}(n)),e.for("downcast").add(function(t){return t=>{t.on("attribute:sources:imageBlock",e),t.on("attribute:sources:imageInline",e)};function e(e,n,i){if(!i.consumable.consume(n.item,e.name))return;const o=i.writer,r=i.mapper.toViewElement(n.item),s=t.findViewImgElement(r);if(n.attributeNewValue&&n.attributeNewValue.length){const t=o.createContainerElement("picture",null,n.attributeNewValue.map((t=>o.createEmptyElement("source",t)))),e=[];let i=s.parent;for(;i&&i.is("attributeElement");){const t=i.parent;o.unwrap(o.createRangeOn(s),i),e.unshift(i),i=t}o.insert(o.createPositionBefore(s),t),o.move(o.createRangeOn(s),o.createPositionAt(t,"end"));for(const n of e)o.wrap(o.createRangeOn(t),n)}else if(s.parent.is("element","picture")){const t=s.parent;o.move(o.createRangeOn(s),o.createPositionBefore(t)),o.remove(t)}}}(n))}_setupImageUploadEditingIntegration(){const t=this.editor;t.plugins.has("ImageUploadEditing")&&this.listenTo(t.plugins.get("ImageUploadEditing"),"uploadComplete",((e,{imageElement:n,data:i})=>{const o=i.sources;o&&t.model.change((t=>{t.setAttributes({sources:o},n)}))}))}}class hT extends e{static get pluginName(){return"IndentEditing"}init(){const t=this.editor;t.commands.add("indent",new s(t)),t.commands.add("outdent",new s(t))}}const mT='',gT='';class pT extends e{static get pluginName(){return"IndentUI"}init(){const t=this.editor,e=t.locale,n=t.t,i="ltr"==e.uiLanguageDirection?mT:gT,o="ltr"==e.uiLanguageDirection?gT:mT;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 Nu(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 fT extends e{static get pluginName(){return"Indent"}static get requires(){return[hT,pT]}}class bT extends i{constructor(t,e){super(t),this._indentBehavior=e}refresh(){const t=this.editor.model,e=(0,_u.first)(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 kT{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 xT{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 wT=["paragraph","heading1","heading2","heading3","heading4","heading5","heading6"];class _T extends e{constructor(t){super(t),t.config.define("indentBlock",{offset:40,unit:"px"})}static get pluginName(){return"IndentBlock"}init(){const t=this.editor,e=t.config.get("indentBlock"),n=!e.classes||!e.classes.length,i=Object.assign({direction:"forward"},e),o=Object.assign({direction:"backward"},e);n?(t.data.addStyleProcessorRules(ed),this._setupConversionUsingOffset(t.conversion),t.commands.add("indentBlock",new bT(t,new kT(i))),t.commands.add("outdentBlock",new bT(t,new kT(o)))):(this._setupConversionUsingClasses(e.classes),t.commands.add("indentBlock",new bT(t,new xT(i))),t.commands.add("outdentBlock",new bT(t,new xT(o))))}afterInit(){const t=this.editor,e=t.model.schema,n=t.commands.get("indent"),i=t.commands.get("outdent"),o=t.config.get("heading.options");(o&&o.map((t=>t.model))||wT).forEach((t=>{e.isRegistered(t)&&e.extend(t,{allowAttributes:"blockIndent"})})),e.setAttributeProperties("blockIndent",{isFormatting:!0}),n.registerChildCommand(t.commands.get("indentBlock")),i.registerChildCommand(t.commands.get("outdentBlock"))}_setupConversionUsingOffset(){const t=this.editor.conversion,e="rtl"===this.editor.locale.contentLanguageDirection?"margin-right":"margin-left";t.for("upcast").attributeToAttribute({view:{styles:{[e]:/[\s\S]+/}},model:{key:"blockIndent",value:t=>t.getStyle(e)}}),t.for("downcast").attributeToAttribute({model:"blockIndent",view:t=>({key:"style",value:{[e]:t}})})}_setupConversionUsingClasses(t){const e={model:{key:"blockIndent",values:[]},view:{}};for(const n of t)e.model.values.push(n),e.view[n]={key:"class",value:[n]};this.editor.conversion.attributeToAttribute(e)}}function AT(t,e){return`${t}:${e=e||(0,_u.getLanguageDirection)(t)}`}class vT extends i{refresh(){const t=this.editor.model,e=t.document;this.value=this._getValueFromFirstAllowedNode(),this.isEnabled=t.schema.checkAttributeInSelection(e.selection,"language")}execute({languageCode:t,textDirection:e}={}){const n=this.editor.model,i=n.document.selection,o=!!t&&AT(t,e);n.change((t=>{if(i.isCollapsed)o?t.setSelectionAttribute("language",o):t.removeSelectionAttribute("language");else{const e=n.schema.getValidRanges(i.getRanges(),"language");for(const n of e)o?t.setAttribute("language",o,n):t.removeAttribute("language",n)}}))}_getValueFromFirstAllowedNode(){const t=this.editor.model,e=t.schema,n=t.document.selection;if(n.isCollapsed)return n.getAttribute("language")||!1;for(const t of n.getRanges())for(const n of t.getItems())if(e.checkAttribute(n,"language"))return n.getAttribute("language")||!1;return!1}}class CT extends e{static get pluginName(){return"TextPartLanguageEditing"}constructor(t){super(t),t.config.define("language",{textPartLanguage:[{title:"Arabic",languageCode:"ar"},{title:"French",languageCode:"fr"},{title:"Spanish",languageCode:"es"}]})}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:"language"}),t.model.schema.setAttributeProperties("language",{copyOnEnter:!0}),this._defineConverters(),t.commands.add("textPartLanguage",new vT(t))}_defineConverters(){const t=this.editor.conversion;t.for("upcast").elementToAttribute({model:{key:"language",value:t=>AT(t.getAttribute("lang"),t.getAttribute("dir"))},view:{name:"span",attributes:{lang:/[\s\S]+/}}}),t.for("downcast").attributeToElement({model:"language",view:(t,{writer:e},n)=>{if(!t)return;if(!n.item.is("$textProxy")&&!n.item.is("documentSelection"))return;const{languageCode:i,textDirection:o}=function(t){const[e,n]=t.split(":");return{languageCode:e,textDirection:n}}(t);return e.createAttributeElement("span",{lang:i,dir:o})}})}}var yT=__webpack_require__(4704),ET={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(yT.Z,ET);yT.Z.locals;class TT extends e{static get pluginName(){return"TextPartLanguageUI"}init(){const t=this.editor,e=t.t,n=t.config.get("language.textPartLanguage"),i=e("Choose language"),o=e("Remove language"),r=e("Language");t.ui.componentFactory.add("textPartLanguage",(e=>{const s=new _u.Collection,a={},c=t.commands.get("textPartLanguage");s.add({type:"button",model:new Yh({label:o,languageCode:!1,withText:!0})}),s.add({type:"separator"});for(const t of n){const e={type:"button",model:new Yh({label:t.title,languageCode:t.languageCode,textDirection:t.textDirection,withText:!0})},n=AT(t.languageCode,t.textDirection);e.model.bind("isOn").to(c,"value",(t=>t===n)),s.add(e),a[n]=t.title}const l=Ah(e);return Ch(l,s),l.buttonView.set({isOn:!1,withText:!0,tooltip:r}),l.extendTemplate({attributes:{class:["ck-text-fragment-language-dropdown"]}}),l.bind("isEnabled").to(c,"isEnabled"),l.buttonView.bind("label").to(c,"value",(t=>a[t]||i)),this.listenTo(l,"execute",(e=>{c.execute({languageCode:e.source.languageCode,textDirection:e.source.textDirection}),t.editing.view.focus()})),l}))}}class DT extends e{static get requires(){return[CT,TT]}static get pluginName(){return"TextPartLanguage"}}class ST{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;if(!e.item.is("selection")&&!n.schema.isInline(e.item))return;const i=n.writer,o=i.document.selection;for(const t of this._definitions){const r=i.createAttributeElement("a",t.attributes,{priority:5});t.classes&&i.addClass(t.classes,r);for(const e in t.styles)i.setStyle(e,t.styles[e],r);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,{writer:n,mapper:i})=>{const o=i.toViewElement(e.item),r=Array.from(o.getChildren()).find((t=>"a"===t.name));for(const t of this._definitions){const i=(0,_u.toMap)(t.attributes);if(t.callback(e.attributeNewValue)){for(const[t,e]of i)"class"===t?n.addClass(e,r):n.setAttribute(t,e,r);t.classes&&n.addClass(t.classes,r);for(const e in t.styles)n.setStyle(e,t.styles[e],r)}else{for(const[t,e]of i)"class"===t?n.removeClass(e,r):n.removeAttribute(t,r);t.classes&&n.removeClass(t.classes,r);for(const e in t.styles)n.removeStyle(e,r)}}}))}}}const IT=function(t,e,n){var i=t.length;return n=void 0===n?i:n,!e&&n>=i?t:si(t,e,n)};var BT=RegExp("[\\u200d\\ud800-\\udfff\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff\\ufe0e\\ufe0f]");const MT=function(t){return BT.test(t)};const NT=function(t){return t.split("")};var OT="[\\ud800-\\udfff]",PT="[\\u0300-\\u036f\\ufe20-\\ufe2f\\u20d0-\\u20ff]",RT="\\ud83c[\\udffb-\\udfff]",LT="[^\\ud800-\\udfff]",zT="(?:\\ud83c[\\udde6-\\uddff]){2}",jT="[\\ud800-\\udbff][\\udc00-\\udfff]",FT="(?:"+PT+"|"+RT+")"+"?",VT="[\\ufe0e\\ufe0f]?",HT=VT+FT+("(?:\\u200d(?:"+[LT,zT,jT].join("|")+")"+VT+FT+")*"),UT="(?:"+[LT+PT+"?",PT,zT,jT,OT].join("|")+")",qT=RegExp(RT+"(?="+RT+")|"+UT+HT,"g");const WT=function(t){return t.match(qT)||[]};const ZT=function(t){return MT(t)?WT(t):NT(t)};const GT=function(t){return function(e){e=ei(e);var n=MT(e)?ZT(e):void 0,i=n?n[0]:e.charAt(0),o=n?IT(n,1).join(""):e.slice(1);return i[t]()+o}}("toUpperCase"),KT=/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205f\u3000]/g,$T=/^(?:(?:https?|ftps?|mailto):|[^a-z]|[a-z+.-]+(?:[^a-z+.:-]|$))/i,YT=/^[\S]+@((?![-_])(?:[-\w\u00a1-\uffff]{0,63}[^-_]\.))+(?:[a-z\u00a1-\uffff]{2,})$/i,JT=/^((\w+:(\/{2,})?)|(\W))/i,QT="Ctrl+K";function XT(t,{writer:e}){const n=e.createAttributeElement("a",{href:t},{priority:5});return e.setCustomProperty("link",!0,n),n}function tD(t){return function(t){return t.replace(KT,"").match($T)}(t=String(t))?t:"#"}function eD(t,e){return!!t&&e.checkAttribute(t.name,"linkHref")}function nD(t,e){const n=(i=t,YT.test(i)?"mailto:":e);var i;const o=!!n&&!iD(t);return t&&o?n+t:t}function iD(t){return JT.test(t)}function oD(t){window.open(t,"_blank","noopener")}class rD extends i{constructor(t){super(t),this.manualDecorators=new _u.Collection,this.automaticDecorators=new ST}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()||(0,_u.first)(e.getSelectedBlocks());eD(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=Ig(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=(0,_u.toMap)(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 eD(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 sD extends i{refresh(){const t=this.editor.model,e=t.document.selection,n=e.getSelectedElement();eD(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?[Ig(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 aD{constructor({id:t,label:e,attributes:n,classes:i,styles:o,defaultValue:r}){this.id=t,this.set("value"),this.defaultValue=r,this.label=e,this.attributes=n,this.classes=i,this.styles=o}_createPattern(){return{attributes:this.attributes,classes:this.classes,styles:this.styles}}}(0,_u.mix)(aD,_u.ObservableMixin);var cD=__webpack_require__(399),lD={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(cD.Z,lD);cD.Z.locals;const dD="automatic",uD=/^(https?:)?\/\//;class hD extends e{static get pluginName(){return"LinkEditing"}static get requires(){return[gg,eg,Kx]}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:XT}),t.conversion.for("editingDowncast").attributeToElement({model:"linkHref",view:(t,e)=>XT(tD(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 rD(t)),t.commands.add("unlink",new sD(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${GT(n)}`});e.push(t)}return e}(t.config.get("link.decorators")));this._enableAutomaticDecorators(e.filter((t=>t.mode===dD))),this._enableManualDecorators(e.filter((t=>"manual"===t.mode)));t.plugins.get(gg).registerAttribute("linkHref"),Mg(t,"linkHref","a","ck-link_selected"),this._enableLinkOpen(),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:dD,callback:t=>uD.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}),t=new aD(t),n.add(t),e.conversion.for("downcast").attributeToElement({model:t.id,view:(e,{writer:n,schema:i},{item:o})=>{if((o.is("selection")||i.isInline(o))&&e){const e=n.createAttributeElement("a",t.attributes,{priority:5});t.classes&&n.addClass(t.classes,e);for(const i in t.styles)n.setStyle(i,t.styles[i],e);return n.setCustomProperty("link",!0,e),e}}}),e.conversion.for("upcast").elementToAttribute({view:{name:"a",...t._createPattern()},model:{key:t.id}})}))}_enableLinkOpen(){const t=this.editor,e=t.editing.view.document;this.listenTo(e,"click",((t,e)=>{if(!(_u.env.isMac?e.domEvent.metaKey:e.domEvent.ctrlKey))return;let n=e.domTarget;if("a"!=n.tagName.toLowerCase()&&(n=n.closest("a")),!n)return;const i=n.getAttribute("href");i&&(t.stop(),e.preventDefault(),oD(i))}),{context:"$capture"}),this.listenTo(e,"keydown",((e,n)=>{const i=t.commands.get("link").value;i&&n.keyCode===_u.keyCodes.enter&&n.altKey&&(e.stop(),oD(i))}))}_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=>{mD(e,pD(t.schema))})))}),{priority:"low"})}_enableClickingAfterLink(){const t=this.editor,e=t.model;t.editing.view.addObserver(fl);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=Ig(i,"linkHref",t.getAttribute("linkHref"),e);(i.isTouching(o.start)||i.isTouching(o.end))&&e.change((t=>{mD(t,pD(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:gD(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 Ig(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,gD(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="backward"===e.direction}),{priority:"high"}),this.listenTo(e,"deleteContent",(()=>{o=!1;const t=n.getFirstPosition(),i=n.getAttribute("linkHref");if(!i)return;const r=Ig(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=>{mD(t,pD(e.schema))})))}),{priority:"low"})}}function mD(t,e){t.removeSelectionAttribute("linkHref");for(const n of e)t.removeSelectionAttribute(n)}function gD(t){return t.model.change((t=>t.batch)).isTyping}function pD(t){return t.getDefinition("$text").allowAttributes.filter((t=>t.startsWith("link")))}var fD=__webpack_require__(4827),bD={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(fD.Z,bD);fD.Z.locals;class kD extends Hd{constructor(t,e){super(t);const n=t.t;this.focusTracker=new _u.FocusTracker,this.keystrokes=new _u.KeystrokeHandler,this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(n("Save"),wu.check,"ck-button-save"),this.saveButtonView.type="submit",this.cancelButtonView=this._createButton(n("Cancel"),wu.cancel,"ck-button-cancel","cancel"),this._manualDecoratorSwitches=this._createManualDecoratorSwitches(e),this.children=this._createFormChildren(e.manualDecorators),this._focusables=new kd,this._focusCycler=new Xu({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}),vu(this)}getDecoratorSwitchesState(){return Array.from(this._manualDecoratorSwitches).reduce(((t,e)=>(t[e.name]=e.isOn,t)),{})}render(){super.render(),Cu({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)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createUrlInput(){const t=this.locale.t,e=new Wh(this.locale,Zh);return e.label=t("Link URL"),e}_createButton(t,e,n,i){const o=new Nu(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 Ru(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 Hd;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 xD=__webpack_require__(9465),wD={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(xD.Z,wD);xD.Z.locals;class _D extends Hd{constructor(t){super(t);const e=t.t;this.focusTracker=new _u.FocusTracker,this.keystrokes=new _u.KeystrokeHandler,this.previewButtonView=this._createPreviewButton(),this.unlinkButtonView=this._createButton(e("Unlink"),'',"unlink"),this.editButtonView=this._createButton(e("Edit link"),wu.pencil,"edit"),this.set("href"),this._focusables=new kd,this._focusCycler=new Xu({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)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}_createButton(t,e,n){const i=new Nu(this.locale);return i.set({label:t,icon:e,tooltip:!0}),i.delegate("execute").to(this,n),i}_createPreviewButton(){const t=new Nu(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&&tD(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 AD='',vD="link-ui";class CD extends e{static get requires(){return[im]}static get pluginName(){return"LinkUI"}init(){const t=this.editor;t.editing.view.addObserver(pl),this.actionsView=this._createActionsView(),this.formView=this._createFormView(),this._balloon=t.plugins.get(im),this._createToolbarLinkButton(),this._enableUserBalloonInteractions(),t.conversion.for("editingDowncast").markerToHighlight({model:vD,view:{classes:["ck-fake-link-selection"]}}),t.conversion.for("editingDowncast").markerToElement({model:vD,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 _D(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(QT,((t,e)=>{this._addFormView(),e()})),e}_createFormView(){const t=this.editor,e=t.commands.get("link"),n=t.config.get("link.defaultProtocol"),i=new kD(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=nD(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(QT,((t,n)=>{n(),e.isEnabled&&this._showUI(!0)})),t.ui.componentFactory.add("link",(t=>{const i=new Nu(t);return i.isEnabled=!0,i.label=n("Link"),i.icon=AD,i.keystroke=QT,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())})),Au({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(vD)){const e=Array.from(this.editor.editing.mapper.markerNameToElements(vD)),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&&ew(n))return yD(e.getFirstPosition());{const n=e.getFirstRange().getTrimmed(),i=yD(n.start),o=yD(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(vD))e.updateMarker(vD,{range:n});else if(n.start.isAtEnd){const i=n.start.getLastMatchingPosition((({item:e})=>!t.schema.isContent(e)),{boundaries:n});e.addMarker(vD,{usingOperation:!1,affectsData:!1,range:e.createRange(i,n.end)})}else e.addMarker(vD,{usingOperation:!1,affectsData:!1,range:n})}))}_hideFakeVisualSelection(){const t=this.editor.model;t.markers.has(vD)&&t.change((t=>{t.removeMarker(vD)}))}}function yD(t){return t.getAncestors().find((t=>{return(e=t).is("attributeElement")&&!!e.getCustomProperty("link");var e}))}const ED=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 TD extends e{static get requires(){return[dg]}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 mg(t.model,(t=>{if(!function(t){return t.length>4&&" "===t[t.length-1]&&" "!==t[t.length-2]}(t))return;const e=DD(t.substr(0,t.length-1));return e?{url:e}:void 0}));e.on("matched:data",((e,n)=>{const{batch:i,range:o,url:r}=n;if(!i.isTyping)return;const s=o.end.getShiftedBy(-1),a=s.getShiftedBy(-r.length),c=t.model.createRange(a,s);this._applyAutoLink(r,c)})),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}=hg(t,e),o=DD(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,i=nD(t,this.editor.config.get("link.defaultProtocol"));this.isEnabled&&function(t,e){return e.schema.checkAttributeInSelection(e.createSelection(t),"linkHref")}(e,n)&&iD(i)&&!function(t){const e=t.start.nodeAfter;return e&&e.hasAttribute("linkHref")}(e)&&this._persistAutoLink(i,e)}_persistAutoLink(t,e){const n=this.editor.model,i=this.editor.plugins.get("Delete");n.enqueueChange((o=>{o.setAttribute("linkHref",t,e),n.enqueueChange((()=>{i.requestUndoOnBackspace()}))}))}}function DD(t){const e=ED.exec(t);return e?e[2]:null}class SD extends e{static get requires(){return[hD,CD,TD]}static get pluginName(){return"Link"}}class ID extends e{static get requires(){return["ImageEditing","ImageUtils",hD]}static get pluginName(){return"LinkImageEditing"}init(){const t=this.editor,e=t.model.schema;t.plugins.has("ImageBlockEditing")&&e.extend("imageBlock",{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=n.findViewImgElement(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(function(t){const e=t.plugins.get("ImageUtils");return t=>{t.on("attribute:linkHref:imageBlock",((t,n,i)=>{if(!i.consumable.consume(n.item,t.name))return;const o=i.mapper.toViewElement(n.item),r=i.writer,s=Array.from(o.getChildren()).find((t=>"a"===t.name)),a=e.findViewImgElement(o),c=a.parent.is("element","picture")?a.parent:a;if(s)n.attributeNewValue?r.setAttribute("href",n.attributeNewValue,s):(r.move(r.createRangeOn(c),r.createPositionAt(o,0)),r.remove(s));else{const t=r.createContainerElement("a",{href:n.attributeNewValue});r.insert(r.createPositionAt(o,0),t),r.move(r.createRangeOn(c),r.createPositionAt(t,0))}}),{priority:"high"})}}(t)),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");for(const n of e.manualDecorators)t.plugins.has("ImageBlockEditing")&&t.model.schema.extend("imageBlock",{allowAttributes:n.id}),t.plugins.has("ImageInlineEditing")&&t.model.schema.extend("imageInline",{allowAttributes:n.id}),t.conversion.for("downcast").add(BD(n)),t.conversion.for("upcast").add(MD(t,n))}}function BD(t){return e=>{e.on(`attribute:${t.id}:imageBlock`,((e,n,i)=>{const o=i.mapper.toViewElement(n.item),r=Array.from(o.getChildren()).find((t=>"a"===t.name));if(r){for(const[e,n]of(0,_u.toMap)(t.attributes))i.writer.setAttribute(e,n,r);t.classes&&i.writer.addClass(t.classes,r);for(const e in t.styles)i.writer.setStyle(e,t.styles[e],r)}}))}}function MD(t,e){const n=t.plugins.has("ImageInlineEditing"),i=t.plugins.get("ImageUtils");return t=>{t.on("element:a",((t,o,r)=>{const s=o.viewItem,a=i.findViewImgElement(s);if(!a)return;const c=a.findAncestor((t=>i.isBlockImageView(t)));if(n&&!c)return;const l=new zn(e._createPattern()).match(s);if(!l)return;if(!r.consumable.consume(s,l.match))return;const d=o.modelCursor.nodeBefore||o.modelCursor.parent;r.writer.setAttribute(e.id,!0,d)}),{priority:"high"})}}class ND extends e{static get requires(){return[hD,CD,"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 Nu(n),o=t.plugins.get("LinkUI"),r=t.commands.get("link");return i.set({isEnabled:!0,label:e("Link image"),icon:AD,keystroke:QT,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 OD=__webpack_require__(3858),PD={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(OD.Z,PD);OD.Z.locals;class RD extends e{static get requires(){return[ID,ND]}static get pluginName(){return"LinkImage"}}class LD{constructor(t,e){this._startElement=t,this._referenceIndent=t.getAttribute("listIndent"),this._isForward="forward"==e.direction,this._includeSelf=!!e.includeSelf,this._sameAttributes=toArray(e.sameAttributes||[]),this._sameIndent=!!e.sameIndent,this._lowerIndent=!!e.lowerIndent,this._higherIndent=!!e.higherIndent}static first(t,e){const n=new this(t,e)[Symbol.iterator]();return first(n)}*[Symbol.iterator](){const t=[];for(const{node:e}of zD(this._getStartNode(),this._isForward?"forward":"backward")){const n=e.getAttribute("listIndent");if(nthis._referenceIndent){if(!this._higherIndent)continue;if(!this._isForward){t.push(e);continue}}else{if(!this._sameIndent){if(this._higherIndent){t.length&&(yield*t,t.length=0);break}continue}if(this._sameAttributes.some((t=>e.getAttribute(t)!==this._startElement.getAttribute(t))))break}t.length&&(yield*t,t.length=0),yield e}}_getStartNode(){return this._includeSelf?this._startElement:this._isForward?this._startElement.nextSibling:this._startElement.previousSibling}}function*zD(t,e="forward"){const n="forward"==e;let i=null;for(;isListItemBlock(t);)yield{node:t,previous:i},i=t,t=n?t.nextSibling:t.previousSibling}class jD{constructor(t){this._listHead=t}[Symbol.iterator](){return zD(this._listHead,"forward")}}var FD=__webpack_require__(8676),VD={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(FD.Z,VD);FD.Z.locals;function HD(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=XD,e}(i),s=i.createContainerElement(o,null);return i.insert(i.createPositionAt(s,0),r),n.bindElements(t,r),r}function UD(t,e,n,i){const o=e.parent,r=n.mapper,s=n.writer;let a=r.toViewPosition(i.createPositionBefore(t));const c=ZD(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=KD(t);a=e?s.createPositionBefore(e):s.createPositionAt(t,"end")}else a=r.toViewPosition(i.createPositionBefore(t));if(a=WD(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");qD(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")))}}qD(s,o,o.nextSibling),qD(s,o.previousSibling,o)}function qD(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 WD(t){return t.getLastMatchingPosition((t=>t.item.is("uiElement")))}function ZD(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 GD(t,e,n,i){t.ui.componentFactory.add(e,(o=>{const r=t.commands.get(e),s=new Nu(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 KD(t){for(const e of t.getChildren())if("ul"==e.name||"ol"==e.name)return e;return null}function $D(t,e){const n=[],i=t.parent,o={ignoreElementEnd:!1,startPosition:t,shallow:!0,direction:e},r=i.getAttribute("listIndent"),s=[...new xs(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;if(t.getAttribute("listReversed")!==i.getAttribute("listReversed"))break;if(t.getAttribute("listStart")!==i.getAttribute("listStart"))break;"backward"===e?n.unshift(t):n.push(t)}}return n}function YD(t){let e=[...t.document.selection.getSelectedBlocks()].filter((t=>t.is("element","listItem"))).map((e=>{const n=t.change((t=>t.createPositionAt(e,0)));return[...$D(n,"backward"),...$D(n,"forward")]})).flat();return e=[...new Set(e)],e}const JD=["disc","circle","square"],QD=["decimal","decimal-leading-zero","lower-roman","upper-roman","lower-latin","upper-latin"];function XD(){const t=!this.isEmpty&&("ul"==this.getChild(0).name||"ol"==this.getChild(0).name);return this.isEmpty||t?0:Fi.call(this)}const tS='',eS='';class nS extends e{static get pluginName(){return"ListUI"}init(){const t=this.editor.t;GD(this.editor,"numberedList",t("Numbered List"),tS),GD(this.editor,"bulletedList",t("Bulleted List"),eS)}}const iS={},oS={},rS={},sS=[{listStyle:"disc",typeAttribute:"disc",listType:"bulleted"},{listStyle:"circle",typeAttribute:"circle",listType:"bulleted"},{listStyle:"square",typeAttribute:"square",listType:"bulleted"},{listStyle:"decimal",typeAttribute:"1",listType:"numbered"},{listStyle:"decimal-leading-zero",typeAttribute:null,listType:"numbered"},{listStyle:"lower-roman",typeAttribute:"i",listType:"numbered"},{listStyle:"upper-roman",typeAttribute:"I",listType:"numbered"},{listStyle:"lower-alpha",typeAttribute:"a",listType:"numbered"},{listStyle:"upper-alpha",typeAttribute:"A",listType:"numbered"},{listStyle:"lower-latin",typeAttribute:"a",listType:"numbered"},{listStyle:"upper-latin",typeAttribute:"A",listType:"numbered"}];for(const{listStyle:t,typeAttribute:e,listType:n}of sS)iS[t]=n,oS[t]=e,e&&(rS[e]=t);var aS=__webpack_require__(3195),cS={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(aS.Z,cS);aS.Z.locals;class lS extends Hd{constructor(t,e){super(t);const n=this.bindTemplate;this.set("isCollapsed",!1),this.set("label",""),this.buttonView=this._createButtonView(),this.children=this.createCollection(),this.set("_collapsibleAriaLabelUid"),e&&this.children.addMany(e),this.setTemplate({tag:"div",attributes:{class:["ck","ck-collapsible",n.if("isCollapsed","ck-collapsible_collapsed")]},children:[this.buttonView,{tag:"div",attributes:{class:["ck","ck-collapsible__children"],role:"region",hidden:n.if("isCollapsed","hidden"),"aria-labelledby":n.to("_collapsibleAriaLabelUid")},children:this.children}]})}render(){super.render(),this._collapsibleAriaLabelUid=this.buttonView.labelView.element.id}_createButtonView(){const t=new Nu(this.locale),e=t.bindTemplate;return t.set({withText:!0,icon:qu}),t.extendTemplate({attributes:{"aria-expanded":e.to("isOn",(t=>String(t)))}}),t.bind("label").to(this),t.bind("isOn").to(this,"isCollapsed",(t=>!t)),t.on("execute",(()=>{this.isCollapsed=!this.isCollapsed})),t}}var dS=__webpack_require__(7133),uS={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(dS.Z,uS);dS.Z.locals;class hS extends Hd{constructor(t,{enabledProperties:e,styleButtonViews:n,styleGridAriaLabel:i}){super(t);const o=["ck","ck-list-properties"];this.children=this.createCollection(),this.stylesView=null,this.additionalPropertiesCollapsibleView=null,this.startIndexFieldView=null,this.reversedSwitchButtonView=null,this.focusTracker=new _u.FocusTracker,this.keystrokes=new _u.KeystrokeHandler,this.focusables=new kd,this.focusCycler=new Xu({focusables:this.focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),e.styles?(this.stylesView=this._createStylesView(n,i),this.children.add(this.stylesView)):o.push("ck-list-properties_without-styles"),(e.startIndex||e.reversed)&&(this._addNumberedListPropertyViews(e,n),o.push("ck-list-properties_with-numbered-properties")),this.setTemplate({tag:"div",attributes:{class:o},children:this.children})}render(){if(super.render(),this.stylesView){this.focusables.add(this.stylesView),this.focusTracker.add(this.stylesView.element),(this.startIndexFieldView||this.reversedSwitchButtonView)&&(this.focusables.add(this.children.last.buttonView),this.focusTracker.add(this.children.last.buttonView.element));for(const t of this.stylesView.children)this.stylesView.focusTracker.add(t.element);yu({keystrokeHandler:this.stylesView.keystrokes,focusTracker:this.stylesView.focusTracker,gridItems:this.stylesView.children,numberOfColumns:()=>_u.global.window.getComputedStyle(this.stylesView.element).getPropertyValue("grid-template-columns").split(" ").length})}if(this.startIndexFieldView){this.focusables.add(this.startIndexFieldView),this.focusTracker.add(this.startIndexFieldView.element),this.listenTo(this.startIndexFieldView.element,"selectstart",((t,e)=>{e.stopPropagation()}),{priority:"high"});const t=t=>t.stopPropagation();this.keystrokes.set("arrowright",t),this.keystrokes.set("arrowleft",t),this.keystrokes.set("arrowup",t),this.keystrokes.set("arrowdown",t)}this.reversedSwitchButtonView&&(this.focusables.add(this.reversedSwitchButtonView),this.focusTracker.add(this.reversedSwitchButtonView.element)),this.keystrokes.listenTo(this.element)}focus(){this.focusCycler.focusFirst()}focusLast(){this.focusCycler.focusLast()}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}_createStylesView(t,e){const n=new Hd(this.locale);return n.children=n.createCollection(this.locale),n.children.addMany(t),n.setTemplate({tag:"div",attributes:{"aria-label":e,class:["ck","ck-list-styles-list"]},children:n.children}),n.children.delegate("execute").to(this),n.focus=function(){this.children.first.focus()},n.focusTracker=new _u.FocusTracker,n.keystrokes=new _u.KeystrokeHandler,n.render(),n.keystrokes.listenTo(n.element),n}_addNumberedListPropertyViews(t){const e=this.locale.t,n=[];t.startIndex&&(this.startIndexFieldView=this._createStartIndexField(),n.push(this.startIndexFieldView)),t.reversed&&(this.reversedSwitchButtonView=this._createReversedSwitchButton(),n.push(this.reversedSwitchButtonView)),t.styles?(this.additionalPropertiesCollapsibleView=new lS(this.locale,n),this.additionalPropertiesCollapsibleView.set({label:e("List properties"),isCollapsed:!0}),this.additionalPropertiesCollapsibleView.buttonView.bind("isEnabled").toMany(n,"isEnabled",((...t)=>t.some((t=>t)))),this.additionalPropertiesCollapsibleView.buttonView.on("change:isEnabled",((t,e,n)=>{n||(this.additionalPropertiesCollapsibleView.isCollapsed=!0)})),this.children.add(this.additionalPropertiesCollapsibleView)):this.children.addMany(n)}_createStartIndexField(){const t=this.locale.t,e=new Wh(this.locale,Gh);return e.set({label:t("Start at"),class:"ck-numbered-list-properties__start-index"}),e.fieldView.set({min:1,step:1,value:1,inputMode:"numeric"}),e.fieldView.on("input",(()=>{const n=e.fieldView.element,i=n.valueAsNumber;Number.isNaN(i)||(n.checkValidity()?this.fire("listStart",{startIndex:i}):e.errorText=t("Start index must be greater than 0."))})),e}_createReversedSwitchButton(){const t=this.locale.t,e=new Ru(this.locale);return e.set({withText:!0,label:t("Reversed order"),class:"ck-numbered-list-properties__reversed-order"}),e.delegate("execute").to(this,"listReversed"),e}}var mS=__webpack_require__(4553),gS={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(mS.Z,gS);mS.Z.locals;class pS extends e{static get pluginName(){return"ListPropertiesUI"}init(){const t=this.editor,e=t.locale.t,n=t.config.get("list.properties");n.styles&&t.ui.componentFactory.add("bulletedList",fS({editor:t,parentCommandName:"bulletedList",buttonLabel:e("Bulleted List"),buttonIcon:eS,styleGridAriaLabel: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:''}]})),(n.styles||n.startIndex||n.reversed)&&t.ui.componentFactory.add("numberedList",fS({editor:t,parentCommandName:"numberedList",buttonLabel:e("Numbered List"),buttonIcon:tS,styleGridAriaLabel: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 fS({editor:t,parentCommandName:e,buttonLabel:n,buttonIcon:i,styleGridAriaLabel:o,styleDefinitions:r}){const s=t.commands.get(e);return a=>{const c=Ah(a,Ku),l=c.buttonView;c.bind("isEnabled").to(s),c.class="ck-list-styles-dropdown",l.on("execute",(()=>{t.execute(e),t.editing.view.focus()})),l.set({label:n,icon:i,tooltip:!0,isToggleable:!0}),l.bind("isOn").to(s,"value",(t=>!!t));const d=function({editor:t,dropdownView:e,parentCommandName:n,styleDefinitions:i,styleGridAriaLabel:o}){const r=t.locale,s=t.config.get("list.properties");let a;"numberedList"!=n&&(s.startIndex=!1,s.reversed=!1);if(s.styles){const e=t.commands.get("listStyle"),o=function({editor:t,listStyleCommand:e,parentCommandName:n}){const i=t.locale,o=t.commands.get(n);return({label:n,type:r,icon:s,tooltip:a})=>{const c=new Nu(i);return c.set({label:n,icon:s,tooltip:a}),e.on("change:value",(()=>{c.isOn=e.value===r})),c.on("execute",(()=>{o.value?e.value!==r?t.execute("listStyle",{type:r}):t.execute("listStyle",{type:e._defaultType}):t.model.change((()=>{t.execute("listStyle",{type:r})}))})),c}}({editor:t,parentCommandName:n,listStyleCommand:e}),r="function"==typeof e.isStyleTypeSupported?t=>e.isStyleTypeSupported(t.type):()=>!0;a=i.filter(r).map(o)}const c=new hS(r,{styleGridAriaLabel:o,enabledProperties:s,styleButtonViews:a});s.styles&&yh(e,(()=>c.stylesView.children.find((t=>t.isOn))));if(s.startIndex){const e=t.commands.get("listStart");c.startIndexFieldView.bind("isEnabled").to(e),c.startIndexFieldView.fieldView.bind("value").to(e),c.on("listStart",((e,n)=>t.execute("listStart",n)))}if(s.reversed){const e=t.commands.get("listReversed");c.reversedSwitchButtonView.bind("isEnabled").to(e),c.reversedSwitchButtonView.bind("isOn").to(e,"value"),c.on("listReversed",(()=>{const n=e.value;t.execute("listReversed",{reversed:!n})}))}return c.delegate("execute").to(e),c}({editor:t,dropdownView:c,parentCommandName:e,styleGridAriaLabel:o,styleDefinitions:r});return c.panelView.children.add(d),c.on("execute",(()=>{t.editing.view.focus()})),c}}class bS extends i{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=>xS(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 xS(t,e){return e.checkChild(t.parent,"listItem")&&!e.isObject(t)}class wS extends i{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=(0,_u.first)(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 _S(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;UD(r,HD(r,i),i,t)}}function AS(t,e,n){if(!n.consumable.test(e.item,t.name))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 vS(t,e,n){n.consumable.consume(e.item,t.name);const i=n.mapper.toViewElement(e.item).parent,o=n.writer;qD(o,i,i.nextSibling),qD(o,i.previousSibling,i)}function CS(t,e,n){if(n.consumable.test(e.item,t.name)&&"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=qD(i,n,n.nextSibling);e&&e.parent==n&&t.offset--}}qD(i,t.nodeBefore,t.nodeAfter)}}}function yS(t,e,n){const i=n.mapper.toViewPosition(e.position),o=i.nodeBefore,r=i.nodeAfter;qD(n.writer,o,r)}function ES(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:BS(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 TS(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")||NS(e))&&e._remove()}}}function DS(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;for(const e of t)n&&!NS(e)&&e._remove(),NS(e)&&(n=!0)}}function SS(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(NS),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 IS(t,[e,n,i]){let o,r=e.is("documentFragment")?e.getChild(0):e;if(o=n?this.createSelection(n,i):this.document.selection,r&&r.is("element","listItem")){const t=o.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(;r&&r.is("element","listItem");)r._setAttribute("listIndent",r.getAttribute("listIndent")+t),r=r.nextSibling}}}function BS(t){const e=new xs({startPosition:t});let n;do{n=e.next()}while(!n.value.item.is("element","listItem"));return n.value.item}function MS(t,e,n,i,o,r){const s=ZD(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=WD(d);for(const t of[...i.getChildren()])NS(t)&&(d=c.move(c.createRangeOn(t),d).end,qD(c,t,t.nextSibling),qD(c,t.previousSibling,t))}function NS(t){return t.is("element","ol")||t.is("element","ul")}class OS extends e{static get pluginName(){return"ListEditing"}static get requires(){return[Tp,dg]}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),n.hasAttribute("listReversed")&&(e.removeAttribute("listReversed",n),o=!0),n.hasAttribute("listStart")&&(e.removeAttribute("listStart",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",PS),e.mapper.registerViewToModelLength("li",PS),n.mapper.on("modelToViewPosition",SS(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&&NS(c);)a+=r.getModelLength(c),c=c.previousSibling;e.modelPosition=i.createPositionBefore(s).getShiftedBy(a),t.stop()}})),e.mapper.on("modelToViewPosition",SS(n.view)),t.conversion.for("editingDowncast").add((e=>{e.on("insert",CS,{priority:"high"}),e.on("insert:listItem",_S(t.model)),e.on("attribute:listType:listItem",AS,{priority:"high"}),e.on("attribute:listType:listItem",vS,{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&&qD(r,a,a.nextSibling),MS(n.attributeOldValue+1,n.range.start,c.start,o,i,t),UD(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&&qD(r,a,a.nextSibling),MS(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",yS,{priority:"low"})})),t.conversion.for("dataDowncast").add((e=>{e.on("insert",CS,{priority:"high"}),e.on("insert:listItem",_S(t.model))})),t.conversion.for("upcast").add((t=>{t.on("element:ul",TS,{priority:"high"}),t.on("element:ol",TS,{priority:"high"}),t.on("element:li",DS,{priority:"high"}),t.on("element:li",ES)})),t.model.on("insertContent",IS,{priority:"high"}),t.commands.add("numberedList",new bS(t,"numbered")),t.commands.add("bulletedList",new bS(t,"bulleted")),t.commands.add("indentList",new wS(t,"forward")),t.commands.add("outdentList",new wS(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"}),this.listenTo(t.editing.view.document,"tab",((e,n)=>{const i=n.shiftKey?"outdentList":"indentList";this.editor.commands.get(i).isEnabled&&(t.execute(i),n.stopPropagation(),n.preventDefault(),e.stop())}),{context:"li"})}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 PS(t){let e=1;for(const n of t.getChildren())if("ul"==n.name||"ol"==n.name)for(const t of n.getChildren())e+=PS(t);return e}class RS extends e{static get requires(){return[OS,nS]}static get pluginName(){return"List"}}class LS extends i{constructor(t,e){super(t),this._defaultType=e}refresh(){this.value=this._getValue(),this.isEnabled=this._checkEnabled()}execute(t={}){this._tryToConvertItemsToList(t);const e=this.editor.model,n=YD(e);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}_tryToConvertItemsToList(t){if(!t.type)return;const e=(n=t.type,JD.includes(n)?"bulleted":QD.includes(n)?"numbered":null);var n;if(!e)return;const i=this.editor,o=e+"List";i.commands.get(o).value||i.execute(o)}}class zS extends i{refresh(){const t=this._getValue();this.value=t,this.isEnabled=null!=t}execute(t={}){const e=this.editor.model,n=YD(e).filter((t=>"numbered"==t.getAttribute("listType")));e.change((e=>{for(const i of n)e.setAttribute("listReversed",!!t.reversed,i)}))}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;return t&&t.is("element","listItem")&&"numbered"==t.getAttribute("listType")?t.getAttribute("listReversed"):null}}class jS extends i{refresh(){const t=this._getValue();this.value=t,this.isEnabled=null!=t}execute(t={}){const e=this.editor.model,n=YD(e).filter((t=>"numbered"==t.getAttribute("listType")));e.change((e=>{for(const i of n)e.setAttribute("listStart",t.startIndex||1,i)}))}_getValue(){const t=this.editor.model.document.selection.getFirstPosition().parent;return t&&t.is("element","listItem")&&"numbered"==t.getAttribute("listType")?t.getAttribute("listStart"):null}}const FS="default";class VS extends e{static get requires(){return[OS]}static get pluginName(){return"ListPropertiesEditing"}constructor(t){super(t),t.config.define("list",{properties:{styles:!0,startIndex:!1,reversed:!1}})}init(){const t=this.editor,e=t.model,n=function(t){const e=[];t.styles&&e.push({attributeName:"listStyle",defaultValue:FS,addCommand(t){t.commands.add("listStyle",new LS(t,FS))},appliesToListItem:()=>!0,setAttributeOnDowncast(t,e,n){e&&e!==FS?t.setStyle("list-style-type",e,n):t.removeStyle("list-style-type",n)},getAttributeOnUpcast:t=>t.getStyle("list-style-type")||FS});t.reversed&&e.push({attributeName:"listReversed",defaultValue:!1,addCommand(t){t.commands.add("listReversed",new zS(t))},appliesToListItem:t=>"numbered"==t.getAttribute("listType"),setAttributeOnDowncast(t,e,n){e?t.setAttribute("reversed","reversed",n):t.removeAttribute("reversed",n)},getAttributeOnUpcast:t=>t.hasAttribute("reversed")});t.startIndex&&e.push({attributeName:"listStart",defaultValue:1,addCommand(t){t.commands.add("listStart",new jS(t))},appliesToListItem:t=>"numbered"==t.getAttribute("listType"),setAttributeOnDowncast(t,e,n){1!=e?t.setAttribute("start",e,n):t.removeAttribute("start",n)},getAttributeOnUpcast:t=>t.getAttribute("start")||1});return e}(t.config.get("list.properties"));e.schema.extend("listItem",{allowAttributes:n.map((t=>t.attributeName))});for(const e of n)e.addCommand(t);var i;this.listenTo(t.commands.get("indentList"),"_executeCleanup",function(t,e){return(n,i)=>{const o=i[0],r=o.getAttribute("listIndent"),s=i.filter((t=>t.getAttribute("listIndent")===r));let a=null;o.previousSibling.getAttribute("listIndent")+1!==r&&(a=ZD(o.previousSibling,{sameIndent:!0,direction:"backward",listIndent:r})),t.model.change((t=>{for(const n of s)for(const i of e)if(i.appliesToListItem(n)){const e=null==a?i.defaultValue:a.getAttribute(i.attributeName);t.setAttribute(i.attributeName,e,n)}}))}}(t,n)),this.listenTo(t.commands.get("outdentList"),"_executeCleanup",function(t,e){return(n,i)=>{if(!(i=i.reverse().filter((t=>t.is("element","listItem")))).length)return;const o=i[0].getAttribute("listIndent"),r=i[0].getAttribute("listType");let s=i[0].previousSibling;if(s.is("element","listItem"))for(;s.getAttribute("listIndent")!==o;)s=s.previousSibling;else s=null;s||(s=i[i.length-1].nextSibling),s&&s.is("element","listItem")&&s.getAttribute("listType")===r&&t.model.change((t=>{const n=i.filter((t=>t.getAttribute("listIndent")===o));for(const i of n)for(const n of e)if(n.appliesToListItem(i)){const e=n.attributeName,o=s.getAttribute(e);t.setAttribute(e,o,i)}}))}}(t,n)),this.listenTo(t.commands.get("bulletedList"),"_executeCleanup",qS(t)),this.listenTo(t.commands.get("numberedList"),"_executeCleanup",qS(t)),e.document.registerPostFixer(function(t,e){return n=>{let i=!1;const o=WS(t.model.document.differ.getChanges()).filter((t=>"todo"!==t.getAttribute("listType")));if(!o.length)return i;let r=o[o.length-1].nextSibling;if((!r||!r.is("element","listItem"))&&(r=o[0].previousSibling,r)){const t=o[0].getAttribute("listIndent");for(;r.is("element","listItem")&&r.getAttribute("listIndent")!==t&&(r=r.previousSibling,r););}for(const t of e){const e=t.attributeName;for(const s of o)if(t.appliesToListItem(s))if(s.hasAttribute(e)){const o=s.previousSibling;US(o,s,t.attributeName)&&(n.setAttribute(e,o.getAttribute(e),s),i=!0)}else HS(r,s,t)?n.setAttribute(e,r.getAttribute(e),s):n.setAttribute(e,t.defaultValue,s),i=!0;else n.removeAttribute(e,s)}return i}}(t,n)),t.conversion.for("upcast").add((i=n,t=>{t.on("element:li",((t,e,n)=>{const o=e.viewItem.parent,r=e.modelRange.start.nodeAfter||e.modelRange.end.nodeBefore;for(const t of i)if(t.appliesToListItem(r)){const e=t.getAttributeOnUpcast(o);n.writer.setAttribute(t.attributeName,e,r)}}),{priority:"low"})})),t.conversion.for("downcast").add(function(t){return n=>{for(const i of t)n.on(`attribute:${i.attributeName}:listItem`,((t,n,o)=>{const r=o.writer,s=n.item,a=ZD(s.previousSibling,{sameIndent:!0,listIndent:s.getAttribute("listIndent"),direction:"backward"}),c=o.mapper.toViewElement(s);e(s,a)||r.breakContainer(r.createPositionBefore(c)),i.setAttributeOnDowncast(r,n.attributeNewValue,c.parent)}),{priority:"low"})};function e(t,e){return e&&t.getAttribute("listType")===e.getAttribute("listType")&&t.getAttribute("listIndent")===e.getAttribute("listIndent")&&t.getAttribute("listStyle")===e.getAttribute("listStyle")&&t.getAttribute("listReversed")===e.getAttribute("listReversed")&&t.getAttribute("listStart")===e.getAttribute("listStart")}}(n)),this._mergeListAttributesWhileMergingLists(n)}afterInit(){const t=this.editor;t.commands.get("todoList")&&t.model.document.registerPostFixer(function(t){return e=>{const n=WS(t.model.document.differ.getChanges()).filter((t=>"todo"===t.getAttribute("listType")&&(t.hasAttribute("listStyle")||t.hasAttribute("listReversed")||t.hasAttribute("listStart"))));if(!n.length)return!1;for(const t of n)e.removeAttribute("listStyle",t),e.removeAttribute("listReversed",t),e.removeAttribute("listStart",t);return!0}}(t))}_mergeListAttributesWhileMergingLists(t){const e=this.editor.model;let n;this.listenTo(e,"deleteContent",((t,[e])=>{const i=e.getFirstPosition(),o=e.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=ZD(i.parent,{sameIndent:!0,listIndent:r.getAttribute("listIndent")});s&&s.getAttribute("listType")===r.getAttribute("listType")&&(n=s)}),{priority:"high"}),this.listenTo(e,"deleteContent",(()=>{n&&(e.change((e=>{const i=ZD(n.nextSibling,{sameIndent:!0,listIndent:n.getAttribute("listIndent"),direction:"forward"});if(!i)return void(n=null);const o=[i,...$D(e.createPositionAt(i,0),"forward")];for(const i of o)for(const o of t)if(o.appliesToListItem(i)){const t=o.attributeName,r=n.getAttribute(t);e.setAttribute(t,r,i)}})),n=null)}),{priority:"low"})}}function HS(t,e,n){if(!t)return!1;const i=t.getAttribute(n.attributeName);return!!i&&(i!=n.defaultValue&&t.getAttribute("listType")===e.getAttribute("listType"))}function US(t,e,n){if(!t||!t.is("element","listItem"))return!1;if(e.getAttribute("listType")!==t.getAttribute("listType"))return!1;const i=t.getAttribute("listIndent");if(i<1||i!==e.getAttribute("listIndent"))return!1;const o=t.getAttribute(n);return!(!o||o===e.getAttribute(n))}function qS(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 WS(t){const e=[];for(const n of t){const t=ZS(n);t&&t.is("element","listItem")&&e.push(t)}return e}function ZS(t){return"attribute"===t.type?t.range.start.nodeAfter:"insert"===t.type?t.position.nodeAfter:null}class GS extends e{static get requires(){return[VS,pS]}static get pluginName(){return"ListProperties"}}const KS="todoListChecked";class $S extends i{constructor(t){super(t),this._selectedElements=[],this.on("execute",(()=>{this.refresh()}),{priority:"highest"})}refresh(){this._selectedElements=this._getSelectedItems(),this.value=this._selectedElements.every((t=>!!t.getAttribute("todoListChecked"))),this.isEnabled=!!this._selectedElements.length}_getSelectedItems(){const t=this.editor.model,e=t.schema,n=t.document.selection.getFirstRange(),i=n.start.parent,o=[];e.checkAttribute(i,KS)&&o.push(i);for(const t of n.getItems())e.checkAttribute(t,KS)&&!o.includes(t)&&o.push(t);return o}execute(t={}){this.editor.model.change((e=>{for(const n of this._selectedElements){(void 0===t.forceValue?!this.value:t.forceValue)?e.setAttribute(KS,!0,n):e.removeAttribute(KS,n)}}))}}function YS(t,e,n){const i=e.modelCursor,o=i.parent,r=e.viewItem;if("checkbox"!=r.getAttribute("type")||"listItem"!=o.name||!i.isAtStart)return;if(!n.consumable.consume(r,{name:!0}))return;const s=n.writer;s.setAttribute("listType","todo",o),e.viewItem.hasAttribute("checked")&&s.setAttribute("todoListChecked",!0,o),e.modelRange=s.createRange(i)}function JS(t){return(e,n)=>{const i=n.modelPosition,o=i.parent;if(!o.is("element","listItem")||"todo"!=o.getAttribute("listType"))return;const r=XS(n.mapper.toViewElement(o),t);r&&(n.viewPosition=n.mapper.findPositionIn(r,i.offset))}}function QS(t,e,n,i){return e.createUIElement("label",{class:"todo-list__label",contenteditable:!1},(function(e){const o=(0,_u.createElement)(document,"input",{type:"checkbox",tabindex:-1});n&&o.setAttribute("checked","checked"),o.addEventListener("change",(()=>i(t)));const r=this.toDomElement(e);return r.appendChild(o),r}))}function XS(t,e){const n=e.createRangeIn(t);for(const t of n)if(t.item.is("containerElement","span")&&t.item.hasClass("todo-list__label__description"))return t.item}const tI=(0,_u.parseKeystroke)("Ctrl+Enter");class eI extends e{static get pluginName(){return"TodoListEditing"}static get requires(){return[OS]}init(){const t=this.editor,{editing:e,data:n,model:i}=t;i.schema.extend("listItem",{allowAttributes:["todoListChecked"]}),i.schema.addAttributeCheck(((t,e)=>{const n=t.last;if("todoListChecked"==e&&"listItem"==n.name&&"todo"!=n.getAttribute("listType"))return!1})),t.commands.add("todoList",new bS(t,"todo"));const o=new $S(t);var r,s;t.commands.add("checkTodoList",o),t.commands.add("todoListCheck",o),n.downcastDispatcher.on("insert:listItem",function(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;if("todo"!=n.item.getAttribute("listType"))return;const r=n.item;o.consume(r,"insert"),o.consume(r,"attribute:listType"),o.consume(r,"attribute:listIndent"),o.consume(r,"attribute:todoListChecked");const s=i.writer,a=HD(r,i);s.addClass("todo-list",a.parent);const c=s.createContainerElement("label",{class:"todo-list__label"}),l=s.createEmptyElement("input",{type:"checkbox",disabled:"disabled"}),d=s.createContainerElement("span",{class:"todo-list__label__description"});r.getAttribute("todoListChecked")&&s.setAttribute("checked","checked",l),s.insert(s.createPositionAt(a,0),c),s.insert(s.createPositionAt(c,0),l),s.insert(s.createPositionAfter(l),d),UD(r,a,i,t)}}(i),{priority:"high"}),n.upcastDispatcher.on("element:input",YS,{priority:"high"}),e.downcastDispatcher.on("insert:listItem",function(t,e){return(n,i,o)=>{const r=o.consumable;if(!r.test(i.item,"insert")||!r.test(i.item,"attribute:listType")||!r.test(i.item,"attribute:listIndent"))return;if("todo"!=i.item.getAttribute("listType"))return;const s=i.item;r.consume(s,"insert"),r.consume(s,"attribute:listType"),r.consume(s,"attribute:listIndent"),r.consume(s,"attribute:todoListChecked");const a=o.writer,c=HD(s,o),l=!!s.getAttribute("todoListChecked"),d=QS(s,a,l,e),u=a.createContainerElement("span",{class:"todo-list__label__description"});a.addClass("todo-list",c.parent),a.insert(a.createPositionAt(c,0),d),a.insert(a.createPositionAfter(d),u),UD(s,c,o,t)}}(i,(t=>this._handleCheckmarkChange(t))),{priority:"high"}),e.downcastDispatcher.on("attribute:listType:listItem",(r=t=>this._handleCheckmarkChange(t),s=e.view,(t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const i=n.mapper.toViewElement(e.item),o=n.writer,a=function(t,e){const n=e.createRangeIn(t);for(const t of n)if(t.item.is("uiElement","label"))return t.item}(i,s);if("todo"==e.attributeNewValue){const t=!!e.item.getAttribute("todoListChecked"),n=QS(e.item,o,t,r),s=o.createContainerElement("span",{class:"todo-list__label__description"}),a=o.createRangeIn(i),c=KD(i),l=WD(a.start),d=c?o.createPositionBefore(c):a.end,u=o.createRange(l,d);o.addClass("todo-list",i.parent),o.move(u,o.createPositionAt(s,0)),o.insert(o.createPositionAt(i,0),n),o.insert(o.createPositionAfter(n),s)}else if("todo"==e.attributeOldValue){const t=XS(i,s);o.removeClass("todo-list",i.parent),o.remove(a),o.move(o.createRangeIn(t),o.createPositionBefore(t)),o.remove(t)}})),e.downcastDispatcher.on("attribute:todoListChecked:listItem",function(t){return(e,n,i)=>{if("todo"!=n.item.getAttribute("listType"))return;if(!i.consumable.consume(n.item,"attribute:todoListChecked"))return;const{mapper:o,writer:r}=i,s=!!n.item.getAttribute("todoListChecked"),a=o.toViewElement(n.item).getChild(0),c=QS(n.item,r,s,t);r.insert(r.createPositionAfter(a),c),r.remove(a)}}((t=>this._handleCheckmarkChange(t)))),e.mapper.on("modelToViewPosition",JS(e.view)),n.mapper.on("modelToViewPosition",JS(e.view)),this.listenTo(e.view.document,"arrowKey",function(t,e){return(n,i)=>{if("left"!=(0,_u.getLocalizedArrowKeyCodeDirection)(i.keyCode,e.contentLanguageDirection))return;const o=t.schema,r=t.document.selection;if(!r.isCollapsed)return;const s=r.getFirstPosition(),a=s.parent;if("listItem"===a.name&&"todo"==a.getAttribute("listType")&&s.isAtStart){const e=o.getNearestSelectionRange(t.createPositionBefore(a),"backward");e&&t.change((t=>t.setSelection(e))),i.preventDefault(),i.stopPropagation(),n.stop()}}}(i,t.locale),{context:"li"}),this.listenTo(e.view.document,"keydown",((e,n)=>{(0,_u.getCode)(n)===tI&&(t.execute("checkTodoList"),e.stop())}),{priority:"high"});const a=new Set;this.listenTo(i,"applyOperation",((t,e)=>{const n=e[0];if("rename"==n.type&&"listItem"==n.oldName){const t=n.position.nodeAfter;t.hasAttribute("todoListChecked")&&a.add(t)}else if("changeAttribute"==n.type&&"listType"==n.key&&"todo"===n.oldValue)for(const t of n.range.getItems())t.hasAttribute("todoListChecked")&&"todo"!==t.getAttribute("listType")&&a.add(t)})),i.document.registerPostFixer((t=>{let e=!1;for(const n of a)t.removeAttribute("todoListChecked",n),e=!0;return a.clear(),e}))}_handleCheckmarkChange(t){const e=this.editor,n=e.model,i=Array.from(n.document.selection.getRanges());n.change((n=>{n.setSelection(t,"end"),e.execute("checkTodoList"),n.setSelection(i)}))}}class nI extends e{static get pluginName(){return"TodoListUI"}init(){const t=this.editor.t;GD(this.editor,"todoList",t("To-do List"),'')}}var iI=__webpack_require__(1588),oI={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(iI.Z,oI);iI.Z.locals;class rI extends e{static get requires(){return[eI,nI]}static get pluginName(){return"TodoList"}}function sI(t,e){return t=>{t.on("attribute:url:media",n)};function n(n,i,o){if(!o.consumable.consume(i.item,n.name))return;const r=i.attributeNewValue,s=o.writer,a=o.mapper.toViewElement(i.item),c=[...a.getChildren()].find((t=>t.getCustomProperty("media-content")));s.remove(c);const l=t.getMediaViewElement(s,r,e);s.insert(s.createPositionAt(a,0),l)}}function aI(t,e,n,i){return t.createContainerElement("figure",{class:"media"},[e.getMediaViewElement(t,n,i),t.createSlot()])}function cI(t){const e=t.getSelectedElement();return e&&e.is("element","media")?e:null}function lI(t,e,n,i){t.change((o=>{const r=o.createElement("media",{url:e});t.insertObject(r,n,null,{setSelection:"on",findOptimalPosition:i})}))}class dI extends i{refresh(){const t=this.editor.model,e=t.document.selection,n=cI(e);this.value=n?n.getAttribute("url"):null,this.isEnabled=function(t){const e=t.getSelectedElement();return!!e&&"media"===e.name}(e)||function(t,e){let n=cw(t,e).start.parent;n.isEmpty&&!e.schema.isLimit(n)&&(n=n.parent);return e.schema.checkChild(n,"media")}(e,t)}execute(t){const e=this.editor.model,n=e.document.selection,i=cI(n);i?e.change((e=>{e.setAttribute("url",t,i)})):lI(e,t,n,!0)}}class uI{constructor(t,e){const n=e.providers,i=e.extraProviders||[],o=new Set(e.removeProviders),r=n.concat(i).filter((t=>{const e=t.name;return e?!o.has(e):((0,_u.logWarning)("media-embed-no-provider-name",{provider:t}),!1)}));this.locale=t,this.providerDefinitions=r}hasMedia(t){return!!this._getMedia(t)}getMediaViewElement(t,e,n){return this._getMedia(e).getViewElement(t,n)}_getMedia(t){if(!t)return new hI(this.locale);t=t.trim();for(const e of this.providerDefinitions){const n=e.html,i=(0,_u.toArray)(e.url);for(const e of i){const i=this._getUrlMatches(t,e);if(i)return new hI(this.locale,t,i,n)}}return null}_getUrlMatches(t,e){let n=t.match(e);if(n)return n;let i=t.replace(/^https?:\/\//,"");return n=i.match(e),n||(i=i.replace(/^www\./,""),n=i.match(e),n||null)}}class hI{constructor(t,e,n,i){this.url=this._getValidUrl(e),this._locale=t,this._match=n,this._previewRenderer=i}getViewElement(t,e){const n={};let i;if(e.renderForEditingView||e.renderMediaPreview&&this.url&&this._previewRenderer){this.url&&(n["data-oembed-url"]=this.url),e.renderForEditingView&&(n.class="ck-media__wrapper");const o=this._getPreviewHtml(e);i=t.createRawElement("div",n,((t,e)=>{e.setContentOf(t,o)}))}else this.url&&(n.url=this.url),i=t.createEmptyElement(e.elementName,n);return t.setCustomProperty("media-content",!0,i),i}_getPreviewHtml(t){return this._previewRenderer?this._previewRenderer(this._match):this.url&&t.renderForEditingView?this._getPlaceholderHtml():""}_getPlaceholderHtml(){const t=new Iu,e=this._locale.t;t.content='',t.viewBox="0 0 64 42";return new xd({tag:"div",attributes:{class:"ck ck-reset_all ck-media__placeholder"},children:[{tag:"div",attributes:{class:"ck-media__placeholder__icon"},children:[t]},{tag:"a",attributes:{class:"ck-media__placeholder__url",target:"_blank",rel:"noopener noreferrer",href:this.url,"data-cke-tooltip-text":e("Open media in new tab")},children:[{tag:"span",attributes:{class:"ck-media__placeholder__url__text"},children:[this.url]}]}]}).render().outerHTML}_getValidUrl(t){return t?t.match(/^https?/)?t:"https://"+t:null}}var mI=__webpack_require__(952),gI={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(mI.Z,gI);mI.Z.locals;class pI extends e{static get pluginName(){return"MediaEmbedEditing"}constructor(t){super(t),t.config.define("mediaEmbed",{elementName:"oembed",providers:[{name:"dailymotion",url:/^dailymotion\.com\/video\/(\w+)/,html:t=>``},{name:"spotify",url:[/^open\.spotify\.com\/(artist\/\w+)/,/^open\.spotify\.com\/(album\/\w+)/,/^open\.spotify\.com\/(track\/\w+)/],html:t=>``},{name:"youtube",url:[/^(?:m\.)?youtube\.com\/watch\?v=([\w-]+)(?:&t=(\d+))?/,/^(?:m\.)?youtube\.com\/v\/([\w-]+)(?:\?t=(\d+))?/,/^youtube\.com\/embed\/([\w-]+)(?:\?start=(\d+))?/,/^youtu\.be\/([\w-]+)(?:\?t=(\d+))?/],html:t=>{const e=t[1],n=t[2];return``}},{name:"vimeo",url:[/^vimeo\.com\/(\d+)/,/^vimeo\.com\/[^/]+\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/album\/[^/]+\/video\/(\d+)/,/^vimeo\.com\/channels\/[^/]+\/(\d+)/,/^vimeo\.com\/groups\/[^/]+\/videos\/(\d+)/,/^vimeo\.com\/ondemand\/[^/]+\/(\d+)/,/^player\.vimeo\.com\/video\/(\d+)/],html:t=>``},{name:"instagram",url:/^instagram\.com\/p\/(\w+)/},{name:"twitter",url:/^twitter\.com/},{name:"googleMaps",url:[/^google\.com\/maps/,/^goo\.gl\/maps/,/^maps\.google\.com/,/^maps\.app\.goo\.gl/]},{name:"flickr",url:/^flickr\.com/},{name:"facebook",url:/^facebook\.com/}]}),this.registry=new uI(t.locale,t.config.get("mediaEmbed"))}init(){const t=this.editor,e=t.model.schema,n=t.t,i=t.conversion,o=t.config.get("mediaEmbed.previewsInData"),r=t.config.get("mediaEmbed.elementName"),s=this.registry;t.commands.add("mediaEmbed",new dI(t)),e.register("media",{inheritAllFrom:"$blockObject",allowAttributes:["url"]}),i.for("dataDowncast").elementToStructure({model:"media",view:(t,{writer:e})=>{const n=t.getAttribute("url");return aI(e,s,n,{elementName:r,renderMediaPreview:n&&o})}}),i.for("dataDowncast").add(sI(s,{elementName:r,renderMediaPreview:o})),i.for("editingDowncast").elementToStructure({model:"media",view:(t,{writer:e})=>{const i=t.getAttribute("url");return function(t,e,n){return e.setCustomProperty("media",!0,t),nw(t,e,{label:n})}(aI(e,s,i,{elementName:r,renderForEditingView:!0}),e,n("media widget"))}}),i.for("editingDowncast").add(sI(s,{elementName:r,renderForEditingView:!0})),i.for("upcast").elementToElement({view:t=>["oembed",r].includes(t.name)&&t.getAttribute("url")?{name:!0}:null,model:(t,{writer:e})=>{const n=t.getAttribute("url");if(s.hasMedia(n))return e.createElement("media",{url:n})}}).elementToElement({view:{name:"div",attributes:{"data-oembed-url":!0}},model:(t,{writer:e})=>{const n=t.getAttribute("data-oembed-url");if(s.hasMedia(n))return e.createElement("media",{url:n})}}).add((t=>{t.on("element:figure",(function(t,e,n){if(!n.consumable.consume(e.viewItem,{name:!0,classes:"media"}))return;const{modelRange:i,modelCursor:o}=n.convertChildren(e.viewItem,e.modelCursor);e.modelRange=i,e.modelCursor=o;(0,_u.first)(i.getItems())||n.consumable.revert(e.viewItem,{name:!0,classes:"media"})}))}))}}const fI=/^(?:http(s)?:\/\/)?[\w-]+\.[\w-.~:/?#[\]@!$&'()*+,;=%]+$/;class bI extends e{static get requires(){return[Pw,dg,Jw]}static get pluginName(){return"AutoMediaEmbed"}constructor(t){super(t),this._timeoutId=null,this._positionToInsert=null}init(){const t=this.editor,e=t.model.document;this.listenTo(t.plugins.get("ClipboardPipeline"),"inputTransformation",(()=>{const t=e.selection.getFirstRange(),n=Fc.fromPosition(t.start);n.stickiness="toPrevious";const i=Fc.fromPosition(t.end);i.stickiness="toNext",e.once("change:data",(()=>{this._embedMediaBetweenPositions(n,i),n.detach(),i.detach()}),{priority:"high"})})),t.commands.get("undo").on("execute",(()=>{this._timeoutId&&(_u.global.window.clearTimeout(this._timeoutId),this._positionToInsert.detach(),this._timeoutId=null,this._positionToInsert=null)}),{priority:"high"})}_embedMediaBetweenPositions(t,e){const n=this.editor,i=n.plugins.get(pI).registry,o=new js(t,e),r=o.getWalker({ignoreElementEnd:!0});let s="";for(const t of r)t.item.is("$textProxy")&&(s+=t.item.data);if(s=s.trim(),!s.match(fI))return void o.detach();if(!i.hasMedia(s))return void o.detach();n.commands.get("mediaEmbed").isEnabled?(this._positionToInsert=Fc.fromPosition(t),this._timeoutId=_u.global.window.setTimeout((()=>{n.model.change((t=>{let e;this._timeoutId=null,t.remove(o),o.detach(),"$graveyard"!==this._positionToInsert.root.rootName&&(e=this._positionToInsert),lI(n.model,s,e,!1),this._positionToInsert.detach(),this._positionToInsert=null})),n.plugins.get("Delete").requestUndoOnBackspace()}),100)):o.detach()}}var kI=__webpack_require__(3525),xI={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(kI.Z,xI);kI.Z.locals;class wI extends Hd{constructor(t,e){super(e);const n=e.t;this.focusTracker=new _u.FocusTracker,this.keystrokes=new _u.KeystrokeHandler,this.set("mediaURLInputValue",""),this.urlInputView=this._createUrlInput(),this.saveButtonView=this._createButton(n("Save"),wu.check,"ck-button-save"),this.saveButtonView.type="submit",this.saveButtonView.bind("isEnabled").to(this,"mediaURLInputValue",(t=>!!t)),this.cancelButtonView=this._createButton(n("Cancel"),wu.cancel,"ck-button-cancel","cancel"),this._focusables=new kd,this._focusCycler=new Xu({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this._validators=t,this.setTemplate({tag:"form",attributes:{class:["ck","ck-media-form","ck-responsive-form"],tabindex:"-1"},children:[this.urlInputView,this.saveButtonView,this.cancelButtonView]}),vu(this)}render(){super.render(),Cu({view:this});[this.urlInputView,this.saveButtonView,this.cancelButtonView].forEach((t=>{this._focusables.add(t),this.focusTracker.add(t.element)})),this.keystrokes.listenTo(this.element);const t=t=>t.stopPropagation();this.keystrokes.set("arrowright",t),this.keystrokes.set("arrowleft",t),this.keystrokes.set("arrowup",t),this.keystrokes.set("arrowdown",t),this.listenTo(this.urlInputView.element,"selectstart",((t,e)=>{e.stopPropagation()}),{priority:"high"})}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}get url(){return this.urlInputView.fieldView.element.value.trim()}set url(t){this.urlInputView.fieldView.element.value=t.trim()}isValid(){this.resetFormStatus();for(const t of this._validators){const e=t(this);if(e)return this.urlInputView.errorText=e,!1}return!0}resetFormStatus(){this.urlInputView.errorText=null,this.urlInputView.infoText=this._urlInputViewInfoDefault}_createUrlInput(){const t=this.locale.t,e=new Wh(this.locale,Zh),n=e.fieldView;return this._urlInputViewInfoDefault=t("Paste the media URL in the input."),this._urlInputViewInfoTip=t("Tip: Paste the URL into the content to embed faster."),e.label=t("Media URL"),e.infoText=this._urlInputViewInfoDefault,n.on("input",(()=>{e.infoText=n.element.value?this._urlInputViewInfoTip:this._urlInputViewInfoDefault,this.mediaURLInputValue=n.element.value.trim()})),e}_createButton(t,e,n,i){const o=new Nu(this.locale);return o.set({label:t,icon:e,tooltip:!0}),o.extendTemplate({attributes:{class:n}}),i&&o.delegate("execute").to(this,i),o}}class _I extends e{static get requires(){return[pI]}static get pluginName(){return"MediaEmbedUI"}init(){const t=this.editor,e=t.commands.get("mediaEmbed"),n=t.plugins.get(pI).registry;t.ui.componentFactory.add("mediaEmbed",(i=>{const o=Ah(i),r=new wI(function(t,e){return[e=>{if(!e.url.length)return t("The URL must not be empty.")},n=>{if(!e.hasMedia(n.url))return t("This media URL is not supported.")}]}(t.t,n),t.locale);return this._setUpDropdown(o,r,e,t),this._setUpForm(o,r,e),o}))}_setUpDropdown(t,e,n){const i=this.editor,o=i.t,r=t.buttonView;t.bind("isEnabled").to(n),t.panelView.children.add(e),r.set({label:o("Insert media"),icon:'',tooltip:!0}),r.on("open",(()=>{e.disableCssTransitions(),e.url=n.value||"",e.urlInputView.fieldView.select(),e.enableCssTransitions()}),{priority:"low"}),t.on("submit",(()=>{e.isValid()&&(i.execute("mediaEmbed",e.url),i.editing.view.focus())})),t.on("change:isOpen",(()=>e.resetFormStatus())),t.on("cancel",(()=>{i.editing.view.focus()}))}_setUpForm(t,e,n){e.delegate("submit","cancel").to(t),e.urlInputView.bind("value").to(n,"value"),e.urlInputView.bind("isReadOnly").to(n,"isEnabled",(t=>!t))}}var AI=__webpack_require__(5777),vI={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(AI.Z,vI);AI.Z.locals;class CI extends e{static get requires(){return[pI,_I,bI,Cw]}static get pluginName(){return"MediaEmbed"}}var yI=__webpack_require__(9289),EI={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(yI.Z,EI);yI.Z.locals;class TI extends Hd{constructor(t){super(t);const e=t.t;this.set("matchCount",0),this.set("highlightOffset",0),this.set("isDirty",!1),this.set("_areCommandsEnabled",{}),this.set("_resultsCounterText",""),this.set("_matchCase",!1),this.set("_wholeWordsOnly",!1),this.bind("_searchResultsFound").to(this,"matchCount",this,"isDirty",((t,e)=>t>0&&!e)),this._findInputView=this._createInputField(e("Find in text…")),this._replaceInputView=this._createInputField(e("Replace with…")),this._findButtonView=this._createButton({label:e("Find"),class:"ck-button-find ck-button-action",withText:!0}),this._findPrevButtonView=this._createButton({label:e("Previous result"),class:"ck-button-prev",icon:Jh,keystroke:"Shift+F3",tooltip:!0}),this._findNextButtonView=this._createButton({label:e("Next result"),class:"ck-button-next",icon:Jh,keystroke:"F3",tooltip:!0}),this._optionsDropdown=this._createOptionsDropdown(),this._replaceButtonView=this._createButton({label:e("Replace"),class:"ck-button-replace",withText:!0}),this._replaceAllButtonView=this._createButton({label:e("Replace all"),class:"ck-button-replaceall",withText:!0}),this._findFieldsetView=this._createFindFieldset(),this._replaceFieldsetView=this._createReplaceFieldset(),this._focusTracker=new _u.FocusTracker,this._keystrokes=new _u.KeystrokeHandler,this._focusables=new kd,this._focusCycler=new Xu({focusables:this._focusables,focusTracker:this._focusTracker,keystrokeHandler:this._keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this.setTemplate({tag:"form",attributes:{class:["ck","ck-find-and-replace-form"],tabindex:"-1"},children:[new Lh(t,{label:e("Find and replace")}),this._findFieldsetView,this._replaceFieldsetView]}),vu(this)}render(){super.render(),Cu({view:this}),this._initFocusCycling(),this._initKeystrokeHandling()}destroy(){super.destroy(),this._focusTracker.destroy(),this._keystrokes.destroy()}focus(){this._focusCycler.focusFirst()}reset(){this._findInputView.errorText=null,this.isDirty=!0}get _textToFind(){return this._findInputView.fieldView.element.value}get _textToReplace(){return this._replaceInputView.fieldView.element.value}_createFindFieldset(){const t=this.locale,e=new Hd(t);return this._findInputView.fieldView.on("input",(()=>{this.isDirty=!0})),this._findButtonView.on("execute",this._onFindButtonExecute.bind(this)),this._findPrevButtonView.delegate("execute").to(this,"findPrevious"),this._findNextButtonView.delegate("execute").to(this,"findNext"),this._findPrevButtonView.bind("isEnabled").to(this,"_areCommandsEnabled",(({findPrevious:t})=>t)),this._findNextButtonView.bind("isEnabled").to(this,"_areCommandsEnabled",(({findNext:t})=>t)),this._injectFindResultsCounter(),e.setTemplate({tag:"fieldset",attributes:{class:["ck","ck-find-and-replace-form__find"]},children:[this._findInputView,this._findButtonView,this._findPrevButtonView,this._findNextButtonView]}),e}_onFindButtonExecute(){if(this._textToFind)this.isDirty=!1,this.fire("findNext",{searchText:this._textToFind,matchCase:this._matchCase,wholeWords:this._wholeWordsOnly});else{const t=this.t;this._findInputView.errorText=t("Text to find must not be empty.")}}_injectFindResultsCounter(){const t=this.locale,e=t.t,n=this.bindTemplate,i=new Hd(t);this.bind("_resultsCounterText").to(this,"highlightOffset",this,"matchCount",((t,n)=>e("%0 of %1",[t,n]))),i.setTemplate({tag:"span",attributes:{class:["ck","ck-results-counter",n.if("isDirty","ck-hidden")]},children:[{text:n.to("_resultsCounterText")}]});const o=()=>{const e=this._findInputView.fieldView.element;if(!e||!(0,_u.isVisible)(e))return;const n=new _u.Rect(i.element).width,o="ltr"===t.uiLanguageDirection?"paddingRight":"paddingLeft";e.style[o]=n?`calc( 2 * var(--ck-spacing-standard) + ${n}px )`:null};this.on("change:_resultsCounterText",o,{priority:"low"}),this.on("change:isDirty",o,{priority:"low"}),this._findInputView.template.children[0].children.push(i)}_createReplaceFieldset(){const t=this.locale,e=t.t,n=new Hd(t);return this._replaceButtonView.bind("isEnabled").to(this,"_areCommandsEnabled",this,"_searchResultsFound",(({replace:t},e)=>t&&e)),this._replaceAllButtonView.bind("isEnabled").to(this,"_areCommandsEnabled",this,"_searchResultsFound",(({replaceAll:t},e)=>t&&e)),this._replaceInputView.bind("isEnabled").to(this,"_areCommandsEnabled",this,"_searchResultsFound",(({replace:t},e)=>t&&e)),this._replaceInputView.bind("infoText").to(this._replaceInputView,"isEnabled",this._replaceInputView,"isFocused",((t,n)=>t||!n?"":e("Tip: Find some text first in order to replace it."))),this._replaceButtonView.on("execute",(()=>{this.fire("replace",{searchText:this._textToFind,replaceText:this._textToReplace})})),this._replaceAllButtonView.on("execute",(()=>{this.fire("replaceAll",{searchText:this._textToFind,replaceText:this._textToReplace}),this.focus()})),n.setTemplate({tag:"fieldset",attributes:{class:["ck","ck-find-and-replace-form__replace"]},children:[this._replaceInputView,this._optionsDropdown,this._replaceButtonView,this._replaceAllButtonView]}),n}_createOptionsDropdown(){const t=this.locale,e=t.t,n=Ah(t);n.class="ck-options-dropdown",n.buttonView.set({withText:!1,label:e("Show options"),icon:wu.cog,tooltip:!0});const i=new Yh({withText:!0,label:e("Match case"),_isMatchCaseSwitch:!0}),o=new Yh({withText:!0,label:e("Whole words only")});return i.bind("isOn").to(this,"_matchCase"),o.bind("isOn").to(this,"_wholeWordsOnly"),n.on("execute",(t=>{t.source._isMatchCaseSwitch?this._matchCase=!this._matchCase:this._wholeWordsOnly=!this._wholeWordsOnly,this.isDirty=!0})),Ch(n,new _u.Collection([{type:"switchbutton",model:i},{type:"switchbutton",model:o}])),n}_initFocusCycling(){[this._findInputView,this._findButtonView,this._findPrevButtonView,this._findNextButtonView,this._replaceInputView,this._optionsDropdown,this._replaceButtonView,this._replaceAllButtonView].forEach((t=>{this._focusables.add(t),this._focusTracker.add(t.element)}))}_initKeystrokeHandling(){const t=t=>t.stopPropagation(),e=t=>{t.stopPropagation(),t.preventDefault()};this._keystrokes.listenTo(this.element),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===this._findInputView.fieldView.element?(this._areCommandsEnabled.findNext?this._findNextButtonView.fire("execute"):this._findButtonView.fire("execute"),e(t)):n!==this._replaceInputView.fieldView.element||this.isDirty||(this._replaceButtonView.fire("execute"),e(t))})),this._keystrokes.set("shift+enter",(t=>{t.target===this._findInputView.fieldView.element&&(this._areCommandsEnabled.findPrevious?this._findPrevButtonView.fire("execute"):this._findButtonView.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"})}_createButton(t){const e=new Nu(this.locale);return e.set(t),e}_createInputField(t){const e=new Wh(this.locale,Zh);return e.label=t,e}}class DI extends e{static get pluginName(){return"FindAndReplaceUI"}constructor(t){super(t),this.formView=null}init(){const t=this.editor;t.ui.componentFactory.add("findAndReplace",(e=>{const n=Ah(e),i=this.formView=new TI(t.locale);return n.bind("isEnabled").to(t.commands.get("find")),n.panelView.children.add(i),n.on("change:isOpen",((t,e,n)=>{n?(i.disableCssTransitions(),i.reset(),i._findInputView.fieldView.select(),i.enableCssTransitions()):this.fire("searchReseted")}),{priority:"low"}),this._setupDropdownButton(n),this._setupFormView(i),n}))}_setupDropdownButton(t){const e=this.editor,n=e.locale.t;t.buttonView.set({icon:'',label:n("Find and replace"),keystroke:"CTRL+F",tooltip:!0}),e.keystrokes.set("Ctrl+F",((e,n)=>{t.isOpen=!0,n()}))}_setupFormView(t){const e=this.editor.commands,n=this.editor.plugins.get("FindAndReplaceEditing").state,i={before:-1,same:0,after:1};t.bind("highlightOffset").to(n,"highlightedResult",(t=>t?Array.from(n.results).sort(((t,e)=>i[t.marker.getStart().compareWith(e.marker.getStart())])).indexOf(t)+1:0)),t.listenTo(n.results,"change",(()=>{t.matchCount=n.results.length})),t.bind("_areCommandsEnabled").to(e.get("findNext"),"isEnabled",e.get("findPrevious"),"isEnabled",e.get("replace"),"isEnabled",e.get("replaceAll"),"isEnabled",((t,e,n,i)=>({findNext:t,findPrevious:e,replace:n,replaceAll:i}))),t.delegate("findNext","findPrevious","replace","replaceAll").to(this),t.on("change:isDirty",((t,e,n)=>{n&&this.fire("searchReseted")}))}}function SI(t,e,n,i){const o=i||new _u.Collection;return e.change((i=>{[...t].forEach((({type:t,item:r})=>{if("elementStart"===t&&e.schema.checkChild(r,"$text")){const t=n({item:r,text:II(e.createRangeIn(r))});if(!t)return;t.forEach((t=>{const e=`findResult:${(0,_u.uid)()}`,n=i.addMarker(e,{usingOperation:!1,affectsData:!1,range:i.createRange(i.createPositionAt(r,t.start),i.createPositionAt(r,t.end))}),s=function(t,e){const n=t.find((({marker:t})=>e.getStart().isBefore(t.getStart())));return n?t.getIndex(n):t.length}(o,n);o.add({id:e,label:t.label,marker:n},s)}))}}))})),o}function II(t){return Array.from(t.getItems()).reduce(((t,e)=>e.is("text")||e.is("textProxy")?t+e.data:`${t}\n`),"")}function BI(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 MI(t,e){let n="gu";e.matchCase||(n+="i");let i=`(${_g(t)})`;if(e.wholeWords){const e="[^a-zA-ZÀ-ɏḀ-ỿ]";new RegExp("^"+e).test(t)||(i=`(^|${e}|_)${i}`),new RegExp(e+"$").test(t)||(i=`${i}(?=_|${e}|$)`)}const o=new RegExp(i,n);return function({text:t}){return[...t.matchAll(o)].map(BI)}}class NI extends i{constructor(t,e){super(t),this.isEnabled=!0,this.affectsData=!1,this._state=e}execute(t,{matchCase:e,wholeWords:n}={}){const{editor:i}=this,{model:o}=i;let r;"string"==typeof t?(r=MI(t,{matchCase:e,wholeWords:n}),this._state.searchText=t):r=t;const s=o.document.getRootNames().reduce(((t,e)=>SI(o.createRangeIn(o.document.getRoot(e)),o,r,t)),null);return this._state.clear(o),this._state.results.addMany(Array.from(s)),this._state.highlightedResult=s.get(0),"string"==typeof t&&(this._state.searchText=t),this._state.matchCase=!!e,this._state.matchWholeWords=!!n,{results:s,findCallback:r}}}class OI extends i{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();if("$graveyard"===o.root.rootName)return void this._state.results.remove(e);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 PI extends OI{execute(t,e){const{editor:n}=this,{model:i}=n,o=e instanceof _u.Collection?e:i.document.getRootNames().reduce(((t,n)=>SI(i.createRangeIn(i.document.getRoot(n)),i,MI(e,this._state),t)),null);o.length&&i.change((()=>{[...o].forEach((e=>{super.execute(t,e)}))}))}}class RI extends i{constructor(t,e){super(t),this.affectsData=!1,this._state=e,this.isEnabled=!1,this.listenTo(this._state.results,"change",(()=>{this.isEnabled=this._state.results.length>1}))}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 LI extends RI{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)}}class zI{constructor(t){this.set("results",new _u.Collection),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()}}(0,_u.mix)(zI,_u.ObservableMixin);var jI=__webpack_require__(5436),FI={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(jI.Z,FI);jI.Z.locals;class VI extends e{static get pluginName(){return"FindAndReplaceEditing"}init(){this._activeResults=null,this.state=new zI(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=Mr(function(t,e,n){if(n){const t=this.editor.editing.view.domConverter,e=this.editor.editing.mapper.toViewRange(n.marker.getRange());(0,us.m)({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=>{SI(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 NI(this.editor,this.state)),this.editor.commands.add("findNext",new RI(this.editor,this.state)),this.editor.commands.add("findPrevious",new LI(this.editor,this.state)),this.editor.commands.add("replace",new OI(this.editor,this.state)),this.editor.commands.add("replaceAll",new PI(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 HI extends e{static get requires(){return[VI,DI]}static get pluginName(){return"FindAndReplace"}init(){const t=this.editor.plugins.get("FindAndReplaceUI"),e=this.editor.plugins.get("FindAndReplaceEditing"),n=e.state;t.on("findNext",((t,e)=>{e?(n.searchText=e.searchText,this.editor.execute("find",e.searchText,e)):this.editor.execute("findNext")})),t.on("findPrevious",((t,e)=>{e&&n.searchText!==e.searchText?this.editor.execute("find",e.searchText):this.editor.execute("findPrevious")})),t.on("replace",((t,e)=>{n.searchText!==e.searchText&&this.editor.execute("find",e.searchText);const i=n.highlightedResult;i&&this.editor.execute("replace",e.replaceText,i)})),t.on("replaceAll",((t,e)=>{n.searchText!==e.searchText&&this.editor.execute("find",e.searchText),this.editor.execute("replaceAll",e.replaceText,n.results)})),t.on("searchReseted",(()=>{n.clear(this.editor.model),e.stop()}))}}class UI extends i{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 qI extends _u.Collection{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))}}(0,_u.mix)(qI,_u.ObservableMixin);var WI=__webpack_require__(2585),ZI={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(WI.Z,ZI);WI.Z.locals;class GI extends Hd{constructor(t,{colors:e,columns:n,removeButtonLabel:i,documentColorsLabel:o,documentColorsCount:r}){super(t),this.items=this.createCollection(),this.colorDefinitions=e,this.focusTracker=new _u.FocusTracker,this.keystrokes=new _u.KeystrokeHandler,this.set("selectedColor"),this.removeButtonLabel=i,this.columns=n,this.documentColors=new qI,this.documentColorsCount=r,this._focusables=new kd,this._focusCycler=new Xu({focusables:this._focusables,focusTracker:this.focusTracker,keystrokeHandler:this.keystrokes,actions:{focusPrevious:"shift + tab",focusNext:"tab"}}),this._documentColorsLabel=o,this.setTemplate({tag:"div",attributes:{class:["ck","ck-color-table"]},children:this.items}),this.items.add(this._createRemoveColorButton())}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(),this.keystrokes.listenTo(this.element)}destroy(){super.destroy(),this.focusTracker.destroy(),this.keystrokes.destroy()}appendGrids(){if(!this.staticColorsGrid&&(this.staticColorsGrid=this._createStaticColorsGrid(),this.items.add(this.staticColorsGrid),this.focusTracker.add(this.staticColorsGrid.element),this._focusables.add(this.staticColorsGrid),this.documentColorsCount)){const t=xd.bind(this.documentColors,this.documentColors),e=new Bh(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),this.focusTracker.add(this.documentColorsGrid.element),this._focusables.add(this.documentColorsGrid)}}focus(){this._focusCycler.focusFirst()}focusLast(){this._focusCycler.focusLast()}_createRemoveColorButton(){const t=new Nu;return t.set({withText:!0,icon:wu.eraser,label:this.removeButtonLabel}),t.class="ck-color-table__remove-color",t.on("execute",(()=>{this.fire("execute",{value:null})})),t.render(),this.focusTracker.add(t.element),this._focusables.add(t),t}_createStaticColorsGrid(){const t=new Uu(this.locale,{colorDefinitions:this.colorDefinitions,columns:this.columns});return t.delegate("execute").to(this),t}_createDocumentColorsGrid(){const t=xd.bind(this.documentColors,this.documentColors),e=new Uu(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 Fu;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 KI="fontSize",$I="fontFamily",YI="fontColor",JI="fontBackgroundColor";function QI(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 XI(t){return e=>e.getStyle(t).replace(/\s/g,"")}function tB(t){return(e,{writer:n})=>n.createAttributeElement("span",{style:`${t}:${e}`},{priority:7})}class eB extends UI{constructor(t){super(t,$I)}}function nB(t){return t.map(iB).filter((t=>!!t))}function iB(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(oB).join(", ");return{title:n,model:i,view:{name:"span",styles:{"font-family":i},priority:7}}}(t):void 0}function oB(t){return(t=t.trim()).indexOf(" ")>0&&(t=`'${t}'`),t}class rB extends e{static get pluginName(){return"FontFamilyEditing"}constructor(t){super(t),t.config.define($I,{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:$I}),t.model.schema.setAttributeProperties($I,{isFormatting:!0,copyOnEnter:!0});const e=nB(t.config.get("fontFamily.options")).filter((t=>t.model)),n=QI($I,e);t.config.get("fontFamily.supportAllValues")?(this._prepareAnyValueConverters(),this._prepareCompatibilityConverter()):t.conversion.attributeToElement(n),t.commands.add($I,new eB(t))}_prepareAnyValueConverters(){const t=this.editor;t.conversion.for("downcast").attributeToElement({model:$I,view:(t,{writer:e})=>e.createAttributeElement("span",{style:"font-family:"+t},{priority:7})}),t.conversion.for("upcast").elementToAttribute({model:{key:$I,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:$I,value:t=>t.getAttribute("face")}})}}class sB extends e{static get pluginName(){return"FontFamilyUI"}init(){const t=this.editor,e=t.t,n=this._getLocalizedOptions(),i=t.commands.get($I);t.ui.componentFactory.add($I,(o=>{const r=Ah(o);return Ch(r,function(t,e){const n=new _u.Collection;for(const i of t){const t={type:"button",model:new Yh({commandName:$I,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 nB(t.config.get($I).options).map((t=>("Default"===t.title&&(t.title=e("Default")),t)))}}class aB extends e{static get requires(){return[rB,sB]}static get pluginName(){return"FontFamily"}}class cB extends UI{constructor(t){super(t,KI)}}function lB(t){return t.map((t=>function(t){if(e=t,"object"==typeof e&&e.title&&e.model&&e.view)return uB(t);var e;const n=function(t){return dB[t]||dB[t.model]}(t);if(n)return uB(n);if("default"===t)return{model:void 0,title:"Default"};if(function(t){let e;if("object"==typeof t){if(!t.model)throw new _u.CKEditorError("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}},uB(t)}(t)}(t))).filter((t=>!!t))}const dB={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 uB(t){return t.view.priority||(t.view.priority=7),t}const hB=["x-small","x-small","small","medium","large","x-large","xx-large","xxx-large"];class mB extends e{static get pluginName(){return"FontSizeEditing"}constructor(t){super(t),t.config.define(KI,{options:["tiny","small","default","big","huge"],supportAllValues:!1})}init(){const t=this.editor;t.model.schema.extend("$text",{allowAttributes:KI}),t.model.schema.setAttributeProperties(KI,{isFormatting:!0,copyOnEnter:!0});const e=t.config.get("fontSize.supportAllValues"),n=lB(this.editor.config.get("fontSize.options")).filter((t=>t.model)),i=QI(KI,n);e?(this._prepareAnyValueConverters(i),this._prepareCompatibilityConverter()):t.conversion.attributeToElement(i),t.commands.add(KI,new cB(t))}_prepareAnyValueConverters(t){const e=this.editor,n=t.model.values.filter((t=>!Dl(String(t))&&!Il(String(t))));if(n.length)throw new _u.CKEditorError("font-size-invalid-use-of-named-presets",null,{presets:n});e.conversion.for("downcast").attributeToElement({model:KI,view:(t,{writer:e})=>{if(t)return e.createAttributeElement("span",{style:"font-size:"+t},{priority:7})}}),e.conversion.for("upcast").elementToAttribute({model:{key:KI,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:KI,value:t=>{const e=t.getAttribute("size"),n="-"===e[0]||"+"===e[0];let i=parseInt(e,10);n&&(i=3+i);const o=hB.length-1,r=Math.min(Math.max(i,0),o);return hB[r]}}})}}var gB=__webpack_require__(6203),pB={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(gB.Z,pB);gB.Z.locals;class fB extends e{static get pluginName(){return"FontSizeUI"}init(){const t=this.editor,e=t.t,n=this._getLocalizedOptions(),i=t.commands.get(KI);t.ui.componentFactory.add(KI,(o=>{const r=Ah(o);return Ch(r,function(t,e){const n=new _u.Collection;for(const i of t){const t={type:"button",model:new Yh({commandName:KI,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 lB(t.config.get(KI).options).map((t=>{const e=n[t.title];return e&&e!=t.title&&(t=Object.assign({},t,{title:e})),t}))}}class bB extends e{static get requires(){return[mB,fB]}static get pluginName(){return"FontSize"}normalizeSizeOptions(t){return lB(t)}}class kB extends UI{constructor(t){super(t,YI)}}class xB extends e{static get pluginName(){return"FontColorEditing"}constructor(t){super(t),t.config.define(YI,{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:YI,value:XI("color")}}),t.conversion.for("upcast").elementToAttribute({view:{name:"font",attributes:{color:/^#?\w+$/}},model:{key:YI,value:t=>t.getAttribute("color")}}),t.conversion.for("downcast").attributeToElement({model:YI,view:tB("color")}),t.commands.add(YI,new kB(t)),t.model.schema.extend("$text",{allowAttributes:YI}),t.model.schema.setAttributeProperties(YI,{isFormatting:!0,copyOnEnter:!0})}}class wB extends e{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=Lu(e,zu(t.config.get(this.componentName).colors)),r=t.config.get(`${this.componentName}.documentColors`);t.ui.componentFactory.add(this.componentName,(e=>{const s=Ah(e);return this.colorTableView=function({dropdownView:t,colors:e,columns:n,removeButtonLabel:i,documentColorsLabel:o,documentColorsCount:r}){const s=t.locale,a=new GI(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())})),yh(s,(()=>s.colorTableView.staticColorsGrid.items.find((t=>t.isOn)))),s}))}}class _B extends wB{constructor(t){const e=t.locale.t;super(t,{commandName:YI,componentName:YI,icon:'',dropdownLabel:e("Font Color")})}static get pluginName(){return"FontColorUI"}}class AB extends e{static get requires(){return[xB,_B]}static get pluginName(){return"FontColor"}}class vB extends UI{constructor(t){super(t,JI)}}class CB extends e{static get pluginName(){return"FontBackgroundColorEditing"}constructor(t){super(t),t.config.define(JI,{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(ql),t.conversion.for("upcast").elementToAttribute({view:{name:"span",styles:{"background-color":/[\s\S]+/}},model:{key:JI,value:XI("background-color")}}),t.conversion.for("downcast").attributeToElement({model:JI,view:tB("background-color")}),t.commands.add(JI,new vB(t)),t.model.schema.extend("$text",{allowAttributes:JI}),t.model.schema.setAttributeProperties(JI,{isFormatting:!0,copyOnEnter:!0})}}class yB extends wB{constructor(t){const e=t.locale.t;super(t,{commandName:JI,componentName:JI,icon:'',dropdownLabel:e("Font Background Color")})}static get pluginName(){return"FontBackgroundColorUI"}}class EB extends e{static get requires(){return[CB,yB]}static get pluginName(){return"FontBackgroundColor"}}class TB extends i{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=>{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?(e.isEqual(r)||t.setAttribute("highlight",i,s),t.setSelectionAttribute("highlight",i)):(e.isEqual(r)||t.removeAttribute("highlight",s),t.removeSelectionAttribute("highlight"))}else i&&t.setSelectionAttribute("highlight",i)}else{const o=e.schema.getValidRanges(n.getRanges(),"highlight");for(const e of o)i?t.setAttribute("highlight",i,e):t.removeAttribute("highlight",e)}}))}}class DB extends e{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 TB(t))}}var SB=__webpack_require__(713),IB={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(SB.Z,IB);SB.Z.locals;class BB extends e{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"),wu.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,MB(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 Nu(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=Ah(s,Ku),l=c.buttonView;l.set({label:n("Highlight"),tooltip:!0,lastExecuted:o.model,commandValue:o.model,isToggleable:!0}),l.bind("icon").to(a,"value",(t=>MB(u(t,"type")))),l.bind("color").to(a,"value",(t=>u(t,"color"))),l.bind("commandValue").to(a,"value",(t=>u(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 u(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 eh),d.push(i.create("removeHighlight")),vh(c,d,{enableActiveItemFocusOnDropdownOpen:!0}),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})})),this.listenTo(c,"execute",(()=>{e.editing.view.focus()})),c}))}}function MB(t){return"marker"===t?'':''}class NB extends e{static get requires(){return[DB,BB]}static get pluginName(){return"Highlight"}}class OB extends i{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=cw(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.insertObject(n,null,null,{setSelection:"after"})}))}}var PB=__webpack_require__(2536),RB={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(PB.Z,RB);PB.Z.locals;class LB extends e{static get pluginName(){return"HorizontalLineEditing"}init(){const t=this.editor,e=t.model.schema,n=t.t,i=t.conversion;e.register("horizontalLine",{inheritAllFrom:"$blockObject"}),i.for("dataDowncast").elementToElement({model:"horizontalLine",view:(t,{writer:e})=>e.createEmptyElement("hr")}),i.for("editingDowncast").elementToStructure({model:"horizontalLine",view:(t,{writer:e})=>{const i=n("Horizontal line"),o=e.createContainerElement("div",null,e.createEmptyElement("hr"));return e.addClass("ck-horizontal-line",o),e.setCustomProperty("hr",!0,o),function(t,e,n){return e.setCustomProperty("horizontalLine",!0,t),nw(t,e,{label:n})}(o,e,i)}}),i.for("upcast").elementToElement({view:"hr",model:"horizontalLine"}),t.commands.add("horizontalLine",new OB(t))}}class zB extends e{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 Nu(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 jB extends e{static get requires(){return[LB,zB,Cw]}static get pluginName(){return"HorizontalLine"}}class FB extends i{refresh(){const t=this.editor.model,e=t.schema,n=t.document.selection,i=VB(n);this.isEnabled=function(t,e,n){const i=function(t,e){const n=cw(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),this.value=i?i.getAttribute("value")||"":null}execute(t){const e=this.editor.model,n=e.document.selection;e.change((i=>{let o;null!==this.value?o=VB(n):(o=i.createElement("rawHtml"),e.insertObject(o,null,null,{setSelection:"on"})),i.setAttribute("value",t,o)}))}}function VB(t){const e=t.getSelectedElement();return e&&e.is("element","rawHtml")?e:null}var HB=__webpack_require__(3403),UB={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(HB.Z,UB);HB.Z.locals;class qB extends e{static get pluginName(){return"HtmlEmbedEditing"}constructor(t){super(t),t.config.define("htmlEmbed",{showPreviews:!1,sanitizeHtml:t=>((0,_u.logWarning)("html-embed-provide-sanitize-function"),{html:t,hasChanged:!1})}),this._widgetButtonViewReferences=new Set}init(){const t=this.editor;t.model.schema.register("rawHtml",{inheritAllFrom:"$blockObject",allowAttributes:["value"]}),t.commands.add("htmlEmbed",new FB(t)),this._setupConversion()}_setupConversion(){const t=this.editor,e=t.t,n=t.editing.view,i=this._widgetButtonViewReferences,o=t.config.get("htmlEmbed");function r({domElement:t,editor:n,state:o,props:r}){t.textContent="";const a=t.ownerDocument;let c;if(o.isEditable){const e={isDisabled:!1,placeholder:r.textareaPlaceholder};c=s({domDocument:a,state:o,props:e}),t.append(c)}else if(o.showPreviews){const i={sanitizeHtml:r.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=(0,_u.createElement)(t,"div",{class:"ck ck-reset_all raw-html-embed__preview-placeholder"},s),c=(0,_u.createElement)(t,"div",{class:"raw-html-embed__preview-content",dir:o.locale.contentLanguageDirection}),l=t.createRange().createContextualFragment(r.html);c.appendChild(l);return(0,_u.createElement)(t,"div",{class:"raw-html-embed__preview"},[a,c])}({domDocument:a,state:o,props:i,editor:n}))}else{const e={isDisabled:!0,placeholder:r.textareaPlaceholder};t.append(s({domDocument:a,state:o,props:e}))}const l={onEditClick:r.onEditClick,onSaveClick:()=>{r.onSaveClick(c.value)},onCancelClick:r.onCancelClick};t.prepend(function({editor:t,domDocument:e,state:n,props:o}){const r=(0,_u.createElement)(e,"div",{class:"raw-html-embed__buttons-wrapper"});if(n.isEditable){const e=WB(t,"save",o.onSaveClick),n=WB(t,"cancel",o.onCancelClick);r.append(e.element,n.element),i.add(e).add(n)}else{const e=WB(t,"edit",o.onEditClick);r.append(e.element),i.add(e)}return r}({editor:n,domDocument:a,state:o,props:l}))}function s({domDocument:t,state:e,props:n}){const i=(0,_u.createElement)(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}this.editor.editing.view.on("render",(()=>{for(const t of i){if(t.element.isConnected)return;t.destroy(),i.delete(t)}}),{priority:"lowest"}),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").elementToStructure({model:{name:"rawHtml",attributes:["value"]},view:(i,{writer:s})=>{let a,c,l;const d=s.createRawElement("div",{class:"raw-html-embed__content-wrapper"},(function(e){a=e,r({domElement:e,editor:t,state:c,props:l}),a.addEventListener("mousedown",(()=>{if(c.isEditable){const e=t.model;e.document.selection.getSelectedElement()!==i&&e.change((t=>t.setSelection(i,"on")))}}),!0)})),u={makeEditable(){c=Object.assign({},c,{isEditable:!0}),r({domElement:a,editor:t,state:c,props:l}),n.change((t=>{t.setAttribute("data-cke-ignore-events","true",d)})),a.querySelector("textarea").focus()},save(e){e!==c.getRawHtmlValue()?(t.execute("htmlEmbed",e),t.editing.view.focus()):this.cancel()},cancel(){c=Object.assign({},c,{isEditable:!1}),r({domElement:a,editor:t,state:c,props:l}),t.editing.view.focus(),n.change((t=>{t.removeAttribute("data-cke-ignore-events",d)}))}};c={showPreviews:o.showPreviews,isEditable:!1,getRawHtmlValue:()=>i.getAttribute("value")||""},l={sanitizeHtml:o.sanitizeHtml,textareaPlaceholder:e("Paste raw HTML here..."),onEditClick(){u.makeEditable()},onSaveClick(t){u.save(t)},onCancelClick(){u.cancel()}};const h=s.createContainerElement("div",{class:"raw-html-embed","data-html-embed-label":e("HTML snippet"),dir:t.locale.uiLanguageDirection},d);return s.setCustomProperty("rawHtmlApi",u,h),s.setCustomProperty("rawHtml",!0,h),nw(h,s,{widgetLabel:e("HTML snippet"),hasSelectionHandle:!0})}})}}function WB(t,e,n){const i=t.locale.t,o=new Nu(t.locale),r=t.commands.get("htmlEmbed");return o.set({class:`raw-html-embed__${e}-button`,icon:wu.pencil,tooltip:!0,tooltipPosition:"rtl"===t.locale.uiLanguageDirection?"e":"w"}),o.render(),"edit"===e?(o.set({icon:wu.pencil,label:i("Edit source")}),o.bind("isEnabled").to(r)):"save"===e?(o.set({icon:wu.check,label:i("Save changes")}),o.bind("isEnabled").to(r)):o.set({icon:wu.cancel,label:i("Cancel")}),o.on("execute",n),o}class ZB extends e{static get pluginName(){return"HtmlEmbedUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add("htmlEmbed",(n=>{const i=t.commands.get("htmlEmbed"),o=new Nu(n);return o.set({label:e("Insert HTML"),icon:'',tooltip:!0}),o.bind("isEnabled").to(i,"isEnabled"),this.listenTo(o,"execute",(()=>{t.execute("htmlEmbed"),t.editing.view.focus();t.editing.view.document.selection.getSelectedElement().getCustomProperty("rawHtmlApi").makeEditable()})),o}))}}class GB extends e{static get requires(){return[qB,ZB,Cw]}static get pluginName(){return"HtmlEmbed"}}const KB=[{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:"table",view:"table"},{model:"tableRow",view:"tr"},{model:"tableCell",view:"td"},{model:"tableCell",view:"th"},{model:"caption",view:"caption"},{model:"caption",view:"figcaption"},{model:"imageBlock",view:"img"},{model:"imageInline",view:"img"},{model:"htmlP",view:"p",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlBlockquote",view:"blockquote",modelSchema:{inheritAllFrom:"$container"}},{model:"htmlTable",view:"table",modelSchema:{allowWhere:"$block",isBlock:!0}},{model:"htmlTbody",view:"tbody",modelSchema:{allowIn:"htmlTable",isBlock:!1}},{model:"htmlThead",view:"thead",modelSchema:{allowIn:"htmlTable",isBlock:!1}},{model:"htmlTfoot",view:"tfoot",modelSchema:{allowIn:"htmlTable",isBlock:!1}},{model:"htmlCaption",view:"caption",modelSchema:{allowIn:"htmlTable",allowChildren:"$text",isBlock:!1}},{model:"htmlColgroup",view:"colgroup",modelSchema:{allowIn:"htmlTable",allowChildren:"col",isBlock:!1}},{model:"htmlCol",view:"col",modelSchema:{allowIn:"htmlColgroup",isBlock:!1}},{model:"htmlTr",view:"tr",modelSchema:{allowIn:["htmlTable","htmlThead","htmlTbody"],isLimit:!0}},{model:"htmlTd",view:"td",modelSchema:{allowIn:"htmlTr",allowContentOf:"$container",isLimit:!0,isBlock:!1}},{model:"htmlTh",view:"th",modelSchema:{allowIn:"htmlTr",allowContentOf:"$container",isLimit:!0,isBlock:!1}},{model:"htmlFigure",view:"figure",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlFigcaption",view:"figcaption",modelSchema:{allowIn:"htmlFigure",allowChildren:"$text",isBlock:!1}},{model:"htmlAddress",view:"address",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlAside",view:"aside",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlMain",view:"main",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlDetails",view:"details",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlSummary",view:"summary",modelSchema:{allowChildren:"$text",allowIn:"htmlDetails",isBlock:!1}},{model:"htmlDiv",view:"div",paragraphLikeModel:"htmlDivParagraph",modelSchema:{inheritAllFrom:"$container"}},{model:"htmlFieldset",view:"fieldset",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlLegend",view:"legend",modelSchema:{allowIn:"htmlFieldset",allowChildren:"$text"}},{model:"htmlHeader",view:"header",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlFooter",view:"footer",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlForm",view:"form",modelSchema:{inheritAllFrom:"$container",isBlock:!0}},{model:"htmlHgroup",view:"hgroup",modelSchema:{allowChildren:["htmlH1","htmlH2","htmlH3","htmlH4","htmlH5","htmlH6"],isBlock:!1}},{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:"$container",allowChildren:["$htmlList","htmlLi"],isBlock:!1}},{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:!1}},{model:"htmlPre",view:"pre",modelSchema:{inheritAllFrom:"$block"}},{model:"htmlArticle",view:"article",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlSection",view:"section",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlNav",view:"nav",modelSchema:{inheritAllFrom:"$container",isBlock:!1}},{model:"htmlDl",view:"dl",modelSchema:{allowWhere:"$container",allowChildren:["htmlDt","htmlDd"],isBlock:!1}},{model:"htmlDt",view:"dt",modelSchema:{allowChildren:"$block",isBlock:!1}},{model:"htmlDd",view:"dd",modelSchema:{allowChildren:"$block",isBlock:!1}},{model:"htmlCenter",view:"center",modelSchema:{inheritAllFrom:"$container",isBlock:!1}}],$B=[{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,coupledAttribute:"linkHref",attributeProperties:{copyOnEnter:!0}},{model:"htmlStrong",view:"strong",coupledAttribute:"bold",attributeProperties:{copyOnEnter:!0}},{model:"htmlB",view:"b",coupledAttribute:"bold",attributeProperties:{copyOnEnter:!0}},{model:"htmlI",view:"i",coupledAttribute:"italic",attributeProperties:{copyOnEnter:!0}},{model:"htmlEm",view:"em",coupledAttribute:"italic",attributeProperties:{copyOnEnter:!0}},{model:"htmlS",view:"s",coupledAttribute:"strikethrough",attributeProperties:{copyOnEnter:!0}},{model:"htmlDel",view:"del",coupledAttribute:"strikethrough",attributeProperties:{copyOnEnter:!0}},{model:"htmlIns",view:"ins",attributeProperties:{copyOnEnter:!0}},{model:"htmlU",view:"u",coupledAttribute:"underline",attributeProperties:{copyOnEnter:!0}},{model:"htmlSub",view:"sub",coupledAttribute:"subscript",attributeProperties:{copyOnEnter:!0}},{model:"htmlSup",view:"sup",coupledAttribute:"superscript",attributeProperties:{copyOnEnter:!0}},{model:"htmlCode",view:"code",coupledAttribute:"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:"htmlObject",view:"object",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlIframe",view:"iframe",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlInput",view:"input",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlButton",view:"button",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlTextarea",view:"textarea",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlSelect",view:"select",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlVideo",view:"video",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlEmbed",view:"embed",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlOembed",view:"oembed",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlAudio",view:"audio",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlImg",view:"img",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlCanvas",view:"canvas",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlMeter",view:"meter",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlProgress",view:"progress",isObject:!0,modelSchema:{inheritAllFrom:"$inlineObject"}},{model:"htmlScript",view:"script",modelSchema:{allowWhere:["$text","$block"],isInline:!0}},{model:"htmlStyle",view:"style",modelSchema:{allowWhere:["$text","$block"],isInline:!0}},{model:"htmlCustomElement",view:"$customElement",modelSchema:{allowWhere:["$text","$block"],isInline:!0}}];const YB=Si((function(t,e,n,i){bi(t,e,n,i)}));class JB extends e{constructor(t){super(t),this._definitions=new Map}static get pluginName(){return"DataSchema"}init(){for(const t of KB)this.registerBlockElement(t);for(const t of $B)this.registerInlineElement(t)}registerBlockElement(t){this._definitions.set(t.model,{...t,isBlock:!0})}registerInlineElement(t){this._definitions.set(t.model,{...t,isInline:!0})}extendBlockElement(t){this._extendDefinition({...t,isBlock:!0})}extendInlineElement(t){this._extendDefinition({...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(0,_u.toArray)(e[i]||[])){const e=this._definitions.get(n);n!==t&&e&&(yield*this._getReferences(e.model),yield e)}}_extendDefinition(t){const e=this._definitions.get(t.model),n=YB({},e,t,((t,e)=>Array.isArray(t)?t.concat(e):void 0));this._definitions.set(t.model,n)}}function QB(t,e,n,i){e&&function(t,e,n){if(e.attributes)for(const[i]of Object.entries(e.attributes))t.removeAttribute(i,n);if(e.styles)for(const i of Object.keys(e.styles))t.removeStyle(i,n);e.classes&&t.removeClass(e.classes,n)}(t,e,i),n&&XB(t,n,i)}function XB(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 tM(t,e){const n=Ks(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 eM({model:t}){return(e,n)=>n.writer.createElement(t,{htmlContent:e.getCustomProperty("$rawContent")})}function nM(t,{view:e,isInline:n}){const i=t.t;return(t,{writer:o})=>{const r=i("HTML object"),s=iM(e,t,o),a=t.getAttribute("htmlAttributes");o.addClass("html-object-embed__content",s),a&&XB(o,a,s);return nw(o.createContainerElement(n?"span":"div",{class:"html-object-embed","data-html-object-embed-label":r},s),o,{widgetLabel:r})}}function iM(t,e,n){return n.createRawElement(t,null,((t,n)=>{n.setContentOf(t,e.getAttribute("htmlContent"))}))}function oM({priority:t,view:e}){return(n,i)=>{if(!n)return;const{writer:o}=i,r=o.createAttributeElement(e,null,{priority:t});return XB(o,n,r),r}}function rM({view:t},e){return n=>{n.on(`element:${t}`,((t,n,i)=>{if(!n.modelRange||n.modelRange.isCollapsed)return;const o=e.processViewAttributes(n.viewItem,i);o&&i.writer.setAttribute("htmlAttributes",o,n.modelRange)}),{priority:"low"})}}function sM({model:t}){return e=>{e.on(`attribute:htmlAttributes:${t}`,((t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const{attributeOldValue:i,attributeNewValue:o}=e;QB(n.writer,i,o,n.mapper.toViewElement(e.item))}))}}const aM=function(t,e,n,i){for(var o=t.length,r=n+(i?1:-1);i?r--:++r-1;)a!==t&&hM.call(a,c,1),hM.call(t,c,1);return t};const gM=Ti((function(t,e){return t&&t.length&&e&&e.length?mM(t,e):t}));var pM=__webpack_require__(8468),fM={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(pM.Z,fM);pM.Z.locals;class bM extends e{constructor(t){super(t),this._dataSchema=t.plugins.get("DataSchema"),this._allowedAttributes=new zn,this._disallowedAttributes=new zn,this._allowedElements=new Set,this._disallowedElements=new Set,this._dataInitialized=!1,this._coupledAttributes=null,this._registerElementsAfterInit(),this._registerElementHandlers(),this._registerModelPostFixer()}static get pluginName(){return"DataFilter"}static get requires(){return[JB,Cw]}loadAllowedConfig(t){for(const e of t){const t=e.name||/[\s\S]+/,n=AM(e);this.allowElement(t),n.forEach((t=>this.allowAttributes(t)))}}loadDisallowedConfig(t){for(const e of t){const t=e.name||/[\s\S]+/,n=AM(e);0==n.length?this.disallowElement(t):n.forEach((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.editor.data.once("set",(()=>{this._fireRegisterEvent(e)}),{priority:_u.priorities.get("highest")+1}),this._coupledAttributes=null)}disallowElement(t){for(const e of this._dataSchema.getDefinitionsForView(t,!1))this._disallowedElements.add(e.view)}allowAttributes(t){this._allowedAttributes.add(t)}disallowAttributes(t){this._disallowedAttributes.add(t)}processViewAttributes(t,e){return kM(t,e,this._disallowedAttributes),kM(t,e,this._allowedAttributes)}_registerElementsAfterInit(){this.editor.data.on("init",(()=>{this._dataInitialized=!0;for(const t of this._allowedElements)this._fireRegisterEvent(t)}),{priority:_u.priorities.get("highest")+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 _u.CKEditorError("data-filter-invalid-definition",null,e);this._registerInlineElement(e)}t.stop()}),{priority:"lowest"})}_registerModelPostFixer(){const t=this.editor.model;t.document.registerPostFixer((e=>{const n=t.document.differ.getChanges();let i=!1;const o=this._getCoupledAttributesMap();for(const t of n){if("attribute"!=t.type||null!==t.attributeNewValue)continue;const n=o.get(t.attributeKey);if(n)for(const{item:o}of t.range.getWalker({shallow:!0}))for(const t of n)o.hasAttribute(t)&&(e.removeAttribute(t,o),i=!0)}return i}))}_getCoupledAttributesMap(){if(this._coupledAttributes)return this._coupledAttributes;this._coupledAttributes=new Map;for(const t of this._allowedElements)if(t.coupledAttribute&&t.model){const e=this._coupledAttributes.get(t.coupledAttribute);e?e.push(t.model):this._coupledAttributes.set(t.coupledAttribute,[t.model])}}_fireRegisterEvent(t){t.view&&this._disallowedElements.has(t.view)||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").elementToElement({view:o,model:eM(t),converterPriority:_u.priorities.get("low")+1}),i.for("upcast").add(rM(t,this)),i.for("editingDowncast").elementToStructure({model:{name:r,attributes:["htmlAttributes"]},view:nM(e,t)}),i.for("dataDowncast").elementToElement({model:r,view:(t,{writer:e})=>iM(o,t,e)}),i.for("dataDowncast").add(sM(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:_u.priorities.get("low")+1}),i.for("downcast").elementToElement({model:r,view:o})}o&&(n.extend(t.model,{allowAttributes:"htmlAttributes"}),i.for("upcast").add(rM(t,this)),i.for("downcast").add(sM(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(function({view:t,model:e},n){return i=>{i.on(`element:${t}`,((t,i,o)=>{let r=n.processViewAttributes(i.viewItem,o);if(r||o.consumable.test(i.viewItem,{name:!0})){r=r||{},o.consumable.consume(i.viewItem,{name:!0}),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=tM(r,t.getAttribute(e)||{});o.writer.setAttribute(e,n,t)}}}),{priority:"low"})}}(t,this)),i.for("downcast").attributeToElement({model:o,view:oM(t)})}}function kM(t,e,n){const i=function(t,{consumable:e},n){const i=n.matchAll(t)||[],o=[];for(const n of i)xM(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={};if(o.size)for(const t of o)vM(t)||o.delete(t);return o.size&&(a.attributes=wM(o,(e=>t.getAttribute(e)))),r.size&&(a.styles=wM(r,(e=>t.getStyle(e)))),s.size&&(a.classes=Array.from(s)),Object.keys(a).length?a:null}function xM(t,e,n){for(const i of["attributes","classes","styles"]){const o=n.match[i];if(o)for(const n of Array.from(o))t.test(e,{[i]:[n]})||gM(o,n)}}function wM(t,e){const n={};for(const i of t){void 0!==e(i)&&(n[i]=e(i))}return n}function _M(t,e){const{name:n}=t;return f(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 AM(t){const{name:e,attributes:n,classes:i,styles:o}=t,r=[];return n&&r.push(..._M({name:e,attributes:n},"attributes")),i&&r.push(..._M({name:e,classes:i},"classes")),o&&r.push(..._M({name:e,styles:o},"styles")),r}function vM(t){try{document.createAttribute(t)}catch(t){return!1}return!0}class CM extends e{static get requires(){return[bM]}static get pluginName(){return"CodeBlockElementSupport"}init(){if(!this.editor.plugins.has("CodeBlockEditing"))return;const t=this.editor.plugins.get(bM);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(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.processViewAttributes(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{attributeOldValue:i,attributeNewValue:o}=e,r=n.mapper.toViewElement(e.item).parent;QB(n.writer,i,o,r)})),t.on("attribute:htmlContentAttributes:codeBlock",((t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const{attributeOldValue:i,attributeNewValue:o}=e,r=n.mapper.toViewElement(e.item);QB(n.writer,i,o,r)}))})),e.stop()}))}}class yM extends e{static get requires(){return[bM]}static get pluginName(){return"DualContentModelElementSupport"}init(){this.editor.plugins.get(bM).on("register",((t,e)=>{const n=this.editor,i=n.model.schema,o=n.conversion;if(!e.paragraphLikeModel)return;if(i.isRegistered(e.model)||i.isRegistered(e.paragraphLikeModel))return;const r={model:e.paragraphLikeModel,view:e.view};i.register(e.model,e.modelSchema),i.register(r.model,{inheritAllFrom:"$block"}),o.for("upcast").elementToElement({view:e.view,model:(t,{writer:n})=>this._hasBlockContent(t)?n.createElement(e.model):n.createElement(r.model),converterPriority:_u.priorities.get("low")+1}),o.for("downcast").elementToElement({view:e.view,model:e.model}),this._addAttributeConversion(e),o.for("downcast").elementToElement({view:r.view,model:r.model}),this._addAttributeConversion(r),t.stop()}))}_hasBlockContent(t){const e=this.editor.editing.view,n=e.domConverter.blockElements;for(const i of e.createRangeIn(t).getItems())if(i.is("element")&&n.includes(i.name))return!0;return!1}_addAttributeConversion(t){const e=this.editor,n=e.conversion,i=e.plugins.get(bM);e.model.schema.extend(t.model,{allowAttributes:"htmlAttributes"}),n.for("upcast").add(rM(t,i)),n.for("downcast").add(sM(t))}}class EM extends e{static get requires(){return[JB]}static get pluginName(){return"HeadingElementSupport"}init(){const t=this.editor;if(!t.plugins.has("HeadingEditing"))return;const e=t.plugins.get(JB),n=t.config.get("heading.options"),i=[];for(const t of n)"model"in t&&"view"in t&&(e.registerBlockElement({view:t.view,model:t.model}),i.push(t.model));e.extendBlockElement({model:"htmlHgroup",modelSchema:{allowChildren:i}})}}class TM extends e{static get requires(){return[bM]}static get pluginName(){return"ImageElementSupport"}init(){const t=this.editor;if(!t.plugins.has("ImageInlineEditing")&&!t.plugins.has("ImageBlockEditing"))return;const e=t.model.schema,n=t.conversion,i=t.plugins.get(bM);i.on("register:figure",(()=>{n.for("upcast").add(function(t){return e=>{e.on("element:figure",((e,n,i)=>{const o=n.viewItem;if(!n.modelRange||!o.hasClass("image"))return;const r=t.processViewAttributes(o,i);r&&i.writer.setAttribute("htmlFigureAttributes",r,n.modelRange)}),{priority:"low"})}}(i))})),i.on("register:img",((t,o)=>{"imageBlock"!==o.model&&"imageInline"!==o.model||(e.isRegistered("imageBlock")&&e.extend("imageBlock",{allowAttributes:["htmlAttributes","htmlFigureAttributes","htmlLinkAttributes"]}),e.isRegistered("imageInline")&&e.extend("imageInline",{allowAttributes:["htmlA","htmlAttributes"]}),n.for("upcast").add(function(t){return e=>{e.on("element:img",((e,n,i)=>{if(!n.modelRange)return;const o=n.viewItem,r=o.parent;function s(e,o){const r=t.processViewAttributes(e,i);r&&i.writer.setAttribute(o,r,n.modelRange)}function a(t){n.modelRange&&n.modelRange.getContainedElement().is("element","imageBlock")&&s(t,"htmlLinkAttributes")}s(o,"htmlAttributes"),r.is("element","a")&&a(r)}),{priority:"low"})}}(i)),n.for("downcast").add((t=>{function e(e){t.on(`attribute:${e}:imageInline`,((t,e,n)=>{if(!n.consumable.consume(e.item,t.name))return;const{attributeOldValue:i,attributeNewValue:o}=e,r=n.mapper.toViewElement(e.item);QB(n.writer,i,o,r)}),{priority:"low"})}function n(e,n){t.on(`attribute:${n}:imageBlock`,((t,n,i)=>{if(!i.consumable.test(n.item,t.name))return;const{attributeOldValue:o,attributeNewValue:r}=n,s=i.mapper.toViewElement(n.item),a=DM(i.writer,s,e);a&&(QB(i.writer,o,r,a),i.consumable.consume(n.item,t.name))}),{priority:"low"}),"a"===e&&t.on("attribute:linkHref:imageBlock",((t,e,n)=>{if(!n.consumable.consume(e.item,"attribute:htmlLinkAttributes:imageBlock"))return;const i=n.mapper.toViewElement(e.item),o=DM(n.writer,i,"a");XB(n.writer,e.item.getAttribute("htmlLinkAttributes"),o)}),{priority:"low"})}e("htmlAttributes"),n("img","htmlAttributes"),n("figure","htmlFigureAttributes"),n("a","htmlLinkAttributes")})),t.stop())}))}}function DM(t,e,n){const i=t.createRangeOn(e);for(const{item:t}of i.getWalker())if(t.is("element",n))return t}class SM extends e{static get requires(){return[bM]}static get pluginName(){return"MediaEmbedElementSupport"}init(){const t=this.editor;if(!t.plugins.has("MediaEmbed")||t.config.get("mediaEmbed.previewsInData"))return;const e=t.model.schema,n=t.conversion,i=this.editor.plugins.get(bM),o=this.editor.plugins.get(JB),r=t.config.get("mediaEmbed.elementName");o.registerBlockElement({model:"media",view:r}),i.on("register:figure",(()=>{n.for("upcast").add(function(t){return e=>{e.on("element:figure",((e,n,i)=>{const o=n.viewItem;if(!n.modelRange||!o.hasClass("media"))return;const r=t.processViewAttributes(o,i);r&&i.writer.setAttribute("htmlFigureAttributes",r,n.modelRange)}),{priority:"low"})}}(i))})),i.on(`register:${r}`,((t,o)=>{"media"===o.model&&(e.extend("media",{allowAttributes:["htmlAttributes","htmlFigureAttributes"]}),n.for("upcast").add(function(t,e){return t=>{t.on(`element:${e}`,n)};function n(e,n,i){function o(e,o){const r=t.processViewAttributes(e,i);r&&i.writer.setAttribute(o,r,n.modelRange)}o(n.viewItem,"htmlAttributes")}}(i,r)),n.for("dataDowncast").add(function(t){return e=>{function n(t,n){e.on(`attribute:${n}:media`,((e,n,i)=>{if(!i.consumable.consume(n.item,e.name))return;const{attributeOldValue:o,attributeNewValue:r}=n,s=i.mapper.toViewElement(n.item),a=function(t,e,n){const i=t.createRangeOn(e);for(const{item:t}of i.getWalker())if(t.is("element",n))return t}(i.writer,s,t);QB(i.writer,o,r,a)}))}n(t,"htmlAttributes"),n("figure","htmlFigureAttributes")}}(r)),t.stop())}))}}class IM extends e{static get requires(){return[bM]}static get pluginName(){return"ScriptElementSupport"}init(){const t=this.editor.plugins.get(bM);t.on("register:script",((e,n)=>{const i=this.editor,o=i.model.schema,r=i.conversion;o.register("htmlScript",n.modelSchema),o.extend("htmlScript",{allowAttributes:["htmlAttributes","htmlContent"],isContent:!0}),i.data.registerRawContentMatcher({name:"script"}),r.for("upcast").elementToElement({view:"script",model:eM(n)}),r.for("upcast").add(rM(n,t)),r.for("downcast").elementToElement({model:"htmlScript",view:(t,{writer:e})=>iM("script",t,e)}),r.for("downcast").add(sM(n)),e.stop()}))}}class BM extends e{static get requires(){return[bM]}static get pluginName(){return"TableElementSupport"}init(){const t=this.editor;if(!t.plugins.has("TableEditing"))return;const e=t.model.schema,n=t.conversion,i=t.plugins.get(bM);i.on("register:figure",(()=>{n.for("upcast").add(function(t){return e=>{e.on("element:figure",((e,n,i)=>{const o=n.viewItem;if(!n.modelRange||!o.hasClass("table"))return;const r=t.processViewAttributes(o,i);r&&i.writer.setAttribute("htmlFigureAttributes",r,n.modelRange)}),{priority:"low"})}}(i))})),i.on("register:table",((t,o)=>{"table"===o.model&&(e.extend("table",{allowAttributes:["htmlAttributes","htmlFigureAttributes","htmlTheadAttributes","htmlTbodyAttributes"]}),n.for("upcast").add(function(t){return e=>{e.on("element:table",((e,n,i)=>{const o=n.viewItem;r(o,"htmlAttributes");for(const t of o.getChildren())t.is("element","thead")&&r(t,"htmlTheadAttributes"),t.is("element","tbody")&&r(t,"htmlTbodyAttributes");function r(e,o){const r=t.processViewAttributes(e,i);r&&i.writer.setAttribute(o,r,n.modelRange)}}))}}(i)),n.for("downcast").add((t=>{function e(e,n){t.on(`attribute:${n}:table`,((t,n,i)=>{if(!i.consumable.consume(n.item,t.name))return;const o=i.mapper.toViewElement(n.item),r=function(t,e,n){const i=t.createRangeOn(e);for(const{item:t}of i.getWalker())if(t.is("element",n))return t}(i.writer,o,e);XB(i.writer,n.attributeNewValue,r)}))}e("table","htmlAttributes"),e("figure","htmlFigureAttributes"),e("thead","htmlTheadAttributes"),e("tbody","htmlTbodyAttributes")})),t.stop())}))}}class MM extends e{static get requires(){return[bM]}static get pluginName(){return"StyleElementSupport"}init(){const t=this.editor.plugins.get(bM);t.on("register:style",((e,n)=>{const i=this.editor,o=i.model.schema,r=i.conversion;o.register("htmlStyle",n.modelSchema),o.extend("htmlStyle",{allowAttributes:["htmlAttributes","htmlContent"],isContent:!0}),i.data.registerRawContentMatcher({name:"style"}),r.for("upcast").elementToElement({view:"style",model:eM(n)}),r.for("upcast").add(rM(n,t)),r.for("downcast").elementToElement({model:"htmlStyle",view:(t,{writer:e})=>iM("style",t,e)}),r.for("downcast").add(sM(n)),e.stop()}))}}class NM extends e{static get requires(){return[bM]}static get pluginName(){return"DocumentListElementSupport"}init(){const t=this.editor;if(!t.plugins.has("DocumentListEditing"))return;const e=t.model.schema,n=t.conversion,i=t.plugins.get(bM),o=t.plugins.get("DocumentListEditing");o.registerDowncastStrategy({scope:"item",attributeName:"htmlLiAttributes",setAttributeOnDowncast(t,e,n){XB(t,e,n)}}),o.registerDowncastStrategy({scope:"list",attributeName:"htmlListAttributes",setAttributeOnDowncast(t,e,n){XB(t,e,n)}}),i.on("register",((t,o)=>{["ul","ol","li"].includes(o.view)&&(t.stop(),e.checkAttribute("$block","htmlListAttributes")||(e.extend("$block",{allowAttributes:["htmlListAttributes","htmlLiAttributes"]}),e.extend("$blockObject",{allowAttributes:["htmlListAttributes","htmlLiAttributes"]}),e.extend("$container",{allowAttributes:["htmlListAttributes","htmlLiAttributes"]}),n.for("upcast").add((t=>{t.on("element:ul",OM("htmlListAttributes",i),{priority:"low"}),t.on("element:ol",OM("htmlListAttributes",i),{priority:"low"}),t.on("element:li",OM("htmlLiAttributes",i),{priority:"low"})}))))})),o.on("postFixer",((t,{listNodes:e,writer:n})=>{const i=[];for(const{node:o,previous:r}of e){if(!r)continue;const e=o.getAttribute("listIndent"),s=r.getAttribute("listIndent");let a=null;if(e>s?i[s]=r:e{t.model.change((t=>{for(const e of n)t.setAttribute("htmlListAttributes",{},e)}))}))}}function OM(t,e){return(n,i,o)=>{const r=i.viewItem;i.modelRange||Object.assign(i,o.convertChildren(i.viewItem,i.modelCursor));const s=e.processViewAttributes(r,o);for(const e of i.modelRange.getItems({shallow:!0}))e.hasAttribute("listItemId")&&(e.hasAttribute(t)||o.writer.setAttribute(t,s||{},e))}}class PM extends e{static get requires(){return[bM,JB]}static get pluginName(){return"CustomElementSupport"}init(){const t=this.editor.plugins.get(bM),e=this.editor.plugins.get(JB);t.on("register:$customElement",((n,i)=>{n.stop();const o=this.editor,r=o.model.schema,s=o.conversion,a=o.editing.view.domConverter.unsafeElements,c=o.data.htmlProcessor.domConverter.preElements;r.register(i.model,i.modelSchema),r.extend(i.model,{allowAttributes:["htmlElementName","htmlAttributes","htmlContent"],isContent:!0}),s.for("upcast").elementToElement({view:/.*/,model:(n,r)=>{if("$comment"==n.name)return;if(!function(t){try{document.createElement(t)}catch(t){return!1}return!0}(n.name))return;if(e.getDefinitionsForView(n.name).size)return;a.includes(n.name)||a.push(n.name),c.includes(n.name)||c.push(n.name);const s=r.writer.createElement(i.model,{htmlElementName:n.name}),l=t.processViewAttributes(n,r);l&&r.writer.setAttribute("htmlAttributes",l,s);const d=new bl(n.document).createDocumentFragment(n),u=o.data.processor.toData(d);r.writer.setAttribute("htmlContent",u,s);for(const{item:t}of o.editing.view.createRangeIn(n))r.consumable.consume(t,{name:!0});return s},converterPriority:"low"}),s.for("editingDowncast").elementToElement({model:{name:i.model,attributes:["htmlElementName","htmlAttributes","htmlContent"]},view:(t,{writer:e})=>{const n=t.getAttribute("htmlElementName"),i=e.createRawElement(n);return t.hasAttribute("htmlAttributes")&&XB(e,t.getAttribute("htmlAttributes"),i),i}}),s.for("dataDowncast").elementToElement({model:{name:i.model,attributes:["htmlElementName","htmlAttributes","htmlContent"]},view:(t,{writer:e})=>{const n=t.getAttribute("htmlElementName"),i=t.getAttribute("htmlContent"),o=e.createRawElement(n,null,((t,e)=>{e.setContentOf(t,i);const n=t.firstChild;for(n.remove();n.firstChild;)t.appendChild(n.firstChild)}));return t.hasAttribute("htmlAttributes")&&XB(e,t.getAttribute("htmlAttributes"),o),o}})}))}}class RM extends e{static get pluginName(){return"GeneralHtmlSupport"}static get requires(){return[bM,CM,yM,EM,TM,SM,IM,BM,MM,NM,PM]}init(){const t=this.editor,e=t.plugins.get(bM);e.loadAllowedConfig(t.config.get("htmlSupport.allow")||[]),e.loadDisallowedConfig(t.config.get("htmlSupport.disallow")||[])}getGhsAttributeNameForElement(t){const e=this.editor.plugins.get("DataSchema"),n=Array.from(e.getDefinitionsForView(t,!1));return n&&n.length&&n[0].isInline&&!n[0].isObject?n[0].model:"htmlAttributes"}addModelHtmlClass(t,e,n){const i=this.editor.model,o=this.getGhsAttributeNameForElement(t);i.change((t=>{for(const r of LM(i,n,o))zM(t,r,o,"classes",(t=>{for(const n of(0,_u.toArray)(e))t.add(n)}))}))}removeModelHtmlClass(t,e,n){const i=this.editor.model,o=this.getGhsAttributeNameForElement(t);i.change((t=>{for(const r of LM(i,n,o))zM(t,r,o,"classes",(t=>{for(const n of(0,_u.toArray)(e))t.delete(n)}))}))}setModelHtmlAttributes(t,e,n){const i=this.editor.model,o=this.getGhsAttributeNameForElement(t);i.change((t=>{for(const r of LM(i,n,o))zM(t,r,o,"attributes",(t=>{for(const[n,i]of Object.entries(e))t.set(n,i)}))}))}removeModelHtmlAttributes(t,e,n){const i=this.editor.model,o=this.getGhsAttributeNameForElement(t);i.change((t=>{for(const r of LM(i,n,o))zM(t,r,o,"attributes",(t=>{for(const n of(0,_u.toArray)(e))t.delete(n)}))}))}setModelHtmlStyles(t,e,n){const i=this.editor.model,o=this.getGhsAttributeNameForElement(t);i.change((t=>{for(const r of LM(i,n,o))zM(t,r,o,"styles",(t=>{for(const[n,i]of Object.entries(e))t.set(n,i)}))}))}removeModelHtmlStyles(t,e,n){const i=this.editor.model,o=this.getGhsAttributeNameForElement(t);i.change((t=>{for(const r of LM(i,n,o))zM(t,r,o,"styles",(t=>{for(const n of(0,_u.toArray)(e))t.delete(n)}))}))}}function*LM(t,e,n){if(e.is("documentSelection")&&e.isCollapsed)t.schema.checkAttributeInSelection(e,n)&&(yield e);else for(const i of function(t,e,n){return e.is("node")||e.is("$text")||e.is("$textProxy")?t.schema.checkAttribute(e,n)?[t.createRangeOn(e)]:[]:t.schema.getValidRanges(t.createSelection(e).getRanges(),n)}(t,e,n))yield*i.getItems({shallow:!0})}function zM(t,e,n,i,o){const r=e.getAttribute(n),s={};for(const t of["attributes","styles","classes"])if(t!=i)r&&r[t]&&(s[t]=r[t]);else{const e="classes"==t?new Set(r&&r[t]||[]):new Map(Object.entries(r&&r[t]||{}));o(e),e.size&&(s[t]="classes"==t?Array.from(e):Object.fromEntries(e))}Object.keys(s).length?e.is("documentSelection")?t.setSelectionAttribute(n,s):t.setAttribute(n,s,e):r&&(e.is("documentSelection")?t.removeSelectionAttribute(n):t.removeAttribute(n,e))}class jM extends e{static get pluginName(){return"HtmlComment"}init(){const t=this.editor;t.model.schema.addAttributeCheck(((t,e)=>{if(t.endsWith("$root")&&e.startsWith("$comment"))return!0})),t.conversion.for("upcast").elementToMarker({view:"$comment",model:(t,{writer:e})=>{const n=this.editor.model.document.getRoot(),i=t.getCustomProperty("$rawContent"),o=`$comment:${(0,_u.uid)()}`;return e.setAttribute(o,i,n),o}}),t.conversion.for("dataDowncast").markerToElement({model:"$comment",view:(t,{writer:e})=>{const n=this.editor.model.document.getRoot(),i=t.markerName,o=n.getAttribute(i),r=e.createUIElement("$comment");return e.setCustomProperty("$rawContent",o,r),r}}),t.model.document.registerPostFixer((e=>{const n=t.model.document.getRoot(),i=t.model.document.differ.getChangedMarkers().filter((t=>t.name.startsWith("$comment"))),o=i.filter((t=>{const e=t.data.newRange;return e&&"$graveyard"===e.root.rootName}));if(0===o.length)return!1;for(const t of o)e.removeMarker(t.name),e.removeAttribute(t.name,n);return!0})),t.data.on("set",(()=>{for(const e of t.model.markers.getMarkersGroup("$comment"))this.removeHtmlComment(e.name)}),{priority:"high"}),t.model.on("deleteContent",((e,[n])=>{for(const e of n.getRanges()){const n=t.model.schema.getLimitElement(e),i=t.model.createPositionAt(n,0),o=t.model.createPositionAt(n,"end");let r;r=i.isTouching(e.start)&&o.isTouching(e.end)?this.getHtmlCommentsInRange(t.model.createRange(i,o)):this.getHtmlCommentsInRange(e,{skipBoundaries:!0});for(const t of r)this.removeHtmlComment(t)}}),{priority:"high"})}createHtmlComment(t,e){const n=(0,_u.uid)(),i=this.editor.model,o=i.document.getRoot(),r=`$comment:${n}`;return i.change((n=>{const i=n.createRange(t);return n.addMarker(r,{usingOperation:!0,affectsData:!0,range:i}),n.setAttribute(r,e,o),r}))}removeHtmlComment(t){const e=this.editor,n=e.model.document.getRoot(),i=e.model.markers.get(t);return!!i&&(e.model.change((e=>{e.removeMarker(i),e.removeAttribute(t,n)})),!0)}getHtmlCommentData(t){const e=this.editor,n=e.model.markers.get(t),i=e.model.document.getRoot();return n?{content:i.getAttribute(t),position:n.getStart()}:null}getHtmlCommentsInRange(t,{skipBoundaries:e=!1}={}){const n=!e;return Array.from(this.editor.model.markers.getMarkersGroup("$comment")).filter((e=>function(t,e){const i=t.getRange().start;return(i.isAfter(e.start)||n&&i.isEqual(e.start))&&(i.isBefore(e.end)||n&&i.isEqual(e.end))}(e,t))).map((t=>t.name))}}class FM extends i{refresh(){const t=this.editor.model,e=t.document;this.isEnabled=t.schema.checkAttributeInSelection(e.selection,"mention")}execute(t){const e=this.editor.model,n=e.document.selection,i="string"==typeof t.mention?{id:t.mention}:t.mention,o=i.id,r=t.range||n.getFirstRange(),s=t.text||o,a=HM({_text:s,id:o},i);if(1!=t.marker.length)throw new _u.CKEditorError("mentioncommand-incorrect-marker",this);if(o.charAt(0)!=t.marker)throw new _u.CKEditorError("mentioncommand-incorrect-id",this);e.change((t=>{const i=(0,_u.toMap)(n.getAttributes()),o=new Map(i.entries());o.set("mention",a),e.insertContent(t.createText(s,o),r),e.insertContent(t.createText(" ",i),r.start.getShiftedBy(s.length))}))}}class VM extends e{static get pluginName(){return"MentionEditing"}init(){const t=this.editor,e=t.model,n=e.document;e.schema.extend("$text",{allowAttributes:"mention"}),t.conversion.for("upcast").elementToAttribute({view:{name:"span",key:"data-mention",classes:"mention"},model:{key:"mention",value:t=>UM(t)}}),t.conversion.for("downcast").attributeToElement({model:"mention",view:WM}),t.conversion.for("downcast").add(qM),n.registerPostFixer((t=>function(t,e,n){const i=e.differ.getChanges();let o=!1;for(const e of i){const i=e.position;if("$text"==e.name){const e=i.textNode&&i.textNode.nextSibling;o=GM(i.textNode,t)||o,o=GM(e,t)||o,o=GM(i.nodeBefore,t)||o,o=GM(i.nodeAfter,t)||o}if("$text"!=e.name&&"insert"==e.type){const e=i.nodeAfter;for(const n of t.createRangeIn(e).getItems())o=GM(n,t)||o}if("insert"==e.type&&n.isInline(e.name)){const e=i.nodeAfter&&i.nodeAfter.nextSibling;o=GM(i.nodeBefore,t)||o,o=GM(e,t)||o}}return o}(t,n,e.schema))),n.registerPostFixer((t=>function(t,e){const n=e.differ.getChanges();let i=!1;for(const e of n)if("attribute"===e.type&&"mention"!=e.attributeKey){const n=e.range.start.nodeBefore,o=e.range.end.nodeAfter;for(const r of[n,o])ZM(r)&&r.getAttribute(e.attributeKey)!=e.attributeNewValue&&(t.setAttribute(e.attributeKey,e.attributeNewValue,r),i=!0)}return i}(t,n))),n.registerPostFixer((t=>function(t,e){const n=e.selection,i=n.focus;if(n.isCollapsed&&n.hasAttribute("mention")&&function(t){const e=t.isAtStart;return t.nodeBefore&&t.nodeBefore.is("$text")||e}(i))return t.removeSelectionAttribute("mention"),!0}(t,n))),t.commands.add("mention",new FM(t))}}function HM(t,e){return Object.assign({uid:(0,_u.uid)()},t,e||{})}function UM(t,e){const n=t.getAttribute("data-mention"),i=t.getChild(0);if(!i)return;return HM({id:n,_text:i.data},e)}function qM(t){t.on("attribute:mention",((t,e,n)=>{const i=e.attributeNewValue;if(!e.item.is("$textProxy")||!i)return;const o=e.range.start;(o.textNode||o.nodeAfter).data!=i._text&&n.consumable.consume(e.item,t.name)}),{priority:"highest"})}function WM(t,{writer:e}){if(!t)return;const n={class:"mention","data-mention":t.id},i={id:t.uid,priority:20};return e.createAttributeElement("span",n,i)}function ZM(t){if(!t||!t.is("$text")&&!t.is("$textProxy")||!t.hasAttribute("mention"))return!1;return t.data!=t.getAttribute("mention")._text}function GM(t,e){return!!ZM(t)&&(e.removeAttribute("mention",t),!0)}var KM=__webpack_require__(6391),$M={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(KM.Z,$M);KM.Z.locals;class YM extends ph{constructor(t){super(t),this.extendTemplate({attributes:{class:["ck-mentions"],tabindex:"-1"}})}selectFirst(){this.select(0)}selectNext(){const t=this.selected,e=this.items.getIndex(t);this.select(e+1)}selectPrevious(){const t=this.selected,e=this.items.getIndex(t);this.select(e-1)}select(t){let e=0;t>0&&t{n?(this.domElement.classList.add("ck-on"),this.domElement.classList.remove("ck-off")):(this.domElement.classList.add("ck-off"),this.domElement.classList.remove("ck-on"))})),this.listenTo(this.domElement,"click",(()=>{this.fire("execute")}))}render(){super.render(),this.element=this.domElement}}class QM extends fh{highlight(){this.children.first.isOn=!0}removeHighlight(){this.children.first.isOn=!1}}const XM=[_u.keyCodes.arrowup,_u.keyCodes.arrowdown,_u.keyCodes.esc],tN=[_u.keyCodes.enter,_u.keyCodes.tab];class eN extends e{static get pluginName(){return"MentionUI"}static get requires(){return[im]}constructor(t){super(t),this._mentionsView=this._createMentionView(),this._mentionsConfigurations=new Map,this._requestFeedDebounced=Mr(this._requestFeed,100),t.config.define("mention",{feeds:[]})}init(){const t=this.editor,e=t.config.get("mention.commitKeys")||tN,n=XM.concat(e);this._balloon=t.plugins.get(im),t.editing.view.document.on("keydown",((t,i)=>{var o;o=i.keyCode,n.includes(o)&&this._isUIVisible&&(i.preventDefault(),t.stop(),i.keyCode==_u.keyCodes.arrowdown&&this._mentionsView.selectNext(),i.keyCode==_u.keyCodes.arrowup&&this._mentionsView.selectPrevious(),e.includes(i.keyCode)&&this._mentionsView.executeSelected(),i.keyCode==_u.keyCodes.esc&&this._hideUIAndRemoveMarker())}),{priority:"highest"}),Au({emitter:this._mentionsView,activator:()=>this._isUIVisible,contextElements:[this._balloon.view.element],callback:()=>this._hideUIAndRemoveMarker()});const i=t.config.get("mention.feeds");for(const t of i){const e=t.feed,n=t.marker;if(!sN(n))throw new _u.CKEditorError("mentionconfig-incorrect-marker",null,{marker:n});const i={marker:n,feedCallback:"function"==typeof e?e.bind(this.editor):rN(e),itemRenderer:t.itemRenderer};this._mentionsConfigurations.set(n,i)}this._setupTextWatcher(i),this.listenTo(t,"change:isReadOnly",(()=>{this._hideUIAndRemoveMarker()})),this.on("requestFeed:response",((t,e)=>this._handleFeedResponse(e))),this.on("requestFeed:error",(()=>this._hideUIAndRemoveMarker()))}destroy(){super.destroy(),this._mentionsView.destroy()}get _isUIVisible(){return this._balloon.visibleView===this._mentionsView}_createMentionView(){const t=this.editor.locale,e=new YM(t);return this._items=new _u.Collection,e.items.bindTo(this._items).using((n=>{const{item:i,marker:o}=n,r=this.editor.config.get("mention.dropdownLimit")||10;if(e.items.length>=r)return;const s=new QM(t),a=this._renderItem(i,o);return a.delegate("execute").to(s),s.children.add(a),s.item=i,s.marker=o,s.on("execute",(()=>{e.fire("execute",{item:i,marker:o})})),s})),e.on("execute",((t,e)=>{const n=this.editor,i=n.model,o=e.item,r=e.marker,s=n.model.markers.get("mention"),a=i.createPositionAt(i.document.selection.focus),c=i.createPositionAt(s.getStart()),l=i.createRange(c,a);this._hideUIAndRemoveMarker(),n.execute("mention",{mention:o,text:o.text,marker:r,range:l}),n.editing.view.focus()})),e}_getItemRenderer(t){const{itemRenderer:e}=this._mentionsConfigurations.get(t);return e}_requestFeed(t,e){this._lastRequested=e;const{feedCallback:n}=this._mentionsConfigurations.get(t),i=n(e);i instanceof Promise?i.then((n=>{this._lastRequested==e?this.fire("requestFeed:response",{feed:n,marker:t,feedText:e}):this.fire("requestFeed:discarded",{feed:n,marker:t,feedText:e})})).catch((e=>{this.fire("requestFeed:error",{error:e}),(0,_u.logWarning)("mention-feed-callback-error",{marker:t})})):this.fire("requestFeed:response",{feed:i,marker:t,feedText:e})}_setupTextWatcher(t){const e=this.editor,n=t.map((t=>({...t,pattern:oN(t.marker,t.minimumCharacters||0)}))),i=new mg(e.model,function(t){return e=>{const n=iN(t,e);if(!n)return!1;let i=0;0!==n.position&&(i=n.position-1);const o=e.substring(i);return n.pattern.test(o)}}(n));i.on("matched",((t,i)=>{const o=iN(n,i.text),r=e.model.document.selection.focus,s=e.model.createPositionAt(r.parent,o.position);if(function(t){const e=t.textNode&&t.textNode.hasAttribute("mention"),n=t.nodeBefore;return e||n&&n.is("$text")&&n.hasAttribute("mention")}(r)||function(t){const e=t.nodeAfter;return e&&e.is("$text")&&e.hasAttribute("mention")}(s))return void this._hideUIAndRemoveMarker();const a=function(t,e){let n=0;0!==t.position&&(n=t.position-1);const i=oN(t.marker,0),o=e.substring(n);return o.match(i)[2]}(o,i.text),c=o.marker.length+a.length,l=r.getShiftedBy(-c),d=r.getShiftedBy(-a.length),u=e.model.createRange(l,d);if(aN(e)){const t=e.model.markers.get("mention");e.model.change((e=>{e.updateMarker(t,{range:u})}))}else e.model.change((t=>{t.addMarker("mention",{range:u,usingOperation:!1,affectsData:!1})}));this._requestFeedDebounced(o.marker,a)})),i.on("unmatched",(()=>{this._hideUIAndRemoveMarker()}));const o=e.commands.get("mention");return i.bind("isEnabled").to(o),i}_handleFeedResponse(t){const{feed:e,marker:n}=t;if(!aN(this.editor))return;this._items.clear();for(const t of e){const e="object"!=typeof t?{id:t,text:t}:t;this._items.add({item:e,marker:n})}const i=this.editor.model.markers.get("mention");this._items.length?this._showOrUpdateUI(i):this._hideUIAndRemoveMarker()}_showOrUpdateUI(t){this._isUIVisible?this._balloon.updatePosition(this._getBalloonPanelPositionData(t,this._mentionsView.position)):this._balloon.add({view:this._mentionsView,position:this._getBalloonPanelPositionData(t,this._mentionsView.position),singleViewMode:!0}),this._mentionsView.position=this._balloon.view.position,this._mentionsView.selectFirst()}_hideUIAndRemoveMarker(){this._balloon.hasView(this._mentionsView)&&this._balloon.remove(this._mentionsView),aN(this.editor)&&this.editor.model.change((t=>t.removeMarker("mention"))),this._mentionsView.position=void 0}_renderItem(t,e){const n=this.editor;let i,o=t.id;const r=this._getItemRenderer(e);if(r){const e=r(t);"string"!=typeof e?i=new JM(n.locale,e):o=e}if(!i){const t=new Nu(n.locale);t.label=o,t.withText=!0,i=t}return i}_getBalloonPanelPositionData(t,e){const n=this.editor,i=n.editing,o=i.view.domConverter,r=i.mapper;return{target:()=>{let e=t.getRange();"$graveyard"==e.start.root.rootName&&(e=n.model.document.selection.getFirstRange());const i=r.toViewRange(e);return _u.Rect.getDomRangeRects(o.viewRangeToDom(i)).pop()},limiter:()=>{const t=this.editor.editing.view,e=t.document.selection.editableElement;return e?t.domConverter.mapViewToDom(e.root):null},positions:nN(e)}}}function nN(t){const e={caret_se:t=>({top:t.bottom+3,left:t.right,name:"caret_se",config:{withArrow:!1}}),caret_ne:(t,e)=>({top:t.top-e.height-3,left:t.right,name:"caret_ne",config:{withArrow:!1}}),caret_sw:(t,e)=>({top:t.bottom+3,left:t.right-e.width,name:"caret_sw",config:{withArrow:!1}}),caret_nw:(t,e)=>({top:t.top-e.height-3,left:t.right-e.width,name:"caret_nw",config:{withArrow:!1}})};return Object.prototype.hasOwnProperty.call(e,t)?[e[t]]:[e.caret_se,e.caret_sw,e.caret_ne,e.caret_nw]}function iN(t,e){let n;for(const i of t){const t=e.lastIndexOf(i.marker);t>0&&!e.substring(t-1).match(i.pattern)||(!n||t>=n.position)&&(n={marker:i.marker,position:t,minimumCharacters:i.minimumCharacters,pattern:i.pattern})}return n}function oN(t,e){const n=0==e?"*":`{${e},}`,i=_u.env.features.isRegExpUnicodePropertySupported?"\\p{Ps}\\p{Pi}\"'":"\\(\\[{\"'";return new RegExp(`(?:^|[ ${i}])([${t}])(.${n})$`,"u")}function rN(t){return e=>t.filter((t=>("string"==typeof t?t:String(t.id)).toLowerCase().includes(e.toLowerCase())))}function sN(t){return t&&1==t.length}function aN(t){return t.model.markers.has("mention")}var cN=__webpack_require__(7583),lN={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(cN.Z,lN);cN.Z.locals;class dN extends e{toMentionAttribute(t,e){return UM(t,e)}static get pluginName(){return"Mention"}static get requires(){return[VM,eN]}}class uN extends i{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=cw(t,e).start.parent;if(n.isEmpty&&!n.is("element","$root"))return n.parent;return n}(t,n);return e.checkChild(i,"pageBreak")}(n,e,t)}execute(){const t=this.editor.model;t.change((e=>{const n=e.createElement("pageBreak");t.insertObject(n,null,null,{setSelection:"after"})}))}}var hN=__webpack_require__(6448),mN={injectType:"singletonStyleTag",attributes:{"data-cke":!0},insert:"head",singleton:!0};Go()(hN.Z,mN);hN.Z.locals;class gN extends e{static get pluginName(){return"PageBreakEditing"}init(){const t=this.editor,e=t.model.schema,n=t.t,i=t.conversion;e.register("pageBreak",{inheritAllFrom:"$blockObject"}),i.for("dataDowncast").elementToStructure({model:"pageBreak",view:(t,{writer:e})=>e.createContainerElement("div",{class:"page-break",style:"page-break-after: always"},e.createContainerElement("span",{style:"display: none"}))}),i.for("editingDowncast").elementToStructure({model:"pageBreak",view:(t,{writer:e})=>{const i=n("Page break"),o=e.createContainerElement("div"),r=e.createRawElement("span",{class:"page-break__label"},(function(t){t.innerText=n("Page break")}));return e.addClass("page-break",o),e.insert(e.createPositionAt(o,0),r),function(t,e,n){return e.setCustomProperty("pageBreak",!0,t),nw(t,e,{label:n})}(o,e,i)}}),i.for("upcast").elementToElement({view:t=>{const e="always"==t.getStyle("page-break-before"),n="always"==t.getStyle("page-break-after");if(e||n){if(1==t.childCount){const e=t.getChild(0);if(!e.is("element","span")||"none"!=e.getStyle("display"))return}else if(t.childCount>1)return;return{name:!0}}},model:"pageBreak",converterPriority:"high"}),t.commands.add("pageBreak",new uN(t))}}class pN extends e{static get pluginName(){return"PageBreakUI"}init(){const t=this.editor,e=t.t;t.ui.componentFactory.add("pageBreak",(n=>{const i=t.commands.get("pageBreak"),o=new Nu(n);return o.set({label:e("Page break"),icon:'',tooltip:!0}),o.bind("isEnabled").to(i,"isEnabled"),this.listenTo(o,"execute",(()=>{t.execute("pageBreak"),t.editing.view.focus()})),o}))}}class fN extends e{static get requires(){return[gN,pN,Cw]}static get pluginName(){return"PageBreak"}}function bN(t,e,n,{blockElements:i,inlineObjectElements:o}){let r=n.createPositionAt(t,"forward"==e?"after":"before");return r=r.getLastMatchingPosition((({item:t})=>t.is("element")&&!i.includes(t.name)&&!o.includes(t.name)),{direction:e}),"forward"==e?r.nodeAfter:r.nodeBefore}function kN(t,e){return!!t&&t.is("element")&&e.includes(t.name)}function xN(t,e){if(!t.childCount)return;const n=new bl(t.document),i=function(t,e){const n=e.createRangeIn(t),i=new zn({name:/^p|h\d+$/,styles:{"mso-list":/.*/}}),o=[];for(const t of n)if("elementStart"===t.type&&i.match(t.item)){const e=AN(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=(u=t,(d=c)?u.indent-d.indent:u.indent-1);var d,u;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=/mso-level-start-at:\s{0,100}([0-9]{0,10})\s{0,100};/gi,r=n.exec(e);let s="decimal",a="ol",c=null;if(r&&r[1]){const e=i.exec(r[1]);if(e&&e[1]&&(s=e[1].trim(),a="bullet"!==s&&"image"!==s?"ol":"ul"),"bullet"===s){const e=function(t){const e=function(t){if(t.getChild(0).is("$text"))return null;for(const e of t.getChildren()){if(!e.is("element","span"))continue;const t=e.getChild(0);return t.is("$text")?t:t.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&&(s=e)}else{const t=o.exec(r[1]);t&&t[1]&&(c=parseInt(t[1]))}}return{type:a,startIndex:c,style:wN(s)}}(t,e);if(o){if(t.indent>r){const t=o.getChild(o.childCount-1),e=t.getChild(t.childCount-1);o=_N(i,e,n),r+=1}else if(t.indent1&&n.setAttribute("start",t.startIndex,o),o}function AN(t){const e={},n=t.getStyle("mso-list");if(n){const t=n.match(/(^|\s{1,100})l(\d+)/i),i=n.match(/\s{0,100}lfo(\d+)/i),o=n.match(/\s{0,100}level(\d+)/i);t&&i&&o&&(e.id=t[2],e.order=i[1],e.indent=o[1])}return e}const vN=/id=("|')docs-internal-guid-[-0-9a-f]+("|')/i;class CN{constructor(t){this.document=t}isActive(t){return vN.test(t)}execute(t){const e=new bl(this.document),{body:n}=t._parsedData;!function(t,e){for(const n of t.getChildren())if(n.is("element","b")&&"normal"===n.getStyle("font-weight")){const i=t.getChildIndex(n);e.remove(n),e.insertChild(i,n.getChildren(),t)}}(n,e),function(t,e){for(const n of e.createRangeIn(t)){const t=n.item;if(t.is("element","li")){const n=t.getChild(0);n&&n.is("element","p")&&e.unwrapElement(n)}}}(n,e),function(t,e){const n=new ro(e.document.stylesProcessor),i=new dr(n,{renderingMode:"data"}),o=i.blockElements,r=i.inlineObjectElements,s=[];for(const n of e.createRangeIn(t)){const t=n.item;if(t.is("element","br")){const n=bN(t,"forward",e,{blockElements:o,inlineObjectElements:r}),i=bN(t,"backward",e,{blockElements:o,inlineObjectElements:r}),a=kN(n,o);(kN(i,o)||a)&&s.push(t)}}for(const t of s)t.hasClass("Apple-interchange-newline")?e.remove(t):e.replace(t,e.createElement("p"))}(n,e),t.content=n}}function yN(t,e){if(!t.childCount)return;const n=new bl,i=function(t,e){const n=e.createRangeIn(t),i=new zn({name:/v:(.+)/}),o=[];for(const t of n){if("elementStart"!=t.type)continue;const e=t.item,n=e.previousSibling&&e.previousSibling.name||null;i.match(e)&&e.getAttribute("o:gfxdata")&&"v:shapetype"!==n&&o.push(t.item.getAttribute("id"))}return o}(t,n);!function(t,e,n){const i=n.createRangeIn(e),o=new zn({name:"img"}),r=[];for(const e of i)if(o.match(e.item)){const n=e.item,i=n.getAttribute("v:shapes")?n.getAttribute("v:shapes").split(" "):[];i.length&&i.every((e=>t.indexOf(e)>-1))?r.push(n):n.getAttribute("src")||r.push(n)}for(const t of r)n.remove(t)}(i,t,n),function(t,e){const n=e.createRangeIn(t),i=new zn({name:/v:(.+)/}),o=[];for(const t of n)"elementStart"==t.type&&i.match(t.item)&&o.push(t.item);for(const t of o)e.remove(t)}(t,n);const o=function(t,e){const n=e.createRangeIn(t),i=new zn({name:"img"}),o=[];for(const t of n)i.match(t.item)&&t.item.getAttribute("src").startsWith("file://")&&o.push(t.item);return o}(t,n);o.length&&function(t,e,n){if(t.length===e.length)for(let i=0;iString.fromCharCode(parseInt(t,16)))).join(""))}const TN=//i,DN=/xmlns:o="urn:schemas-microsoft-com/i;class SN{constructor(t){this.document=t}isActive(t){return TN.test(t)||DN.test(t)}execute(t){const{body:e,stylesString:n}=t._parsedData;xN(e,n),yN(e,t.dataTransfer.getData("text/rtf")),t.content=e}}function IN(t){return t.replace(/(\s+)<\/span>/g,((t,e)=>1===e.length?" ":Array(e.length+1).join(" ").substr(0,e.length)))}function BN(t,e){const n=new DOMParser,i=function(t){return IN(IN(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="",i=t.indexOf(e);if(i<0)return t;const o=t.indexOf(n,i+e.length);return t.substring(0,i+e.length)+(o>=0?t.substring(o):"")}(t=t.replace(/
abc
\n //\n if (isAttribute && this._wrapAttributeElement(wrapElement, child)) {\n wrapPositions.push(new Position(parent, i));\n }\n //\n // Wrap the child if it is not an attribute element or if it is an attribute element that should be inside\n // `wrapElement` (due to priority).\n //\n //
abc
-->
abc
\n //
abc
-->
abc
\n else if (isText || !isAttribute || shouldABeOutsideB(wrapElement, child)) {\n // Clone attribute.\n const newAttribute = wrapElement._clone();\n // Wrap current node with new attribute.\n child._remove();\n newAttribute._appendChild(child);\n parent._insertChild(i, newAttribute);\n this._addToClonedElementsGroup(newAttribute);\n wrapPositions.push(new Position(parent, i));\n }\n //\n // If other nested attribute is found and it wasn't wrapped (see above), continue wrapping inside it.\n //\n //
\n //\n else /* if ( isAttribute ) */ {\n this._wrapChildren(child, 0, child.childCount, wrapElement);\n }\n i++;\n }\n // Merge at each wrap.\n let offsetChange = 0;\n for (const position of wrapPositions) {\n position.offset -= offsetChange;\n // Do not merge with elements outside selected children.\n if (position.offset == startOffset) {\n continue;\n }\n const newPosition = this.mergeAttributes(position);\n // If nodes were merged - other merge offsets will change.\n if (!newPosition.isEqual(position)) {\n offsetChange++;\n endOffset--;\n }\n }\n return Range._createFromParentsAndOffsets(parent, startOffset, parent, endOffset);\n }\n /**\n * Unwraps children from provided `unwrapElement`. Only children contained in `parent` element between\n * `startOffset` and `endOffset` will be unwrapped.\n *\n * @private\n * @param {module:engine/view/element~Element} parent\n * @param {Number} startOffset\n * @param {Number} endOffset\n * @param {module:engine/view/element~Element} unwrapElement\n */\n _unwrapChildren(parent, startOffset, endOffset, unwrapElement) {\n let i = startOffset;\n const unwrapPositions = [];\n // Iterate over each element between provided offsets inside parent.\n // We don't use tree walker or range iterator because we will be removing and merging potentially multiple nodes,\n // so it could get messy. It is safer to it manually in this case.\n while (i < endOffset) {\n const child = parent.getChild(i);\n // Skip all text nodes. There should be no container element's here either.\n if (!child.is('attributeElement')) {\n i++;\n continue;\n }\n //\n // (In all examples, assume that `unwrapElement` is `` element.)\n //\n // If the child is similar to the given attribute element, unwrap it - it will be completely removed.\n //\n //
abcxyz
-->
abcxyz
\n //\n if (child.isSimilar(unwrapElement)) {\n const unwrapped = child.getChildren();\n const count = child.childCount;\n // Replace wrapper element with its children\n child._remove();\n parent._insertChild(i, unwrapped);\n this._removeFromClonedElementsGroup(child);\n // Save start and end position of moved items.\n unwrapPositions.push(new Position(parent, i), new Position(parent, i + count));\n // Skip elements that were unwrapped. Assuming there won't be another element to unwrap in child elements.\n i += count;\n endOffset += count - 1;\n continue;\n }\n //\n // If the child is not similar but is an attribute element, try partial unwrapping - remove the same attributes/styles/classes.\n // Partial unwrapping will happen only if the elements have the same name.\n //\n //
abcxyz
-->
abcxyz
\n //
abcxyz
-->
abcxyz
\n //\n if (this._unwrapAttributeElement(unwrapElement, child)) {\n unwrapPositions.push(new Position(parent, i), new Position(parent, i + 1));\n i++;\n continue;\n }\n //\n // If other nested attribute is found, look through it's children for elements to unwrap.\n //\n //
abc
-->
abc
\n //\n this._unwrapChildren(child, 0, child.childCount, unwrapElement);\n i++;\n }\n // Merge at each unwrap.\n let offsetChange = 0;\n for (const position of unwrapPositions) {\n position.offset -= offsetChange;\n // Do not merge with elements outside selected children.\n if (position.offset == startOffset || position.offset == endOffset) {\n continue;\n }\n const newPosition = this.mergeAttributes(position);\n // If nodes were merged - other merge offsets will change.\n if (!newPosition.isEqual(position)) {\n offsetChange++;\n endOffset--;\n }\n }\n return Range._createFromParentsAndOffsets(parent, startOffset, parent, endOffset);\n }\n /**\n * Helper function for `view.writer.wrap`. Wraps range with provided attribute element.\n * This method will also merge newly added attribute element with its siblings whenever possible.\n *\n * Throws {@link module:utils/ckeditorerror~CKEditorError} `view-writer-wrap-invalid-attribute` when passed attribute element is not\n * an instance of {@link module:engine/view/attributeelement~AttributeElement AttributeElement}.\n *\n * @private\n * @param {module:engine/view/range~Range} range\n * @param {module:engine/view/attributeelement~AttributeElement} attribute\n * @returns {module:engine/view/range~Range} New range after wrapping, spanning over wrapping attribute element.\n */\n _wrapRange(range, attribute) {\n // Break attributes at range start and end.\n const { start: breakStart, end: breakEnd } = this._breakAttributesRange(range, true);\n const parentContainer = breakStart.parent;\n // Wrap all children with attribute.\n const newRange = this._wrapChildren(parentContainer, breakStart.offset, breakEnd.offset, attribute);\n // Merge attributes at the both ends and return a new range.\n const start = this.mergeAttributes(newRange.start);\n // If start position was merged - move end position back.\n if (!start.isEqual(newRange.start)) {\n newRange.end.offset--;\n }\n const end = this.mergeAttributes(newRange.end);\n return new Range(start, end);\n }\n /**\n * Helper function for {@link #wrap}. Wraps position with provided attribute element.\n * This method will also merge newly added attribute element with its siblings whenever possible.\n *\n * Throws {@link module:utils/ckeditorerror~CKEditorError} `view-writer-wrap-invalid-attribute` when passed attribute element is not\n * an instance of {@link module:engine/view/attributeelement~AttributeElement AttributeElement}.\n *\n * @private\n * @param {module:engine/view/position~Position} position\n * @param {module:engine/view/attributeelement~AttributeElement} attribute\n * @returns {module:engine/view/position~Position} New position after wrapping.\n */\n _wrapPosition(position, attribute) {\n // Return same position when trying to wrap with attribute similar to position parent.\n if (attribute.isSimilar(position.parent)) {\n return movePositionToTextNode(position.clone());\n }\n // When position is inside text node - break it and place new position between two text nodes.\n if (position.parent.is('$text')) {\n position = breakTextNode(position);\n }\n // Create fake element that will represent position, and will not be merged with other attributes.\n const fakeElement = this.createAttributeElement('_wrapPosition-fake-element');\n fakeElement._priority = Number.POSITIVE_INFINITY;\n fakeElement.isSimilar = () => false;\n // Insert fake element in position location.\n position.parent._insertChild(position.offset, fakeElement);\n // Range around inserted fake attribute element.\n const wrapRange = new Range(position, position.getShiftedBy(1));\n // Wrap fake element with attribute (it will also merge if possible).\n this.wrap(wrapRange, attribute);\n // Remove fake element and place new position there.\n const newPosition = new Position(fakeElement.parent, fakeElement.index);\n fakeElement._remove();\n // If position is placed between text nodes - merge them and return position inside.\n const nodeBefore = newPosition.nodeBefore;\n const nodeAfter = newPosition.nodeAfter;\n if (nodeBefore instanceof Text && nodeAfter instanceof Text) {\n return mergeTextNodes(nodeBefore, nodeAfter);\n }\n // If position is next to text node - move position inside.\n return movePositionToTextNode(newPosition);\n }\n /**\n * \tWraps one {@link module:engine/view/attributeelement~AttributeElement AttributeElement} into another by\n * \tmerging them if possible. When merging is possible - all attributes, styles and classes are moved from wrapper\n * \telement to element being wrapped.\n *\n * \t@private\n * \t@param {module:engine/view/attributeelement~AttributeElement} wrapper Wrapper AttributeElement.\n * \t@param {module:engine/view/attributeelement~AttributeElement} toWrap AttributeElement to wrap using wrapper element.\n * \t@returns {Boolean} Returns `true` if elements are merged.\n */\n _wrapAttributeElement(wrapper, toWrap) {\n if (!canBeJoined(wrapper, toWrap)) {\n return false;\n }\n // Can't merge if name or priority differs.\n if (wrapper.name !== toWrap.name || wrapper.priority !== toWrap.priority) {\n return false;\n }\n // Check if attributes can be merged.\n for (const key of wrapper.getAttributeKeys()) {\n // Classes and styles should be checked separately.\n if (key === 'class' || key === 'style') {\n continue;\n }\n // If some attributes are different we cannot wrap.\n if (toWrap.hasAttribute(key) && toWrap.getAttribute(key) !== wrapper.getAttribute(key)) {\n return false;\n }\n }\n // Check if styles can be merged.\n for (const key of wrapper.getStyleNames()) {\n if (toWrap.hasStyle(key) && toWrap.getStyle(key) !== wrapper.getStyle(key)) {\n return false;\n }\n }\n // Move all attributes/classes/styles from wrapper to wrapped AttributeElement.\n for (const key of wrapper.getAttributeKeys()) {\n // Classes and styles should be checked separately.\n if (key === 'class' || key === 'style') {\n continue;\n }\n // Move only these attributes that are not present - other are similar.\n if (!toWrap.hasAttribute(key)) {\n this.setAttribute(key, wrapper.getAttribute(key), toWrap);\n }\n }\n for (const key of wrapper.getStyleNames()) {\n if (!toWrap.hasStyle(key)) {\n this.setStyle(key, wrapper.getStyle(key), toWrap);\n }\n }\n for (const key of wrapper.getClassNames()) {\n if (!toWrap.hasClass(key)) {\n this.addClass(key, toWrap);\n }\n }\n return true;\n }\n /**\n * Unwraps {@link module:engine/view/attributeelement~AttributeElement AttributeElement} from another by removing\n * corresponding attributes, classes and styles. All attributes, classes and styles from wrapper should be present\n * inside element being unwrapped.\n *\n * @private\n * @param {module:engine/view/attributeelement~AttributeElement} wrapper Wrapper AttributeElement.\n * @param {module:engine/view/attributeelement~AttributeElement} toUnwrap AttributeElement to unwrap using wrapper element.\n * @returns {Boolean} Returns `true` if elements are unwrapped.\n **/\n _unwrapAttributeElement(wrapper, toUnwrap) {\n if (!canBeJoined(wrapper, toUnwrap)) {\n return false;\n }\n // Can't unwrap if name or priority differs.\n if (wrapper.name !== toUnwrap.name || wrapper.priority !== toUnwrap.priority) {\n return false;\n }\n // Check if AttributeElement has all wrapper attributes.\n for (const key of wrapper.getAttributeKeys()) {\n // Classes and styles should be checked separately.\n if (key === 'class' || key === 'style') {\n continue;\n }\n // If some attributes are missing or different we cannot unwrap.\n if (!toUnwrap.hasAttribute(key) || toUnwrap.getAttribute(key) !== wrapper.getAttribute(key)) {\n return false;\n }\n }\n // Check if AttributeElement has all wrapper classes.\n if (!toUnwrap.hasClass(...wrapper.getClassNames())) {\n return false;\n }\n // Check if AttributeElement has all wrapper styles.\n for (const key of wrapper.getStyleNames()) {\n // If some styles are missing or different we cannot unwrap.\n if (!toUnwrap.hasStyle(key) || toUnwrap.getStyle(key) !== wrapper.getStyle(key)) {\n return false;\n }\n }\n // Remove all wrapper's attributes from unwrapped element.\n for (const key of wrapper.getAttributeKeys()) {\n // Classes and styles should be checked separately.\n if (key === 'class' || key === 'style') {\n continue;\n }\n this.removeAttribute(key, toUnwrap);\n }\n // Remove all wrapper's classes from unwrapped element.\n this.removeClass(Array.from(wrapper.getClassNames()), toUnwrap);\n // Remove all wrapper's styles from unwrapped element.\n this.removeStyle(Array.from(wrapper.getStyleNames()), toUnwrap);\n return true;\n }\n /**\n * Helper function used by other `DowncastWriter` methods. Breaks attribute elements at the boundaries of given range.\n *\n * @private\n * @param {module:engine/view/range~Range} range Range which `start` and `end` positions will be used to break attributes.\n * @param {Boolean} [forceSplitText=false] If set to `true`, will break text nodes even if they are directly in container element.\n * This behavior will result in incorrect view state, but is needed by other view writing methods which then fixes view state.\n * @returns {module:engine/view/range~Range} New range with located at break positions.\n */\n _breakAttributesRange(range, forceSplitText = false) {\n const rangeStart = range.start;\n const rangeEnd = range.end;\n validateRangeContainer(range, this.document);\n // Break at the collapsed position. Return new collapsed range.\n if (range.isCollapsed) {\n const position = this._breakAttributes(range.start, forceSplitText);\n return new Range(position, position);\n }\n const breakEnd = this._breakAttributes(rangeEnd, forceSplitText);\n const count = breakEnd.parent.childCount;\n const breakStart = this._breakAttributes(rangeStart, forceSplitText);\n // Calculate new break end offset.\n breakEnd.offset += breakEnd.parent.childCount - count;\n return new Range(breakStart, breakEnd);\n }\n /**\n * Helper function used by other `DowncastWriter` methods. Breaks attribute elements at given position.\n *\n * Throws {@link module:utils/ckeditorerror~CKEditorError CKEditorError} `view-writer-cannot-break-empty-element` when break position\n * is placed inside {@link module:engine/view/emptyelement~EmptyElement EmptyElement}.\n *\n * Throws {@link module:utils/ckeditorerror~CKEditorError CKEditorError} `view-writer-cannot-break-ui-element` when break position\n * is placed inside {@link module:engine/view/uielement~UIElement UIElement}.\n *\n * @private\n * @param {module:engine/view/position~Position} position Position where to break attributes.\n * @param {Boolean} [forceSplitText=false] If set to `true`, will break text nodes even if they are directly in container element.\n * This behavior will result in incorrect view state, but is needed by other view writing methods which then fixes view state.\n * @returns {module:engine/view/position~Position} New position after breaking the attributes.\n */\n _breakAttributes(position, forceSplitText = false) {\n const positionOffset = position.offset;\n const positionParent = position.parent;\n // If position is placed inside EmptyElement - throw an exception as we cannot break inside.\n if (position.parent.is('emptyElement')) {\n /**\n * Cannot break an `EmptyElement` instance.\n *\n * This error is thrown if\n * {@link module:engine/view/downcastwriter~DowncastWriter#breakAttributes `DowncastWriter#breakAttributes()`}\n * was executed in an incorrect position.\n *\n * @error view-writer-cannot-break-empty-element\n */\n throw new CKEditorError('view-writer-cannot-break-empty-element', this.document);\n }\n // If position is placed inside UIElement - throw an exception as we cannot break inside.\n if (position.parent.is('uiElement')) {\n /**\n * Cannot break a `UIElement` instance.\n *\n * This error is thrown if\n * {@link module:engine/view/downcastwriter~DowncastWriter#breakAttributes `DowncastWriter#breakAttributes()`}\n * was executed in an incorrect position.\n *\n * @error view-writer-cannot-break-ui-element\n */\n throw new CKEditorError('view-writer-cannot-break-ui-element', this.document);\n }\n // If position is placed inside RawElement - throw an exception as we cannot break inside.\n if (position.parent.is('rawElement')) {\n /**\n * Cannot break a `RawElement` instance.\n *\n * This error is thrown if\n * {@link module:engine/view/downcastwriter~DowncastWriter#breakAttributes `DowncastWriter#breakAttributes()`}\n * was executed in an incorrect position.\n *\n * @error view-writer-cannot-break-raw-element\n */\n throw new CKEditorError('view-writer-cannot-break-raw-element', this.document);\n }\n // There are no attributes to break and text nodes breaking is not forced.\n if (!forceSplitText && positionParent.is('$text') && isContainerOrFragment(positionParent.parent)) {\n return position.clone();\n }\n // Position's parent is container, so no attributes to break.\n if (isContainerOrFragment(positionParent)) {\n return position.clone();\n }\n // Break text and start again in new position.\n if (positionParent.is('$text')) {\n return this._breakAttributes(breakTextNode(position), forceSplitText);\n }\n const length = positionParent.childCount;\n //
\n if (positionOffset === 0) {\n const newPosition = new Position(positionParent.parent, positionParent.index);\n return this._breakAttributes(newPosition, forceSplitText);\n }\n //
foob{}ar
\n //
foob[]ar
\n //
foob[]ar
\n //
foob[]ar
\n else {\n const offsetAfter = positionParent.index + 1;\n // Break element.\n const clonedNode = positionParent._clone();\n // Insert cloned node to position's parent node.\n positionParent.parent._insertChild(offsetAfter, clonedNode);\n this._addToClonedElementsGroup(clonedNode);\n // Get nodes to move.\n const count = positionParent.childCount - positionOffset;\n const nodesToMove = positionParent._removeChildren(positionOffset, count);\n // Move nodes to cloned node.\n clonedNode._appendChild(nodesToMove);\n // Create new position to work on.\n const newPosition = new Position(positionParent.parent, offsetAfter);\n return this._breakAttributes(newPosition, forceSplitText);\n }\n }\n }\n /**\n * Stores the information that an {@link module:engine/view/attributeelement~AttributeElement attribute element} was\n * added to the tree. Saves the reference to the group in the given element and updates the group, so other elements\n * from the group now keep a reference to the given attribute element.\n *\n * The clones group can be obtained using {@link module:engine/view/attributeelement~AttributeElement#getElementsWithSameId}.\n *\n * Does nothing if added element has no {@link module:engine/view/attributeelement~AttributeElement#id id}.\n *\n * @private\n * @param {module:engine/view/attributeelement~AttributeElement} element Attribute element to save.\n */\n _addToClonedElementsGroup(element) {\n // Add only if the element is in document tree.\n if (!element.root.is('rootElement')) {\n return;\n }\n // Traverse the element's children recursively to find other attribute elements that also might got inserted.\n // The loop is at the beginning so we can make fast returns later in the code.\n if (element.is('element')) {\n for (const child of element.getChildren()) {\n this._addToClonedElementsGroup(child);\n }\n }\n const id = element.id;\n if (!id) {\n return;\n }\n let group = this._cloneGroups.get(id);\n if (!group) {\n group = new Set();\n this._cloneGroups.set(id, group);\n }\n group.add(element);\n element._clonesGroup = group;\n }\n /**\n * Removes all the information about the given {@link module:engine/view/attributeelement~AttributeElement attribute element}\n * from its clones group.\n *\n * Keep in mind, that the element will still keep a reference to the group (but the group will not keep a reference to it).\n * This allows to reference the whole group even if the element was already removed from the tree.\n *\n * Does nothing if the element has no {@link module:engine/view/attributeelement~AttributeElement#id id}.\n *\n * @private\n * @param {module:engine/view/attributeelement~AttributeElement} element Attribute element to remove.\n */\n _removeFromClonedElementsGroup(element) {\n // Traverse the element's children recursively to find other attribute elements that also got removed.\n // The loop is at the beginning so we can make fast returns later in the code.\n if (element.is('element')) {\n for (const child of element.getChildren()) {\n this._removeFromClonedElementsGroup(child);\n }\n }\n const id = element.id;\n if (!id) {\n return;\n }\n const group = this._cloneGroups.get(id);\n if (!group) {\n return;\n }\n group.delete(element);\n // Not removing group from element on purpose!\n // If other parts of code have reference to this element, they will be able to get references to other elements from the group.\n }\n}\n// Helper function for `view.writer.wrap`. Checks if given element has any children that are not ui elements.\nfunction _hasNonUiChildren(parent) {\n return Array.from(parent.getChildren()).some(child => !child.is('uiElement'));\n}\n/**\n * The `attribute` passed to {@link module:engine/view/downcastwriter~DowncastWriter#wrap `DowncastWriter#wrap()`}\n * must be an instance of {@link module:engine/view/attributeelement~AttributeElement `AttributeElement`}.\n *\n * @error view-writer-wrap-invalid-attribute\n */\n// Returns first parent container of specified {@link module:engine/view/position~Position Position}.\n// Position's parent node is checked as first, then next parents are checked.\n// Note that {@link module:engine/view/documentfragment~DocumentFragment DocumentFragment} is treated like a container.\n//\n// @param {module:engine/view/position~Position} position Position used as a start point to locate parent container.\n// @returns {module:engine/view/containerelement~ContainerElement|module:engine/view/documentfragment~DocumentFragment|undefined}\n// Parent container element or `undefined` if container is not found.\nfunction getParentContainer(position) {\n let parent = position.parent;\n while (!isContainerOrFragment(parent)) {\n if (!parent) {\n return undefined;\n }\n parent = parent.parent;\n }\n return parent;\n}\n// Checks if first {@link module:engine/view/attributeelement~AttributeElement AttributeElement} provided to the function\n// can be wrapped outside second element. It is done by comparing elements'\n// {@link module:engine/view/attributeelement~AttributeElement#priority priorities}, if both have same priority\n// {@link module:engine/view/element~Element#getIdentity identities} are compared.\n//\n// @param {module:engine/view/attributeelement~AttributeElement} a\n// @param {module:engine/view/attributeelement~AttributeElement} b\n// @returns {Boolean}\nfunction shouldABeOutsideB(a, b) {\n if (a.priority < b.priority) {\n return true;\n }\n else if (a.priority > b.priority) {\n return false;\n }\n // When priorities are equal and names are different - use identities.\n return a.getIdentity() < b.getIdentity();\n}\n// Returns new position that is moved to near text node. Returns same position if there is no text node before of after\n// specified position.\n//\n//\t\t
foo[]
->
foo{}
\n//\t\t
[]foo
->
{}foo
\n//\n// @param {module:engine/view/position~Position} position\n// @returns {module:engine/view/position~Position} Position located inside text node or same position if there is no text nodes\n// before or after position location.\nfunction movePositionToTextNode(position) {\n const nodeBefore = position.nodeBefore;\n if (nodeBefore && nodeBefore.is('$text')) {\n return new Position(nodeBefore, nodeBefore.data.length);\n }\n const nodeAfter = position.nodeAfter;\n if (nodeAfter && nodeAfter.is('$text')) {\n return new Position(nodeAfter, 0);\n }\n return position;\n}\n// Breaks text node into two text nodes when possible.\n//\n//\t\t
foo{}bar
->
foo[]bar
\n//\t\t
{}foobar
->
[]foobar
\n//\t\t
foobar{}
->
foobar[]
\n//\n// @param {module:engine/view/position~Position} position Position that need to be placed inside text node.\n// @returns {module:engine/view/position~Position} New position after breaking text node.\nfunction breakTextNode(position) {\n if (position.offset == position.parent.data.length) {\n return new Position(position.parent.parent, position.parent.index + 1);\n }\n if (position.offset === 0) {\n return new Position(position.parent.parent, position.parent.index);\n }\n // Get part of the text that need to be moved.\n const textToMove = position.parent.data.slice(position.offset);\n // Leave rest of the text in position's parent.\n position.parent._data = position.parent.data.slice(0, position.offset);\n // Insert new text node after position's parent text node.\n position.parent.parent._insertChild(position.parent.index + 1, new Text(position.root.document, textToMove));\n // Return new position between two newly created text nodes.\n return new Position(position.parent.parent, position.parent.index + 1);\n}\n// Merges two text nodes into first node. Removes second node and returns merge position.\n//\n// @param {module:engine/view/text~Text} t1 First text node to merge. Data from second text node will be moved at the end of\n// this text node.\n// @param {module:engine/view/text~Text} t2 Second text node to merge. This node will be removed after merging.\n// @returns {module:engine/view/position~Position} Position after merging text nodes.\nfunction mergeTextNodes(t1, t2) {\n // Merge text data into first text node and remove second one.\n const nodeBeforeLength = t1.data.length;\n t1._data += t2.data;\n t2._remove();\n return new Position(t1, nodeBeforeLength);\n}\nconst validNodesToInsert = [Text, AttributeElement, ContainerElement, EmptyElement, RawElement, UIElement];\n// Checks if provided nodes are valid to insert.\n//\n// Throws {@link module:utils/ckeditorerror~CKEditorError CKEditorError} `view-writer-insert-invalid-node` when nodes to insert\n// contains instances that are not supported ones (see error description for valid ones.\n//\n// @param Iterable. nodes\n// @param {Object} errorContext\nfunction validateNodesToInsert(nodes, errorContext) {\n for (const node of nodes) {\n if (!validNodesToInsert.some((validNode => node instanceof validNode))) { // eslint-disable-line no-use-before-define\n /**\n * One of the nodes to be inserted is of an invalid type.\n *\n * Nodes to be inserted with {@link module:engine/view/downcastwriter~DowncastWriter#insert `DowncastWriter#insert()`} should be\n * of the following types:\n *\n * * {@link module:engine/view/attributeelement~AttributeElement AttributeElement},\n * * {@link module:engine/view/containerelement~ContainerElement ContainerElement},\n * * {@link module:engine/view/emptyelement~EmptyElement EmptyElement},\n * * {@link module:engine/view/uielement~UIElement UIElement},\n * * {@link module:engine/view/rawelement~RawElement RawElement},\n * * {@link module:engine/view/text~Text Text}.\n *\n * @error view-writer-insert-invalid-node-type\n */\n throw new CKEditorError('view-writer-insert-invalid-node-type', errorContext);\n }\n if (!node.is('$text')) {\n validateNodesToInsert(node.getChildren(), errorContext);\n }\n }\n}\n// Checks if node is ContainerElement or DocumentFragment, because in most cases they should be treated the same way.\n//\n// @param {module:engine/view/node~Node} node\n// @returns {Boolean} Returns `true` if node is instance of ContainerElement or DocumentFragment.\nfunction isContainerOrFragment(node) {\n return node && (node.is('containerElement') || node.is('documentFragment'));\n}\n// Checks if {@link module:engine/view/range~Range#start range start} and {@link module:engine/view/range~Range#end range end} are placed\n// inside same {@link module:engine/view/containerelement~ContainerElement container element}.\n// Throws {@link module:utils/ckeditorerror~CKEditorError CKEditorError} `view-writer-invalid-range-container` when validation fails.\n//\n// @param {module:engine/view/range~Range} range\n// @param {Object} errorContext\nfunction validateRangeContainer(range, errorContext) {\n const startContainer = getParentContainer(range.start);\n const endContainer = getParentContainer(range.end);\n if (!startContainer || !endContainer || startContainer !== endContainer) {\n /**\n * The container of the given range is invalid.\n *\n * This may happen if {@link module:engine/view/range~Range#start range start} and\n * {@link module:engine/view/range~Range#end range end} positions are not placed inside the same container element or\n * a parent container for these positions cannot be found.\n *\n * Methods like {@link module:engine/view/downcastwriter~DowncastWriter#wrap `DowncastWriter#remove()`},\n * {@link module:engine/view/downcastwriter~DowncastWriter#wrap `DowncastWriter#clean()`},\n * {@link module:engine/view/downcastwriter~DowncastWriter#wrap `DowncastWriter#wrap()`},\n * {@link module:engine/view/downcastwriter~DowncastWriter#wrap `DowncastWriter#unwrap()`} need to be called\n * on a range that has its start and end positions located in the same container element. Both positions can be\n * nested within other elements (e.g. an attribute element) but the closest container ancestor must be the same.\n *\n * @error view-writer-invalid-range-container\n */\n throw new CKEditorError('view-writer-invalid-range-container', errorContext);\n }\n}\n// Checks if two attribute elements can be joined together. Elements can be joined together if, and only if\n// they do not have ids specified.\n//\n// @private\n// @param {module:engine/view/element~Element} a\n// @param {module:engine/view/element~Element} b\n// @returns {Boolean}\nfunction canBeJoined(a, b) {\n return a.id === null && b.id === null;\n}\n","/**\n * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\nimport { keyCodes } from '@ckeditor/ckeditor5-utils/src/keyboard';\nimport isText from '@ckeditor/ckeditor5-utils/src/dom/istext';\n/**\n * Set of utilities related to handling block and inline fillers.\n *\n * Browsers do not allow to put caret in elements which does not have height. Because of it, we need to fill all\n * empty elements which should be selectable with elements or characters called \"fillers\". Unfortunately there is no one\n * universal filler, this is why two types are uses:\n *\n * * Block filler is an element which fill block elements, like `
`. CKEditor uses ` ` as a block filler during the editing,\n * as browsers do natively. So instead of an empty `
` there will be `
`. The advantage of block filler is that\n * it is transparent for the selection, so when the caret is before the ` ` and user presses right arrow he will be\n * moved to the next paragraph, not after the ` `. The disadvantage is that it breaks a block, so it can not be used\n * in the middle of a line of text. The {@link module:engine/view/filler~BR_FILLER ` ` filler} can be replaced with any other\n * character in the data output, for instance {@link module:engine/view/filler~NBSP_FILLER non-breaking space} or\n * {@link module:engine/view/filler~MARKED_NBSP_FILLER marked non-breaking space}.\n *\n * * Inline filler is a filler which does not break a line of text, so it can be used inside the text, for instance in the empty\n * `` surrendered by text: `foobar`, if we want to put the caret there. CKEditor uses a sequence of the zero-width\n * spaces as an {@link module:engine/view/filler~INLINE_FILLER inline filler} having the predetermined\n * {@link module:engine/view/filler~INLINE_FILLER_LENGTH length}. A sequence is used, instead of a single character to\n * avoid treating random zero-width spaces as the inline filler. Disadvantage of the inline filler is that it is not\n * transparent for the selection. The arrow key moves the caret between zero-width spaces characters, so the additional\n * code is needed to handle the caret.\n *\n * Both inline and block fillers are handled by the {@link module:engine/view/renderer~Renderer renderer} and are not present in the\n * view.\n *\n * @module engine/view/filler\n */\n/**\n * Non-breaking space filler creator. This function creates the ` ` text node.\n * It defines how the filler is created.\n *\n * @see module:engine/view/filler~MARKED_NBSP_FILLER\n * @see module:engine/view/filler~BR_FILLER\n * @function\n */\nexport const NBSP_FILLER = (domDocument) => domDocument.createTextNode('\\u00A0');\n/**\n * Marked non-breaking space filler creator. This function creates the `` element.\n * It defines how the filler is created.\n *\n * @see module:engine/view/filler~NBSP_FILLER\n * @see module:engine/view/filler~BR_FILLER\n * @function\n */\nexport const MARKED_NBSP_FILLER = (domDocument) => {\n const span = domDocument.createElement('span');\n span.dataset.ckeFiller = 'true';\n span.innerText = '\\u00A0';\n return span;\n};\n/**\n * ` ` filler creator. This function creates the ` ` element.\n * It defines how the filler is created.\n *\n * @see module:engine/view/filler~NBSP_FILLER\n * @see module:engine/view/filler~MARKED_NBSP_FILLER\n * @function\n */\nexport const BR_FILLER = (domDocument) => {\n const fillerBr = domDocument.createElement('br');\n fillerBr.dataset.ckeFiller = 'true';\n return fillerBr;\n};\n/**\n * Length of the {@link module:engine/view/filler~INLINE_FILLER INLINE_FILLER}.\n */\nexport const INLINE_FILLER_LENGTH = 7;\n/**\n * Inline filler which is a sequence of the word joiners.\n *\n * @type {String}\n */\nexport const INLINE_FILLER = '\\u2060'.repeat(INLINE_FILLER_LENGTH);\n/**\n * Checks if the node is a text node which starts with the {@link module:engine/view/filler~INLINE_FILLER inline filler}.\n *\n *\t\tstartsWithFiller( document.createTextNode( INLINE_FILLER ) ); // true\n *\t\tstartsWithFiller( document.createTextNode( INLINE_FILLER + 'foo' ) ); // true\n *\t\tstartsWithFiller( document.createTextNode( 'foo' ) ); // false\n *\t\tstartsWithFiller( document.createElement( 'p' ) ); // false\n *\n * @param {Node} domNode DOM node.\n * @returns {Boolean} True if the text node starts with the {@link module:engine/view/filler~INLINE_FILLER inline filler}.\n */\nexport function startsWithFiller(domNode) {\n return isText(domNode) && (domNode.data.substr(0, INLINE_FILLER_LENGTH) === INLINE_FILLER);\n}\n/**\n * Checks if the text node contains only the {@link module:engine/view/filler~INLINE_FILLER inline filler}.\n *\n *\t\tisInlineFiller( document.createTextNode( INLINE_FILLER ) ); // true\n *\t\tisInlineFiller( document.createTextNode( INLINE_FILLER + 'foo' ) ); // false\n *\n * @param {Text} domText DOM text node.\n * @returns {Boolean} True if the text node contains only the {@link module:engine/view/filler~INLINE_FILLER inline filler}.\n */\nexport function isInlineFiller(domText) {\n return domText.data.length == INLINE_FILLER_LENGTH && startsWithFiller(domText);\n}\n/**\n * Get string data from the text node, removing an {@link module:engine/view/filler~INLINE_FILLER inline filler} from it,\n * if text node contains it.\n *\n *\t\tgetDataWithoutFiller( document.createTextNode( INLINE_FILLER + 'foo' ) ) == 'foo' // true\n *\t\tgetDataWithoutFiller( document.createTextNode( 'foo' ) ) == 'foo' // true\n *\n * @param {Text} domText DOM text node, possible with inline filler.\n * @returns {String} Data without filler.\n */\nexport function getDataWithoutFiller(domText) {\n if (startsWithFiller(domText)) {\n return domText.data.slice(INLINE_FILLER_LENGTH);\n }\n else {\n return domText.data;\n }\n}\n/**\n * Assign key observer which move cursor from the end of the inline filler to the beginning of it when\n * the left arrow is pressed, so the filler does not break navigation.\n *\n * @param {module:engine/view/view~View} view View controller instance we should inject quirks handling on.\n */\nexport function injectQuirksHandling(view) {\n view.document.on('arrowKey', jumpOverInlineFiller, { priority: 'low' });\n}\n// Move cursor from the end of the inline filler to the beginning of it when, so the filler does not break navigation.\nfunction jumpOverInlineFiller(evt, data) {\n if (data.keyCode == keyCodes.arrowleft) {\n const domSelection = data.domTarget.ownerDocument.defaultView.getSelection();\n if (domSelection.rangeCount == 1 && domSelection.getRangeAt(0).collapsed) {\n const domParent = domSelection.getRangeAt(0).startContainer;\n const domOffset = domSelection.getRangeAt(0).startOffset;\n if (startsWithFiller(domParent) && domOffset <= INLINE_FILLER_LENGTH) {\n domSelection.collapse(domParent, 0);\n }\n }\n }\n}\n","/**\n * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n/**\n * @module utils/dom/insertat\n */\n/**\n * Inserts node to the parent at given index.\n *\n * @param {Element} parentElement Parent element.\n * @param {Number} index Insertions index.\n * @param {Node} nodeToInsert Node to insert.\n */\nexport default function insertAt(parentElement, index, nodeToInsert) {\n parentElement.insertBefore(nodeToInsert, parentElement.childNodes[index] || null);\n}\n","/**\n * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n/**\n * @module utils/dom/remove\n */\n/**\n * Removes given node from parent.\n *\n * @param {Node} node Node to remove.\n */\nexport default function remove(node) {\n const parent = node.parentNode;\n if (parent) {\n parent.removeChild(node);\n }\n}\n","/**\n * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n/* globals Node */\n/**\n * @module utils/dom/iscomment\n */\n/**\n * Checks whether the object is a native DOM Comment node.\n *\n * @param {*} obj\n * @returns {Boolean}\n */\nexport default function isComment(obj) {\n return obj && obj.nodeType === Node.COMMENT_NODE;\n}\n","import api from \"!../../../style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import content from \"!!../../../css-loader/dist/cjs.js!../../../postcss-loader/dist/cjs.js??ruleSet[1].rules[1].use[2]!./renderer.css\";\n\nvar options = {\"injectType\":\"singletonStyleTag\",\"attributes\":{\"data-cke\":true}};\n\noptions.insert = \"head\";\noptions.singleton = true;\n\nvar update = api(content, options);\n\n\n\nexport default content.locals || {};","/**\n * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n/**\n * @module engine/view/renderer\n */\nimport ViewText from './text';\nimport ViewPosition from './position';\nimport { INLINE_FILLER, INLINE_FILLER_LENGTH, startsWithFiller, isInlineFiller } from './filler';\nimport { default as diff } from '@ckeditor/ckeditor5-utils/src/diff';\nimport insertAt from '@ckeditor/ckeditor5-utils/src/dom/insertat';\nimport remove from '@ckeditor/ckeditor5-utils/src/dom/remove';\nimport { Observable } from '@ckeditor/ckeditor5-utils/src/observablemixin';\nimport CKEditorError from '@ckeditor/ckeditor5-utils/src/ckeditorerror';\nimport isText from '@ckeditor/ckeditor5-utils/src/dom/istext';\nimport isComment from '@ckeditor/ckeditor5-utils/src/dom/iscomment';\nimport isNode from '@ckeditor/ckeditor5-utils/src/dom/isnode';\nimport fastDiff from '@ckeditor/ckeditor5-utils/src/fastdiff';\nimport env from '@ckeditor/ckeditor5-utils/src/env';\nimport '../../theme/renderer.css';\n/**\n * Renderer is responsible for updating the DOM structure and the DOM selection based on\n * the {@link module:engine/view/renderer~Renderer#markToSync information about updated view nodes}.\n * In other words, it renders the view to the DOM.\n *\n * Its main responsibility is to make only the necessary, minimal changes to the DOM. However, unlike in many\n * virtual DOM implementations, the primary reason for doing minimal changes is not the performance but ensuring\n * that native editing features such as text composition, autocompletion, spell checking, selection's x-index are\n * affected as little as possible.\n *\n * Renderer uses {@link module:engine/view/domconverter~DomConverter} to transform view nodes and positions\n * to and from the DOM.\n */\nexport default class Renderer extends Observable {\n /**\n * Creates a renderer instance.\n *\n * @param {module:engine/view/domconverter~DomConverter} domConverter Converter instance.\n * @param {module:engine/view/documentselection~DocumentSelection} selection View selection.\n */\n constructor(domConverter, selection) {\n super();\n /**\n * Set of DOM Documents instances.\n *\n * @readonly\n * @member {Set.}\n */\n this.domDocuments = new Set();\n /**\n * Converter instance.\n *\n * @readonly\n * @member {module:engine/view/domconverter~DomConverter}\n */\n this.domConverter = domConverter;\n /**\n * Set of nodes which attributes changed and may need to be rendered.\n *\n * @readonly\n * @member {Set.}\n */\n this.markedAttributes = new Set();\n /**\n * Set of elements which child lists changed and may need to be rendered.\n *\n * @readonly\n * @member {Set.}\n */\n this.markedChildren = new Set();\n /**\n * Set of text nodes which text data changed and may need to be rendered.\n *\n * @readonly\n * @member {Set.}\n */\n this.markedTexts = new Set();\n /**\n * View selection. Renderer updates DOM selection based on the view selection.\n *\n * @readonly\n * @member {module:engine/view/documentselection~DocumentSelection}\n */\n this.selection = selection;\n /**\n * Indicates if the view document is focused and selection can be rendered. Selection will not be rendered if\n * this is set to `false`.\n *\n * @member {Boolean}\n * @observable\n */\n this.set('isFocused', false);\n /**\n * Indicates whether the user is making a selection in the document (e.g. holding the mouse button and moving the cursor).\n * When they stop selecting, the property goes back to `false`.\n *\n * Note: In some browsers, the renderer will stop rendering the selection and inline fillers while the user is making\n * a selection to avoid glitches in DOM selection\n * (https://github.com/ckeditor/ckeditor5/issues/10562, https://github.com/ckeditor/ckeditor5/issues/10723).\n *\n * @member {Boolean}\n * @observable\n */\n this.set('isSelecting', false);\n // Rendering the selection and inline filler manipulation should be postponed in (non-Android) Blink until the user finishes\n // creating the selection in DOM to avoid accidental selection collapsing\n // (https://github.com/ckeditor/ckeditor5/issues/10562, https://github.com/ckeditor/ckeditor5/issues/10723).\n // When the user stops selecting, all pending changes should be rendered ASAP, though.\n if (env.isBlink && !env.isAndroid) {\n this.on('change:isSelecting', () => {\n if (!this.isSelecting) {\n this.render();\n }\n });\n }\n /**\n * True if composition is in progress inside the document.\n *\n * This property is bound to the {@link module:engine/view/document~Document#isComposing `Document#isComposing`} property.\n *\n * @member {Boolean}\n * @observable\n */\n this.set('isComposing', false);\n this.on('change:isComposing', () => {\n if (!this.isComposing) {\n this.render();\n }\n });\n /**\n * The text node in which the inline filler was rendered.\n *\n * @private\n * @member {Text}\n */\n this._inlineFiller = null;\n /**\n * DOM element containing fake selection.\n *\n * @private\n * @type {null|HTMLElement}\n */\n this._fakeSelectionContainer = null;\n }\n /**\n * Marks a view node to be updated in the DOM by {@link #render `render()`}.\n *\n * Note that only view nodes whose parents have corresponding DOM elements need to be marked to be synchronized.\n *\n * @see #markedAttributes\n * @see #markedChildren\n * @see #markedTexts\n *\n * @param {module:engine/view/document~ChangeType} type Type of the change.\n * @param {module:engine/view/node~ViewNode} node ViewNode to be marked.\n */\n markToSync(type, node) {\n if (type === 'text') {\n if (this.domConverter.mapViewToDom(node.parent)) {\n this.markedTexts.add(node);\n }\n }\n else {\n // If the node has no DOM element it is not rendered yet,\n // its children/attributes do not need to be marked to be sync.\n if (!this.domConverter.mapViewToDom(node)) {\n return;\n }\n if (type === 'attributes') {\n this.markedAttributes.add(node);\n }\n else if (type === 'children') {\n this.markedChildren.add(node);\n }\n else {\n /**\n * Unknown type passed to Renderer.markToSync.\n *\n * @error view-renderer-unknown-type\n */\n throw new CKEditorError('view-renderer-unknown-type', this);\n }\n }\n }\n /**\n * Renders all buffered changes ({@link #markedAttributes}, {@link #markedChildren} and {@link #markedTexts}) and\n * the current view selection (if needed) to the DOM by applying a minimal set of changes to it.\n *\n * Renderer tries not to break the text composition (e.g. IME) and x-index of the selection,\n * so it does as little as it is needed to update the DOM.\n *\n * Renderer also handles {@link module:engine/view/filler fillers}. Especially, it checks if the inline filler is needed\n * at the selection position and adds or removes it. To prevent breaking text composition inline filler will not be\n * removed as long as the selection is in the text node which needed it at first.\n */\n render() {\n // Ignore rendering while in the composition mode. Composition events are not cancellable and browser will modify the DOM tree.\n // All marked elements, attributes, etc. will wait until next render after the composition ends.\n // On Android composition events are immediately applied to the model, so we don't need to skip rendering,\n // and we should not do it because the difference between view and DOM could lead to position mapping problems.\n if (this.isComposing && !env.isAndroid) {\n // @if CK_DEBUG_TYPING // if ( window.logCKETyping ) {\n // @if CK_DEBUG_TYPING // \tconsole.info( '%c[Renderer]%c Rendering aborted while isComposing',\n // @if CK_DEBUG_TYPING // \t\t'color: green;font-weight: bold', ''\n // @if CK_DEBUG_TYPING // \t);\n // @if CK_DEBUG_TYPING // }\n return;\n }\n // @if CK_DEBUG_TYPING // if ( window.logCKETyping ) {\n // @if CK_DEBUG_TYPING // \tconsole.group( '%c[Renderer]%c Rendering',\n // @if CK_DEBUG_TYPING // \t\t'color: green;font-weight: bold', ''\n // @if CK_DEBUG_TYPING // \t);\n // @if CK_DEBUG_TYPING // }\n let inlineFillerPosition = null;\n const isInlineFillerRenderingPossible = env.isBlink && !env.isAndroid ? !this.isSelecting : true;\n // Refresh mappings.\n for (const element of this.markedChildren) {\n this._updateChildrenMappings(element);\n }\n // Don't manipulate inline fillers while the selection is being made in (non-Android) Blink to prevent accidental\n // DOM selection collapsing\n // (https://github.com/ckeditor/ckeditor5/issues/10562, https://github.com/ckeditor/ckeditor5/issues/10723).\n if (isInlineFillerRenderingPossible) {\n // There was inline filler rendered in the DOM but it's not\n // at the selection position any more, so we can remove it\n // (cause even if it's needed, it must be placed in another location).\n if (this._inlineFiller && !this._isSelectionInInlineFiller()) {\n this._removeInlineFiller();\n }\n // If we've got the filler, let's try to guess its position in the view.\n if (this._inlineFiller) {\n inlineFillerPosition = this._getInlineFillerPosition();\n }\n // Otherwise, if it's needed, create it at the selection position.\n else if (this._needsInlineFillerAtSelection()) {\n inlineFillerPosition = this.selection.getFirstPosition();\n // Do not use `markToSync` so it will be added even if the parent is already added.\n this.markedChildren.add(inlineFillerPosition.parent);\n }\n }\n // Make sure the inline filler has any parent, so it can be mapped to view position by DomConverter.\n else if (this._inlineFiller && this._inlineFiller.parentNode) {\n // While the user is making selection, preserve the inline filler at its original position.\n inlineFillerPosition = this.domConverter.domPositionToView(this._inlineFiller);\n // While down-casting the document selection attributes, all existing empty\n // attribute elements (for selection position) are removed from the view and DOM,\n // so make sure that we were able to map filler position.\n // https://github.com/ckeditor/ckeditor5/issues/12026\n if (inlineFillerPosition && inlineFillerPosition.parent.is('$text')) {\n // The inline filler position is expected to be before the text node.\n inlineFillerPosition = ViewPosition._createBefore(inlineFillerPosition.parent);\n }\n }\n for (const element of this.markedAttributes) {\n this._updateAttrs(element);\n }\n for (const element of this.markedChildren) {\n this._updateChildren(element, { inlineFillerPosition });\n }\n for (const node of this.markedTexts) {\n if (!this.markedChildren.has(node.parent) && this.domConverter.mapViewToDom(node.parent)) {\n this._updateText(node, { inlineFillerPosition });\n }\n }\n // * Check whether the inline filler is required and where it really is in the DOM.\n // At this point in most cases it will be in the DOM, but there are exceptions.\n // For example, if the inline filler was deep in the created DOM structure, it will not be created.\n // Similarly, if it was removed at the beginning of this function and then neither text nor children were updated,\n // it will not be present. Fix those and similar scenarios.\n // * Don't manipulate inline fillers while the selection is being made in (non-Android) Blink to prevent accidental\n // DOM selection collapsing\n // (https://github.com/ckeditor/ckeditor5/issues/10562, https://github.com/ckeditor/ckeditor5/issues/10723).\n if (isInlineFillerRenderingPossible) {\n if (inlineFillerPosition) {\n const fillerDomPosition = this.domConverter.viewPositionToDom(inlineFillerPosition);\n const domDocument = fillerDomPosition.parent.ownerDocument;\n if (!startsWithFiller(fillerDomPosition.parent)) {\n // Filler has not been created at filler position. Create it now.\n this._inlineFiller = addInlineFiller(domDocument, fillerDomPosition.parent, fillerDomPosition.offset);\n }\n else {\n // Filler has been found, save it.\n this._inlineFiller = fillerDomPosition.parent;\n }\n }\n else {\n // There is no filler needed.\n this._inlineFiller = null;\n }\n }\n // First focus the new editing host, then update the selection.\n // Otherwise, FF may throw an error (https://github.com/ckeditor/ckeditor5/issues/721).\n this._updateFocus();\n this._updateSelection();\n this.markedTexts.clear();\n this.markedAttributes.clear();\n this.markedChildren.clear();\n // @if CK_DEBUG_TYPING // if ( window.logCKETyping ) {\n // @if CK_DEBUG_TYPING // \tconsole.groupEnd();\n // @if CK_DEBUG_TYPING // }\n }\n /**\n * Updates mappings of view element's children.\n *\n * Children that were replaced in the view structure by similar elements (same tag name) are treated as 'replaced'.\n * This means that their mappings can be updated so the new view elements are mapped to the existing DOM elements.\n * Thanks to that these elements do not need to be re-rendered completely.\n *\n * @private\n * @param {module:engine/view/node~ViewNode} viewElement The view element whose children mappings will be updated.\n */\n _updateChildrenMappings(viewElement) {\n const domElement = this.domConverter.mapViewToDom(viewElement);\n if (!domElement) {\n // If there is no `domElement` it means that it was already removed from DOM and there is no need to process it.\n return;\n }\n // Removing nodes from the DOM as we iterate can cause `actualDomChildren`\n // (which is a live-updating `NodeList`) to get out of sync with the\n // indices that we compute as we iterate over `actions`.\n // This would produce incorrect element mappings.\n //\n // Converting live list to an array to make the list static.\n const actualDomChildren = Array.from(this.domConverter.mapViewToDom(viewElement).childNodes);\n const expectedDomChildren = Array.from(this.domConverter.viewChildrenToDom(viewElement, { withChildren: false }));\n const diff = this._diffNodeLists(actualDomChildren, expectedDomChildren);\n const actions = this._findReplaceActions(diff, actualDomChildren, expectedDomChildren);\n if (actions.indexOf('replace') !== -1) {\n const counter = { equal: 0, insert: 0, delete: 0 };\n for (const action of actions) {\n if (action === 'replace') {\n const insertIndex = counter.equal + counter.insert;\n const deleteIndex = counter.equal + counter.delete;\n const viewChild = viewElement.getChild(insertIndex);\n // UIElement and RawElement are special cases. Their children are not stored in a view (#799)\n // so we cannot use them with replacing flow (since they use view children during rendering\n // which will always result in rendering empty elements).\n if (viewChild && !(viewChild.is('uiElement') || viewChild.is('rawElement'))) {\n this._updateElementMappings(viewChild, actualDomChildren[deleteIndex]);\n }\n remove(expectedDomChildren[insertIndex]);\n counter.equal++;\n }\n else {\n counter[action]++;\n }\n }\n }\n }\n /**\n * Updates mappings of a given view element.\n *\n * @private\n * @param {module:engine/view/node~ViewNode} viewElement The view element whose mappings will be updated.\n * @param {ViewNode} domElement The DOM element representing the given view element.\n */\n _updateElementMappings(viewElement, domElement) {\n // Remap 'DomConverter' bindings.\n this.domConverter.unbindDomElement(domElement);\n this.domConverter.bindElements(domElement, viewElement);\n // View element may have children which needs to be updated, but are not marked, mark them to update.\n this.markedChildren.add(viewElement);\n // Because we replace new view element mapping with the existing one, the corresponding DOM element\n // will not be rerendered. The new view element may have different attributes than the previous one.\n // Since its corresponding DOM element will not be rerendered, new attributes will not be added\n // to the DOM, so we need to mark it here to make sure its attributes gets updated. See #1427 for more\n // detailed case study.\n // Also there are cases where replaced element is removed from the view structure and then has\n // its attributes changed or removed. In such cases the element will not be present in `markedAttributes`\n // and also may be the same (`element.isSimilar()`) as the reused element not having its attributes updated.\n // To prevent such situations we always mark reused element to have its attributes rerenderd (#1560).\n this.markedAttributes.add(viewElement);\n }\n /**\n * Gets the position of the inline filler based on the current selection.\n * Here, we assume that we know that the filler is needed and\n * {@link #_isSelectionInInlineFiller is at the selection position}, and, since it is needed,\n * it is somewhere at the selection position.\n *\n * Note: The filler position cannot be restored based on the filler's DOM text node, because\n * when this method is called (before rendering), the bindings will often be broken. View-to-DOM\n * bindings are only dependable after rendering.\n *\n * @private\n * @returns {module:engine/view/position~Position}\n */\n _getInlineFillerPosition() {\n const firstPos = this.selection.getFirstPosition();\n if (firstPos.parent.is('$text')) {\n return ViewPosition._createBefore(firstPos.parent);\n }\n else {\n return firstPos;\n }\n }\n /**\n * Returns `true` if the selection has not left the inline filler's text node.\n * If it is `true`, it means that the filler had been added for a reason and the selection did not\n * leave the filler's text node. For example, the user can be in the middle of a composition so it should not be touched.\n *\n * @private\n * @returns {Boolean} `true` if the inline filler and selection are in the same place.\n */\n _isSelectionInInlineFiller() {\n if (this.selection.rangeCount != 1 || !this.selection.isCollapsed) {\n return false;\n }\n // Note, we can't check if selection's position equals position of the\n // this._inlineFiller node, because of #663. We may not be able to calculate\n // the filler's position in the view at this stage.\n // Instead, we check it the other way – whether selection is anchored in\n // that text node or next to it.\n // Possible options are:\n // \"FILLER{}\"\n // \"FILLERadded-text{}\"\n const selectionPosition = this.selection.getFirstPosition();\n const position = this.domConverter.viewPositionToDom(selectionPosition);\n if (position && isText(position.parent) && startsWithFiller(position.parent)) {\n return true;\n }\n return false;\n }\n /**\n * Removes the inline filler.\n *\n * @private\n */\n _removeInlineFiller() {\n const domFillerNode = this._inlineFiller;\n // Something weird happened and the stored node doesn't contain the filler's text.\n if (!startsWithFiller(domFillerNode)) {\n /**\n * The inline filler node was lost. Most likely, something overwrote the filler text node\n * in the DOM.\n *\n * @error view-renderer-filler-was-lost\n */\n throw new CKEditorError('view-renderer-filler-was-lost', this);\n }\n if (isInlineFiller(domFillerNode)) {\n domFillerNode.remove();\n }\n else {\n domFillerNode.data = domFillerNode.data.substr(INLINE_FILLER_LENGTH);\n }\n this._inlineFiller = null;\n }\n /**\n * Checks if the inline {@link module:engine/view/filler filler} should be added.\n *\n * @private\n * @returns {Boolean} `true` if the inline filler should be added.\n */\n _needsInlineFillerAtSelection() {\n if (this.selection.rangeCount != 1 || !this.selection.isCollapsed) {\n return false;\n }\n const selectionPosition = this.selection.getFirstPosition();\n const selectionParent = selectionPosition.parent;\n const selectionOffset = selectionPosition.offset;\n // If there is no DOM root we do not care about fillers.\n if (!this.domConverter.mapViewToDom(selectionParent.root)) {\n return false;\n }\n if (!(selectionParent.is('element'))) {\n return false;\n }\n // Prevent adding inline filler inside elements with contenteditable=false.\n // https://github.com/ckeditor/ckeditor5-engine/issues/1170\n if (!isEditable(selectionParent)) {\n return false;\n }\n // We have block filler, we do not need inline one.\n if (selectionOffset === selectionParent.getFillerOffset()) {\n return false;\n }\n const nodeBefore = selectionPosition.nodeBefore;\n const nodeAfter = selectionPosition.nodeAfter;\n if (nodeBefore instanceof ViewText || nodeAfter instanceof ViewText) {\n return false;\n }\n // Do not use inline filler while typing outside inline elements on Android.\n // The deleteContentBackward would remove part of the inline filler instead of removing last letter in a link.\n if (env.isAndroid && (nodeBefore || nodeAfter)) {\n return false;\n }\n return true;\n }\n /**\n * Checks if text needs to be updated and possibly updates it.\n *\n * @private\n * @param {module:engine/view/text~Text} viewText View text to update.\n * @param {Object} options\n * @param {module:engine/view/position~Position} options.inlineFillerPosition The position where the inline\n * filler should be rendered.\n */\n _updateText(viewText, options) {\n const domText = this.domConverter.findCorrespondingDomText(viewText);\n const newDomText = this.domConverter.viewToDom(viewText);\n let expectedText = newDomText.data;\n const filler = options.inlineFillerPosition;\n if (filler && filler.parent == viewText.parent && filler.offset == viewText.index) {\n expectedText = INLINE_FILLER + expectedText;\n }\n // @if CK_DEBUG_TYPING // if ( window.logCKETyping ) {\n // @if CK_DEBUG_TYPING // \tconsole.group( '%c[Renderer]%c Update text',\n // @if CK_DEBUG_TYPING // \t\t'color: green;font-weight: bold', ''\n // @if CK_DEBUG_TYPING // \t);\n // @if CK_DEBUG_TYPING // }\n updateTextNode(domText, expectedText);\n // @if CK_DEBUG_TYPING // if ( window.logCKETyping ) {\n // @if CK_DEBUG_TYPING // \tconsole.groupEnd();\n // @if CK_DEBUG_TYPING // }\n }\n /**\n * Checks if attribute list needs to be updated and possibly updates it.\n *\n * @private\n * @param {module:engine/view/element~Element} viewElement The view element to update.\n */\n _updateAttrs(viewElement) {\n const domElement = this.domConverter.mapViewToDom(viewElement);\n if (!domElement) {\n // If there is no `domElement` it means that 'viewElement' is outdated as its mapping was updated\n // in 'this._updateChildrenMappings()'. There is no need to process it as new view element which\n // replaced old 'viewElement' mapping was also added to 'this.markedAttributes'\n // in 'this._updateChildrenMappings()' so it will be processed separately.\n return;\n }\n const domAttrKeys = Array.from(domElement.attributes).map(attr => attr.name);\n const viewAttrKeys = viewElement.getAttributeKeys();\n // Add or overwrite attributes.\n for (const key of viewAttrKeys) {\n this.domConverter.setDomElementAttribute(domElement, key, viewElement.getAttribute(key), viewElement);\n }\n // Remove from DOM attributes which do not exists in the view.\n for (const key of domAttrKeys) {\n // All other attributes not present in the DOM should be removed.\n if (!viewElement.hasAttribute(key)) {\n this.domConverter.removeDomElementAttribute(domElement, key);\n }\n }\n }\n /**\n * Checks if elements child list needs to be updated and possibly updates it.\n *\n * Note that on Android, to reduce the risk of composition breaks, it tries to update data of an existing\n * child text nodes instead of replacing them completely.\n *\n * @private\n * @param {module:engine/view/element~Element} viewElement View element to update.\n * @param {Object} options\n * @param {module:engine/view/position~Position} options.inlineFillerPosition The position where the inline\n * filler should be rendered.\n */\n _updateChildren(viewElement, options) {\n const domElement = this.domConverter.mapViewToDom(viewElement);\n if (!domElement) {\n // If there is no `domElement` it means that it was already removed from DOM.\n // There is no need to process it. It will be processed when re-inserted.\n return;\n }\n // @if CK_DEBUG_TYPING // if ( window.logCKETyping ) {\n // @if CK_DEBUG_TYPING // \tconsole.group( '%c[Renderer]%c Update children',\n // @if CK_DEBUG_TYPING // \t\t'color: green;font-weight: bold', ''\n // @if CK_DEBUG_TYPING // \t);\n // @if CK_DEBUG_TYPING // }\n // IME on Android inserts a new text node while typing after a link\n // instead of updating an existing text node that follows the link.\n // We must normalize those text nodes so the diff won't get confused.\n // https://github.com/ckeditor/ckeditor5/issues/12574.\n if (env.isAndroid) {\n let previousDomNode = null;\n for (const domNode of Array.from(domElement.childNodes)) {\n if (previousDomNode && isText(previousDomNode) && isText(domNode)) {\n domElement.normalize();\n break;\n }\n previousDomNode = domNode;\n }\n }\n const inlineFillerPosition = options.inlineFillerPosition;\n const actualDomChildren = domElement.childNodes;\n const expectedDomChildren = Array.from(this.domConverter.viewChildrenToDom(viewElement, { bind: true }));\n // Inline filler element has to be created as it is present in the DOM, but not in the view. It is required\n // during diffing so text nodes could be compared correctly and also during rendering to maintain\n // proper order and indexes while updating the DOM.\n if (inlineFillerPosition && inlineFillerPosition.parent === viewElement) {\n addInlineFiller(domElement.ownerDocument, expectedDomChildren, inlineFillerPosition.offset);\n }\n const diff = this._diffNodeLists(actualDomChildren, expectedDomChildren);\n // The rendering is not disabled on Android in the composition mode.\n // Composition events are not cancellable and browser will modify the DOM tree.\n // On Android composition events are immediately applied to the model, so we don't need to skip rendering,\n // and we should not do it because the difference between view and DOM could lead to position mapping problems.\n // Since the composition is fragile and often breaks if the composed text node is replaced while composing\n // we need to make sure that we update the existing text node and not replace it with another one.\n // We don't want to change the behavior on other browsers for safety, but maybe one day cause it seems to make sense.\n // https://github.com/ckeditor/ckeditor5/issues/12455.\n const actions = env.isAndroid ?\n this._findReplaceActions(diff, actualDomChildren, expectedDomChildren, { replaceText: true }) :\n diff;\n let i = 0;\n const nodesToUnbind = new Set();\n // Handle deletions first.\n // This is to prevent a situation where an element that already exists in `actualDomChildren` is inserted at a different\n // index in `actualDomChildren`. Since `actualDomChildren` is a `NodeList`, this works like move, not like an insert,\n // and it disrupts the whole algorithm. See https://github.com/ckeditor/ckeditor5/issues/6367.\n //\n // It doesn't matter in what order we remove or add nodes, as long as we remove and add correct nodes at correct indexes.\n for (const action of actions) {\n if (action === 'delete') {\n // @if CK_DEBUG_TYPING // if ( window.logCKETyping ) {\n // @if CK_DEBUG_TYPING // \tconsole.info( '%c[Renderer]%c Remove node',\n // @if CK_DEBUG_TYPING // \t\t'color: green;font-weight: bold', '', actualDomChildren[ i ]\n // @if CK_DEBUG_TYPING // \t);\n // @if CK_DEBUG_TYPING // }\n nodesToUnbind.add(actualDomChildren[i]);\n remove(actualDomChildren[i]);\n }\n else if (action === 'equal' || action === 'replace') {\n i++;\n }\n }\n i = 0;\n for (const action of actions) {\n if (action === 'insert') {\n // @if CK_DEBUG_TYPING // if ( window.logCKETyping ) {\n // @if CK_DEBUG_TYPING // \tconsole.info( '%c[Renderer]%c Insert node',\n // @if CK_DEBUG_TYPING // \t\t'color: green;font-weight: bold', '', expectedDomChildren[ i ]\n // @if CK_DEBUG_TYPING // \t);\n // @if CK_DEBUG_TYPING // }\n insertAt(domElement, i, expectedDomChildren[i]);\n i++;\n }\n // Update the existing text node data. Note that replace action is generated only for Android for now.\n else if (action === 'replace') {\n // @if CK_DEBUG_TYPING // if ( window.logCKETyping ) {\n // @if CK_DEBUG_TYPING // \tconsole.group( '%c[Renderer]%c Update text node',\n // @if CK_DEBUG_TYPING // \t\t'color: green;font-weight: bold', ''\n // @if CK_DEBUG_TYPING // \t);\n // @if CK_DEBUG_TYPING // }\n updateTextNode(actualDomChildren[i], expectedDomChildren[i].data);\n i++;\n // @if CK_DEBUG_TYPING // if ( window.logCKETyping ) {\n // @if CK_DEBUG_TYPING // \tconsole.groupEnd();\n // @if CK_DEBUG_TYPING // }\n }\n else if (action === 'equal') {\n // Force updating text nodes inside elements which did not change and do not need to be re-rendered (#1125).\n // Do it here (not in the loop above) because only after insertions the `i` index is correct.\n this._markDescendantTextToSync(this.domConverter.domToView(expectedDomChildren[i]));\n i++;\n }\n }\n // Unbind removed nodes. When node does not have a parent it means that it was removed from DOM tree during\n // comparison with the expected DOM. We don't need to check child nodes, because if child node was reinserted,\n // it was moved to DOM tree out of the removed node.\n for (const node of nodesToUnbind) {\n if (!node.parentNode) {\n this.domConverter.unbindDomElement(node);\n }\n }\n // @if CK_DEBUG_TYPING // if ( window.logCKETyping ) {\n // @if CK_DEBUG_TYPING // \tconsole.groupEnd();\n // @if CK_DEBUG_TYPING // }\n }\n /**\n * Shorthand for diffing two arrays or node lists of DOM nodes.\n *\n * @private\n * @param {Array.|NodeList} actualDomChildren Actual DOM children\n * @param {Array.|NodeList} expectedDomChildren Expected DOM children.\n * @returns {Array.} The list of actions based on the {@link module:utils/diff~diff} function.\n */\n _diffNodeLists(actualDomChildren, expectedDomChildren) {\n actualDomChildren = filterOutFakeSelectionContainer(actualDomChildren, this._fakeSelectionContainer);\n return diff(actualDomChildren, expectedDomChildren, sameNodes.bind(null, this.domConverter));\n }\n /**\n * Finds DOM nodes that were replaced with the similar nodes (same tag name) in the view. All nodes are compared\n * within one `insert`/`delete` action group, for example:\n *\n * \t\tActual DOM:\t\t
FooBarBazBax
\n * \t\tExpected DOM:\t
Bar123Baz456
\n * \t\tInput actions:\t[ insert, insert, delete, delete, equal, insert, delete ]\n * \t\tOutput actions:\t[ insert, replace, delete, equal, replace ]\n *\n * @private\n * @param {Array.} actions Actions array which is a result of the {@link module:utils/diff~diff} function.\n * @param {Array.|NodeList} actualDom Actual DOM children\n * @param {Array.} expectedDom Expected DOM children.\n * @param {Object} [options] Options\n * @param {Boolean} [options.replaceText] Mark text nodes replacement.\n * @returns {Array.} Actions array modified with the `replace` actions.\n */\n _findReplaceActions(actions, actualDom, expectedDom, options = {}) {\n // If there is no both 'insert' and 'delete' actions, no need to check for replaced elements.\n if (actions.indexOf('insert') === -1 || actions.indexOf('delete') === -1) {\n return actions;\n }\n let newActions = [];\n let actualSlice = [];\n let expectedSlice = [];\n const counter = { equal: 0, insert: 0, delete: 0 };\n for (const action of actions) {\n if (action === 'insert') {\n expectedSlice.push(expectedDom[counter.equal + counter.insert]);\n }\n else if (action === 'delete') {\n actualSlice.push(actualDom[counter.equal + counter.delete]);\n }\n else { // equal\n newActions = newActions.concat(diff(actualSlice, expectedSlice, options.replaceText ? areTextNodes : areSimilar)\n .map(x => x === 'equal' ? 'replace' : x));\n newActions.push('equal');\n // Reset stored elements on 'equal'.\n actualSlice = [];\n expectedSlice = [];\n }\n counter[action]++;\n }\n return newActions.concat(diff(actualSlice, expectedSlice, options.replaceText ? areTextNodes : areSimilar)\n .map(x => x === 'equal' ? 'replace' : x));\n }\n /**\n * Marks text nodes to be synchronized.\n *\n * If a text node is passed, it will be marked. If an element is passed, all descendant text nodes inside it will be marked.\n *\n * @private\n * @param {module:engine/view/node~ViewNode} viewNode View node to sync.\n */\n _markDescendantTextToSync(viewNode) {\n if (!viewNode) {\n return;\n }\n if (viewNode.is('$text')) {\n this.markedTexts.add(viewNode);\n }\n else if (viewNode.is('element')) {\n for (const child of viewNode.getChildren()) {\n this._markDescendantTextToSync(child);\n }\n }\n }\n /**\n * Checks if the selection needs to be updated and possibly updates it.\n *\n * @private\n */\n _updateSelection() {\n // Block updating DOM selection in (non-Android) Blink while the user is selecting to prevent accidental selection collapsing.\n // Note: Structural changes in DOM must trigger selection rendering, though. Nodes the selection was anchored\n // to, may disappear in DOM which would break the selection (e.g. in real-time collaboration scenarios).\n // https://github.com/ckeditor/ckeditor5/issues/10562, https://github.com/ckeditor/ckeditor5/issues/10723\n if (env.isBlink && !env.isAndroid && this.isSelecting && !this.markedChildren.size) {\n return;\n }\n // If there is no selection - remove DOM and fake selections.\n if (this.selection.rangeCount === 0) {\n this._removeDomSelection();\n this._removeFakeSelection();\n return;\n }\n const domRoot = this.domConverter.mapViewToDom(this.selection.editableElement);\n // Do nothing if there is no focus, or there is no DOM element corresponding to selection's editable element.\n if (!this.isFocused || !domRoot) {\n return;\n }\n // Render fake selection - create the fake selection container (if needed) and move DOM selection to it.\n if (this.selection.isFake) {\n this._updateFakeSelection(domRoot);\n }\n // There was a fake selection so remove it and update the DOM selection.\n // This is especially important on Android because otherwise IME will try to compose over the fake selection container.\n else if (this._fakeSelectionContainer && this._fakeSelectionContainer.isConnected) {\n this._removeFakeSelection();\n this._updateDomSelection(domRoot);\n }\n // Update the DOM selection in case of a plain selection change (no fake selection is involved).\n // On non-Android the whole rendering is disabled in composition mode (including DOM selection update),\n // but updating DOM selection should be also disabled on Android if in the middle of the composition\n // (to not interrupt it).\n else if (!(this.isComposing && env.isAndroid)) {\n this._updateDomSelection(domRoot);\n }\n }\n /**\n * Updates the fake selection.\n *\n * @private\n * @param {HTMLElement} domRoot A valid DOM root where the fake selection container should be added.\n */\n _updateFakeSelection(domRoot) {\n const domDocument = domRoot.ownerDocument;\n if (!this._fakeSelectionContainer) {\n this._fakeSelectionContainer = createFakeSelectionContainer(domDocument);\n }\n const container = this._fakeSelectionContainer;\n // Bind fake selection container with the current selection *position*.\n this.domConverter.bindFakeSelection(container, this.selection);\n if (!this._fakeSelectionNeedsUpdate(domRoot)) {\n return;\n }\n if (!container.parentElement || container.parentElement != domRoot) {\n domRoot.appendChild(container);\n }\n container.textContent = this.selection.fakeSelectionLabel || '\\u00A0';\n const domSelection = domDocument.getSelection();\n const domRange = domDocument.createRange();\n domSelection.removeAllRanges();\n domRange.selectNodeContents(container);\n domSelection.addRange(domRange);\n }\n /**\n * Updates the DOM selection.\n *\n * @private\n * @param {HTMLElement} domRoot A valid DOM root where the DOM selection should be rendered.\n */\n _updateDomSelection(domRoot) {\n const domSelection = domRoot.ownerDocument.defaultView.getSelection();\n // Let's check whether DOM selection needs updating at all.\n if (!this._domSelectionNeedsUpdate(domSelection)) {\n return;\n }\n // Multi-range selection is not available in most browsers, and, at least in Chrome, trying to\n // set such selection, that is not continuous, throws an error. Because of that, we will just use anchor\n // and focus of view selection.\n // Since we are not supporting multi-range selection, we also do not need to check if proper editable is\n // selected. If there is any editable selected, it is okay (editable is taken from selection anchor).\n const anchor = this.domConverter.viewPositionToDom(this.selection.anchor);\n const focus = this.domConverter.viewPositionToDom(this.selection.focus);\n // @if CK_DEBUG_TYPING // if ( window.logCKETyping ) {\n // @if CK_DEBUG_TYPING // \tconsole.info( '%c[Renderer]%c Update DOM selection:',\n // @if CK_DEBUG_TYPING // \t\t'color: green;font-weight: bold', '', anchor, focus\n // @if CK_DEBUG_TYPING // \t);\n // @if CK_DEBUG_TYPING // }\n domSelection.collapse(anchor.parent, anchor.offset);\n domSelection.extend(focus.parent, focus.offset);\n // Firefox–specific hack (https://github.com/ckeditor/ckeditor5-engine/issues/1439).\n if (env.isGecko) {\n fixGeckoSelectionAfterBr(focus, domSelection);\n }\n }\n /**\n * Checks whether a given DOM selection needs to be updated.\n *\n * @private\n * @param {Selection} domSelection The DOM selection to check.\n * @returns {Boolean}\n */\n _domSelectionNeedsUpdate(domSelection) {\n if (!this.domConverter.isDomSelectionCorrect(domSelection)) {\n // Current DOM selection is in incorrect position. We need to update it.\n return true;\n }\n const oldViewSelection = domSelection && this.domConverter.domSelectionToView(domSelection);\n if (oldViewSelection && this.selection.isEqual(oldViewSelection)) {\n return false;\n }\n // If selection is not collapsed, it does not need to be updated if it is similar.\n if (!this.selection.isCollapsed && this.selection.isSimilar(oldViewSelection)) {\n // Selection did not changed and is correct, do not update.\n return false;\n }\n // Selections are not similar.\n return true;\n }\n /**\n * Checks whether the fake selection needs to be updated.\n *\n * @private\n * @param {HTMLElement} domRoot A valid DOM root where a new fake selection container should be added.\n * @returns {Boolean}\n */\n _fakeSelectionNeedsUpdate(domRoot) {\n const container = this._fakeSelectionContainer;\n const domSelection = domRoot.ownerDocument.getSelection();\n // Fake selection needs to be updated if there's no fake selection container, or the container currently sits\n // in a different root.\n if (!container || container.parentElement !== domRoot) {\n return true;\n }\n // Make sure that the selection actually is within the fake selection.\n if (domSelection.anchorNode !== container && !container.contains(domSelection.anchorNode)) {\n return true;\n }\n return container.textContent !== this.selection.fakeSelectionLabel;\n }\n /**\n * Removes the DOM selection.\n *\n * @private\n */\n _removeDomSelection() {\n for (const doc of this.domDocuments) {\n const domSelection = doc.getSelection();\n if (domSelection.rangeCount) {\n const activeDomElement = doc.activeElement;\n const viewElement = this.domConverter.mapDomToView(activeDomElement);\n if (activeDomElement && viewElement) {\n domSelection.removeAllRanges();\n }\n }\n }\n }\n /**\n * Removes the fake selection.\n *\n * @private\n */\n _removeFakeSelection() {\n const container = this._fakeSelectionContainer;\n if (container) {\n container.remove();\n }\n }\n /**\n * Checks if focus needs to be updated and possibly updates it.\n *\n * @private\n */\n _updateFocus() {\n if (this.isFocused) {\n const editable = this.selection.editableElement;\n if (editable) {\n this.domConverter.focus(editable);\n }\n }\n }\n}\n// Checks if provided element is editable.\n//\n// @private\n// @param {module:engine/view/element~Element} element\n// @returns {Boolean}\nfunction isEditable(element) {\n if (element.getAttribute('contenteditable') == 'false') {\n return false;\n }\n const parent = element.findAncestor(element => element.hasAttribute('contenteditable'));\n return !parent || parent.getAttribute('contenteditable') == 'true';\n}\n// Adds inline filler at a given position.\n//\n// The position can be given as an array of DOM nodes and an offset in that array,\n// or a DOM parent element and an offset in that element.\n//\n// @private\n// @param {Document} domDocument\n// @param {Element|Array.} domParentOrArray\n// @param {Number} offset\n// @returns {Text} The DOM text node that contains an inline filler.\nfunction addInlineFiller(domDocument, domParentOrArray, offset) {\n const childNodes = domParentOrArray instanceof Array ? domParentOrArray : domParentOrArray.childNodes;\n const nodeAfterFiller = childNodes[offset];\n if (isText(nodeAfterFiller)) {\n nodeAfterFiller.data = INLINE_FILLER + nodeAfterFiller.data;\n return nodeAfterFiller;\n }\n else {\n const fillerNode = domDocument.createTextNode(INLINE_FILLER);\n if (Array.isArray(domParentOrArray)) {\n childNodes.splice(offset, 0, fillerNode);\n }\n else {\n insertAt(domParentOrArray, offset, fillerNode);\n }\n return fillerNode;\n }\n}\n// Whether two DOM nodes should be considered as similar.\n// Nodes are considered similar if they have the same tag name.\n//\n// @private\n// @param {ViewNode} node1\n// @param {ViewNode} node2\n// @returns {Boolean}\nfunction areSimilar(node1, node2) {\n return isNode(node1) && isNode(node2) &&\n !isText(node1) && !isText(node2) &&\n !isComment(node1) && !isComment(node2) &&\n node1.tagName.toLowerCase() === node2.tagName.toLowerCase();\n}\n// Whether two DOM nodes are text nodes.\nfunction areTextNodes(node1, node2) {\n return isNode(node1) && isNode(node2) &&\n isText(node1) && isText(node2);\n}\n// Whether two dom nodes should be considered as the same.\n// Two nodes which are considered the same are:\n//\n//\t\t* Text nodes with the same text.\n//\t\t* Element nodes represented by the same object.\n//\t\t* Two block filler elements.\n//\n// @private\n// @param {String} blockFillerMode Block filler mode, see {@link module:engine/view/domconverter~DomConverter#blockFillerMode}.\n// @param {ViewNode} node1\n// @param {ViewNode} node2\n// @returns {Boolean}\nfunction sameNodes(domConverter, actualDomChild, expectedDomChild) {\n // Elements.\n if (actualDomChild === expectedDomChild) {\n return true;\n }\n // Texts.\n else if (isText(actualDomChild) && isText(expectedDomChild)) {\n return actualDomChild.data === expectedDomChild.data;\n }\n // Block fillers.\n else if (domConverter.isBlockFiller(actualDomChild) &&\n domConverter.isBlockFiller(expectedDomChild)) {\n return true;\n }\n // Not matching types.\n return false;\n}\n// The following is a Firefox–specific hack (https://github.com/ckeditor/ckeditor5-engine/issues/1439).\n// When the native DOM selection is at the end of the block and preceded by e.g.\n//\n//\t\t
foo []
\n//\n// which happens a lot when using the soft line break, the browser fails to (visually) move the\n// caret to the new line. A quick fix is as simple as force–refreshing the selection with the same range.\nfunction fixGeckoSelectionAfterBr(focus, domSelection) {\n const parent = focus.parent;\n // This fix works only when the focus point is at the very end of an element.\n // There is no point in running it in cases unrelated to the browser bug.\n if (parent.nodeType != Node.ELEMENT_NODE || focus.offset != parent.childNodes.length - 1) {\n return;\n }\n const childAtOffset = parent.childNodes[focus.offset];\n // To stay on the safe side, the fix being as specific as possible, it targets only the\n // selection which is at the very end of the element and preceded by .\n if (childAtOffset && childAtOffset.tagName == 'BR') {\n domSelection.addRange(domSelection.getRangeAt(0));\n }\n}\nfunction filterOutFakeSelectionContainer(domChildList, fakeSelectionContainer) {\n const childList = Array.from(domChildList);\n if (childList.length == 0 || !fakeSelectionContainer) {\n return childList;\n }\n const last = childList[childList.length - 1];\n if (last == fakeSelectionContainer) {\n childList.pop();\n }\n return childList;\n}\n// Creates a fake selection container for a given document.\n//\n// @private\n// @param {Document} domDocument\n// @returns {HTMLElement}\nfunction createFakeSelectionContainer(domDocument) {\n const container = domDocument.createElement('div');\n container.className = 'ck-fake-selection-container';\n Object.assign(container.style, {\n position: 'fixed',\n top: 0,\n left: '-9999px',\n // See https://github.com/ckeditor/ckeditor5/issues/752.\n width: '42px'\n });\n // Fill it with a text node so we can update it later.\n container.textContent = '\\u00A0';\n return container;\n}\n// Checks if text needs to be updated and possibly updates it by removing and inserting only parts\n// of the data from the existing text node to reduce impact on the IME composition.\n//\n// @param {Text} domText DOM text node to update.\n// @param {String} expectedText The expected data of a text node.\nfunction updateTextNode(domText, expectedText) {\n const actualText = domText.data;\n if (actualText == expectedText) {\n // @if CK_DEBUG_TYPING // if ( window.logCKETyping ) {\n // @if CK_DEBUG_TYPING // \tconsole.info( '%c[Renderer]%c Text node does not need update:',\n // @if CK_DEBUG_TYPING // \t\t'color: green;font-weight: bold', '',\n // @if CK_DEBUG_TYPING // \t\t`\"${ domText.data }\" (${ domText.data.length })`\n // @if CK_DEBUG_TYPING // \t);\n // @if CK_DEBUG_TYPING // }\n return;\n }\n // @if CK_DEBUG_TYPING // if ( window.logCKETyping ) {\n // @if CK_DEBUG_TYPING // \tconsole.info( '%c[Renderer]%c Update text node:',\n // @if CK_DEBUG_TYPING // \t\t'color: green;font-weight: bold', '',\n // @if CK_DEBUG_TYPING // \t\t`\"${ domText.data }\" (${ domText.data.length }) -> \"${ expectedText }\" (${ expectedText.length })`\n // @if CK_DEBUG_TYPING // \t);\n // @if CK_DEBUG_TYPING // }\n const actions = fastDiff(actualText, expectedText);\n for (const action of actions) {\n if (action.type === 'insert') {\n domText.insertData(action.index, action.values.join(''));\n }\n else { // 'delete'\n domText.deleteData(action.index, action.howMany);\n }\n }\n}\n","/**\n * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n/**\n * @module utils/dom/indexof\n */\n/**\n * Returns index of the node in the parent element.\n *\n * @param {Node} node Node which index is tested.\n * @returns {Number} Index of the node in the parent element. Returns 0 if node has no parent.\n */\nexport default function indexOf(node) {\n let index = 0;\n while (node.previousSibling) {\n node = node.previousSibling;\n index++;\n }\n return index;\n}\n","/**\n * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n/* globals Node */\n/**\n * @module utils/dom/getancestors\n */\n/**\n * Returns all ancestors of given DOM node, starting from the top-most (root). Includes the given node itself. If the\n * node is a part of `DocumentFragment` that `DocumentFragment` will be returned. In contrary, if the node is\n * appended to a `Document`, that `Document` will not be returned (algorithms operating on DOM tree care for `Document#documentElement`\n * at most, which will be returned).\n *\n * @param {Node} node DOM node.\n * @returns {Array.} Array of given `node` parents.\n */\nexport default function getAncestors(node) {\n const nodes = [];\n let currentNode = node;\n // We are interested in `Node`s `DocumentFragment`s only.\n while (currentNode && currentNode.nodeType != Node.DOCUMENT_NODE) {\n nodes.unshift(currentNode);\n currentNode = currentNode.parentNode;\n }\n return nodes;\n}\n","/**\n * @license Copyright (c) 2003-2022, CKSource Holding sp. z o.o. All rights reserved.\n * For licensing, see LICENSE.md or https://ckeditor.com/legal/ckeditor-oss-license\n */\n/**\n * @module engine/view/domconverter\n */\n/* globals Node, NodeFilter, DOMParser, Text */\nimport ViewText from './text';\nimport ViewElement from './element';\nimport ViewUIElement from './uielement';\nimport ViewPosition from './position';\nimport ViewRange from './range';\nimport ViewSelection from './selection';\nimport ViewDocumentFragment from './documentfragment';\nimport ViewTreeWalker from './treewalker';\nimport { default as Matcher } from './matcher';\nimport { BR_FILLER, INLINE_FILLER_LENGTH, NBSP_FILLER, MARKED_NBSP_FILLER, getDataWithoutFiller, isInlineFiller, startsWithFiller } from './filler';\nimport global from '@ckeditor/ckeditor5-utils/src/dom/global';\nimport { logWarning } from '@ckeditor/ckeditor5-utils/src/ckeditorerror';\nimport indexOf from '@ckeditor/ckeditor5-utils/src/dom/indexof';\nimport getAncestors from '@ckeditor/ckeditor5-utils/src/dom/getancestors';\nimport isText from '@ckeditor/ckeditor5-utils/src/dom/istext';\nimport isComment from '@ckeditor/ckeditor5-utils/src/dom/iscomment';\nconst BR_FILLER_REF = BR_FILLER(global.document); // eslint-disable-line new-cap\nconst NBSP_FILLER_REF = NBSP_FILLER(global.document); // eslint-disable-line new-cap\nconst MARKED_NBSP_FILLER_REF = MARKED_NBSP_FILLER(global.document); // eslint-disable-line new-cap\nconst UNSAFE_ATTRIBUTE_NAME_PREFIX = 'data-ck-unsafe-attribute-';\nconst UNSAFE_ELEMENT_REPLACEMENT_ATTRIBUTE = 'data-ck-unsafe-element';\n/**\n * `DomConverter` is a set of tools to do transformations between DOM nodes and view nodes. It also handles\n * {@link module:engine/view/domconverter~DomConverter#bindElements bindings} between these nodes.\n *\n * An instance of the DOM converter is available under\n * {@link module:engine/view/view~View#domConverter `editor.editing.view.domConverter`}.\n *\n * The DOM converter does not check which nodes should be rendered (use {@link module:engine/view/renderer~Renderer}), does not keep the\n * state of a tree nor keeps the synchronization between the tree view and the DOM tree (use {@link module:engine/view/document~Document}).\n *\n * The DOM converter keeps DOM elements to view element bindings, so when the converter gets destroyed, the bindings are lost.\n * Two converters will keep separate binding maps, so one tree view can be bound with two DOM trees.\n */\nexport default class DomConverter {\n /**\n * Creates a DOM converter.\n *\n * @param {module:engine/view/document~Document} document The view document instance.\n * @param {Object} options An object with configuration options.\n * @param {module:engine/view/filler~BlockFillerMode} [options.blockFillerMode] The type of the block filler to use.\n * Default value depends on the options.renderingMode:\n * 'nbsp' when options.renderingMode == 'data',\n * 'br' when options.renderingMode == 'editing'.\n * @param {'data'|'editing'} [options.renderingMode='editing'] Whether to leave the View-to-DOM conversion result unchanged\n * or improve editing experience by filtering out interactive data.\n */\n constructor(document, options = {}) {\n /**\n * @readonly\n * @type {module:engine/view/document~Document}\n */\n this.document = document;\n /**\n * Whether to leave the View-to-DOM conversion result unchanged or improve editing experience by filtering out interactive data.\n *\n * @member {'data'|'editing'} module:engine/view/domconverter~DomConverter#renderingMode\n */\n this.renderingMode = options.renderingMode || 'editing';\n /**\n * The mode of a block filler used by the DOM converter.\n *\n * @member {'br'|'nbsp'|'markedNbsp'} module:engine/view/domconverter~DomConverter#blockFillerMode\n */\n this.blockFillerMode = options.blockFillerMode || (this.renderingMode === 'editing' ? 'br' : 'nbsp');\n /**\n * Elements which are considered pre-formatted elements.\n *\n * @readonly\n * @member {Array.} module:engine/view/domconverter~DomConverter#preElements\n */\n this.preElements = ['pre'];\n /**\n * Elements which are considered block elements (and hence should be filled with a\n * {@link #isBlockFiller block filler}).\n *\n * Whether an element is considered a block element also affects handling of trailing whitespaces.\n *\n * You can extend this array if you introduce support for block elements which are not yet recognized here.\n *\n * @readonly\n * @member {Array.} module:engine/view/domconverter~DomConverter#blockElements\n */\n this.blockElements = [\n 'address', 'article', 'aside', 'blockquote', 'caption', 'center', 'dd', 'details', 'dir', 'div',\n 'dl', 'dt', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header',\n 'hgroup', 'legend', 'li', 'main', 'menu', 'nav', 'ol', 'p', 'pre', 'section', 'summary', 'table', 'tbody',\n 'td', 'tfoot', 'th', 'thead', 'tr', 'ul'\n ];\n /**\n * A list of elements that exist inline (in text) but their inner structure cannot be edited because\n * of the way they are rendered by the browser. They are mostly HTML form elements but there are other\n * elements such as `` or `